diff --git a/_maps/Prefab/Departments.dmm b/_maps/Prefab/Departments.dmm index a08afdfd97b57..701c9bcc3b5ff 100644 --- a/_maps/Prefab/Departments.dmm +++ b/_maps/Prefab/Departments.dmm @@ -26,7 +26,7 @@ /area/medical/genetics) "aD" = ( /obj/item/toy/plush/moth/clockwork, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/dark/smooth_large, /area/space) "aJ" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, @@ -68,6 +68,12 @@ }, /turf/open/floor/iron, /area/engine/engineering) +"bA" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 1 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "bE" = ( /obj/item/book/manual/wiki/sopservice, /turf/open/floor/wood, @@ -93,6 +99,10 @@ /mob/living/simple_animal/slime, /turf/open/floor/iron/grid/steel, /area/science/xenobiology) +"ck" = ( +/obj/effect/turf_decal/edges/techfloor, +/turf/open/floor/iron, +/area/space) "co" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 2; @@ -118,6 +128,12 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"cH" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 9 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "cM" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /mob/living/simple_animal/bot/medbot{ @@ -138,6 +154,12 @@ /obj/machinery/fax/med, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) +"cT" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 10 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "dc" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 2; @@ -214,6 +236,12 @@ /obj/structure/closet/secure_closet/medical3, /turf/open/floor/iron/white, /area/medical/sleeper) +"eF" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 4 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "eJ" = ( /obj/machinery/door/airlock{ name = "Kitchen"; @@ -251,6 +279,12 @@ /obj/item/book/manual/wiki/xenoarchaeology, /turf/open/floor/iron/white, /area/science/research) +"fS" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 5 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "fZ" = ( /obj/machinery/vending/wardrobe/atmos_wardrobe, /turf/open/floor/iron/tech, @@ -277,6 +311,15 @@ /obj/machinery/button/flasher, /turf/open/floor/iron, /area/space) +"hd" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/space) "hm" = ( /obj/item/toy/plush/moth/bluespace, /turf/open/floor/iron, @@ -287,6 +330,14 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/sorting) +"hD" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 6 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/space) "hQ" = ( /obj/machinery/door/morgue{ name = "Private Study"; @@ -454,7 +505,7 @@ }) "mo" = ( /obj/item/toy/plush/moth/lovers, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/tech/grid, /area/space) "mE" = ( /obj/structure/reagent_dispensers/virusfood, @@ -488,6 +539,12 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/sorting) +"ne" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 9 + }, +/turf/open/floor/iron/tech, +/area/space) "ni" = ( /obj/item/toy/plush/moth/firewatch, /turf/open/floor/iron, @@ -588,6 +645,17 @@ /obj/structure/janitorialcart, /turf/open/floor/iron, /area/janitor) +"pd" = ( +/obj/effect/turf_decal/edges/techfloor_orange, +/turf/open/floor/iron/grid/steel, +/area/space) +"pe" = ( +/obj/effect/turf_decal/edges/borderfloor/black, +/obj/effect/turf_decal/tile/yellow/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/space) "ph" = ( /obj/effect/landmark/start/mime, /obj/effect/landmark/start/clown, @@ -608,6 +676,12 @@ /obj/structure/sign/barsign, /turf/open/floor/iron, /area/space) +"pv" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 6 + }, +/turf/open/floor/iron, +/area/space) "pG" = ( /obj/machinery/requests_console, /turf/open/floor/iron/dark, @@ -630,6 +704,12 @@ /obj/effect/turf_decal/tile/yellow/fourcorners/contrasted, /turf/open/floor/iron/white, /area/medical/apothecary) +"qh" = ( +/obj/effect/turf_decal/edges/techfloor/corners{ + dir = 4 + }, +/turf/open/floor/iron, +/area/space) "qx" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/machinery/door/airlock/virology/glass{ @@ -744,6 +824,12 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/storage) +"tw" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 10 + }, +/turf/open/floor/iron/tech, +/area/space) "ty" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/item/book/manual/wiki/medicine, @@ -792,6 +878,12 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) +"uF" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 8 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "uM" = ( /obj/machinery/vending/wardrobe/hydro_wardrobe, /turf/open/floor/grass/no_border, @@ -820,7 +912,7 @@ /area/engine/atmos) "vW" = ( /obj/item/toy/plush/moth/gothic, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/tech, /area/space) "vZ" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, @@ -837,6 +929,12 @@ }, /turf/open/floor/iron, /area/space) +"wn" = ( +/obj/effect/turf_decal/edges/techfloor/corners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/space) "ws" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -864,6 +962,16 @@ /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/tech, /area/engine/atmos) +"xh" = ( +/obj/effect/turf_decal/edges/techfloor/corners, +/turf/open/floor/iron, +/area/space) +"xn" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 10 + }, +/turf/open/floor/iron, +/area/space) "xB" = ( /obj/machinery/button/door, /turf/open/floor/iron, @@ -914,6 +1022,12 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/white, /area/medical/apothecary) +"yO" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 5 + }, +/turf/open/floor/iron, +/area/space) "yX" = ( /obj/machinery/fax/eng, /turf/open/floor/carpet/royalblue, @@ -983,6 +1097,12 @@ /obj/structure/rack, /turf/open/floor/plating, /area/space) +"BC" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 4 + }, +/turf/open/floor/iron/tech, +/area/space) "BW" = ( /obj/machinery/door/airlock/command{ name = "Chief Engineer's Office"; @@ -1078,6 +1198,10 @@ }, /turf/open/floor/carpet/red, /area/crew_quarters/theatre/backstage) +"Eu" = ( +/obj/effect/turf_decal/edges/borderfloor, +/turf/open/floor/iron/tech, +/area/space) "EF" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/effect/landmark/start/randommaint/psychiatrist, @@ -1143,6 +1267,9 @@ /obj/structure/closet/l3closet/janitor, /turf/open/floor/iron, /area/janitor) +"FA" = ( +/turf/open/floor/iron/tech/grid, +/area/space) "Gs" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 2; @@ -1163,6 +1290,14 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/space) +"GV" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/space) "Hb" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/machinery/vending/wardrobe/science_wardrobe, @@ -1210,6 +1345,12 @@ /obj/structure/closet/secure_closet/RD, /turf/open/floor/carpet/purple, /area/crew_quarters/heads/hor) +"Jb" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 8 + }, +/turf/open/floor/iron, +/area/space) "Jk" = ( /obj/structure/sign/warning/pods, /turf/open/floor/iron/dark, @@ -1259,6 +1400,12 @@ }, /turf/open/floor/carpet/purple, /area/crew_quarters/heads/hor) +"Km" = ( +/obj/effect/turf_decal/edges/techfloor_orange{ + dir = 6 + }, +/turf/open/floor/iron/grid/steel, +/area/space) "Kp" = ( /obj/machinery/rnd/production/techfab/department/science, /turf/open/floor/carpet/purple, @@ -1300,6 +1447,12 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/storage) +"Lh" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 5 + }, +/turf/open/floor/iron/tech, +/area/space) "Lw" = ( /obj/effect/landmark/start/chaplain, /turf/open/floor/carpet/purple, @@ -1434,6 +1587,12 @@ /obj/machinery/flasher, /turf/open/floor/iron, /area/space) +"OR" = ( +/obj/effect/turf_decal/edges/techfloor/corners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/space) "OT" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 2; @@ -1482,6 +1641,19 @@ }, /turf/open/floor/wood, /area/security/detectives_office) +"PL" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/space) +"PO" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half, +/turf/open/floor/iron/dark/smooth_large, +/area/space) "PP" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /mob/living/simple_animal/kalo, @@ -1496,6 +1668,12 @@ /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"PX" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 9 + }, +/turf/open/floor/iron, +/area/space) "Qb" = ( /obj/machinery/fax/law, /turf/open/floor/carpet/green, @@ -1523,6 +1701,21 @@ "Qk" = ( /turf/open/floor/iron, /area/space) +"Qo" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 8 + }, +/turf/open/floor/iron/tech, +/area/space) +"Qv" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/space) "QG" = ( /obj/effect/landmark/start/roboticist, /turf/open/floor/iron/white, @@ -1562,6 +1755,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/space) +"RN" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 4 + }, +/turf/open/floor/iron, +/area/space) "Sa" = ( /obj/structure/closet/secure_closet/hydroponics, /turf/open/floor/grass/no_border, @@ -1662,6 +1861,12 @@ }, /turf/open/floor/iron/white, /area/science/robotics) +"TL" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 6 + }, +/turf/open/floor/iron/tech, +/area/space) "TS" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/item/book/manual/wiki/infections, @@ -1677,7 +1882,7 @@ /area/quartermaster/qm) "Ud" = ( /obj/item/toy/plush/moth/deadhead, -/turf/open/floor/iron, +/turf/open/floor/iron/grid/steel, /area/space) "Up" = ( /mob/living/simple_animal/hostile/carp/lia, @@ -1760,6 +1965,12 @@ /obj/item/book/manual/wiki/toxins, /turf/open/floor/engine, /area/science/mixing) +"VF" = ( +/obj/effect/turf_decal/edges/techfloor{ + dir = 1 + }, +/turf/open/floor/iron, +/area/space) "VY" = ( /obj/machinery/conveyor{ dir = 4; @@ -1849,6 +2060,14 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) +"YP" = ( +/obj/effect/turf_decal/edges/borderfloor/black{ + dir = 5 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/space) "YT" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 2; @@ -1898,6 +2117,12 @@ /obj/machinery/rnd/production/techfab/department/security, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"ZU" = ( +/obj/effect/turf_decal/edges/borderfloor{ + dir = 1 + }, +/turf/open/floor/iron/tech, +/area/space) (1,1,1) = {" Mw @@ -2383,15 +2608,15 @@ mY ga XZ XZ -Qk -Qk -Qk -XF -XF -XF -Qk -Qk -Qk +PX +Jb +xn +PL +PO +GV +wn +Qk +OR pG sb LR @@ -2403,12 +2628,12 @@ mE Yg Lw XZ -Qk +VF ni -Qk -XF +ck +Qv aD -XF +pe Qk gs Qk @@ -2423,15 +2648,15 @@ OB Cb XZ QX -Qk -Qk -Qk -XF -XF -XF -Qk -Qk -Qk +yO +RN +pv +YP +hd +hD +qh +Qk +xh kK bF Tm @@ -2443,15 +2668,15 @@ mQ VA oO Fx -XF -XF -XF -Qk -Qk -Qk -XF -XF -XF +ne +Qo +tw +cH +uF +cT +FA +FA +FA TX iP ps @@ -2463,15 +2688,15 @@ Bo ir SY PP -XF +ZU vW -XF -Qk +Eu +bA Ud -Qk -XF +pd +FA mo -XF +FA aL jm Qk @@ -2483,15 +2708,15 @@ EJ Fn Ps Aj -XF -XF -XF -Qk -Qk -Qk -XF -XF -XF +Lh +BC +TL +fS +eF +Km +FA +FA +FA lh rq CS diff --git a/_maps/RandomRooms/10x10/rdm_dorms.dmm b/_maps/RandomRooms/10x10/rdm_dorms.dmm index b059ecc7be9ef..a9d536c964448 100644 --- a/_maps/RandomRooms/10x10/rdm_dorms.dmm +++ b/_maps/RandomRooms/10x10/rdm_dorms.dmm @@ -48,11 +48,11 @@ /turf/open/floor/carpet/purple, /area/template_noop) "ld" = ( -/obj/effect/mob_spawn/human/skeleton/alive, /obj/structure/sign/poster/contraband/random{ pixel_y = 32 }, /obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, /turf/open/floor/carpet/orange, /area/template_noop) "mB" = ( diff --git a/_maps/RandomRooms/10x10/rdm_organ_harvesting.dmm b/_maps/RandomRooms/10x10/rdm_organ_harvesting.dmm index 6c4c712e8d07f..26b1ed7e5b78d 100644 --- a/_maps/RandomRooms/10x10/rdm_organ_harvesting.dmm +++ b/_maps/RandomRooms/10x10/rdm_organ_harvesting.dmm @@ -268,7 +268,7 @@ /turf/open/floor/eighties, /area/template_noop) "Nh" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 4; name = "doormat" }, diff --git a/_maps/RandomRooms/10x10/sk_rdm170_laser_tag.dmm b/_maps/RandomRooms/10x10/sk_rdm170_laser_tag.dmm index 4486c32b17e8c..edab2378c52e4 100644 --- a/_maps/RandomRooms/10x10/sk_rdm170_laser_tag.dmm +++ b/_maps/RandomRooms/10x10/sk_rdm170_laser_tag.dmm @@ -53,9 +53,8 @@ /turf/open/floor/iron/dark, /area/template_noop) "m" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mob_spawn/human/skeleton/alive, /obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/remains/human, /turf/open/floor/plating, /area/template_noop) "o" = ( diff --git a/_maps/RandomRooms/10x10/sk_rdm176_spacewindowroom.dmm b/_maps/RandomRooms/10x10/sk_rdm176_spacewindowroom.dmm new file mode 100644 index 0000000000000..3ab666b30ba50 --- /dev/null +++ b/_maps/RandomRooms/10x10/sk_rdm176_spacewindowroom.dmm @@ -0,0 +1,143 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"b" = ( +/obj/effect/mapping_helpers/space_window_placer, +/turf/open/space/basic, +/area/template_noop) +"k" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron, +/area/template_noop) +"t" = ( +/turf/open/floor/iron, +/area/template_noop) +"G" = ( +/obj/effect/mapping_helpers/space_window_placer, +/obj/effect/spawner/lootdrop/maintenance/four, +/turf/open/space/basic, +/area/template_noop) +"Y" = ( +/obj/effect/mapping_helpers/space_window_placer, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/space/basic, +/area/template_noop) + +(1,1,1) = {" +b +b +b +b +b +b +b +b +b +b +"} +(2,1,1) = {" +b +k +t +t +t +t +t +t +k +b +"} +(3,1,1) = {" +b +t +G +b +t +t +b +G +t +b +"} +(4,1,1) = {" +b +t +b +k +t +t +k +b +t +b +"} +(5,1,1) = {" +b +t +t +t +Y +Y +t +t +t +b +"} +(6,1,1) = {" +b +t +t +t +b +Y +t +t +t +b +"} +(7,1,1) = {" +b +t +b +k +t +t +k +b +t +b +"} +(8,1,1) = {" +b +t +G +b +t +t +b +G +t +b +"} +(9,1,1) = {" +b +k +t +t +t +t +t +t +k +b +"} +(10,1,1) = {" +b +b +b +b +b +b +b +b +b +b +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm index 6e060c21abb1a..b6728158e3300 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm @@ -22,7 +22,7 @@ /turf/open/floor/grass, /area/ruin/powered/seedvault) "aI" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /obj/machinery/button/door{ @@ -246,7 +246,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/pod, @@ -457,7 +457,7 @@ /area/ruin/powered/seedvault) "sM" = ( /obj/item/kirbyplants, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/grass, @@ -1060,7 +1060,7 @@ /turf/open/floor/pod, /area/ruin/powered/seedvault) "NH" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/grass, @@ -1255,7 +1255,7 @@ "RA" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/kirbyplants, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/grass, @@ -1409,7 +1409,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/pod, diff --git a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm index 9ceb198dbdcbb..06d8b25323d77 100644 --- a/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm +++ b/_maps/RandomRuins/SpaceRuins/Fast_Food.dmm @@ -248,14 +248,6 @@ }, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/powered/macspace) -"ba" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/toy/prize/honk, -/turf/open/floor/iron/cafeteria, -/area/ruin/space/has_grav/powered/macspace) "bb" = ( /obj/machinery/light{ dir = 4 @@ -523,14 +515,6 @@ /obj/structure/table/wood/fancy/blue, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/powered/macspace) -"ce" = ( -/obj/item/toy/figure/janitor, -/obj/structure/chair/wood/wings{ - dir = 8 - }, -/obj/item/toy/plush/lizard_plushie, -/turf/open/floor/iron/cafeteria, -/area/ruin/space/has_grav/powered/macspace) "cf" = ( /obj/item/toy/figure/qm, /obj/effect/decal/cleanable/dirt/dust, @@ -990,6 +974,14 @@ /obj/item/toy/plush/snakeplushie, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/powered/macspace) +"EZ" = ( +/obj/item/toy/figure/janitor, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/item/toy/plush/lizard_plushie, +/turf/open/floor/iron/cafeteria, +/area/ruin/space/has_grav/powered/macspace) "KA" = ( /obj/structure/chair/stool/bar, /obj/item/toy/figure/engineer, @@ -1005,6 +997,14 @@ /obj/structure/table/wood/fancy/blue, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/powered/macspace) +"Nd" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/toy/mecha/honk, +/turf/open/floor/iron/cafeteria, +/area/ruin/space/has_grav/powered/macspace) "Pv" = ( /obj/structure/table/wood/fancy/red, /obj/item/food/fishfingers, @@ -1140,7 +1140,7 @@ ae am aF ag -ba +Nd bj bw bL @@ -1816,7 +1816,7 @@ bn bv ae bV -ce +EZ dC cp bb diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm index 425a79e100459..6bbf456f34ce5 100644 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm @@ -98,7 +98,7 @@ /turf/open/floor/mineral/titanium/yellow/airless, /area/ruin/space/has_grav/powered/mechtransport) "x" = ( -/obj/structure/mecha_wreckage/ripley/firefighter, +/obj/structure/mecha_wreckage/clarke, /turf/open/floor/mineral/titanium/yellow/airless, /area/ruin/space/has_grav/powered/mechtransport) "y" = ( diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index b108e7e6ffca8..9dd754b815fb1 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -2572,7 +2572,7 @@ }, /area/awaymission/cabin/caves/sovietcave) "il" = ( -/obj/item/toy/prize/deathripley{ +/obj/item/toy/mecha/deathripley{ desc = "The mining mecha of the exploration team."; name = "exploraton squad Ripley"; pixel_y = 15 diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index 54dc988c2423e..e92b6fd23105c 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -693,22 +693,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"cb" = ( -/obj/structure/closet/crate/miningcar{ - name = "Mining cart" - }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/turf/open/floor/plating/asteroid/basalt{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid/level_two) "cc" = ( /obj/structure/ore_box, /turf/open/floor/plating/asteroid/basalt{ @@ -733,11 +717,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"cf" = ( -/turf/open/floor/iron/dark{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid/level_two) "cg" = ( /turf/closed/wall, /area/awaymission/caves/research) @@ -773,27 +752,6 @@ "cm" = ( /turf/closed/mineral/random/low_chance, /area/awaymission/caves/BMP_asteroid/level_two) -"cn" = ( -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"co" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/filingcabinet, -/obj/item/paper/fluff/awaymissions/caves/omega, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cp" = ( -/obj/structure/table, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "cq" = ( /obj/structure/flora/rock, /turf/open/floor/plating/asteroid/basalt{ @@ -811,37 +769,12 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/research) -"ct" = ( -/obj/item/shard, -/obj/item/stack/rods, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cu" = ( -/obj/effect/decal/cleanable/blood/gibs, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cv" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "cw" = ( /obj/item/stack/rods, /turf/open/floor/plating{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/research) -"cx" = ( -/turf/open/floor/iron/dark{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid) "cy" = ( /obj/effect/decal/remains/human, /turf/open/floor/plating/asteroid/basalt{ @@ -869,30 +802,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/research) -"cC" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs/cable, -/obj/item/restraints/handcuffs/cable, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cD" = ( -/obj/effect/decal/remains/human, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cE" = ( -/obj/structure/sign/warning/vacuum{ - name = "\improper LOW AIR AREA"; - pixel_x = 32 - }, -/obj/item/stack/rods, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "cF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ @@ -956,19 +865,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/research) -"cQ" = ( -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/turf/open/floor/plating/asteroid/basalt{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid/level_two) "cR" = ( /obj/effect/landmark/awaystart, /turf/open/floor/plating{ @@ -1019,42 +915,12 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/research) -"cX" = ( -/obj/structure/table, -/obj/item/melee/baton, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cY" = ( -/obj/structure/glowshroom/single, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"cZ" = ( -/obj/structure/sign/warning/vacuum{ - name = "\improper LOW AIR AREA"; - pixel_x = 32 - }, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "da" = ( /obj/structure/barricade/wooden, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"db" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/crap, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "dc" = ( /obj/machinery/light/small{ dir = 8 @@ -1068,29 +934,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"dd" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"de" = ( -/obj/machinery/light, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) -"df" = ( -/obj/structure/closet/secure_closet/miner{ - name = "weapon equipment" - }, -/obj/item/grenade/syndieminibomb/concussion, -/obj/item/grenade/syndieminibomb/concussion, -/obj/item/grenade/syndieminibomb/concussion, -/turf/open/floor/iron{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/research) "dg" = ( /obj/effect/bump_teleporter{ id = "mineintrodown"; @@ -1104,25 +947,6 @@ /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid/level_two) -"di" = ( -/obj/structure/table, -/obj/item/paper/fluff/awaymissions/caves/magma, -/obj/item/pen, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dj" = ( -/obj/structure/ladder/unbreakable{ - height = 2; - id = "minedeep" - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dk" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) "dl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1131,63 +955,12 @@ /obj/structure/spider/stickyweb, /turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid/level_two) -"dn" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"do" = ( -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dp" = ( -/obj/structure/table, -/obj/item/storage/box/donkpockets, -/obj/item/clothing/glasses/meson, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dq" = ( -/obj/machinery/light/small/built{ - dir = 4 - }, -/obj/structure/spider/stickyweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dr" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"ds" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) "dt" = ( /turf/closed/wall, /area/awaymission/caves/northblock) "du" = ( /turf/closed/wall/rust, /area/awaymission/caves/northblock) -"dv" = ( -/obj/machinery/suit_storage_unit/mining{ - desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; - name = "rusted suit storage unit" - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) -"dw" = ( -/obj/structure/bed, -/obj/item/bedsheet, -/obj/effect/landmark/awaystart, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid/level_two) "dx" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/decal/cleanable/cobweb, @@ -1262,26 +1035,6 @@ /obj/item/stack/sheet/iron, /turf/open/floor/plating, /area/awaymission/caves/northblock) -"dM" = ( -/turf/open/floor/iron, -/area/awaymission/caves/northblock) -"dN" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/northblock) -"dO" = ( -/mob/living/simple_animal/hostile/retaliate/bat{ - desc = "A rare breed of bat which roosts deep in caves."; - name = "Cave Bat" - }, -/turf/open/floor/iron, -/area/awaymission/caves/northblock) -"dP" = ( -/obj/item/stack/rods, -/turf/open/floor/iron, -/area/awaymission/caves/northblock) "dQ" = ( /obj/machinery/door/airlock/mining{ name = "Dorm Access" @@ -1291,14 +1044,6 @@ "dR" = ( /turf/open/floor/plating, /area/awaymission/caves/northblock) -"dS" = ( -/obj/machinery/light/small, -/turf/open/floor/iron, -/area/awaymission/caves/northblock) -"dT" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/iron, -/area/awaymission/caves/northblock) "dU" = ( /obj/structure/closet/crate/miningcar{ name = "Mining cart" @@ -1363,16 +1108,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"eg" = ( -/obj/effect/decal/cleanable/robot_debris/old, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eh" = ( -/obj/structure/table, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "ei" = ( /obj/structure/table, /obj/item/paper_bin, @@ -1417,12 +1152,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/northblock) -"eq" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "er" = ( /obj/structure/chair/stool, /turf/open/floor/plating, @@ -1447,190 +1176,18 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"ev" = ( -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"ew" = ( -/obj/structure/table, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"ex" = ( -/obj/structure/closet/secure_closet/miner, -/obj/effect/decal/cleanable/cobweb, -/obj/item/survivalcapsule, -/obj/item/extinguisher/mini, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"ey" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"ez" = ( -/obj/machinery/light/small/built{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/mining{ - desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; - name = "rusted suit storage unit" - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eA" = ( -/obj/structure/table, -/obj/item/paper/fluff/awaymissions/caves/work_notice, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eB" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eC" = ( -/obj/structure/table, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eD" = ( -/obj/structure/closet/secure_closet/miner, -/obj/item/survivalcapsule, -/obj/item/extinguisher/mini, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eE" = ( -/obj/effect/landmark/awaystart, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "eF" = ( /turf/closed/wall, /area/awaymission/caves/listeningpost) "eG" = ( /turf/closed/wall/rust, /area/awaymission/caves/listeningpost) -"eH" = ( -/obj/machinery/vending/sustenance, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eI" = ( -/obj/structure/closet/crate/trashcart, -/obj/item/switchblade, -/obj/item/switchblade, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eJ" = ( -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eK" = ( -/obj/structure/table, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/gun/energy/kinetic_accelerator, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eL" = ( -/obj/machinery/vending/sovietsoda, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eM" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/table, -/obj/item/storage/toolbox/electrical, -/obj/item/multitool, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eN" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eO" = ( -/obj/effect/landmark/awaystart, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eP" = ( -/obj/structure/table, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) "eQ" = ( /obj/machinery/mineral/mint, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"eR" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eS" = ( -/obj/machinery/light/small/built, -/obj/machinery/suit_storage_unit/mining{ - desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; - name = "rusted suit storage unit" - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eT" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"eU" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/mechanical, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eV" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eW" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eX" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eY" = ( -/obj/structure/table, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"eZ" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) -"fa" = ( -/obj/structure/noticeboard{ - pixel_y = 32 - }, -/obj/item/paper/fluff/awaymissions/caves/shipment_notice, -/obj/item/paper/fluff/awaymissions/caves/safety_notice, -/turf/open/floor/iron, -/area/awaymission/caves/listeningpost) "fb" = ( /obj/structure/spawner/mining/hivelord, /turf/open/floor/plating/asteroid/basalt{ @@ -1741,37 +1298,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"fq" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fr" = ( -/obj/machinery/light/small/built{ - dir = 1 - }, -/obj/structure/spider/stickyweb, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fs" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"ft" = ( -/obj/structure/table, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/fire, -/obj/structure/spider/stickyweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fu" = ( -/obj/structure/table, -/obj/item/storage/firstaid/brute, -/obj/item/reagent_containers/blood/OPlus, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "fv" = ( /obj/structure/glowshroom/single, /turf/open/floor/plating/asteroid/basalt{ @@ -1804,26 +1330,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"fA" = ( -/obj/structure/bed, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fB" = ( -/obj/structure/spider/stickyweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fC" = ( -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fD" = ( -/obj/structure/spider/stickyweb, -/obj/machinery/sleeper{ - dir = 8 - }, -/mob/living/simple_animal/hostile/poison/giant_spider/hunter, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "fE" = ( /obj/machinery/light/small, /turf/open/floor/plating/asteroid/basalt{ @@ -1836,13 +1342,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"fG" = ( -/obj/machinery/door/airlock/medical{ - name = "Medical" - }, -/obj/structure/barricade/wooden, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "fH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1859,34 +1358,10 @@ /obj/structure/grille, /turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) -"fK" = ( -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fL" = ( -/obj/structure/sign/departments/examroom{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fM" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "fN" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) -"fO" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/iron/dark{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid) "fP" = ( /obj/structure/grille, /turf/open/floor/plating/asteroid/basalt{ @@ -1900,47 +1375,12 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"fS" = ( -/obj/structure/table, -/obj/item/storage/firstaid/toxin, -/obj/item/storage/firstaid/toxin, -/obj/item/reagent_containers/blood/OPlus, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"fT" = ( -/obj/machinery/iv_drip, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "fW" = ( /obj/structure/girder, /turf/open/floor/plating{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"fX" = ( -/obj/structure/closet/crate/miningcar{ - name = "Mining cart" - }, -/obj/item/pickaxe{ - attack_verb = list("ineffectively hit"); - desc = "A pickaxe thats been left to rust."; - force = 1; - name = "rusty pickaxe"; - pixel_x = 5; - throwforce = 1 - }, -/obj/item/stack/sheet/mineral/adamantine{ - amount = 15 - }, -/turf/open/floor/plating/asteroid/basalt{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7" - }, -/area/awaymission/caves/BMP_asteroid/level_two) -"fY" = ( -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "ga" = ( /obj/structure/ladder/unbreakable{ height = 2; @@ -1950,10 +1390,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gb" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "gc" = ( /obj/item/stack/rods, /turf/open/floor/plating{ @@ -1977,11 +1413,6 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gf" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "gg" = ( /obj/structure/table/reinforced, /obj/item/storage/box/donkpockets, @@ -2002,26 +1433,12 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gj" = ( -/obj/machinery/door/airlock/mining{ - name = "Kitchen" - }, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "gk" = ( /obj/effect/landmark/awaystart, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"gl" = ( -/obj/item/trash/plate, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"gm" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "gn" = ( /obj/item/grown/log, /turf/open/floor/plating/asteroid/basalt{ @@ -2040,217 +1457,806 @@ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gq" = ( -/obj/structure/chair/stool, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"gr" = ( -/obj/structure/table, -/obj/item/kitchen/fork, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) "gs" = ( /obj/item/assembly/igniter, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid/level_two) -"gt" = ( -/obj/structure/table_frame, -/obj/item/stack/sheet/iron, -/turf/open/floor/iron, -/area/awaymission/caves/BMP_asteroid) -"gu" = ( -/obj/item/stack/rods, -/turf/open/floor/iron, +"gz" = ( +/obj/machinery/door/airlock/external{ + name = "Mess Hall" + }, +/turf/open/floor/plating, /area/awaymission/caves/BMP_asteroid) -"gv" = ( -/obj/structure/table_frame, -/turf/open/floor/iron, +"gD" = ( +/obj/structure/spawner/mining/hivelord, +/turf/open/floor/plating/asteroid/basalt{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, /area/awaymission/caves/BMP_asteroid) -"gw" = ( -/obj/structure/reagent_dispensers/beerkeg, -/turf/open/floor/iron, +"gH" = ( +/obj/structure/table, +/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, +/obj/item/paper/fluff/awaymissions/caves/mech_notice, +/turf/open/floor/plating, +/area/awaymission/caves/BMP_asteroid) +"gK" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/awaymission/caves/BMP_asteroid) +"gL" = ( +/obj/item/stack/rods, +/turf/open/floor/plating, +/area/awaymission/caves/BMP_asteroid) +"gQ" = ( +/obj/structure/spawner/mining/basilisk, +/turf/open/floor/plating/asteroid/basalt{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid) +"gS" = ( +/obj/structure/girder, +/turf/open/floor/plating/asteroid/basalt{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid) +"gT" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/awaymission/caves/BMP_asteroid) +"gV" = ( +/obj/effect/mine/explosive{ + desc = "Rusted mines planted out by the miners before, probably to keep the cave monsters at bay."; + name = "rusted mine" + }, +/turf/open/floor/plating/asteroid/basalt{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, /area/awaymission/caves/BMP_asteroid) -"gx" = ( +"gX" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid/level_three) +"gY" = ( +/obj/effect/baseturf_helper/lava, +/turf/open/lava/smooth{ + desc = "Looks hot."; + initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; + luminosity = 5 + }, +/area/awaymission/caves/BMP_asteroid/level_four) +"gZ" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid/level_two) +"ha" = ( +/obj/effect/baseturf_helper/lava, +/turf/closed/mineral/volcanic, +/area/awaymission/caves/BMP_asteroid) +"hb" = ( +/obj/effect/baseturf_helper/asteroid/basalt, +/turf/closed/wall, +/area/awaymission/caves/northblock) +"hr" = ( +/obj/machinery/vending/sustenance, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"hK" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"il" = ( /obj/structure/table, -/obj/item/kitchen/fork, -/obj/item/trash/plate, +/obj/machinery/microwave, /turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gy" = ( -/obj/item/reagent_containers/food/drinks/drinkingglass, +"io" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/switchblade, +/obj/item/switchblade, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"iM" = ( +/turf/open/floor/iron, +/area/awaymission/caves/northblock) +"jc" = ( +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gz" = ( -/obj/machinery/door/airlock/external{ - name = "Mess Hall" +"jg" = ( +/obj/machinery/light, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, -/turf/open/floor/plating, +/area/awaymission/caves/research) +"jI" = ( +/obj/structure/glowshroom/single, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"kh" = ( +/obj/machinery/light/small/built{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/mining{ + desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; + name = "rusted suit storage unit" + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"kI" = ( +/obj/machinery/door/airlock/mining{ + name = "Kitchen" + }, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gA" = ( +"kP" = ( /obj/machinery/light/small{ - dir = 1 + dir = 4 }, -/turf/open/floor/iron/dark{ +/turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gB" = ( -/obj/machinery/mech_bay_recharge_port, +"lp" = ( +/obj/structure/closet/secure_closet/miner{ + name = "weapon equipment" + }, +/obj/item/grenade/syndieminibomb/concussion, +/obj/item/grenade/syndieminibomb/concussion, +/obj/item/grenade/syndieminibomb/concussion, /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/research) +"lI" = ( +/obj/structure/table_frame, +/obj/item/stack/sheet/iron, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gD" = ( -/obj/structure/spawner/mining/hivelord, -/turf/open/floor/plating/asteroid/basalt{ +"lZ" = ( +/obj/structure/table, +/obj/item/storage/firstaid/brute, +/obj/item/reagent_containers/blood/OPlus, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"ml" = ( +/obj/structure/holohoop{ + dir = 1 + }, +/turf/open/floor/iron/dark{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid) +"mV" = ( +/obj/structure/table, +/obj/item/storage/box/donkpockets, +/obj/item/clothing/glasses/meson, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"oD" = ( +/obj/effect/landmark/awaystart, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"oK" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"oX" = ( +/obj/structure/spider/stickyweb, +/obj/machinery/sleeper{ + dir = 8 + }, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"pp" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gE" = ( +"qg" = ( /obj/machinery/light/small{ dir = 4 }, +/turf/open/floor/iron/dark{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid) +"qi" = ( +/obj/structure/sign/departments/examroom{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"qo" = ( +/obj/structure/closet/secure_closet/personal, +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"qB" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"qC" = ( +/obj/structure/table, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"qG" = ( +/obj/machinery/mech_bay_recharge_port, /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gF" = ( +"qO" = ( +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"rm" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, -/obj/item/clothing/glasses/material, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"sm" = ( +/obj/structure/table_frame, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"sq" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"sJ" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"ti" = ( +/obj/structure/table, +/obj/item/kitchen/fork, +/obj/item/trash/plate, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"uh" = ( +/obj/structure/table, +/obj/item/storage/firstaid/fire, +/obj/item/storage/firstaid/fire, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"vn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/filingcabinet, +/obj/item/paper/fluff/awaymissions/caves/omega, /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, -/area/awaymission/caves/BMP_asteroid) -"gG" = ( -/obj/structure/mecha_wreckage/durand, +/area/awaymission/caves/research) +"vr" = ( +/obj/vehicle/sealed/mecha/working/ripley/mining, /turf/open/floor/iron/recharge_floor, /area/awaymission/caves/BMP_asteroid) -"gH" = ( +"vQ" = ( /obj/structure/table, -/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, -/obj/item/paper/fluff/awaymissions/caves/mech_notice, -/turf/open/floor/plating, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/crap, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"ws" = ( +/turf/open/floor/plating/elevatorshaft{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; + name = "elevator flooring" + }, /area/awaymission/caves/BMP_asteroid) -"gI" = ( +"wG" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"wO" = ( +/obj/structure/noticeboard{ + pixel_y = 32 + }, +/obj/item/paper/fluff/awaymissions/caves/shipment_notice, +/obj/item/paper/fluff/awaymissions/caves/safety_notice, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"xi" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"xx" = ( +/obj/machinery/light/small/built{ + dir = 4 + }, +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"xF" = ( +/obj/structure/reagent_dispensers/beerkeg, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"yf" = ( +/turf/open/floor/iron/dark{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid) +"yo" = ( +/obj/item/stack/rods, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"yt" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"yD" = ( /obj/structure/chair/stool, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"zf" = ( +/obj/structure/table, +/obj/item/paper/fluff/awaymissions/caves/magma, +/obj/item/pen, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"zg" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"zH" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"zI" = ( +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"zN" = ( +/obj/item/stack/rods, +/turf/open/floor/iron, +/area/awaymission/caves/northblock) +"Ak" = ( +/obj/structure/table, +/obj/item/storage/firstaid/toxin, +/obj/item/storage/firstaid/toxin, +/obj/item/reagent_containers/blood/OPlus, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Bj" = ( +/obj/structure/table, +/obj/item/gps/mining, +/obj/item/gps/mining, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Bm" = ( +/obj/structure/bed, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Br" = ( +/obj/effect/landmark/awaystart, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"BW" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/glasses/material, /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gJ" = ( +"Ca" = ( +/obj/item/trash/plate, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Cv" = ( +/obj/effect/decal/remains/human, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"CL" = ( +/obj/structure/table, +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"Dk" = ( /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/research) +"Em" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/iron/dark{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, /area/awaymission/caves/BMP_asteroid) -"gK" = ( -/obj/structure/girder, -/turf/open/floor/plating, +"Eq" = ( +/obj/structure/closet/crate/miningcar{ + name = "Mining cart" + }, +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, +/obj/item/stack/sheet/mineral/adamantine{ + amount = 15 + }, +/turf/open/floor/plating/asteroid/basalt{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/BMP_asteroid/level_two) +"Ex" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"EN" = ( +/mob/living/simple_animal/hostile/retaliate/bat{ + desc = "A rare breed of bat which roosts deep in caves."; + name = "Cave Bat" + }, +/turf/open/floor/iron, +/area/awaymission/caves/northblock) +"FA" = ( +/obj/structure/table, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"Gp" = ( +/obj/structure/table, +/obj/item/paper/fluff/awaymissions/caves/work_notice, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gL" = ( -/obj/item/stack/rods, -/turf/open/floor/plating, +"GC" = ( +/obj/effect/landmark/awaystart, +/turf/open/floor/plating/elevatorshaft{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; + name = "elevator flooring" + }, /area/awaymission/caves/BMP_asteroid) -"gM" = ( -/obj/structure/mecha_wreckage/ripley, -/turf/open/floor/iron/recharge_floor, +"He" = ( +/obj/machinery/iv_drip, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gN" = ( +"Ib" = ( /obj/structure/holohoop, /turf/open/floor/iron/dark{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gO" = ( +"Id" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"IS" = ( +/obj/effect/decal/cleanable/blood/gibs, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"JH" = ( +/obj/machinery/door/airlock/medical{ + name = "Medical" + }, +/obj/structure/barricade/wooden, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"JM" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Kb" = ( +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Kr" = ( /obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"KG" = ( +/obj/machinery/suit_storage_unit/mining{ + desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; + name = "rusted suit storage unit" + }, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"Lc" = ( +/obj/structure/sign/warning/vacuum{ + name = "\improper LOW AIR AREA"; + pixel_x = 32 + }, +/obj/item/stack/rods, /turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/research) +"Lv" = ( +/obj/structure/closet/secure_closet/miner, +/obj/item/survivalcapsule, +/obj/item/extinguisher/mini, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gP" = ( +"My" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"MG" = ( +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"NB" = ( +/obj/structure/table, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"NX" = ( /obj/item/toy/beach_ball/holoball, /turf/open/floor/iron/dark{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gQ" = ( -/obj/structure/spawner/mining/basilisk, +"NY" = ( +/obj/structure/spider/stickyweb, +/turf/open/floor/iron, +/area/awaymission/caves/northblock) +"NZ" = ( +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/BMP_asteroid/level_two) +"Ou" = ( +/obj/structure/bed, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gS" = ( -/obj/structure/girder, +"Ov" = ( +/obj/machinery/vending/sovietsoda, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"PD" = ( +/obj/structure/closet/crate/miningcar{ + name = "Mining cart" + }, +/obj/item/pickaxe{ + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks"); + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack"); + desc = "A pickaxe thats been left to rust."; + force = 1; + name = "rusty pickaxe"; + pixel_x = 5; + throwforce = 1 + }, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/BMP_asteroid/level_two) +"PF" = ( +/obj/structure/table, +/obj/item/gun/energy/kinetic_accelerator, +/obj/item/gun/energy/kinetic_accelerator, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"QM" = ( +/obj/structure/table, +/obj/item/melee/baton, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"QW" = ( +/obj/structure/table, +/obj/item/mining_scanner, +/obj/item/mining_scanner, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gT" = ( +"Rr" = ( /obj/machinery/light/small{ - dir = 4 + dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/iron, +/area/awaymission/caves/northblock) +"RG" = ( +/obj/structure/bed, +/obj/item/bedsheet, +/obj/effect/landmark/awaystart, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"RM" = ( +/obj/structure/mecha_wreckage/ripley, +/turf/open/floor/iron/recharge_floor, /area/awaymission/caves/BMP_asteroid) -"gU" = ( -/obj/structure/holohoop{ - dir = 1 +"RZ" = ( +/obj/machinery/light{ + dir = 8 }, -/turf/open/floor/iron/dark{ +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Sn" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"SZ" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/research) +"Tc" = ( +/obj/item/reagent_containers/food/drinks/drinkingglass, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"gV" = ( -/obj/effect/mine/explosive{ - desc = "Rusted mines planted out by the miners before, probably to keep the cave monsters at bay."; - name = "rusted mine" +"TC" = ( +/turf/open/floor/iron/dark{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, -/turf/open/floor/plating/asteroid/basalt{ +/area/awaymission/caves/BMP_asteroid/level_two) +"TU" = ( +/obj/structure/closet/secure_closet/miner, +/obj/effect/decal/cleanable/cobweb, +/obj/item/survivalcapsule, +/obj/item/extinguisher/mini, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"Uu" = ( +/obj/structure/chair/stool, +/turf/open/floor/iron{ initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) -"gX" = ( -/obj/effect/baseturf_helper/lava, -/turf/closed/mineral/volcanic, -/area/awaymission/caves/BMP_asteroid/level_three) -"gY" = ( -/obj/effect/baseturf_helper/lava, -/turf/open/lava/smooth{ - desc = "Looks hot."; - initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; - luminosity = 5 +"UE" = ( +/obj/structure/ladder/unbreakable{ + height = 2; + id = "minedeep" }, -/area/awaymission/caves/BMP_asteroid/level_four) -"gZ" = ( -/obj/effect/baseturf_helper/lava, -/turf/closed/mineral/volcanic, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid/level_two) -"ha" = ( -/obj/effect/baseturf_helper/lava, -/turf/closed/mineral/volcanic, +"Vl" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"Vq" = ( +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid/level_two) +"Vt" = ( +/obj/machinery/light/small/built, +/obj/machinery/suit_storage_unit/mining{ + desc = "An industrial unit made to hold space suits. Age has seemed to rust the sliding door mechanisms, making it difficult to open."; + name = "rusted suit storage unit" + }, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"hb" = ( -/obj/effect/baseturf_helper/asteroid/basalt, -/turf/closed/wall, +"VA" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs/cable, +/obj/item/restraints/handcuffs/cable, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) +"VV" = ( +/obj/structure/mecha_wreckage/durand, +/turf/open/floor/iron/recharge_floor, +/area/awaymission/caves/BMP_asteroid) +"WK" = ( +/obj/machinery/light/small, +/turf/open/floor/iron, /area/awaymission/caves/northblock) -"Eb" = ( -/obj/effect/landmark/awaystart, -/turf/open/floor/plating/elevatorshaft{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; - name = "elevator flooring" +"WR" = ( +/obj/structure/table, +/obj/item/paper/pamphlet/gateway, +/turf/open/floor/iron, +/area/awaymission/caves/listeningpost) +"XG" = ( +/obj/structure/table, +/obj/item/kitchen/fork, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"XJ" = ( +/obj/effect/decal/cleanable/robot_debris/old, +/turf/open/floor/iron, +/area/awaymission/caves/BMP_asteroid) +"XX" = ( +/obj/item/shard, +/obj/item/stack/rods, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, +/area/awaymission/caves/research) +"Yn" = ( +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"KD" = ( -/obj/vehicle/sealed/mecha/working/ripley/mining, -/turf/open/floor/iron/recharge_floor, +"YU" = ( +/obj/machinery/light/small/built{ + dir = 1 + }, +/obj/structure/spider/stickyweb, +/mob/living/simple_animal/hostile/poison/giant_spider/hunter, +/turf/open/floor/iron, /area/awaymission/caves/BMP_asteroid) -"SX" = ( -/turf/open/floor/plating/elevatorshaft{ - initial_gas_mix = "n2=23;o2=14;TEMP=2.7"; - name = "elevator flooring" +"ZF" = ( +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" }, /area/awaymission/caves/BMP_asteroid) +"ZI" = ( +/obj/structure/sign/warning/vacuum{ + name = "\improper LOW AIR AREA"; + pixel_x = 32 + }, +/turf/open/floor/iron{ + initial_gas_mix = "n2=23;o2=14;TEMP=2.7" + }, +/area/awaymission/caves/research) (1,1,1) = {" aa @@ -5524,8 +5530,8 @@ dt dx dE dI -dM -dP +iM +zN dI dG dA @@ -5781,8 +5787,8 @@ du dy dy dJ -dM -dM +iM +iM dt dy dB @@ -6038,8 +6044,8 @@ du dz dF du -dM -dM +iM +iM dt dY dz @@ -6295,8 +6301,8 @@ du du du dt -dN -dM +Rr +iM du du du @@ -6552,8 +6558,8 @@ du dA dG dI -dO -dP +EN +zN dI dZ el @@ -6809,8 +6815,8 @@ du dB dy dK -dP -dM +zN +iM dR ea dy @@ -7066,8 +7072,8 @@ dt dz dH dt -dM -dP +iM +zN dK dF dz @@ -7323,8 +7329,8 @@ dt dt du du -dM -dS +iM +WK dt dt dt @@ -7580,8 +7586,8 @@ dt dC dE dI -dM -dT +iM +NY dI eb em @@ -7597,11 +7603,11 @@ bM bL bL dW -fq -fA +Ou +Bm dW -fK -fS +MG +Ak dX bL bL @@ -7854,11 +7860,11 @@ bL bL bL dW -fr -fB +YU +hK dW -fL -ev +qi +Yn dX bL bL @@ -8111,11 +8117,11 @@ bL bL bL dX -fs -fC -fG -fB -fT +zg +Kb +JH +hK +He dX bL bL @@ -8368,11 +8374,11 @@ bL bL bL dW -ft -ev +uh +Yn dW -fM -ev +sq +Yn dW bL bL @@ -8607,9 +8613,9 @@ bV bV bV bV -cx -cx -cx +yf +yf +yf bV bV ef @@ -8625,11 +8631,11 @@ bL bL bL dX -fu -fD +lZ +oX dX -ev -fB +Yn +hK dW bL bL @@ -8865,9 +8871,9 @@ bM bV bV bV -cx -cx -cx +yf +yf +yf cj bV bM @@ -8876,11 +8882,11 @@ bM bV bV cj -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf dW dX dX @@ -9134,12 +9140,12 @@ bV bV bV bV -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf bV fH ej @@ -9395,9 +9401,9 @@ bV bV bV ff -cx -cx -cx +yf +yf +yf dW fN dX @@ -9653,8 +9659,8 @@ bL bL dW bV -cx -cx +yf +yf fI bV bV @@ -9910,8 +9916,8 @@ bL bL bL bV -cx -cx +yf +yf bV bV bV @@ -10136,12 +10142,12 @@ bL bL cg cg -ct -cC +XX +VA cO cT -cX -db +QM +vQ cg cg bL @@ -10167,10 +10173,10 @@ bL bL fg bV -cx -cx -cx -cx +yf +yf +yf +yf bV bV bV @@ -10392,14 +10398,14 @@ bL bL bL cg -cn -cu -cD -cu -cn -cY -cn -dd +Dk +IS +Cv +IS +Dk +jI +Dk +wG cg bL bL @@ -10413,11 +10419,11 @@ bL bL bL dX -ex -eD -eD -eD -eD +TU +Lv +Lv +Lv +Lv dX bL bL @@ -10425,10 +10431,10 @@ bL fg bV bV -cx -cx -cx -cx +yf +yf +yf +yf bV bV bL @@ -10445,7 +10451,7 @@ bL bL bL bL -cx +yf ej bV bM @@ -10649,14 +10655,14 @@ bL bL bL ch -co -cv -cv -cn -cn -cn -cn -de +vn +SZ +SZ +Dk +Dk +Dk +Dk +jg ch bL bL @@ -10670,11 +10676,11 @@ bL bL bL dW -ey -ev -ev -ev -eR +jc +Yn +Yn +Yn +sJ dX bL bL @@ -10684,8 +10690,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -10702,8 +10708,8 @@ bL bL bL bL -cx -cx +yf +yf ej bV bM @@ -10906,14 +10912,14 @@ bL bL bL ch -cp -cn -cE -cn -cn -cZ -cn -df +qC +Dk +Lc +Dk +Dk +ZI +Dk +lp ch bV bL @@ -10927,11 +10933,11 @@ bL bL bL dX -ez -eE -ev -ev -eS +kh +Br +Yn +Yn +Vt dX bL bL @@ -10941,12 +10947,12 @@ bV bV bV bV -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf bV bV bV @@ -10959,16 +10965,16 @@ bL bL bL dW -gN -cx +Ib +yf ej bV bM bM bM bV -cx -gU +yf +ml dW bM bM @@ -11184,11 +11190,11 @@ bL bL bL dX -eA -ev -ev -ev -eT +Gp +Yn +Yn +Yn +Kr dW bL bV @@ -11198,11 +11204,11 @@ bV bV bV bV -fO -cx -cx -cx -cx +qg +yf +yf +yf +yf bV bV ff @@ -11216,16 +11222,16 @@ bL bL bL bL -cx -gP -cx +yf +NX +yf ej bV bV bV ej -cx -cx +yf +yf bL bM bM @@ -11441,11 +11447,11 @@ bL bL bL dX -ev -ev -ev -ev -ev +Yn +Yn +Yn +Yn +Yn eF eG eG @@ -11456,8 +11462,8 @@ bV bV bV dW -cx -cx +yf +yf bV bV bV @@ -11473,16 +11479,16 @@ bL bL bL bL -cx -cx -cx -fO -cx +yf +yf +yf +qg +yf bV gT -cx -cx -cx +yf +yf +yf bL bM bM @@ -11698,23 +11704,23 @@ dW dX dX dX -eB +xi dW -eH -eL -ev -eW -eN -eJ -eO +hr +Ov +Yn +Ex +qB +qO +oD fh bV bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -11734,8 +11740,8 @@ fP fP fP dW -cx -cx +yf +yf dW fP bL @@ -11937,8 +11943,8 @@ bV bV bV cG -cx -cx +yf +yf cG bV bV @@ -11952,26 +11958,26 @@ bV bV bL dW -eg -eq -ev -ev +XJ +RZ +Yn +Yn eF eF eF eG eG -eX -eJ -eJ +WR +qO +qO fh bV bV bV bV bV -cx -cx +yf +yf bV cj bV @@ -11991,8 +11997,8 @@ bV bV bV cG -cx -cx +yf +yf cG bV bL @@ -12194,8 +12200,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -12209,26 +12215,26 @@ bV bV bL dX -eh +NB ej -eg -ev +XJ +Yn eF -eI -eM -eU +io +My +rm eG -eY -eJ -eJ +FA +qO +qO eF fh eF bV bV bV -cx -cx +yf +yf bV bV bV @@ -12248,8 +12254,8 @@ bV gQ bV bV -cx -cx +yf +yf bV bV bL @@ -12451,8 +12457,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -12469,23 +12475,23 @@ dX ei er ej -ev +Yn eG -eJ -eN -eJ +qO +qB +qO eF -eZ -eJ -eJ +Vl +qO +qO fi fm fi -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf bV bV bV @@ -12500,13 +12506,13 @@ bV bV bV bV -cx -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf +yf bV bL bL @@ -12707,9 +12713,9 @@ bV bV bV bV -cx -cx -cx +yf +yf +yf bV bV bV @@ -12725,44 +12731,44 @@ bL dX ej ej -ev -ev +Yn +Yn eG -eJ -eO -eJ +qO +oD +qO eF -fa -eJ -eJ +wO +qO +qO eF fh eF bV bV bV -cx -cx -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf +yf +yf bV -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf bV bV bV @@ -12964,8 +12970,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -12982,39 +12988,39 @@ bL dW ek es -ew -eC +QW +Bj eF -eJ -eJ -eJ -eJ -eJ -eJ -eN +qO +qO +qO +qO +qO +qO +qB fh bV bV bV bV bV -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx -cx +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf +yf bV fg fg @@ -13221,8 +13227,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -13242,28 +13248,28 @@ dX dX dW eF -eK -eP -eV +PF +CL +zH eF -eJ -eJ -eJ +qO +qO +qO fh bV bV bV ff bV -cx -cx +yf +yf bV ff bV bV bV -cx -cx +yf +yf bV bV bV @@ -13477,9 +13483,9 @@ bZ bV bV bV -cx -cx -cx +yf +yf +yf bV bV bV @@ -13512,15 +13518,15 @@ bV bV dW fP -cx -cx +yf +yf fJ dW bV bV bV -cx -cx +yf +yf bV bL bL @@ -13734,8 +13740,8 @@ bV bV cj bV -cx -cx +yf +yf bV bV bZ @@ -13768,16 +13774,16 @@ bV cj bV fJ -SX -SX -SX -SX +ws +ws +ws +ws fJ bV bV bV -cx -cx +yf +yf bV bL bL @@ -13991,8 +13997,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -14025,17 +14031,17 @@ bV bV bV fJ -SX -SX -SX -SX +ws +ws +ws +ws fJ bV bV bV bV -cx -cx +yf +yf bV bV bL @@ -14248,8 +14254,8 @@ bV bV bV bV -cx -cx +yf +yf bV bV bV @@ -14282,19 +14288,19 @@ bV bV bV fJ -SX -Eb -SX -SX +ws +GC +ws +ws fJ bV bV bV bV -cx -cx -cx -cx +yf +yf +yf +yf bV bL bL @@ -14505,7 +14511,7 @@ bL bV bV bV -cx +yf bV bV bV @@ -14539,10 +14545,10 @@ cj bV bV fJ -SX -SX -SX -SX +ws +ws +ws +ws fJ bV bV @@ -14550,8 +14556,8 @@ bV bL dW ge -cx -cx +yf +yf bV bL bL @@ -14808,8 +14814,8 @@ bL bL bV bV -cx -cx +yf +yf bV bL bL @@ -15065,8 +15071,8 @@ bL bL bL bV -cx -cx +yf +yf bV bL bL @@ -15322,8 +15328,8 @@ bL bL bL bV -cx -cx +yf +yf bV bL bL @@ -15579,8 +15585,8 @@ dW dX dW dW -cx -cx +yf +yf bV bL bL @@ -15827,17 +15833,17 @@ bL bL bL dX -fY -gb +il +JM dX -gl -ev -ev +Ca +Yn +Yn fN ej gz -cx -cx +yf +yf bV bL bL @@ -16085,16 +16091,16 @@ bM bM fW fy -ev -gf -gm -ev -ev +Yn +Sn +Id +Yn +Yn fN ej gz -cx -cx +yf +yf bV bL bL @@ -16345,13 +16351,13 @@ fy gc gg fy -ev -gm +Yn +Id dW dX dW -gA -cx +Em +yf bV bV bM @@ -16603,13 +16609,13 @@ fy gh bM go -gq -gw +yD +xF fH bV bV -cx -cx +yf +yf bV bM bM @@ -16860,13 +16866,13 @@ bM bM bM gp -gt -gx +lI +ti fH bV bV -cx -cx +yf +yf bM bM bM @@ -17117,15 +17123,15 @@ fy gi fy fy -gq -gy +yD +Tc fH cj bV bV -cx -cx -cx +yf +yf +yf bM bM bM @@ -17373,9 +17379,9 @@ bM fy dW fy -gq -gu -gq +yD +yo +yD dX bL bL @@ -17628,11 +17634,11 @@ bM bM bM fy -gj -ev -gr -gv -gt +kI +Yn +XG +sm +lI dW bL bL @@ -17886,10 +17892,10 @@ bM bM fy fW -ev -gq -gm -gq +Yn +yD +Id +yD dW bL bL @@ -18408,7 +18414,7 @@ bL bV bV fy -gF +BW gH ej ej @@ -18666,7 +18672,7 @@ bV bV bV fy -gI +Uu fy gD eu @@ -19177,10 +19183,10 @@ bL bL bV fW -gB +qG fy -gB -gJ +qG +ZF fy fy bM @@ -19434,11 +19440,11 @@ bL bL bL dX -KD -gE -gG -gJ -gB +vr +kP +VV +ZF +qG fy bM bV @@ -19694,10 +19700,10 @@ dW dW dW dX -gJ -gM -gJ -gO +ZF +RM +ZF +pp dX gK dW @@ -53566,7 +53572,7 @@ bK bJ bR bJ -cf +TC ck bR bJ @@ -53823,8 +53829,8 @@ bK bJ bW bJ -cf -cf +TC +TC bW bJ bJ @@ -54080,11 +54086,11 @@ bK bJ bJ bJ -cf -cf -cf -cf -cf +TC +TC +TC +TC +TC bJ bK bK @@ -54121,7 +54127,7 @@ bJ bJ bJ bJ -cQ +NZ gk bJ gs @@ -54336,13 +54342,13 @@ bK bK bK bX -cb -cf -cf -cf -cf -cf -cf +PD +TC +TC +TC +TC +TC +TC bK bK bJ @@ -54598,8 +54604,8 @@ bJ bJ bJ bJ -cf -cf +TC +TC bK bK bJ @@ -57433,8 +57439,8 @@ bJ dh dm dh -do -dv +zI +KG bR bK bK @@ -57690,8 +57696,8 @@ bQ bR dl bR -dr -do +yt +zI bR bK bK @@ -57944,11 +57950,11 @@ bJ bJ cc bR -di -dn -do -do -dr +zf +oK +zI +zI +yt bQ bK bK @@ -58201,11 +58207,11 @@ bJ bJ cc bQ -dj -do -do -do -do +UE +zI +zI +zI +zI bR bK bK @@ -58458,11 +58464,11 @@ cd bJ cm bQ -dk -dp -dq -ds -dw +Vq +mV +xx +qo +RG bR bK bK @@ -60767,7 +60773,7 @@ bK bK bR bJ -cQ +NZ bJ bJ bR @@ -61572,7 +61578,7 @@ bK bK bK bK -fX +Eq bJ bJ bJ diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 72bff64a9faf2..e9e8ef43fb35c 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -88,6 +88,13 @@ /obj/effect/spawner/room/threexthree, /turf/open/floor/plating, /area/maintenance/port/aft) +"abl" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ + dir = 1 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/engine/atmos) "abw" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -383,13 +390,6 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/bridge) -"aeF" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/closet/wardrobe/miner, -/turf/open/floor/iron, -/area/quartermaster/miningdock) "aeK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -1123,6 +1123,11 @@ "arB" = ( /turf/closed/wall/r_wall, /area/hallway/secondary/entry) +"arE" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/hydroponics/garden) "arM" = ( /obj/structure/closet/crate{ opened = 1 @@ -2103,6 +2108,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"aFt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + dir = 1; + pixel_y = 25 + }, +/turf/open/floor/catwalk_floor, +/area/engine/atmos) "aFu" = ( /turf/closed/wall, /area/library) @@ -2186,6 +2201,14 @@ /obj/machinery/suit_storage_unit/rd, /turf/open/floor/iron/cafeteria, /area/crew_quarters/heads/hor) +"aGx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/engine/atmos) "aGB" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3519,19 +3542,6 @@ broken = 1 }, /area/crew_quarters/heads/captain) -"aRs" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 25 - }, -/obj/structure/closet/secure_closet/security/science, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science) "aRt" = ( /obj/machinery/light{ dir = 4 @@ -3886,24 +3896,6 @@ }, /turf/open/floor/iron, /area/janitor) -"aUx" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Air Outlet Pump"; - target_pressure = 500 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "aUB" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, @@ -4134,14 +4126,6 @@ /obj/item/camera_film, /turf/open/floor/wood, /area/library) -"aVT" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/turf/open/floor/wood, -/area/library) "aVW" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted, @@ -4162,6 +4146,20 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/captain) +"aWd" = ( +/obj/machinery/computer/rdconsole/production{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -23 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/break_room) "aWi" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -4540,14 +4538,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hydroponics) -"ban" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/northleft{ - name = "Hydroponics Desk"; - req_access_txt = "35" - }, -/turf/open/floor/iron, -/area/hydroponics) "baq" = ( /obj/machinery/door/airlock/security{ name = "Evidence Storage"; @@ -4810,11 +4800,6 @@ /obj/effect/spawner/randomarcade, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bdn" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/donut_box, -/turf/open/floor/carpet/green, -/area/crew_quarters/dorms) "bdq" = ( /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; @@ -5923,21 +5908,6 @@ }, /turf/open/floor/iron/white, /area/medical/apothecary) -"blp" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/eastright{ - base_state = "left"; - icon_state = "left"; - name = "Chemistry Desk"; - req_access_txt = "33" - }, -/obj/machinery/door/poddoor/preopen{ - id = "chemistry_shutters"; - name = "Chemistry shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/medical/apothecary) "blu" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 4 @@ -6228,13 +6198,6 @@ /obj/machinery/computer/cargo/request, /turf/open/floor/iron, /area/quartermaster/office) -"bnJ" = ( -/obj/machinery/firealarm{ - pixel_y = 27 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/quartermaster/office) "bnK" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -6582,6 +6545,25 @@ /obj/machinery/smartfridge/chemistry, /turf/closed/wall, /area/medical/sleeper) +"bqV" = ( +/obj/structure/table/glass, +/obj/item/storage/box/disks{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/machinery/airalarm/directional/north, +/obj/item/storage/box/monkeycubes{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/medical/genetics) "brc" = ( /obj/structure/chair, /turf/open/floor/iron/white, @@ -7012,14 +6994,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/main) -"bwL" = ( -/obj/machinery/light, -/obj/effect/turf_decal/box, -/obj/machinery/plumbing/pill_press{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/medical/chemistry) "bwU" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/iron/showroomfloor, @@ -7308,6 +7282,15 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark, /area/science/server) +"bzA" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/checkpoint/supply) "bzE" = ( /turf/open/floor/iron/white/side{ dir = 5 @@ -7459,9 +7442,7 @@ "bBf" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/tile/black/fourcorners, -/obj/machinery/camera/motion{ - dir = 5 - }, +/obj/machinery/camera/motion/directional/west, /turf/open/floor/iron/grid/steel, /area/ai_monitored/storage/eva) "bBi" = ( @@ -8640,6 +8621,21 @@ }, /turf/open/floor/iron/white, /area/medical/storage) +"bLZ" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air Outlet Pump"; + target_pressure = 500 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "bMa" = ( /obj/machinery/smartfridge{ name = "Sample Storage" @@ -8910,13 +8906,6 @@ }, /turf/open/floor/iron/white, /area/medical/storage) -"bNo" = ( -/obj/structure/closet/emcloset, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/iron, -/area/quartermaster/storage) "bNq" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -9933,6 +9922,12 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"bTp" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "bTz" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -11076,21 +11071,6 @@ "bZy" = ( /turf/open/floor/iron, /area/engine/break_room) -"bZz" = ( -/obj/machinery/light_switch{ - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/rnd/production/protolathe/department/engineering, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/break_room) "bZC" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -12130,19 +12110,6 @@ }, /turf/open/floor/carpet/blue, /area/bridge/meeting_room) -"cfs" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "cfw" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/port/aft) @@ -12226,24 +12193,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"cfX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "cfY" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/white, @@ -12407,6 +12356,14 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) +"chp" = ( +/obj/machinery/light, +/obj/effect/turf_decal/box, +/obj/machinery/plumbing/output{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/medical/chemistry) "chq" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -12583,57 +12540,16 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"cit" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/space, -/area/space/nearstation) "cix" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/closed/wall/r_wall, /area/engine/atmos) -"ciF" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/crew_quarters/kitchen) "ciH" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall/r_wall, /area/medical/virology) -"ciJ" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("minisat") - }, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/service) "ciL" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -12710,12 +12626,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"cjh" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/iron, -/area/engine/engineering) "cji" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -12809,16 +12719,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"ckc" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) -"ckd" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/space/basic, -/area/space/nearstation) "cki" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -12900,11 +12800,6 @@ }, /turf/open/floor/engine/n2, /area/engine/atmos) -"ckV" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/space/basic, -/area/space/nearstation) "ckW" = ( /obj/machinery/air_sensor/atmos/nitrogen_tank, /turf/open/floor/engine/n2, @@ -12982,12 +12877,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/engine/engineering) -"clQ" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/engine/engineering) "clR" = ( /obj/machinery/light{ dir = 1 @@ -13070,6 +12959,41 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engine/engineering) +"cmE" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor{ + base_state = "rightsecure"; + dir = 4; + icon_state = "rightsecure"; + name = "Head of Personnel's Desk"; + req_access_txt = "57" + }, +/obj/machinery/door/window/northleft{ + dir = 8; + name = "Reception Window" + }, +/obj/machinery/flasher{ + id = "hopflash"; + pixel_y = 28 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopshutter"; + name = "Privacy Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = -6 + }, +/obj/item/paper_bin{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/pen{ + pixel_x = 4; + pixel_y = -4 + }, +/turf/open/floor/iron, +/area/crew_quarters/heads/hop) "cmU" = ( /turf/open/floor/engine/n2, /area/engine/atmos) @@ -13408,13 +13332,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"cqm" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/iron, -/area/engine/engineering) "cqn" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -14239,6 +14156,14 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) +"cvJ" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/north, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/quartermaster/office) "cvM" = ( /obj/machinery/computer/cloning{ dir = 8 @@ -14995,14 +14920,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"cCD" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix to Engine" - }, -/turf/open/floor/iron, -/area/engine/atmos) "cCE" = ( /obj/machinery/atmospherics/pipe/simple/green/visible, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -15021,23 +14938,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cCI" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/space, -/area/space/nearstation) -"cCQ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) -"cCS" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) "cCT" = ( /obj/machinery/shower{ dir = 4 @@ -15146,12 +15046,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"cDz" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) "cDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15217,31 +15111,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"cDI" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/iron, -/area/engine/engineering) -"cDL" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cDN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/closed/wall, -/area/engine/engineering) -"cDY" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 - }, -/turf/open/space, -/area/space/nearstation) "cDZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -15871,6 +15740,19 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"cGS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + id = "Engineering"; + name = "engineering security door" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "cGV" = ( /obj/structure/reflector/box/anchored{ dir = 1 @@ -16166,12 +16048,10 @@ pixel_y = 24; req_access_txt = "47" }, -/obj/machinery/camera/autoname{ - dir = 6 - }, /obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white, /area/science/lab) "cJv" = ( @@ -16227,9 +16107,7 @@ /obj/structure/table, /obj/item/storage/box/bodybags, /obj/item/pen, -/obj/machinery/camera/autoname{ - dir = 5 - }, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/medical/morgue) "cKg" = ( @@ -16318,22 +16196,6 @@ /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"cLH" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Airlock"; - req_access_txt = "24" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/engine/atmos) "cMm" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, @@ -16370,14 +16232,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"cMK" = ( -/obj/item/kirbyplants/random, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/engine/engineering) "cMN" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, @@ -16406,13 +16260,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"cNy" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ - dir = 1 - }, -/turf/open/space/basic, -/area/engine/atmos) "cNz" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/stripes/line, @@ -16911,6 +16758,14 @@ }, /turf/open/floor/engine, /area/science/explab) +"cWC" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/structure/closet/secure_closet/engineering_personal, +/turf/open/floor/iron, +/area/engine/engineering) "cWH" = ( /obj/machinery/power/apc/auto_name/directional/west{ pixel_x = -24 @@ -16948,6 +16803,12 @@ }, /turf/open/floor/iron/dark, /area/security/prison) +"cZd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/engine/atmos) "cZt" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -17030,6 +16891,18 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/security/courtroom) +"dbc" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/northleft{ + name = "Hydroponics Desk"; + req_access_txt = "35" + }, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/iron, +/area/hydroponics) "dbF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -17259,10 +17132,8 @@ /obj/machinery/airalarm/directional/south{ pixel_y = -22 }, -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/security/checkpoint/medical) "dgz" = ( @@ -17705,6 +17576,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/prison/dark, /area/security/prison) +"drN" = ( +/obj/structure/reagent_dispensers/peppertank/directional/south, +/turf/open/floor/carpet/red, +/area/crew_quarters/heads/hos) "dsg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -17859,6 +17734,12 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"dvS" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "dvV" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/machinery/turretid{ @@ -17887,18 +17768,6 @@ /obj/effect/landmark/start/cyborg, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) -"dvW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "dwh" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -17954,6 +17823,12 @@ }, /turf/open/floor/iron, /area/security/checkpoint/engineering) +"dwY" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/turf/open/floor/plating, +/area/engine/atmos) "dxd" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -17999,6 +17874,14 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, /turf/open/space, /area/space/nearstation) +"dxE" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/computer/security/telescreen/vault{ + pixel_y = 30 + }, +/obj/machinery/photocopier, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) "dxY" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -18146,6 +18029,14 @@ }, /turf/open/floor/iron, /area/security/brig) +"dBW" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/turf/open/floor/iron, +/area/engine/atmos) "dCJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -18471,12 +18362,6 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison/shielded) -"dJc" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "dJt" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -18751,16 +18636,6 @@ /obj/structure/bed, /turf/open/floor/iron/white, /area/medical/virology) -"dOj" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "dOz" = ( /obj/effect/turf_decal/pool/corner, /turf/open/floor/iron, @@ -19025,6 +18900,13 @@ /obj/effect/turf_decal/trimline/dark_blue/filled, /turf/open/floor/iron/dark, /area/teleporter) +"dTD" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "dTH" = ( /obj/machinery/computer/cryopod{ pixel_y = 25 @@ -19032,12 +18914,10 @@ /obj/machinery/cryopod{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/medical/cryo) "dTK" = ( @@ -19335,6 +19215,19 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/hallway) +"dZz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "dZF" = ( /turf/closed/wall, /area/crew_quarters/kitchen/coldroom) @@ -19364,6 +19257,11 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"dZQ" = ( +/obj/structure/closet/emcloset, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/quartermaster/storage) "dZW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -19482,24 +19380,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"ecx" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "ecA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -19862,6 +19742,18 @@ /obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/central) +"elb" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/computer/camera_advanced/base_construction{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/construction/mining/aux_base) "elf" = ( /obj/machinery/light/small{ dir = 8 @@ -20012,20 +19904,6 @@ }, /turf/open/floor/iron/white, /area/science/lab) -"eoO" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room"; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/engine/engineering) "epb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/freezer, @@ -20782,20 +20660,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"eDY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "eEd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/tile/blue{ @@ -21024,6 +20888,12 @@ }, /turf/open/floor/engine, /area/gateway) +"eJj" = ( +/obj/machinery/suit_storage_unit/hos, +/obj/effect/turf_decal/stripes/end, +/obj/structure/reagent_dispensers/peppertank/directional/north, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "eJm" = ( /obj/structure/cable/yellow, /obj/effect/spawner/structure/window/reinforced/prison, @@ -21358,6 +21228,14 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/telecomms, /area/quartermaster/exploration_dock) +"eQd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "eQj" = ( /obj/machinery/computer/secure_data{ dir = 4; @@ -21556,6 +21434,19 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"eUa" = ( +/obj/machinery/firealarm{ + pixel_y = 27 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 4 + }, +/obj/item/pen{ + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/office) "eUf" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -21612,6 +21503,15 @@ /obj/machinery/camera/directional/north, /turf/open/floor/engine/vacuum, /area/engine/atmos) +"eVB" = ( +/obj/structure/sign/departments/minsky/engineering/atmospherics{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "eVL" = ( /obj/machinery/light_switch{ pixel_y = 28 @@ -21621,10 +21521,6 @@ }, /turf/open/floor/iron, /area/quartermaster/miningdock) -"eVR" = ( -/obj/structure/table, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) "eWm" = ( /obj/machinery/light{ dir = 4 @@ -21639,18 +21535,6 @@ "eWC" = ( /turf/closed/wall, /area/maintenance/central) -"eWD" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron, -/area/storage/tools) "eWJ" = ( /obj/structure/table/glass, /obj/item/storage/firstaid/regular{ @@ -21863,16 +21747,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"faf" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/engine/engineering) "fag" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral, @@ -22029,6 +21903,18 @@ }, /turf/closed/wall, /area/maintenance/starboard/aft) +"ffL" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria, +/area/crew_quarters/kitchen) "ffW" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -22106,17 +21992,6 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/white, /area/medical/medbay/central) -"fhx" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "fhF" = ( /obj/effect/spawner/randomvend/snack, /obj/effect/turf_decal/tile/red, @@ -22225,13 +22100,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/hallway/primary/central) -"fjO" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria, -/area/crew_quarters/heads/hor) "fka" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -22391,33 +22259,6 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison/shielded) -"fnW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor{ - base_state = "rightsecure"; - dir = 4; - icon_state = "rightsecure"; - name = "Head of Personnel's Desk"; - req_access_txt = "57" - }, -/obj/machinery/door/window/northleft{ - dir = 8; - name = "Reception Window" - }, -/obj/machinery/flasher{ - id = "hopflash"; - pixel_y = 28 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hopshutter"; - name = "Privacy Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_y = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/heads/hop) "fod" = ( /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; @@ -22604,6 +22445,14 @@ }, /turf/open/floor/iron/tech, /area/ai_monitored/storage/eva) +"fsV" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/crew_quarters/fitness) "fto" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/red/anticorner/contrasted, @@ -22627,27 +22476,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron/white, /area/medical/virology) -"ftH" = ( -/obj/structure/table/glass, -/obj/item/storage/box/disks{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/item/storage/box/monkeycubes{ - pixel_x = 2; - pixel_y = -2 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/medical/genetics) "fud" = ( /obj/machinery/power/apc/auto_name/directional/west{ pixel_x = -24 @@ -22715,25 +22543,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"fvM" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/medicine, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health, -/obj/item/reagent_containers/spray/cleaner, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/item/glove_box, -/turf/open/floor/iron/white, -/area/medical/storage) "fwG" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -22923,6 +22732,33 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/security/main) +"fBe" = ( +/obj/machinery/door/window/westleft{ + name = "Delivery Desk"; + req_access_txt = "50" + }, +/obj/effect/turf_decal/bot, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/paper_bin{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/pen{ + pixel_x = 4; + pixel_y = -4 + }, +/turf/open/floor/iron, +/area/quartermaster/sorting) "fBg" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -23228,16 +23064,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"fHe" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/item/clothing/mask/balaclava, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") - }, -/turf/open/floor/iron/dark, -/area/security/main) "fHE" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -23257,6 +23083,18 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"fHJ" = ( +/obj/machinery/computer/atmos_control/tank/air_tank{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "fHM" = ( /turf/closed/wall/r_wall, /area/hallway/primary/port) @@ -23299,13 +23137,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"fJk" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/quartermaster/office) "fJy" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, @@ -23394,6 +23225,15 @@ }, /turf/open/floor/iron, /area/quartermaster/miningdock) +"fMY" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/reagent_dispensers/peppertank/directional/west, +/turf/open/floor/iron/dark, +/area/security/execution/transfer) "fNw" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -24033,6 +23873,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"fZv" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/prison, +/area/security/prison) "fZA" = ( /obj/machinery/firealarm{ dir = 8; @@ -24089,6 +23937,23 @@ }, /turf/open/floor/iron, /area/security/brig) +"gbb" = ( +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 3; + name = "Atmos RC"; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "gbg" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -24414,17 +24279,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"giq" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/manifold/dark/visible/layer4{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) "giD" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -24897,25 +24751,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"gtp" = ( -/obj/machinery/door/window/westleft{ - name = "Delivery Desk"; - req_access_txt = "50" - }, -/obj/effect/turf_decal/bot, -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/quartermaster/sorting) "gtt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 @@ -25252,6 +25087,13 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"gBy" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "gBM" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -25735,14 +25577,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/hallway/primary/central) -"gMl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 8 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "gMz" = ( /obj/structure/window/reinforced{ dir = 1 @@ -26143,12 +25977,6 @@ }, /turf/open/floor/iron, /area/quartermaster/miningdock) -"gZX" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/iron/dark, -/area/medical/morgue) "haa" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -26273,6 +26101,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/engine, /area/engine/engineering) +"hcD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/aft) "hcL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -26473,6 +26314,16 @@ /obj/machinery/digital_clock, /turf/closed/wall, /area/hallway/secondary/exit) +"hid" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) "hig" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -26528,6 +26379,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"hiZ" = ( +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/computer/security/mining{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/reagent_dispensers/peppertank/directional/east, +/turf/open/floor/iron, +/area/security/checkpoint/supply) "hjj" = ( /obj/machinery/vending/medical, /turf/open/floor/iron/white, @@ -26818,12 +26681,10 @@ /turf/open/floor/carpet/green, /area/crew_quarters/dorms) "hqI" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/hallway/primary/aft) "hqX" = ( @@ -26983,14 +26844,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"hvw" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/atmos) "hvx" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/table/glass, @@ -27101,6 +26954,14 @@ }, /turf/open/floor/iron/white, /area/security/brig) +"hxO" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "hyg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -27166,6 +27027,12 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"hAw" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/turf/open/space, +/area/space/nearstation) "hAF" = ( /obj/machinery/door/airlock/medical/glass{ name = "Chemistry Lab"; @@ -27492,6 +27359,12 @@ }, /turf/open/floor/iron, /area/security/brig) +"hId" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/turf/open/space, +/area/space/nearstation) "hIk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -27609,14 +27482,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"hJU" = ( -/obj/item/kirbyplants/random, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) "hKj" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -27679,18 +27544,6 @@ }, /turf/open/floor/iron/techmaint, /area/storage/tech) -"hLy" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/engine/atmos) "hLz" = ( /obj/machinery/power/compressor{ comp_id = "incineratorturbine"; @@ -27706,6 +27559,11 @@ /obj/structure/cable, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) +"hLJ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/structure/punching_bag, +/turf/open/floor/iron/dark, +/area/crew_quarters/fitness) "hLW" = ( /obj/machinery/smartfridge/organ, /obj/effect/turf_decal/tile/blue{ @@ -27744,6 +27602,14 @@ }, /turf/open/floor/iron/dark, /area/security/prison) +"hMG" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "hMJ" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -28041,8 +27907,6 @@ /turf/open/floor/iron, /area/security/brig) "hRz" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/rnd/production/techfab/department/security, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/item/radio/intercom{ pixel_x = 28 @@ -28545,12 +28409,10 @@ /turf/open/floor/iron/dark, /area/hallway/secondary/command) "iau" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ dir = 8 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/bridge) "iaG" = ( @@ -29300,8 +29162,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/camera/autoname{ - dir = 6; +/obj/machinery/camera/autoname/directional/north{ network = list("ss13","engine") }, /turf/open/floor/engine, @@ -29726,6 +29587,30 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit) +"ixo" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/medicine, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/item/glove_box, +/turf/open/floor/iron/white, +/area/medical/storage) +"ixA" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "ixC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -29823,14 +29708,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"iBN" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/space/basic, -/area/space/nearstation) "iBQ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -29986,6 +29863,14 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) +"iEP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/engine/atmos) "iFl" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -30674,6 +30559,25 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) +"iUQ" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/eastright{ + base_state = "left"; + icon_state = "left"; + name = "Chemistry Desk"; + req_access_txt = "33" + }, +/obj/machinery/door/poddoor/preopen{ + id = "chemistry_shutters"; + name = "Chemistry shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/plating, +/area/medical/apothecary) "iVg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 @@ -30781,22 +30685,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"iXS" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/southright{ - name = "Research and Development Desk"; - req_one_access_txt = "7;29" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "rnd"; - name = "research lab shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 8 - }, -/turf/open/floor/plating, -/area/science/lab) "iXW" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -30897,6 +30785,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"iYT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "iYW" = ( /obj/effect/landmark/start/lawyer, /obj/structure/chair/office, @@ -31040,31 +30935,6 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron, /area/security/brig) -"jcC" = ( -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/machinery/button/door{ - desc = "A remote control-switch for the engineering security doors."; - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_x = -24; - pixel_y = -6; - req_access_txt = "10" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/radio/off, -/obj/machinery/light_switch{ - pixel_x = -27; - pixel_y = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "jcS" = ( /obj/machinery/door/airlock/public/glass{ name = "Central Access" @@ -31159,9 +31029,7 @@ /turf/open/floor/iron, /area/quartermaster/storage) "jfm" = ( -/obj/machinery/camera/autoname{ - dir = 10 - }, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/hallway/primary/central) "jfw" = ( @@ -31269,14 +31137,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/supply) -"jgY" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/turf/open/floor/iron/white, -/area/medical/medbay/lobby) "jhe" = ( /obj/structure/chair{ dir = 4 @@ -31365,12 +31225,6 @@ }, /turf/open/floor/iron/white, /area/science/lab) -"jiH" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, -/turf/open/space, -/area/space/nearstation) "jjp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -31555,15 +31409,13 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/machinery/camera/autoname{ - dir = 6 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white, /area/medical/virology) "joD" = ( @@ -31671,6 +31523,22 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit) +"jsT" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/aft) "jtd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31695,15 +31563,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"jtr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "jty" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 @@ -31826,6 +31685,15 @@ }, /turf/open/floor/iron/white, /area/science/robotics/lab) +"jvP" = ( +/obj/structure/closet/secure_closet/personal, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/crew_quarters/locker) "jvW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -31952,15 +31820,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/engine/atmos) -"jyw" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, -/turf/open/space, -/area/space/nearstation) "jyC" = ( /obj/machinery/light{ dir = 8 @@ -32231,15 +32090,13 @@ /obj/effect/turf_decal/siding/dark_blue{ dir = 4 }, -/obj/machinery/camera/motion{ - c_tag = "AI Upload Chamber - Port"; - dir = 10; - network = list("aiupload") - }, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/firealarm/directional/south, +/obj/machinery/camera/motion/directional/south{ + network = list("aiupload") + }, /turf/open/floor/iron/grid/steel, /area/ai_monitored/turret_protected/ai_upload) "jDW" = ( @@ -32420,16 +32277,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/bridge) -"jIo" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "jIB" = ( /obj/structure/chair/fancy/comfy, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -32489,19 +32336,6 @@ }, /turf/open/floor/iron, /area/tcommsat/computer) -"jJM" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/security_officer, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "jKn" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 1 @@ -32518,6 +32352,12 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hop) +"jKu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "jKO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -32530,6 +32370,13 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"jLl" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/maintenance/aft) "jLx" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -32762,6 +32609,15 @@ }, /turf/open/floor/plating, /area/bridge) +"jPN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "jPS" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -33024,6 +32880,13 @@ }, /turf/open/floor/iron/white, /area/medical/cryo) +"jWa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) "jWn" = ( /obj/structure/chair{ dir = 4; @@ -33160,8 +33023,7 @@ /obj/machinery/atmospherics/pipe/manifold/green/visible{ dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 10; +/obj/machinery/camera/autoname/directional/south{ network = list("ss13","engine") }, /turf/open/floor/engine, @@ -33383,14 +33245,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"keA" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "keR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, @@ -33448,25 +33302,6 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) -"kgz" = ( -/obj/structure/chair/fancy/bench/left{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/radio/intercom{ - desc = "Talk through this. It looks like it has been modified to not broadcast."; - name = "Prison Intercom (General)"; - pixel_y = 24; - prison_radio = 1 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/iron/techmaint, -/area/security/prison/shielded) "kgL" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/light/small{ @@ -33507,6 +33342,15 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"khn" = ( +/obj/machinery/rnd/production/protolathe/department/engineering, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/break_room) "khA" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -33532,12 +33376,6 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) -"kiu" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) "kjp" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Office"; @@ -33579,22 +33417,6 @@ }, /turf/open/floor/engine, /area/gateway) -"kkP" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "klA" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, @@ -33617,19 +33439,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/plating, /area/maintenance/port/aft) -"kmx" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Airlock"; - req_access_txt = "24" - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/engine/atmos) "kmA" = ( /obj/effect/turf_decal/siding/wideplating_new/dark, /obj/effect/turf_decal/siding/wideplating_new/dark{ @@ -33691,6 +33500,17 @@ }, /turf/open/floor/iron, /area/science/xenobiology) +"kmP" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/loot_jobscale/armoury/bulletproof_vest, +/obj/effect/loot_jobscale/armoury/bulletproof_helmet, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/reagent_dispensers/peppertank/directional/north, +/turf/open/floor/iron/dark, +/area/ai_monitored/security/armory) "kmU" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -33712,16 +33532,13 @@ /mob/living/simple_animal/pet/dog/corgi/Ian, /obj/effect/turf_decal/siding/wood, /obj/structure/bed/dogbed/ian, -/obj/machinery/camera/autoname{ - c_tag = "Head of Personnel's Office"; - dir = 9 - }, /obj/structure/cable/yellow{ icon_state = "1-2" }, /obj/machinery/light_switch{ pixel_x = 27 }, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "kns" = ( @@ -34098,13 +33915,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"ktT" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) "kub" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -34133,18 +33943,6 @@ }, /turf/open/floor/iron/dark, /area/security/execution/transfer) -"kuu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "kuC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34398,6 +34196,17 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/security/brig) +"kCf" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 25 + }, +/obj/structure/closet/secure_closet/security/science, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/reagent_dispensers/peppertank/directional/west, +/turf/open/floor/iron, +/area/security/checkpoint/science) "kCj" = ( /obj/machinery/atmospherics/components/unary/portables_connector{ dir = 1 @@ -34604,19 +34413,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/engine, /area/engine/engineering) -"kGt" = ( -/obj/machinery/advanced_airlock_controller{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/catwalk_floor, -/area/engine/atmos) "kGH" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -34741,16 +34537,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"kIJ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) "kIO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -34822,6 +34608,26 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"kJT" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("minisat") + }, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/service) "kJV" = ( /obj/machinery/light{ dir = 1 @@ -34917,6 +34723,27 @@ /obj/effect/turf_decal/tile/dark_blue, /turf/open/floor/iron, /area/hallway/primary/central) +"kMw" = ( +/obj/machinery/button/door{ + desc = "A remote control-switch for the engineering security doors."; + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_x = -24; + pixel_y = -6; + req_access_txt = "10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + pixel_x = -27; + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/checkpoint/engineering) "kMB" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted, /obj/effect/turf_decal/delivery, @@ -35012,6 +34839,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"kOf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "kOu" = ( /obj/structure/chair{ dir = 1 @@ -35469,11 +35311,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"kWZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/iron, -/area/engine/engineering) "kXd" = ( /obj/structure/grille, /turf/open/floor/plating/airless, @@ -35519,24 +35356,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/prison, /area/security/prison) -"kZj" = ( -/obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = -25 - }, -/obj/structure/table, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) -"kZn" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/obj/machinery/photocopier, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "kZO" = ( /obj/machinery/door/airlock/command{ name = "Head of Personnel"; @@ -35628,20 +35447,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"lbC" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/computer/camera_advanced/base_construction{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/construction/mining/aux_base) "lbV" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, @@ -35797,16 +35602,6 @@ "lfJ" = ( /turf/closed/wall, /area/ai_monitored/turret_protected/ai_upload) -"lgo" = ( -/obj/machinery/computer/security, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary) "lgM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -35817,6 +35612,11 @@ /obj/machinery/vending/wardrobe/viro_wardrobe, /turf/open/floor/iron/white, /area/medical/virology) +"lgZ" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/closet/wardrobe/miner, +/turf/open/floor/iron, +/area/quartermaster/miningdock) "lhg" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35972,13 +35772,6 @@ }, /turf/open/floor/wood, /area/library) -"ljp" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "ljw" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 6 @@ -36112,6 +35905,15 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/fore/secondary) +"llQ" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/catwalk_floor, +/area/engine/atmos) "lme" = ( /obj/effect/spawner/randomvend/cola, /turf/open/floor/wood, @@ -36329,12 +36131,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"loO" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "loU" = ( /obj/structure/table/glass, /obj/item/hatchet, @@ -36436,12 +36232,10 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/structure/sign/warning/deathsposal{ pixel_x = -32 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/medical/virology) "lqJ" = ( @@ -36486,21 +36280,6 @@ }, /turf/open/floor/iron/dark, /area/bridge/meeting_room) -"lrM" = ( -/obj/machinery/computer/atmos_control/tank/air_tank{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "lrY" = ( /obj/machinery/computer/monitor{ name = "bridge power monitoring console" @@ -36607,11 +36386,6 @@ }, /turf/open/floor/iron/white, /area/medical/virology) -"lvu" = ( -/obj/structure/punching_bag, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/fitness) "lvx" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "MiniSat Maintenance"; @@ -36942,6 +36716,13 @@ }, /turf/open/floor/iron/techmaint, /area/security/brig) +"lBc" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/iron, +/area/engine/engineering) "lBz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -37338,6 +37119,17 @@ }, /turf/open/floor/iron/dark, /area/bridge/meeting_room) +"lLf" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/item/clothing/mask/balaclava, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/structure/reagent_dispensers/peppertank/directional/west, +/turf/open/floor/iron/dark, +/area/security/main) "lLo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -37481,6 +37273,17 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/hop) +"lOF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/structure/reagent_dispensers/peppertank/directional/east, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "lPH" = ( /obj/structure/dresser, /turf/open/floor/carpet/orange, @@ -37569,6 +37372,16 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"lTm" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "lTB" = ( /obj/machinery/light/small{ dir = 4 @@ -37611,6 +37424,11 @@ }, /turf/open/floor/iron/white, /area/science/explab) +"lUF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/aft) "lUH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -37733,9 +37551,8 @@ /area/tcommsat/computer) "lYs" = ( /obj/structure/lattice, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("minisat") +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13", "minisat") }, /turf/open/space, /area/space/nearstation) @@ -38084,16 +37901,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"mhL" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ - dir = 5 - }, -/turf/open/space, -/area/space/nearstation) "mia" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/engine/light, @@ -38401,12 +38208,6 @@ }, /turf/open/floor/plating, /area/quartermaster/exploration_dock) -"mnG" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/main) "mnP" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -38531,11 +38332,10 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "mrB" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, /obj/machinery/light, /obj/machinery/airalarm/directional/south, +/obj/machinery/rnd/production/techfab/department/security, +/obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark, /area/security/warden) "mso" = ( @@ -38787,16 +38587,6 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) -"myR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "mzv" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -38979,6 +38769,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/catwalk_floor, /area/maintenance/starboard/fore) +"mCy" = ( +/obj/machinery/light_switch{ + pixel_x = 25; + pixel_y = -25 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/cryopods) "mCE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39203,6 +39005,15 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"mIQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 6 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "mIZ" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -39291,6 +39102,10 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/solar/starboard/fore) +"mLt" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "mLG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -39317,20 +39132,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"mLV" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/aft) -"mMu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "mMM" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -39343,26 +39144,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"mMN" = ( -/obj/effect/turf_decal/tile/red, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/hallway/primary/fore) "mMW" = ( /obj/structure/target_stake, /obj/machinery/magnetic_module, /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/science/explab) -"mNd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "mNm" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 8 @@ -39429,6 +39216,15 @@ /obj/item/stack/medical/gauze, /turf/open/floor/iron/white, /area/security/brig) +"mOi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "mOt" = ( /obj/effect/landmark/start/head_of_security, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -39738,14 +39534,6 @@ }, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"mVr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "mVs" = ( /obj/item/radio/intercom{ pixel_x = 28; @@ -39883,6 +39671,14 @@ }, /turf/open/floor/iron/white, /area/medical/apothecary) +"mXY" = ( +/obj/machinery/computer/security, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank/directional/north, +/turf/open/floor/iron, +/area/security/checkpoint/auxiliary) "mYa" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -40364,13 +40160,10 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 8 }, -/obj/machinery/camera/autoname{ - c_tag = "Command Hallway #1"; - dir = 5 - }, /obj/machinery/status_display/evac{ pixel_x = -32 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/hallway/secondary/command) "nhM" = ( @@ -40591,6 +40384,12 @@ dir = 8 }, /area/chapel/main) +"nnz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "nnM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -40702,12 +40501,10 @@ "npd" = ( /obj/structure/table/glass, /obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/medical/morgue) "npw" = ( @@ -40780,18 +40577,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"nqM" = ( -/obj/machinery/door/poddoor/preopen{ - id = "Engineering"; - name = "engineering security door" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/engine/engineering) "nrr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -41031,6 +40816,21 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"nvZ" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/science/lab) "nwp" = ( /obj/structure/window/reinforced{ dir = 8 @@ -41150,23 +40950,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/hallway/secondary/command) -"nyZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plating, -/area/maintenance/aft) "nzr" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 10 @@ -41265,6 +41048,15 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/hallway/primary/starboard) +"nCx" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "nCA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -41324,12 +41116,10 @@ /obj/item/radio/intercom{ pixel_x = 25 }, -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) "nCY" = ( @@ -41636,14 +41426,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) -"nHe" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, -/turf/open/space, -/area/space/nearstation) "nHi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, @@ -41730,16 +41512,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/security/brig) -"nKe" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "nKg" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 1 @@ -41834,17 +41606,21 @@ dir = 8 }, /area/crew_quarters/dorms) -"nLn" = ( -/obj/structure/table, -/obj/item/flashlight/lamp, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -29 +"nLF" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/iron/dark, -/area/security/execution/transfer) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "nMf" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -41903,6 +41679,13 @@ }, /turf/open/floor/iron/ridged, /area/crew_quarters/toilet) +"nNv" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/engine/engineering) "nNL" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, @@ -41937,6 +41720,12 @@ }, /turf/open/floor/iron/techmaint, /area/gateway) +"nOe" = ( +/obj/effect/turf_decal/loading_area, +/obj/machinery/airalarm/directional/east, +/obj/structure/closet/firecloset, +/turf/open/floor/iron/dark, +/area/science/nanite) "nOH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -42121,6 +41910,17 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"nRF" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/dark/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/turf/open/space, +/area/space/nearstation) "nSt" = ( /obj/machinery/airalarm/directional/west{ pixel_x = -22 @@ -42915,6 +42715,12 @@ }, /turf/open/floor/iron/white, /area/medical/apothecary) +"okf" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 5 + }, +/turf/open/space/basic, +/area/space) "oki" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -42932,9 +42738,7 @@ /obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/machinery/camera/autoname{ - dir = 6 - }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/science/server) "okX" = ( @@ -43012,11 +42816,9 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 6 - }, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable/yellow, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/science/mixing/chamber) "onS" = ( @@ -43136,17 +42938,6 @@ /obj/item/kitchen/fork, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) -"opX" = ( -/obj/structure/closet/secure_closet/personal, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/crew_quarters/locker) "oqq" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -43310,6 +43101,15 @@ /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"otK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "ouj" = ( /obj/structure/sign/warning/securearea{ pixel_x = -32 @@ -43466,10 +43266,6 @@ /turf/open/floor/iron, /area/hallway/secondary/entry) "oxC" = ( -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13, prison") - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, @@ -43477,6 +43273,9 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13, prison") + }, /turf/open/floor/iron/techmaint, /area/security/prison/shielded) "oyM" = ( @@ -43578,6 +43377,13 @@ /mob/living/basic/cockroach, /turf/open/floor/wood, /area/vacant_room/office) +"oAh" = ( +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/engine/atmos) "oAt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -43600,6 +43406,13 @@ /obj/machinery/atmospherics/components/unary/thermomachine/freezer, /turf/open/floor/iron, /area/engine/atmos) +"oAD" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/reagent_dispensers/peppertank/directional/west, +/turf/open/floor/iron/dark, +/area/security/main) "oAG" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, @@ -44024,15 +43837,14 @@ /obj/effect/turf_decal/tile/red/anticorner_ramp/contrasted{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13, prison") - }, /obj/structure/sign/warning/radiation_shelter{ pixel_x = 1; pixel_y = 33 }, /obj/effect/landmark/prisonspawn, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13, prison") + }, /turf/open/floor/prison, /area/security/prison) "oLE" = ( @@ -44247,12 +44059,10 @@ /turf/open/floor/catwalk_floor, /area/engine/engineering) "oRW" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/medical/chemistry) "oSi" = ( @@ -44556,19 +44366,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"oZd" = ( +"oYm" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) +"oYy" = ( /obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/bulletproof_vest, -/obj/effect/loot_jobscale/armoury/bulletproof_helmet, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 32 +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/turf/open/floor/plating, +/area/maintenance/aft) "oZi" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -44658,19 +44468,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/port) -"paJ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/structure/closet/secure_closet/engineering_personal, -/turf/open/floor/iron, -/area/engine/engineering) "paM" = ( /obj/structure/rack, /obj/item/wrench, @@ -44821,15 +44618,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"pgi" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "pgs" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "meetingshutter"; @@ -45067,6 +44855,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) +"pmV" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "pnh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 @@ -45238,6 +45033,19 @@ }, /turf/open/floor/iron/white, /area/medical/virology) +"ppE" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/turf/open/floor/iron/checker, +/area/engine/break_room) "pqq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/wood{ @@ -45459,18 +45267,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"ptc" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/camera/autoname{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness) "ptj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -45586,6 +45382,14 @@ "pwt" = ( /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) +"pwN" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "pxn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -45876,16 +45680,6 @@ }, /turf/open/space/basic, /area/space) -"pBY" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/rnd/production/circuit_imprinter, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/checker, -/area/engine/break_room) "pCb" = ( /obj/effect/turf_decal{ dir = 1 @@ -46297,6 +46091,17 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/white, /area/science/robotics/lab) +"pJZ" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_external" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/turf/open/floor/plating, +/area/engine/atmos) "pKd" = ( /obj/machinery/door/airlock/maintenance{ name = "Kitchen Maintenance"; @@ -46451,17 +46256,6 @@ }, /turf/open/floor/iron/dark, /area/security/main) -"pOj" = ( -/obj/structure/chair, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/medical/apothecary) "pOk" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -47428,7 +47222,7 @@ dir = 9 }, /obj/item/clothing/shoes/sneakers/white, -/turf/open/floor/carpet/red, +/turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) "qnI" = ( /obj/effect/turf_decal/tile/brown{ @@ -47494,14 +47288,6 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/maintenance/disposal/incinerator) -"qoW" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/effect/turf_decal/tile/black/fourcorners, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/grid/steel, -/area/ai_monitored/storage/eva) "qpi" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -48178,13 +47964,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"qEH" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/hydroponics/garden) "qEK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -48419,13 +48198,20 @@ }, /turf/open/floor/iron, /area/quartermaster/office) -"qJN" = ( -/obj/machinery/suit_storage_unit/hos, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/iron{ - icon_state = "chapel" +"qKd" = ( +/obj/structure/chair{ + dir = 1 }, -/area/crew_quarters/heads/hos) +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","security") + }, +/obj/structure/reagent_dispensers/peppertank/directional/south, +/turf/open/floor/iron/dark, +/area/security/brig) "qKl" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -48480,6 +48266,17 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"qLc" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/structure/reagent_dispensers/peppertank/directional/east, +/turf/open/floor/iron, +/area/security/checkpoint/engineering) "qLK" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -48612,6 +48409,9 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"qNf" = ( +/turf/open/floor/catwalk_floor, +/area/engine/atmos) "qNw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -48639,13 +48439,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) -"qOf" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/turf/open/floor/iron, -/area/engine/engineering) "qOi" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/structure/cable/yellow{ @@ -48684,6 +48477,12 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/hallway) +"qPz" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/space) "qPC" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/iron, @@ -48841,13 +48640,6 @@ }, /turf/open/floor/iron/cafeteria, /area/crew_quarters/kitchen) -"qUa" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) "qUb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48992,6 +48784,29 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/dark, /area/storage/tech) +"qWu" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/southright{ + name = "Research and Development Desk"; + req_one_access_txt = "7;29" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "rnd"; + name = "research lab shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 8 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -4 + }, +/turf/open/floor/plating, +/area/science/lab) "qWx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/turf_decal/trimline/dark_blue/filled/corner, @@ -49032,16 +48847,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/prison/dark, /area/security/prison) -"qXL" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/bridge/meeting_room) "qXP" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 @@ -49521,6 +49326,13 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain) +"reY" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Engine" + }, +/turf/open/floor/iron, +/area/engine/engineering) "rfh" = ( /obj/structure/grille/broken, /obj/effect/spawner/lootdrop/glowstick, @@ -49852,6 +49664,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"rlY" = ( +/obj/structure/chair/fancy/bench/left{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + name = "Prison Intercom (General)"; + pixel_y = 24; + prison_radio = 1 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/iron/techmaint, +/area/security/prison/shielded) "rmh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 @@ -50272,6 +50101,17 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"rtY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "ruF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -50376,6 +50216,12 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"rxC" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/item/storage/fancy/donut_box, +/obj/structure/table, +/turf/open/floor/iron/dark, +/area/crew_quarters/fitness) "rxG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -50540,12 +50386,10 @@ "rCg" = ( /obj/structure/table/glass, /obj/item/storage/box/bodybags, -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/medical/morgue) "rCK" = ( @@ -50577,6 +50421,14 @@ }, /turf/open/floor/carpet/green, /area/crew_quarters/dorms) +"rDe" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "rDh" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -51500,9 +51352,8 @@ }, /obj/machinery/firealarm/directional/east, /obj/structure/closet/bombcloset/security, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13, security") +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security") }, /turf/open/floor/iron/dark, /area/security/execution/transfer) @@ -51576,13 +51427,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"rYj" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) "rYs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -51961,16 +51805,6 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) -"shI" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plating, -/area/maintenance/aft) "shL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -52175,6 +52009,11 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/prison/dark, /area/security/prison) +"skM" = ( +/obj/machinery/airalarm/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/cafeteria, +/area/crew_quarters/heads/hor) "sld" = ( /obj/machinery/vending/wallmed{ pixel_x = 24 @@ -52228,6 +52067,15 @@ }, /turf/open/floor/iron/dark, /area/science/nanite) +"sne" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron, +/area/hydroponics) "snr" = ( /obj/structure/lattice/catwalk/over, /obj/structure/cable/yellow{ @@ -52322,14 +52170,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/central) -"soZ" = ( -/obj/effect/turf_decal/loading_area, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/closet/firecloset, -/turf/open/floor/iron/dark, -/area/science/nanite) "spf" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -27; @@ -52484,6 +52324,30 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"ssu" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/bridge/meeting_room) +"ssH" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/aft) "ssK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, @@ -52564,6 +52428,15 @@ }, /turf/open/floor/carpet, /area/library) +"swv" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/turf/open/space, +/area/space/nearstation) "swy" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52908,6 +52781,13 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) +"sCt" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/structure/reagent_dispensers/peppertank/directional/north, +/turf/open/floor/iron, +/area/security/brig) "sCw" = ( /obj/structure/window/reinforced{ dir = 8 @@ -53099,17 +52979,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"sFV" = ( -/obj/machinery/computer/rdconsole/production{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/break_room) "sFW" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -53123,12 +52992,10 @@ "sFY" = ( /obj/machinery/iv_drip, /obj/structure/bed/roller, -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/white, /area/medical/medbay/central) "sGk" = ( @@ -53193,17 +53060,13 @@ "sHg" = ( /turf/closed/wall/r_wall, /area/storage/tech) -"sHz" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/light/small{ - dir = 1 +"sHM" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 10 }, -/obj/machinery/camera/directional/north, -/obj/machinery/chem_master/condimaster, -/turf/open/floor/iron, -/area/hydroponics) +/turf/open/space, +/area/space/nearstation) "sIA" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -53240,6 +53103,14 @@ }, /turf/open/floor/prison, /area/security/prison) +"sIM" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) "sIQ" = ( /obj/effect/turf_decal/siding/wideplating_new/corner{ dir = 1 @@ -53303,10 +53174,8 @@ /obj/structure/sign/departments/minsky/research/research{ pixel_x = 32 }, -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/spawner/randomvend/cola, +/obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/maintenance/aft) "sJJ" = ( @@ -53380,6 +53249,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/main) +"sLK" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "sMt" = ( /obj/structure/sink{ dir = 8; @@ -53786,6 +53670,12 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"sTt" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/effect/turf_decal/tile/black/fourcorners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/grid/steel, +/area/ai_monitored/storage/eva) "sTG" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -53874,16 +53764,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/port) -"sUZ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) "sVh" = ( /obj/structure/closet/crate/bin, /obj/effect/spawner/lootdrop/maintenance, @@ -54083,12 +53963,6 @@ }, /turf/open/floor/iron/freezer, /area/crew_quarters/toilet) -"sZj" = ( -/obj/structure/sign/departments/minsky/engineering/atmospherics{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "sZo" = ( /obj/item/storage/secure/safe{ pixel_x = 6; @@ -54135,6 +54009,19 @@ /obj/machinery/digital_clock/directional/east, /turf/open/floor/iron, /area/engine/break_room) +"tbv" = ( +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_external" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/atmos) "tcd" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -54279,6 +54166,16 @@ dir = 8 }, /area/engine/atmos) +"tdZ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "ted" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54561,6 +54458,15 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"thX" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "tin" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -54569,13 +54475,6 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) -"tiq" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/dark, -/area/hydroponics) "tjb" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -54585,9 +54484,7 @@ dir = 4; pixel_x = -24 }, -/obj/machinery/camera/autoname{ - dir = 5 - }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/medical/virology) "tjd" = ( @@ -54625,12 +54522,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness) -"tjw" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "tjy" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment{ @@ -54666,6 +54557,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/engine/atmos) +"tkV" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/aft) "tln" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable/yellow{ @@ -54850,20 +54745,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/security/checkpoint/science) -"tqe" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/machinery/computer/security/mining{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "tqv" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -55458,15 +55339,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/atmos) -"tBm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "tBx" = ( /obj/effect/turf_decal{ dir = 1 @@ -55509,8 +55381,7 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 6; +/obj/machinery/camera/autoname/directional/north{ network = list("ss13","engine") }, /turf/open/floor/iron/dark, @@ -55766,6 +55637,15 @@ /mob/living/simple_animal/pet/hamster/vector, /turf/open/floor/iron/white, /area/medical/virology) +"tHc" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/turf/open/floor/wood, +/area/library) "tHe" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -55779,6 +55659,15 @@ }, /turf/open/floor/catwalk_floor, /area/hallway/secondary/exit) +"tHf" = ( +/obj/structure/chair, +/obj/machinery/airalarm/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/medical/apothecary) "tHw" = ( /obj/machinery/airalarm/directional/north{ pixel_y = 23 @@ -56149,18 +56038,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"tNr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ - dir = 1 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "tNy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 @@ -56348,6 +56225,14 @@ }, /turf/open/floor/iron/dark, /area/security/main) +"tSH" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "tSO" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 @@ -56415,6 +56300,10 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness) +"tTS" = ( +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark, +/area/medical/morgue) "tTU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -56670,18 +56559,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/medical/morgue) -"tZT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 9 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "tZZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -56880,7 +56757,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/crew_quarters/toilet) "ueK" = ( @@ -56921,11 +56797,12 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/cryopods) -"ufv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +"ufU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plating, -/area/engine/atmos) +/area/maintenance/aft) "ugf" = ( /obj/machinery/computer/card, /obj/machinery/light{ @@ -56945,12 +56822,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/auxiliary) -"ugi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/engine/atmos) "ugj" = ( /obj/machinery/light{ dir = 4 @@ -57404,6 +57275,14 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/space, /area/space/nearstation) +"upT" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/carpet/green, +/area/crew_quarters/dorms) "uqP" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -57528,6 +57407,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/science/xenobiology) +"usy" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/engine/atmos) "usC" = ( /obj/structure/table, /obj/machinery/vending/wallmed{ @@ -57621,24 +57509,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/medical/surgery) -"uvC" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "uvN" = ( /obj/item/radio/intercom{ pixel_y = 22 @@ -57740,11 +57610,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/machinery/camera/motion{ - c_tag = "AI Upload Foyer"; - dir = 6; - network = list("aiupload") - }, /obj/item/kirbyplants/photosynthetic{ layer = 3.1 }, @@ -57755,6 +57620,9 @@ dir = 8 }, /obj/machinery/airalarm/directional/east, +/obj/machinery/camera/motion/directional/east{ + network = list("aiupload") + }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) "uyT" = ( @@ -57892,8 +57760,7 @@ }, /obj/item/storage/box/deputy, /obj/item/toy/figure/hos, -/obj/machinery/camera/autoname{ - dir = 6; +/obj/machinery/camera/autoname/directional/north{ network = list("ss13","security") }, /turf/open/floor/carpet/red, @@ -58123,13 +57990,6 @@ }, /turf/open/floor/iron/white, /area/medical/virology) -"uHL" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/turf/open/floor/prison, -/area/security/prison) "uHQ" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 5; @@ -58403,6 +58263,15 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"uPa" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/turf/open/floor/iron/white, +/area/medical/medbay/lobby) "uPo" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod One" @@ -58610,13 +58479,6 @@ }, /turf/open/floor/iron, /area/security/brig) -"uVA" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/security/warden) "uVJ" = ( /obj/effect/landmark/start/assistant, /obj/structure/chair/stool/directional/west, @@ -58811,6 +58673,16 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) +"uZG" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/storage/tools) "uZQ" = ( /obj/machinery/ai_slipper{ uses = 8 @@ -59461,23 +59333,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) -"vnB" = ( -/obj/machinery/requests_console{ - department = "Atmospherics"; - departmentType = 3; - name = "Atmos RC"; - pixel_x = 30 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "vnK" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/structure/lattice/catwalk, @@ -59505,6 +59360,14 @@ /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted, /turf/open/floor/iron/techmaint, /area/gateway) +"vog" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Engine"; + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "vom" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -59752,6 +59615,11 @@ }, /turf/open/floor/iron/grid/steel, /area/gateway) +"vvH" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/hydroponics) "vvN" = ( /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -59797,12 +59665,10 @@ /turf/open/floor/iron, /area/hallway/secondary/service) "vxH" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, /obj/machinery/light_switch{ pixel_x = -28 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/medical/chemistry) "vyv" = ( @@ -59945,7 +59811,7 @@ dir = 8 }, /obj/machinery/camera/autoname/directional/south{ - network = list("ss13, engine") + network = list("ss13, prison") }, /turf/open/floor/prison, /area/security/prison) @@ -60011,23 +59877,6 @@ }, /turf/open/floor/wood, /area/lawoffice) -"vDM" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/dropper, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/science/lab) "vES" = ( /obj/structure/plasticflaps, /turf/open/floor/plating, @@ -60305,6 +60154,18 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"vJD" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/engine/atmos) "vJE" = ( /obj/machinery/airalarm/directional/south{ pixel_y = -22 @@ -60642,13 +60503,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/primary/fore) -"vRS" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/hallway/primary/fore) "vSa" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -60869,6 +60723,19 @@ /obj/effect/turf_decal/stripes/closeup, /turf/open/floor/iron/dark, /area/security/brig) +"vWR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "atmos_external" + }, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/turf/open/floor/plating, +/area/engine/atmos) "vXe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61115,10 +60982,7 @@ /obj/item/radio/intercom{ pixel_x = -32 }, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13, prison") - }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/prison, /area/security/prison) "wcx" = ( @@ -61254,6 +61118,14 @@ }, /turf/open/floor/iron/grid/steel, /area/teleporter) +"wge" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/peppertank/directional/west, +/turf/open/floor/iron/dark, +/area/security/warden) "wgw" = ( /obj/machinery/door/airlock{ id_tag = "Dorm6"; @@ -61511,18 +61383,6 @@ }, /turf/open/floor/plating, /area/science/nanite) -"wli" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 9 - }, -/turf/open/floor/catwalk_floor/iron, -/area/engine/atmos) "wll" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -62028,9 +61888,7 @@ dir = 1 }, /obj/machinery/telecomms/server/presets/exploration, -/obj/machinery/camera/autoname{ - dir = 5 - }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/circuit/telecomms/server, /area/quartermaster/exploration_dock) "wvD" = ( @@ -62304,6 +62162,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"wDc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/turf/open/floor/iron, +/area/engine/engineering) "wDR" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -62315,6 +62183,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness) +"wEf" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) +"wEC" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/visible/layer2, +/turf/open/space, +/area/space/nearstation) "wEJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -62663,6 +62548,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"wMp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "wMs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -62787,6 +62681,13 @@ }, /turf/open/floor/iron/dark, /area/security/main) +"wPJ" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "wPR" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -62865,6 +62766,19 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/bridge) +"wRU" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchen"; + name = "kitchen shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen, +/turf/open/floor/iron/cafeteria, +/area/crew_quarters/kitchen) "wRV" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -63146,6 +63060,14 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit) +"wYW" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/iron, +/area/engine/engineering) "wZI" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ @@ -63171,19 +63093,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"xaA" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "xaE" = ( /obj/item/radio/intercom{ pixel_y = -29 @@ -63202,6 +63111,17 @@ }, /turf/open/floor/iron/tech, /area/maintenance/fore/secondary) +"xaY" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/turf/open/floor/iron, +/area/security/checkpoint/engineering) "xbp" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 @@ -63269,17 +63189,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/security/prison) -"xcs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) "xcE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -64018,16 +63927,13 @@ /area/crew_quarters/locker) "xsv" = ( /obj/structure/table/wood, -/obj/machinery/camera/autoname{ - c_tag = "Captain's Office"; - dir = 5 - }, /obj/machinery/light/small{ dir = 8 }, /obj/machinery/recharger{ pixel_y = 2 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "xsB" = ( @@ -64242,12 +64148,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"xxi" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = -30 - }, -/turf/open/floor/carpet/red, -/area/crew_quarters/heads/hos) "xxy" = ( /obj/structure/rack, /obj/machinery/status_display/evac{ @@ -64347,6 +64247,13 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain) +"xzq" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 9 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/engine/engineering) "xzw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -64358,6 +64265,11 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"xzU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "xAx" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -64886,15 +64798,6 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/security/warden) -"xNa" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, -/turf/open/space, -/area/space/nearstation) "xNj" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -65460,11 +65363,15 @@ /obj/structure/cable/yellow, /turf/open/floor/iron/cafeteria, /area/crew_quarters/heads/hor) +"xWZ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron, +/area/engine/atmos) "xXh" = ( /obj/structure/lattice, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("minisat") +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13", "minisat") }, /turf/open/space, /area/space/nearstation) @@ -78194,7 +78101,7 @@ aaa apJ jWz jhy -lbC +elb vlm oei wks @@ -79747,7 +79654,7 @@ aeQ alU iGZ aBI -lgo +mXY xqO nIn aHy @@ -82329,7 +82236,7 @@ aOl aPB akF alN -eWD +uZG kGP amI aXQ @@ -82576,7 +82483,7 @@ aAP iHT aAP aAQ -qEH +arE sjz ksp azF @@ -84656,7 +84563,7 @@ aPz aPz inn aZE -bNo +dZQ mJS bjr bps @@ -85670,7 +85577,7 @@ aOl aPA aQW aQW -opX +jvP aQW aQW aQW @@ -89039,7 +88946,7 @@ syU bwd bwe uOz -aeF +lgZ bGn bGn bGn @@ -89747,7 +89654,7 @@ tNE mdH yfx owj -uHL +fZv obR eAJ acd @@ -89797,7 +89704,7 @@ cNG ebc ore aZK -fJk +cvJ bbR bqt cBq @@ -90054,7 +89961,7 @@ bfR bbp qYd aZK -bnJ +eUa bbR bbR nlP @@ -90062,9 +89969,9 @@ bty bty qJM bwd -fhx +bzA xbF -tqe +hiZ bwe eRh bCe @@ -90308,7 +90215,7 @@ tav aZK aZK cNI -gtp +fBe cNI aZK bnK @@ -91010,7 +90917,7 @@ afA afA kCN oJg -nLn +fMY kPq afA afA @@ -91790,7 +91697,7 @@ axz vpP gXs tnE -kgz +rlY guI tBK jkW @@ -91846,7 +91753,7 @@ eWC hfr mxi bmr -fnW +cmE kPV nYz bmr @@ -92569,7 +92476,7 @@ lac bVl cvd agn -uVA +wge edZ ohi phE @@ -92882,7 +92789,7 @@ nJq fSz bmo lqE -qXL +ssu rHW qVi bxe @@ -93387,7 +93294,7 @@ jvp bjz hEA bmr -kZn +dxE bsK bmo olu @@ -94088,7 +93995,7 @@ gXs aiX wby gwE -jJM +qKd rfQ rfQ rfQ @@ -94136,7 +94043,7 @@ aqR sse ayL ejT -qoW +sTt fLS cLg tgd @@ -94351,7 +94258,7 @@ gnK unJ uRu rfQ -fHe +lLf yhE djs psc @@ -95219,14 +95126,14 @@ fWn bQg hXS bQg -loO +tkV emX bUF kqX bQg hXu -jIo -mNd +pYc +dZz hqI pYc vSa @@ -95375,7 +95282,7 @@ hVM mXS wur rfQ -qJN +eJj xIi rag rfQ @@ -95392,7 +95299,7 @@ adR joe cVL adR -tcd +sCt vLp lxA aiX @@ -95408,9 +95315,9 @@ rea aph aph aph -vRS +gJS auu -mMN +gJS arf arf arf @@ -95482,7 +95389,7 @@ bLK bxV bLK bYH -bYH +bVo bYH bYH kHz @@ -95644,7 +95551,7 @@ oWt nnM cSs fjc -oWt +oAD oWt oWt kxG @@ -95738,9 +95645,9 @@ bUG bMk bWO bXK -sFV -bZz -pBY +aWd +khn +ppE bYH bVo avu @@ -96009,7 +95916,7 @@ cBM cdU cSZ cfc -hXB +lBc cje cgR cMm @@ -96155,7 +96062,7 @@ gos tzr aEU aEU -mnG +aEU aEU eQj xTq @@ -96197,7 +96104,7 @@ kWO mgt dwp onS -eVR +caa mgt oWf dgB @@ -96234,7 +96141,7 @@ klN hKs jfm cBD -gZX +tTS bFi waS qxV @@ -96266,7 +96173,7 @@ xZx tGL tBb wUH -clQ +nNv cje cgR cMm @@ -96407,7 +96314,7 @@ eAO wLD pBH snJ -xxi +drN rfQ dJt xkA @@ -96454,7 +96361,7 @@ heC mgt caa jUk -kZj +mCy mgt eCM dgB @@ -97023,7 +96930,7 @@ nux bWN bWQ cWH -jcC +kMw jcZ jeB caA @@ -97034,10 +96941,10 @@ cHw cfK cCT vdT -rDy +cgR cep -cMK -clQ +rDy +hXB hCM cgR cDe @@ -97282,7 +97189,7 @@ bWQ uhI dwU hRP -keA +xaY caA bZy jto @@ -97291,16 +97198,16 @@ myL eXl rsl tYc -nqM -eoO -xcs -rsl -qOf -rsl -rsl -rsl -kWZ -cDz +wDc +sLK +cGS +rtY +wYW +eQd +eQd +eQd +bTp +xzq cDH cMm csd @@ -97435,7 +97342,7 @@ aaf abY aaa aaZ -oZd +kmP ack nQy cAJ @@ -97539,7 +97446,7 @@ bWQ lqv txZ mRi -cfs +qLc caA nCY sJB @@ -97548,16 +97455,16 @@ taJ ctR uPD fWY -rDy +reY ccw -hJU -kiu +rDy +hXB xli cgR cgR cgR hCM -cqm +cgR cgR mpg cEk @@ -97805,17 +97712,17 @@ ccw ccw ccw ccw -ccw +jWa ccw ccw nDb rnL -paJ +cWC wmW cgR hCM -cjh -cDI +cgR +cgR ccw ccw ccw @@ -98053,17 +97960,17 @@ bWR bXQ aZe hpw -ugi -mMu -hLy +iEP +aZe +vJD ycR usI tdQ nKn ntX -ufv -cNy -aaa +oYm +aGx +abl ccw ccw ccw @@ -98072,7 +97979,7 @@ ccw eKo hCM cgR -cDz +cgR etu gtt jHa @@ -98310,16 +98217,16 @@ tus orR orR qYN -vnB -myR -gMl -mVr -jtr +gbb +xzU +nCx +iYT +nnz bOd vGb oWz sCT -cit +hMG ckb ckY ckU @@ -98329,7 +98236,7 @@ ccw jmC eMx rsl -faf +rsl pnh mJp ccw @@ -98571,13 +98478,13 @@ bMK cbz cbD bOd -tBm +jKu bOd cfP nzC bMQ -aaf -aaa +sHM +okf bQA ckW clU @@ -98586,7 +98493,7 @@ ccw cpa cjc vzu -cDL +ccw cep shQ ccw @@ -98828,13 +98735,13 @@ bMK cbC oBM bOd -dvW +mIQ bUS qxh vGm -tdq +oYm imP -ckc +pwN ckY dpE cmU @@ -98843,7 +98750,7 @@ ccw ccw gwm ccw -cDL +ccw gSu hCM cjV @@ -99017,7 +98924,7 @@ hff arf sIK rCL -bdn +upT ooz mwi aAh @@ -99085,13 +98992,13 @@ bMK cbB bRA bOd -kuu +wMp bTO cfQ tYh mfn mFR -aaa +qPz bLK bLK bLK @@ -99100,7 +99007,7 @@ ccw cpb cyi wQW -cDN +cig syd iwQ pJP @@ -99314,7 +99221,7 @@ taa aJq aJq qgK -pgi +gBy cjx gUu cBD @@ -99342,13 +99249,13 @@ lZw bQt cBJ bOd -kuu +wMp vFt cfR pVO sCT rqE -rqE +hxO ckY ckX cmV @@ -99357,7 +99264,7 @@ ccw cig mbo cig -cDN +cig crh crA crR @@ -99599,13 +99506,13 @@ bOd cbD bOd bOd -kuu +wMp vFt cfP akW bMQ aaf -aaa +qPz bQA ckZ clW @@ -99614,7 +99521,7 @@ bLK aaa afp aaa -cDN +cig pPF pPF pPF @@ -99856,13 +99763,13 @@ caH oNw pYU xGE -tNr +jPN vfI qxh sTP tdq imP -ckd +rDe ckY fCv cmV @@ -99871,7 +99778,7 @@ bLK aaa aaa aaa -cDN +cig aaa aaa aaa @@ -100113,13 +100020,13 @@ caG cbE bOd rcc -kuu +wMp cdA cfQ iNO mfn mFR -aaa +qPz bLK bLK bLK @@ -100128,7 +100035,7 @@ bLK aaa aaa aaa -cDL +ccw aaf aaa nfj @@ -100362,7 +100269,7 @@ bSM nKg bUS bUS -cCD +vog wHy bUS bUS @@ -100370,13 +100277,13 @@ bUS bXU bUS dth -wli +mOi bMW cfQ ixO cap upK -ckV +tSH clb cla cmW @@ -100385,7 +100292,7 @@ bLK aaa aaa aaa -cCQ +aaf aaf aaa xrw @@ -100627,13 +100534,13 @@ bUR bTT bUR xwR -dOj -dJc -nKe -lrM +dTD +xWZ +thX +fHJ bMQ gXs -aaa +qPz bQA clc clZ @@ -100642,7 +100549,7 @@ bLK aaa czN aaa -cCQ +aaf aaf aaa xrw @@ -100809,8 +100716,8 @@ xaN arj rPV qTu -lvu -pxI +rxC +hLJ qgO auv qOk @@ -100826,7 +100733,7 @@ pio nPC nPC aCr -tjw +mLt aMr vil aOH @@ -100887,10 +100794,10 @@ xYv ceB kUw aJf -aUx +bLZ cix upK -ckV +tSH clY hJe cmW @@ -100899,7 +100806,7 @@ bLK aaa aaa aaa -cCQ +aaf aaf aaa xrw @@ -101133,7 +101040,7 @@ gxp qMR xNI lpu -hvw +qMR qMR xNI lpu @@ -101144,10 +101051,10 @@ fEJ xHM bLK bLK -cLH +cZd bLK aaf -aaa +qPz bLK bLK bLK @@ -101156,8 +101063,8 @@ bLK aaa aaa aaa -cCQ aaf +aoV aaa xrw bRK @@ -101390,21 +101297,21 @@ iEk wZI iEk dxy -nHe -xNa -jiH -jyw -jiH -xNa -jiH -giq -jiH -mhL -bLK -kGt -bLK -aaf -aaa +sIM +wEC +hAw +swv +hAw +wEC +hAw +nRF +hId +hId +dwY +dBW +dwY +hId +tdZ aoV aaf aaf @@ -101413,7 +101320,7 @@ aoV aoV aoV aoV -cCQ +aaf aoV aaa xrw @@ -101619,7 +101526,7 @@ sNZ aeK sNZ sNZ -jgY +uPa fGQ kSZ xxL @@ -101656,23 +101563,23 @@ bPj bQA bPj bLK -kIJ +aaf +bLK +vWR bLK -kmx bLK +wPJ aaf -aoV -aoV aaf -aaa -aoV -aoV -aoV -aoV -aoV -cCQ -aoV -aaa +gXs +aaf +aaf +aaf +aaf +aaf +aaf +aaf +gXs xrw bRK aaa @@ -101913,23 +101820,23 @@ cbI ccC cdD bLK -sUZ -cCS -cCS -cCI -cCI -cCI -cCI -cCI -cCI -cCI -cCI -cCI -cCI -cCI -cDY aaf +bLK +aFt +qNf +bMQ +wPJ +aaa +gXs +aaa +aaa +aaa +aaa +aaa +aaa aaf +aaa +aaa xrw bRK csM @@ -102170,12 +102077,12 @@ cbH ccB cbH bLK -rYj -aoV -aoV aaf -aoV -aoV +pJZ +usy +llQ +pJZ +ixA aoV aaf aoV @@ -102377,7 +102284,7 @@ aKD gEU kbO mvz -mvz +wEf ogj usO aJC @@ -102427,12 +102334,12 @@ cbH ccD cbH bLK -rYj -aaf -aaf -aaf -aaf -aoV +gXs +bMQ +qNf +oAh +bLK +ixA aoV aaf aoV @@ -102684,12 +102591,12 @@ bLK bLK bLK bLK -rYj -aaf -aaa -ktT -fgG -cnb +gXs +bLK +bLK +tbv +bLK +lTm cnb cnb cnb @@ -102941,12 +102848,12 @@ aaf vNP fgG fgG -iBN -fgG -fgG -qUa -aaf -aaf +cnb +cnb +lUF +pmV +lUF +hid aaf cfj cfj @@ -103198,12 +103105,12 @@ bPn sZW bzs bzs -ljp -bPn -bPn bzs bzs bzs +ufU +bzs +jLl cfj cfj jmD @@ -103416,11 +103323,11 @@ bok bok bix bjX -blp +iUQ bok btZ pVe -xaA +lOF dgq btZ eJE @@ -103455,12 +103362,12 @@ lmG hXE lmG wUw -eDY -shI -shI -uvC +lmG +wUw +wUw +hcD bAw -mLV +oYy cfj sjq tup @@ -103715,9 +103622,9 @@ bNd bNd bNd bNd -cfX -bAw +kOf bAw +dvS cfj rAw kUk @@ -103972,9 +103879,9 @@ hjj lAN lgX bNd -cfX +kOf bAw -sZj +eVB cfj bsp lBz @@ -104001,7 +103908,7 @@ cua cvc cvc mfk -ciJ +kJT eyf cvc cvk @@ -104229,9 +104136,9 @@ hqh uHd gZG bNd -cfX +kOf eah -kkP +ssH atc bMH ykJ @@ -104463,7 +104370,7 @@ cug bGV pky bRO -fvM +ixo hlE dVI nPP @@ -104486,9 +104393,9 @@ tCS ikK nMH bNd -ecx -nyZ -tZT +nLF +jsT +otK cfj iSr rYF @@ -104692,7 +104599,7 @@ aTN wCj aVz cAg -kVI +wRU bbz aYV aYV @@ -104943,7 +104850,7 @@ eJC hmL umi aJI -ciF +ffL qbQ aTO cCq @@ -104959,14 +104866,14 @@ eUm vjh xpk fgo -pOj +tHf bBc jLS cVy jLS bWe bvn -bwL +chp xJf rDE nQV @@ -105439,7 +105346,7 @@ aaa aaa aaa arj -ptc +fsV xBv iwa vTy @@ -106510,7 +106417,7 @@ jLS jLS but bye -ftH +bqV bMd bMd dsg @@ -107251,7 +107158,7 @@ alO aGV aIp aIp -sHz +sne sxt aNQ aOX @@ -107262,7 +107169,7 @@ aRJ aRJ aRJ aYR -ban +dbc aYV tqW oVr @@ -107772,7 +107679,7 @@ aOZ aOX aOX aOX -tiq +vvH aVM aOX xGO @@ -109307,7 +109214,7 @@ aFu aFu xNJ aJP -aLg +tHc xJC dfs egN @@ -110365,7 +110272,7 @@ box sjf ydq byi -aRs +kCf pDP lBJ bDc @@ -111371,7 +111278,7 @@ aQs aFu aTd aUE -aVT +tHc aYW aYW aZd @@ -113179,7 +113086,7 @@ aYV aXq sYn eZA -iXS +qWu ulU bhV bnp @@ -114209,7 +114116,7 @@ qcK bgc bhF xNj -vDM +nvZ dpp xRJ wRV @@ -114217,7 +114124,7 @@ bpO eHS kXt yiW -soZ +nOe wqH lcg tLr @@ -114227,7 +114134,7 @@ bvK bxm byu bzN -fjO +skM aGs dGF nmk diff --git a/_maps/map_files/CorgStation/CorgStation.dmm b/_maps/map_files/CorgStation/CorgStation.dmm index e3c87d930cbdd..83fec45370945 100644 --- a/_maps/map_files/CorgStation/CorgStation.dmm +++ b/_maps/map_files/CorgStation/CorgStation.dmm @@ -5889,6 +5889,7 @@ dir = 1 }, /obj/structure/table, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/white, /area/quartermaster/exploration_prep) "bFD" = ( @@ -5973,10 +5974,10 @@ /turf/open/floor/circuit/telecomms/server, /area/tcommsat/server) "bGz" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/bot_white, /obj/effect/landmark/event_spawn, -/turf/open/floor/glass/reinforced, +/obj/machinery/holopad, +/turf/open/floor/iron/white, /area/medical/storage) "bGC" = ( /obj/machinery/camera/autoname{ @@ -7710,9 +7711,6 @@ /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, /turf/open/floor/iron/white, /area/medical/storage) "cic" = ( @@ -9862,9 +9860,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, /turf/open/floor/iron/white, /area/medical/storage) "cXy" = ( @@ -11106,9 +11101,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, /turf/open/floor/iron/white, /area/medical/storage) "drZ" = ( @@ -21030,9 +21022,6 @@ dir = 4 }, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, /turf/open/floor/iron/white, /area/medical/storage) "gJG" = ( @@ -24933,7 +24922,7 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/AIsatextAP) "hXj" = ( -/turf/open/floor/glass/reinforced, +/turf/open/floor/iron/white, /area/medical/storage) "hXn" = ( /obj/machinery/power/apc/auto_name/directional/north, @@ -28290,9 +28279,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, /turf/open/floor/iron/white, /area/medical/storage) "iYt" = ( @@ -30028,9 +30014,6 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, /turf/open/floor/iron/white, /area/medical/storage) "jDg" = ( @@ -31688,13 +31671,6 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) -"kgN" = ( -/obj/effect/landmark/start/exploration, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/quartermaster/exploration_prep) "kgX" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -32699,6 +32675,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/quartermaster/storage) "kvO" = ( @@ -39425,9 +39402,6 @@ }, /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, /turf/open/floor/iron/white, /area/medical/storage) "mCm" = ( @@ -39808,7 +39782,6 @@ /turf/closed/wall/r_wall, /area/science/lab) "mHx" = ( -/obj/machinery/camera/autoname/directional/west, /obj/structure/extinguisher_cabinet{ pixel_x = -30 }, @@ -53085,9 +53058,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/tile/blue, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, /turf/open/floor/iron/white, /area/medical/storage) "rfG" = ( @@ -56255,7 +56225,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron/white, /area/medical/storage) "sfK" = ( @@ -56420,13 +56389,11 @@ /turf/open/floor/iron, /area/ai_monitored/turret_protected/aisat/foyer) "sim" = ( -/obj/structure/table, -/obj/item/melee/baton/loaded, -/obj/item/restraints/handcuffs, /obj/machinery/light{ dir = 8 }, /obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/rnd/production/techfab/department/security, /turf/open/floor/iron/dark, /area/security/warden) "siu" = ( @@ -59318,6 +59285,7 @@ dir = 1; pixel_y = 24 }, +/obj/item/melee/baton/loaded, /turf/open/floor/iron/dark, /area/security/warden) "tgl" = ( @@ -61410,9 +61378,6 @@ /area/crew_quarters/bar) "tON" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, /turf/open/floor/iron/white, /area/medical/storage) "tOQ" = ( @@ -61556,9 +61521,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, /turf/open/floor/iron/white, /area/medical/storage) "tSI" = ( @@ -63446,10 +63408,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"uxu" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/white, -/area/medical/medbay/central) "uxA" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -65017,7 +64975,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/obj/effect/turf_decal/siding/white, /turf/open/floor/iron/white, /area/medical/storage) "uWI" = ( @@ -70549,7 +70506,6 @@ /area/maintenance/starboard/secondary) "wKV" = ( /obj/effect/turf_decal/tile/red/opposingcorners, -/obj/machinery/rnd/production/techfab/department/security, /obj/machinery/light, /obj/machinery/light_switch{ pixel_x = -8; @@ -74099,9 +74055,6 @@ /turf/open/floor/iron/white, /area/medical/chemistry) "xRL" = ( -/obj/machinery/camera/autoname{ - dir = 10 - }, /obj/structure/table, /obj/item/dest_tagger, /obj/item/dest_tagger, @@ -74110,6 +74063,7 @@ /obj/item/radio/intercom{ pixel_y = 32 }, +/obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/quartermaster/sorting) "xRO" = ( @@ -98483,7 +98437,7 @@ eTb iot nIR bFs -kgN +rde qCw kWB iOB @@ -117233,7 +117187,7 @@ edI cwg gOi goT -uxu +iwf lrO ndt uqG diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 767bed677030b..5438d4cc34303 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -35689,11 +35689,10 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/stripes/box, -/obj/machinery/rnd/production/techfab/department/security, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, +/obj/structure/table/reinforced, /turf/open/floor/iron, /area/security/main) "eQK" = ( @@ -63084,11 +63083,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"nWG" = ( -/obj/effect/turf_decal/loading_area, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "nWQ" = ( /obj/structure/window/reinforced{ dir = 8 @@ -74714,20 +74708,17 @@ /turf/open/floor/iron/dark, /area/chapel/office) "rUM" = ( -/obj/structure/table/reinforced, /obj/machinery/airalarm/directional/west{ pixel_x = -23 }, -/obj/item/clipboard, -/obj/item/toy/figure/warden, /obj/machinery/light{ dir = 8 }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, +/obj/machinery/rnd/production/techfab/department/security, +/obj/effect/turf_decal/stripes/box, /turf/open/floor/iron, /area/security/warden) "rUZ" = ( @@ -89051,6 +89042,7 @@ dir = 4; name = "Warden's Desk" }, +/obj/item/toy/figure/warden, /turf/open/floor/iron, /area/security/warden) "wKK" = ( @@ -147072,7 +147064,7 @@ bgZ aaa bhe eQF -nWG +frY frY jjc kRr diff --git a/_maps/map_files/EchoStation/EchoStation.dmm b/_maps/map_files/EchoStation/EchoStation.dmm index 595709c2ee0eb..c39a1ef28cded 100644 --- a/_maps/map_files/EchoStation/EchoStation.dmm +++ b/_maps/map_files/EchoStation/EchoStation.dmm @@ -3621,10 +3621,10 @@ dir = 6 }, /obj/structure/window/reinforced, -/obj/machinery/rnd/production/techfab/department/security, /obj/machinery/camera/autoname/directional/west{ network = list("ss13","security") }, +/obj/structure/table, /turf/open/floor/iron, /area/security/brig) "btw" = ( @@ -24752,14 +24752,13 @@ alpha = 180; dir = 4 }, -/obj/machinery/photocopier, -/obj/effect/turf_decal/bot, /obj/machinery/newscaster{ pixel_y = 33 }, /obj/machinery/light{ dir = 1 }, +/obj/machinery/rnd/production/techfab/department/security, /turf/open/floor/iron/dark, /area/security/warden) "mtK" = ( diff --git a/_maps/map_files/FlandStation/FlandStation.dmm b/_maps/map_files/FlandStation/FlandStation.dmm index 0813e515dbe2b..8c43bdb0c18f2 100644 --- a/_maps/map_files/FlandStation/FlandStation.dmm +++ b/_maps/map_files/FlandStation/FlandStation.dmm @@ -30726,6 +30726,7 @@ id = "BrigFlashAft"; pixel_y = 25 }, +/obj/machinery/rnd/production/techfab/department/security, /turf/open/floor/iron/dark, /area/security/warden) "hPW" = ( @@ -37670,15 +37671,6 @@ /obj/structure/chair/wood/normal, /turf/open/floor/iron/dark, /area/security/courtroom) -"jDQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/iron/grid/steel, -/area/science/xenobiology) "jEa" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -46753,10 +46745,10 @@ /turf/open/floor/plating, /area/maintenance/solars/port/aft) "lOm" = ( -/obj/machinery/rnd/production/techfab/department/security, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/structure/table/reinforced, /turf/open/floor/iron/techmaint, /area/security/brig) "lOq" = ( @@ -131526,7 +131518,7 @@ aZB dBq iQp swU -jDQ +rcR sYZ nrL nrL diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 3ecceb65fc44d..954dcb3ff1c8c 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -287,60 +287,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/quartermaster/exploration_prep) -"abt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/airalarm/server{ - dir = 8; - pixel_x = -28 - }, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/dark/telecomms, -/area/quartermaster/exploration_prep) -"abv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/safety_eye_protection, -/turf/closed/wall, -/area/maintenance/department/science) -"abx" = ( -/obj/item/kirbyplants{ - icon_state = "plant-16" - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) -"aby" = ( -/obj/machinery/requests_console{ - department = "AI"; - departmentType = 5; - name = "AI RC"; - pixel_x = 30; - pixel_y = -30 - }, -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/effect/turf_decal/box, -/obj/machinery/flasher{ - id = "AI"; - name = "Meatbag Pacifier"; - pixel_x = 24; - pixel_y = 24 - }, -/obj/machinery/camera/directional/south{ - c_tag = "AI Chamber Core"; - name = "core camera"; - network = list("aicore") - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/ai) "abD" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -568,23 +514,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/ai) -"acq" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 32 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Detective's Office"; - name = "detective camera" - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/detectives_office) "acs" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -653,16 +582,6 @@ /obj/effect/decal/cleanable/dirt, /turf/closed/wall/r_wall, /area/crew_quarters/heads/cmo) -"acB" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/general/hidden, -/turf/open/floor/circuit/telecomms, -/area/science/xenobiology) "acD" = ( /obj/machinery/porta_turret/ai, /obj/machinery/light/small{ @@ -686,16 +605,6 @@ /obj/effect/spawner/lootdrop/maintenance/two, /turf/open/floor/plating, /area/maintenance/fore) -"acM" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Satellite External Fore"; - name = "exterior camera"; - network = list("minisat"); - start_active = 1 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "acN" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -855,14 +764,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/storage/satellite) -"ads" = ( -/obj/machinery/door/poddoor/preopen{ - id = "xeno_blastdoor"; - name = "Xenobiology Containment Blast Door" - }, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "adt" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -885,19 +786,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) -"adx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/door/airlock/research{ - glass = 1; - name = "Slime Euthanization Chamber"; - opacity = 0; - req_access_txt = "55" - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "adA" = ( /obj/structure/bed, /obj/effect/decal/cleanable/cobweb, @@ -909,39 +797,6 @@ /obj/item/bedsheet/brown, /turf/open/floor/plating, /area/maintenance/fore) -"adD" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Satellite Maintenance"; - name = "satellite camera"; - network = list("minisat") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/engine, -/area/ai_monitored/storage/satellite) -"adG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Vault"; - name = "vault camera"; - network = list("vault") - }, -/turf/open/floor/engine, -/area/security/nuke_storage) "adH" = ( /turf/closed/wall, /area/maintenance/fore) @@ -976,21 +831,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat_interior) -"adM" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Satellite Antechamber"; - name = "satellite camera"; - network = list("minisat") - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/aisat_interior) "adN" = ( /obj/machinery/power/apc{ areastring = "/area/ai_monitored/turret_protected/aisat_interior"; @@ -1209,18 +1049,6 @@ /obj/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"aep" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack, -/obj/item/storage/backpack/satchel/tox, -/obj/item/analyzer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aeq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -1337,16 +1165,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/atmos) -"aeN" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/firecloset, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aeO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -1367,18 +1185,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/foyer) -"aeT" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aeU" = ( /turf/open/floor/plating/asteroid/airless, /area/space/nearstation) @@ -1536,22 +1342,6 @@ }, /turf/open/floor/iron/dark, /area/engine/break_room) -"afN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/flasher{ - id = "AI"; - name = "Meatbag Pacifier"; - pixel_y = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber SMES"; - name = "core camera"; - network = list("aicore") - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/ai) "afO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1570,19 +1360,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) -"afT" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/item/folder/white{ - pixel_x = 6 - }, -/obj/item/storage/firstaid/regular, -/obj/machinery/camera/directional/south{ - c_tag = "Bridge Emergency Supplies"; - name = "command camera" - }, -/turf/open/floor/iron/dark, -/area/bridge) "afW" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/machinery/door/window/southleft{ @@ -1719,33 +1496,6 @@ }, /turf/open/floor/iron/dark, /area/medical/chemistry) -"agv" = ( -/obj/effect/turf_decal/caution{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/sign/warning/explosives{ - pixel_y = 31 - }, -/obj/machinery/camera/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "agw" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1839,79 +1589,13 @@ /obj/structure/fans/tiny/invisible, /turf/open/space/basic, /area/space) -"agK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ai_monitored/turret_protected/aisat/atmos) "agP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/main) -"agR" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "agS" = ( /turf/closed/wall, /area/security/main) -"agU" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"agW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "agZ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -1940,12 +1624,6 @@ "ahh" = ( /turf/closed/wall/r_wall, /area/tcommsat/server) -"aho" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "ahs" = ( /obj/structure/closet/bombcloset, /obj/effect/turf_decal/bot, @@ -2057,27 +1735,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"ahP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) -"ahQ" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "ahV" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate{ @@ -2098,23 +1755,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/fore) -"aia" = ( -/obj/structure/sign/departments/engineering{ - pixel_y = -32 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Hallway Rotunda"; - name = "starboard camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "aid" = ( /obj/machinery/door/airlock/mining{ name = "Auxiliary Base"; @@ -2131,22 +1771,6 @@ }, /turf/open/floor/iron/dark, /area/construction/mining/aux_base) -"aih" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aii" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -2170,22 +1794,6 @@ }, /turf/open/floor/grass, /area/chapel/main) -"air" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "ais" = ( /obj/machinery/door/airlock/medical{ id_tag = "Shower_2"; @@ -2207,16 +1815,6 @@ /obj/structure/chair/office, /turf/open/floor/iron/showroomfloor, /area/quartermaster/exploration_prep) -"aiw" = ( -/obj/machinery/door/airlock/maintenance/external{ - name = "construction zone"; - req_access_txt = "12;37" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/construction/mining/aux_base) "aiA" = ( /obj/effect/landmark/start/exploration, /obj/structure/chair/office, @@ -2273,34 +1871,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/foyer) -"aiW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/airalarm/server{ - dir = 8; - pixel_x = -22 - }, -/turf/open/floor/engine{ - initial_gas_mix = "n2=100;TEMP=80"; - name = "mainframe floor" - }, -/area/tcommsat/server) -"aiX" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aja" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -2348,18 +1918,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/quartermaster/warehouse) -"ajk" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin{ - desc = "A pneumatic waste disposal unit. This one leads into space!"; - name = "deathsposal unit" - }, -/obj/effect/turf_decal/box, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "ajl" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2448,16 +2006,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/fore) -"ajz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "ajA" = ( /obj/structure/grille, /obj/structure/barricade/wooden, @@ -2499,18 +2047,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/fore) -"ajI" = ( -/obj/machinery/door/airlock/maintenance{ - req_one_access_txt = "12;37;47" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/maintenance/starboard/fore) "ajK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -2553,18 +2089,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"ajO" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/item/trash/can{ - pixel_x = 10; - pixel_y = 17 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "ajP" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/circuit/green/telecomms/mainframe, @@ -2588,12 +2112,6 @@ /obj/structure/sign/poster/contraband/random, /turf/closed/wall, /area/maintenance/port/aft) -"ajU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/cola/pwr_game, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "ajW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -2638,15 +2156,17 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) +"akf" = ( +/obj/structure/sign/warning/biohazard, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/rust, +/area/science/aft) "akh" = ( /obj/structure/sign/departments/security, /turf/closed/wall, /area/maintenance/port/aft) -"aki" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "akk" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/navbeacon{ @@ -2777,6 +2297,24 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/fore) +"akX" = ( +/obj/structure/closet/crate/wooden/toy, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/theatre) "akY" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -2833,27 +2371,6 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/port/fore) -"alh" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/ai) -"alj" = ( -/obj/machinery/door/poddoor/preopen{ - id = "transittube"; - name = "Transit Tube Blast door" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/dark, -/area/bridge) "alk" = ( /obj/item/radio/intercom{ pixel_x = 28 @@ -2892,31 +2409,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/fore) -"als" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/item/folder/red, -/obj/item/lighter{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ - pixel_x = 6 - }, -/obj/item/clothing/mask/cigarette/cigar, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hos) "alt" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -2929,19 +2421,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/fore) -"alu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "alz" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/stripes/line{ @@ -3062,6 +2541,26 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/fore) +"ame" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -24 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "amh" = ( /obj/machinery/door/airlock/maintenance/external{ name = "transit intersection"; @@ -3160,17 +2659,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/hallway/primary/aft) -"amE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/grille/broken, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "amF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -3264,6 +2752,17 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/maintenance/fore) +"ant" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) "anx" = ( /obj/machinery/status_display/evac, /turf/closed/wall, @@ -3304,42 +2803,6 @@ "anH" = ( /turf/closed/wall, /area/space/nearstation) -"anK" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) -"anR" = ( -/obj/machinery/door/airlock/maintenance{ - req_one_access_txt = "12;47" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "anS" = ( /obj/machinery/mass_driver{ dir = 4; @@ -3411,6 +2874,25 @@ "aoh" = ( /turf/closed/wall, /area/lawoffice) +"aok" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/hydroponics, +/obj/machinery/power/apc{ + areastring = "/area/hydroponics"; + name = "Hydroponics APC"; + pixel_y = -24 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/east{ + c_tag = "Hydroponics Lockers"; + name = "hydroponics camera" + }, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/hydroponics) "aol" = ( /obj/structure/noticeboard{ pixel_y = 32 @@ -3453,16 +2935,6 @@ /obj/structure/cable, /turf/open/space/basic, /area/solar/port/fore) -"aou" = ( -/obj/structure/table, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/surgical, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "aov" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -3523,18 +2995,6 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aoF" = ( -/obj/machinery/telecomms/receiver/preset_right, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Telecomms Server SMES"; - name = "telecomms camera"; - network = list("ss13","tcomms") - }, -/turf/open/floor/circuit/green/telecomms/mainframe, -/area/tcommsat/server) "aoH" = ( /turf/closed/wall/r_wall/rust, /area/medical/virology) @@ -3582,25 +3042,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/storage) -"aoM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Telecomms Server Room"; - name = "telecomms camera"; - network = list("ss13","tcomms") - }, -/turf/open/floor/engine{ - initial_gas_mix = "n2=100;TEMP=80"; - name = "mainframe floor" - }, -/area/tcommsat/server) "aoP" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 4 @@ -3677,17 +3118,6 @@ "app" = ( /turf/open/space, /area/space/nearstation) -"apt" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Cell 5"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "apz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -3854,68 +3284,15 @@ "apX" = ( /turf/closed/wall/rust, /area/maintenance/central) -"apY" = ( -/obj/machinery/door/airlock/maintenance{ - req_one_access_txt = "12;47" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/maintenance/starboard/fore) -"apZ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) -"aqa" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Xenobiology Lab"; - req_access_txt = "47" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "aqc" = ( /turf/open/floor/iron/dark, /area/bridge) +"aqd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/cola/pwr_game, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/science/aft) "aqf" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -3932,19 +3309,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"aqj" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance{ - req_one_access_txt = "12;47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard) "aql" = ( /obj/structure/table/wood, /obj/effect/turf_decal/stripes/corner{ @@ -3959,21 +3323,6 @@ }, /turf/open/floor/iron, /area/security/courtroom) -"aqm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -30 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/maintenance/starboard) "aqn" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -4488,21 +3837,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/heads/hop) -"atw" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Chapel"; - name = "chapel camera" - }, -/obj/structure/chair/fancy/bench/pew/right{ - dir = 1 - }, -/turf/open/floor/iron/chapel{ - dir = 8 - }, -/area/chapel/main) "atz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -4696,30 +4030,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/security/courtroom) -"auN" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/wrench, -/obj/item/crowbar/red, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Server Room"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/server) "auP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -4754,6 +4064,36 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"auV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Xenobiology Entrance"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/light/small, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "auY" = ( /obj/machinery/vending/job_disk, /obj/effect/turf_decal/siding/wood{ @@ -4996,20 +4336,6 @@ }, /turf/open/floor/iron, /area/security/courtroom) -"avV" = ( -/obj/machinery/pdapainter, -/obj/structure/sign/poster/official/ian{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Head of Personnel's Office"; - name = "command camera" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "avY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/grunge{ @@ -5127,7 +4453,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "awG" = ( /obj/structure/lattice/catwalk, /obj/structure/sign/warning/securearea{ @@ -5158,18 +4484,6 @@ "awL" = ( /turf/closed/wall/r_wall/rust, /area/engine/break_room) -"awM" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics Desk"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/break_room) "awN" = ( /turf/closed/wall/r_wall, /area/engine/break_room) @@ -5219,6 +4533,17 @@ "awX" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/chief) +"awY" = ( +/obj/machinery/power/solar{ + id = "aftstarboard"; + name = "Aft-Starboard Solar Array" + }, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/aft) "awZ" = ( /turf/closed/wall/rust, /area/security/checkpoint/engineering) @@ -5330,6 +4655,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"axB" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/vending/wardrobe/det_wardrobe, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/security/detectives_office) "axD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -5412,6 +4746,17 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/supermatter) +"axZ" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Cell 2"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "ayc" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -5446,13 +4791,6 @@ dir = 4 }, /area/chapel/main) -"ayi" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "ayj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -5517,19 +4855,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/aft) -"ayI" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/shieldgen, -/obj/machinery/camera/directional/west{ - c_tag = "Secure Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "ayJ" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -5656,19 +4981,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"azp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 1 - }, -/obj/machinery/airalarm/engine{ - pixel_y = -24 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/supermatter) "azq" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -5980,28 +5292,6 @@ /obj/structure/beebox, /turf/open/floor/grass, /area/chapel/main) -"aAy" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Cell 6"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) -"aAA" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Cell 2"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "aAD" = ( /obj/structure/flora/tree/jungle/small, /turf/open/floor/grass, @@ -6040,24 +5330,6 @@ "aAM" = ( /turf/open/floor/engine, /area/engine/engineering) -"aAS" = ( -/obj/machinery/mech_bay_recharge_port, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -28 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Mech Bay"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/science/robotics/mechbay) "aAV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -6582,14 +5854,6 @@ /obj/machinery/atmospherics/miner/station/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) -"aDE" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Tank - Air"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/air, -/area/engine/atmos) "aDI" = ( /turf/closed/wall, /area/science/lab) @@ -6813,7 +6077,7 @@ icon_state = "4-8" }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "aEK" = ( /obj/structure/sign/poster/contraband/random, /turf/closed/wall/rust, @@ -7099,6 +6363,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/entry) +"aGg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/science/xenobiology) "aGh" = ( /turf/closed/wall, /area/crew_quarters/theatre) @@ -7118,14 +6388,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/science/lab) -"aGk" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Tank - N2"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) "aGl" = ( /obj/structure/table, /obj/item/clipboard, @@ -7197,6 +6459,22 @@ /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, /area/bridge) +"aGT" = ( +/obj/machinery/digital_clock/directional/north, +/obj/machinery/camera{ + c_tag = "Medbay Lobby"; + name = "medical camera"; + network = list("ss13","medical"); + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "plant-08" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/medical/medbay/lobby) "aGU" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ dir = 4 @@ -7319,25 +6597,28 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/iron/dark, /area/maintenance/port) -"aHw" = ( -/obj/machinery/porta_turret/ai, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/ai_monitored/turret_protected/aisat_interior) "aHz" = ( /obj/machinery/door/airlock/external{ name = "Cargo Escape Pod" }, /turf/open/floor/iron/dark, /area/maintenance/starboard) +"aHI" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) "aHU" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/stand_clear, @@ -7601,6 +6882,29 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/science/lab) +"aJO" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/camera/directional/south{ + c_tag = "Autopsy Room"; + name = "detective camera" + }, +/obj/machinery/status_display/ai{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/landmark/start/detective, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/detectives_office) "aJQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -7861,17 +7165,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/central) -"aLR" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Cell 4"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "aLS" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/line, @@ -7879,15 +7172,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark, /area/engine/engineering) -"aLW" = ( -/obj/machinery/camera/directional/west{ - c_tag = "AI Upload Garden"; - name = "upload camera"; - network = list("aiupload") - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/maintenance/central) "aLX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -8034,38 +7318,6 @@ "aMY" = ( /turf/open/floor/engine/air, /area/engine/atmos) -"aMZ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics Tank - CO2"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/co2, -/area/engine/atmos) -"aNa" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics Tank - Plasma"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/plasma, -/area/engine/atmos) -"aNb" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics Tank - N2O"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"aNc" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics Tank - Mix"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) "aNd" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -8122,6 +7374,23 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/genetics) +"aNA" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 32 + }, +/obj/structure/closet/secure_closet{ + anchored = 1; + name = "patient's closet"; + req_access_txt = "5" + }, +/obj/item/clothing/under/color/white, +/obj/item/clothing/shoes/sneakers/white, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/showroomfloor, +/area/medical/genetics/cloning) "aNC" = ( /turf/closed/wall/rust, /area/medical/morgue) @@ -8182,15 +7451,6 @@ /obj/machinery/light, /turf/open/floor/iron, /area/security/prison) -"aOk" = ( -/obj/machinery/camera/directional/east{ - c_tag = "AI Upload Transit Exterior"; - name = "upload camera"; - network = list("aiupload") - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/maintenance/central) "aOy" = ( /obj/machinery/door/airlock/maintenance{ name = "bar maintenance"; @@ -8244,19 +7504,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) -"aPp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/port) "aPv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -8310,17 +7557,6 @@ }, /turf/open/floor/iron/dark, /area/security/execution/education) -"aPM" = ( -/obj/machinery/suit_storage_unit/ce, -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/chief) "aPS" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/caution{ @@ -8485,18 +7721,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/checkpoint/science/research) -"aRK" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"aRL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Library" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, -/area/maintenance/department/science) +/area/library) "aRM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8555,6 +7792,11 @@ }, /turf/open/floor/iron/dark, /area/maintenance/central) +"aSr" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/science/aft) "aSv" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -8650,6 +7892,22 @@ }, /turf/open/floor/iron/dark, /area/maintenance/fore) +"aTi" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Brig Port Wing"; + req_one_access_txt = "1;4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + id = "brigfrontdoor"; + name = "Aft Security Blast door" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "aTk" = ( /obj/effect/turf_decal/delivery, /obj/structure/reagent_dispensers/watertank, @@ -8663,17 +7921,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"aTE" = ( -/obj/machinery/mech_bay_recharge_port, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +"aTF" = ( +/obj/structure/grille, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/cable/yellow, /turf/open/floor/plating, -/area/science/robotics/mechbay) +/area/maintenance/starboard/fore) "aTI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -8681,6 +7936,22 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"aTK" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/dark, +/area/crew_quarters/locker) "aTL" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=1"; @@ -8831,39 +8102,6 @@ "aUG" = ( /turf/closed/wall/mineral/plastitanium, /area/maintenance/port) -"aUH" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/button/door{ - id = "Cabin_2"; - name = "Cabin 2 Privacy Lock"; - normaldoorcontrol = 1; - pixel_y = 24; - specialfunctions = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/landmark/start/assistant, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - broken = 1 - }, -/area/crew_quarters/locker) -"aUI" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Cell 1"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "aUN" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8871,18 +8109,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/engine, /area/security/nuke_storage) -"aUO" = ( -/obj/machinery/door/firedoor/heavy, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/mixingchamber{ - pixel_y = 22; - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/mixing/chamber) "aUS" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -8899,15 +8125,6 @@ }, /turf/open/floor/engine, /area/tcommsat/computer) -"aUT" = ( -/obj/machinery/newscaster{ - pixel_x = 30 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Law Office" - }, -/turf/open/floor/carpet/green, -/area/lawoffice) "aVg" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -8961,13 +8178,6 @@ }, /turf/open/floor/grass, /area/chapel/main) -"aVx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "aVy" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -9071,19 +8281,6 @@ }, /turf/open/floor/engine, /area/science/xenobiology) -"aWT" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "aWU" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -9108,6 +8305,22 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hor) +"aXg" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/departments/security{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "aXh" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -9227,17 +8440,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/lab) -"aYh" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Cell 3"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "aYm" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -9566,6 +8768,26 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/engine/vacuum, /area/science/mixing/chamber) +"bar" = ( +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Atrium Booths"; + name = "diner camera" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/chair/fancy/sofa/old/left{ + color = "#742925"; + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar/atrium) "bas" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -9981,41 +9203,9 @@ }, /turf/open/floor/iron/dark/telecomms, /area/science/server) -"bcC" = ( -/obj/effect/landmark/blobstart, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/airalarm/server{ - dir = 4; - pixel_x = 22 - }, -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/telecomms, -/area/science/server) "bcD" = ( /turf/closed/wall/rust, /area/science/mixing) -"bcF" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/bridge) "bcH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 1; @@ -10069,46 +9259,6 @@ "bdi" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/hor) -"bdm" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"bdn" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/lipstick/random{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/lipstick/random{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/lipstick/random{ - pixel_x = 6 - }, -/obj/item/pen, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Backstage"; - name = "diner camera" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/theatre) "bdD" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/engine, @@ -10140,32 +9290,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"bdP" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Aft Hallway Security Doors"; - name = "aft camera" - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "bdQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -10329,12 +9453,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/xenobiology) -"beZ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "bfk" = ( /obj/structure/transit_tube/horizontal{ dir = 1 @@ -10508,26 +9626,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/starboard) -"bfY" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Xenobiology Test Chamber"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/science/xenobiology) -"bge" = ( -/obj/structure/closet/secure_closet/lethalshots, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "bgf" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -10612,19 +9710,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/port) -"bgp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4; - external_pressure_bound = 140; - name = "server vent"; - pressure_checks = 0 - }, -/turf/open/floor/circuit/telecomms, -/area/science/xenobiology) "bgr" = ( /obj/machinery/door/airlock/maintenance{ name = "research lab maintenance"; @@ -10637,6 +9722,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/maintenance/starboard) +"bgv" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Aft Hallway Tech Storage"; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron, +/area/hallway/primary/aft) "bgw" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -10645,7 +9745,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "bgy" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/airlock/research{ @@ -10675,6 +9775,10 @@ /obj/effect/spawner/lootdrop/maintenance/two, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"bgO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/security/brig/aft) "bgP" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/yellow{ @@ -10711,23 +9815,6 @@ }, /turf/open/floor/iron/dark, /area/library) -"bgX" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "bgZ" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/siding/wood{ @@ -10821,20 +9908,6 @@ /mob/living/simple_animal/slime, /turf/open/floor/engine, /area/science/xenobiology) -"bhv" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Xenobiology Euthanization Chamber"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/circuit/telecomms, -/area/science/xenobiology) "bhw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -11130,11 +10203,6 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) -"bjj" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/glass/reinforced, -/area/crew_quarters/heads/hop) "bjm" = ( /obj/structure/transit_tube/crossing, /obj/structure/lattice/catwalk, @@ -11248,6 +10316,17 @@ "bjF" = ( /turf/closed/wall/rust, /area/quartermaster/storage) +"bjH" = ( +/obj/machinery/vending/assist, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/storage/primary) "bjM" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -11393,25 +10472,6 @@ lighting_colour_bulb = "#ffdbb4"; lighting_colour_tube = "#ffce99" }) -"bkw" = ( -/obj/structure/bed, -/obj/machinery/button/door{ - id = "Cabin_3"; - name = "Cabin 3 Privacy Lock"; - normaldoorcontrol = 1; - pixel_y = 24; - specialfunctions = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/landmark/start/assistant, -/obj/item/bedsheet/dorms, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/locker) "bky" = ( /mob/living/simple_animal/butterfly, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -11608,6 +10668,21 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port) +"blq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "bls" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -11633,26 +10708,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"blC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "blE" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, @@ -11688,6 +10743,26 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) +"blN" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "blO" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate, @@ -11717,21 +10792,6 @@ "bmc" = ( /turf/closed/wall/r_wall, /area/ai_monitored/storage/eva) -"bmi" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = 6; - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "bmn" = ( /obj/structure/sign/warning/docking, /turf/closed/wall/rust, @@ -11787,22 +10847,6 @@ /obj/machinery/smartfridge, /turf/closed/wall, /area/crew_quarters/kitchen) -"bmD" = ( -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Satellite Atmospherics"; - name = "satellite camera"; - network = list("minisat") - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/aisat/atmos) "bmF" = ( /obj/machinery/status_display/evac, /turf/closed/wall, @@ -11942,6 +10986,27 @@ /obj/machinery/smartfridge, /turf/closed/wall, /area/hydroponics) +"bnl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "bnq" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/ausbushes/grassybush, @@ -12154,6 +11219,25 @@ /obj/structure/window/reinforced, /turf/open/floor/grass, /area/hydroponics) +"bof" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Toxins Burn Chamber"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/airalarm/mixingchamber{ + dir = 4; + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/mixing/chamber) "boh" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/ausbushes/fullgrass, @@ -12284,6 +11368,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/central) +"boB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "boC" = ( /turf/closed/wall, /area/hallway/primary/port) @@ -12322,33 +11422,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"boQ" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Security Secways" - }, -/obj/effect/turf_decal/box, -/obj/vehicle/ridden/secway, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "boR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -12715,23 +11788,6 @@ }, /turf/open/floor/iron, /area/security/courtroom) -"brh" = ( -/obj/machinery/door/airlock/maintenance{ - name = "xenobiology maintenance"; - req_access_txt = "55" - }, -/obj/structure/sign/directions/evac{ - dir = 4; - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "brl" = ( /obj/machinery/portable_atmospherics/canister, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -12856,6 +11912,17 @@ /obj/structure/chair/office, /turf/open/floor/iron/dark, /area/bridge) +"brV" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/chief) "brZ" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -12881,23 +11948,6 @@ "bsm" = ( /turf/closed/wall/rust, /area/chapel/office) -"bso" = ( -/obj/structure/flora/grass/jungle, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/mob/living/simple_animal/chicken{ - desc = "The arch-nemesis of Kentucky."; - name = "Popeye"; - real_name = "Featherbottom" - }, -/turf/open/floor/grass, -/area/hydroponics) "bsz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -12978,32 +12028,6 @@ /obj/structure/sign/poster/contraband/revolver, /turf/closed/wall, /area/crew_quarters/locker) -"bsV" = ( -/obj/structure/table/wood/fancy, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/item/storage/crayons, -/obj/item/storage/fancy/candle_box{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/fancy/candle_box{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Chapel Office"; - name = "chapel camera" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/chapel/office) "bsY" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -13278,7 +12302,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "bug" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/wood, @@ -13391,13 +12415,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"buP" = ( -/obj/structure/bookcase/random/nonfiction, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) "buQ" = ( /turf/closed/wall/rust, /area/crew_quarters/bar) @@ -13456,14 +12473,6 @@ }, /turf/open/floor/iron/dark, /area/library) -"bvi" = ( -/obj/structure/bookcase/random/reference, -/obj/machinery/camera/directional/north{ - c_tag = "Bar Shelves"; - name = "bar camera" - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) "bvl" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/iron/dark, @@ -13555,6 +12564,22 @@ }, /turf/open/floor/iron/dark, /area/library) +"bvV" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "bvY" = ( /obj/effect/landmark/start/bartender, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, @@ -13679,14 +12704,6 @@ }, /turf/open/floor/grass, /area/chapel/main) -"bwK" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/turf/open/floor/grass, -/area/chapel/main) "bwL" = ( /obj/structure/flora/grass/jungle, /obj/structure/flora/ausbushes/grassybush, @@ -13833,6 +12850,18 @@ dir = 1 }, /area/chapel/main) +"bxI" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/closet/emcloset{ + name = "emergency prison" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "bxJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -13916,21 +12945,6 @@ /obj/item/canvas/twentythree_nineteen, /turf/open/floor/iron/dark, /area/library) -"byq" = ( -/obj/machinery/flasher{ - id = "AI"; - name = "Meatbag Pacifier"; - pixel_y = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "AI Upload Turrets"; - name = "upload camera"; - network = list("aiupload") - }, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/ai_monitored/turret_protected/ai_upload) "byy" = ( /obj/structure/sign/poster/contraband/random, /turf/closed/wall/rust, @@ -14040,22 +13054,6 @@ luminosity = 2 }, /area/ai_monitored/turret_protected/ai_upload) -"byN" = ( -/obj/machinery/porta_turret/ai{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/structure/sign/plaques/kiddie{ - pixel_y = 30 - }, -/obj/effect/turf_decal/box/red, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/ai_monitored/turret_protected/ai_upload) "byO" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 2; @@ -14141,25 +13139,6 @@ luminosity = 2 }, /area/ai_monitored/turret_protected/ai_upload) -"byY" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/light_switch{ - pixel_y = -24 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Checkpoint Post"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/supply) "bza" = ( /obj/machinery/door/window/brigdoor/westright{ dir = 4; @@ -14442,6 +13421,14 @@ /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, /area/maintenance/central) +"bAr" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/security/brig/aft) "bAt" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -14716,23 +13703,25 @@ }, /turf/open/floor/iron/dark, /area/security/checkpoint/supply) -"bBr" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"bBu" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/light, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/obj/machinery/light{ - dir = 1 +/obj/effect/turf_decal/box, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron/showroomfloor, +/area/engine/break_room) "bBv" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -14880,6 +13869,30 @@ /obj/structure/sign/departments/engineering, /turf/closed/wall, /area/storage/primary) +"bCB" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/newscaster{ + pixel_y = -28 + }, +/obj/machinery/recharger, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering Security Post"; + name = "engineering camera" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/engineering) "bCC" = ( /obj/machinery/status_display/ai, /turf/closed/wall/r_wall, @@ -14887,6 +13900,12 @@ "bCD" = ( /turf/closed/wall/r_wall/rust, /area/storage/tech) +"bCE" = ( +/obj/effect/spawner/lootdrop/grille_or_trash, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "bCG" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -14930,6 +13949,14 @@ "bCQ" = ( /turf/closed/wall/r_wall/rust, /area/ai_monitored/storage/eva) +"bCS" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/space/nearstation) "bCT" = ( /obj/effect/turf_decal/bot, /obj/structure/table, @@ -15104,16 +14131,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"bDU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/turf/open/floor/engine, -/area/storage/tech) "bDV" = ( /obj/effect/turf_decal/stripes/end, /obj/effect/decal/cleanable/dirt, @@ -15123,22 +14140,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"bDW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/radio/intercom{ - pixel_x = 28 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Secure Tech Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine, -/area/storage/tech) "bDX" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/command, @@ -15198,6 +14199,34 @@ }, /turf/open/floor/engine, /area/storage/tech) +"bEl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "transittube_ai"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = -24; + pixel_y = -8; + req_access_txt = "19" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Satellite Transit Access"; + name = "satellite camera"; + network = list("minisat") + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/hallway/primary/fore) "bEn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -15258,6 +14287,21 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"bEA" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13", "security") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/prison, +/area/security/prison) "bEC" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "emmd"; @@ -15391,6 +14435,15 @@ /obj/structure/sign/warning/fire, /turf/closed/wall, /area/maintenance/aft) +"bFe" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron, +/area/bridge) "bFf" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -15576,16 +14629,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"bGc" = ( -/obj/structure/chair, -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too."; - health = 45; - maxHealth = 45; - name = "Officer Beepsky" - }, -/turf/open/floor/glass/reinforced, -/area/security/main) "bGd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -15875,6 +14918,17 @@ /obj/structure/disposalpipe/junction, /turf/closed/wall, /area/quartermaster/sorting) +"bHS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "bHV" = ( /turf/closed/wall/rust, /area/storage/tech) @@ -15965,25 +15019,6 @@ /obj/machinery/status_display/shuttle, /turf/closed/wall, /area/storage/tech) -"bIv" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/machinery/camera/directional/west{ - c_tag = "Captain's Tactical Relocation"; - name = "command camera" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer2{ - name = "Atmospherics Cutoff Valve" - }, -/turf/open/floor/plating, -/area/maintenance/central) "bIw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -16053,20 +15088,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/heads/hop) -"bIO" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13", "security") - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "bIQ" = ( /obj/machinery/door/airlock/external{ name = "Supply Dock Airlock"; @@ -16081,40 +15102,9 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/storage) -"bIU" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Tank - O2"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) "bIV" = ( /turf/closed/wall, /area/crew_quarters/locker) -"bIY" = ( -/obj/item/kirbyplants, -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/bridge"; - dir = 8; - name = "Bridge APC"; - pixel_x = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/floor/iron, -/area/bridge) "bJa" = ( /obj/machinery/status_display/ai, /turf/closed/wall, @@ -16202,20 +15192,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/hallway/primary/central) -"bJF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "bJH" = ( /obj/structure/table, /obj/item/paper_bin/construction{ @@ -16271,23 +15247,6 @@ /obj/structure/sign/warning/docking, /turf/closed/wall/rust, /area/space/nearstation) -"bKa" = ( -/obj/structure/dresser, -/obj/machinery/button/door{ - id = "Cabin_1"; - name = "Cabin 1 Privacy Lock"; - normaldoorcontrol = 1; - pixel_y = 24; - specialfunctions = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/locker) "bKd" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, @@ -16374,6 +15333,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/quartermaster/warehouse) +"bKs" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/security/prison) "bKv" = ( /obj/machinery/door/airlock/grunge{ id_tag = "Cabin_2"; @@ -16468,6 +15431,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/crew_quarters/cryopods) +"bKV" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Aft Hallway Engineering Venders"; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/aft) "bKX" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -17025,25 +16004,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/exit/departure_lounge) -"bPh" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/item/radio/intercom{ - pixel_y = 22 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Departures Checkpoint"; - name = "shuttle camera" - }, -/obj/structure/closet/secure_closet/security/cargo, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) "bPi" = ( /obj/machinery/conveyor{ id = "garbage" @@ -17343,6 +16303,13 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/aft) +"bQH" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/security/brig/aft) "bQI" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -17669,29 +16636,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/janitor) -"bSy" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Departures Cargo Dock"; - name = "shuttle camera" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, -/area/docking/arrival{ - lighting_colour_bulb = "#ffdbb4"; - lighting_colour_tube = "#ffce99" - }) "bSz" = ( /obj/machinery/light/small{ dir = 4 @@ -17819,25 +16763,6 @@ /obj/item/clothing/shoes/jackboots, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"bTi" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/recharger, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/item/restraints/handcuffs, -/obj/item/radio{ - pixel_x = 10; - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) "bTj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum/external{ @@ -17968,18 +16893,6 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/hallway/secondary/entry) -"bUe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/sand/plating, -/obj/structure/lattice/catwalk, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - External"; - network = list("ss13", "prison") - }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, -/area/maintenance/port/aft) "bUf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -18248,6 +17161,15 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"bUR" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/holopad, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "bUS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -18723,6 +17645,21 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/aft) +"bYu" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "bYB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -18786,18 +17723,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"bYO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "bYX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18871,6 +17796,23 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"bZM" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "bZO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -19178,16 +18120,6 @@ }, /turf/open/floor/engine/vacuum, /area/science/test_area) -"ccl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/aisat/atmos) "ccn" = ( /obj/structure/sign/warning/explosives, /turf/closed/wall/r_wall, @@ -19537,6 +18469,30 @@ /obj/machinery/telecomms/server/presets/service, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) +"cdP" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/computer_hardware/hard_drive/role/roboticist{ + pixel_x = -3 + }, +/obj/item/computer_hardware/hard_drive/role/signal/toxins{ + pixel_x = 6 + }, +/obj/item/computer_hardware/hard_drive/role/signal/toxins, +/obj/item/computer_hardware/hard_drive/role/signal/toxins, +/obj/item/circuitboard/aicore{ + pixel_y = 5 + }, +/obj/item/hand_labeler, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hor) "cdQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -19962,6 +18918,20 @@ /obj/machinery/telecomms/processor/preset_three, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) +"cfj" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "cfk" = ( /obj/machinery/nuclearbomb/selfdestruct, /turf/open/floor/circuit/green{ @@ -20023,17 +18993,6 @@ name = "mainframe floor" }, /area/tcommsat/server) -"cft" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/camera/directional/south{ - c_tag = "AI Chamber Door"; - name = "core camera"; - network = list("aicore") - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/ai) "cfu" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -20123,6 +19082,21 @@ /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) +"cfH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/red/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/turf/open/floor/iron/showroomfloor, +/area/engine/atmos) "cfK" = ( /obj/machinery/door/window{ base_state = "rightsecure"; @@ -20274,19 +19248,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"cgt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/space_heater, -/turf/open/floor/engine, -/area/tcommsat/computer) "cgu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -20431,13 +19392,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"cgY" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/fore) "chb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -20461,6 +19415,23 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/aft) +"che" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Vault"; + name = "vault camera"; + network = list("vault") + }, +/turf/open/floor/engine, +/area/security/nuke_storage) "chg" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -20821,17 +19792,6 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/aisat/foyer) -"ciu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Satellite Foyer"; - name = "satellite camera"; - network = list("minisat") - }, -/turf/open/floor/engine, -/area/ai_monitored/turret_protected/aisat/foyer) "civ" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -20893,16 +19853,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"ciI" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Satellite External Port"; - name = "exterior camera"; - network = list("minisat"); - start_active = 1 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "ciK" = ( /obj/structure/lattice/catwalk, /obj/structure/transit_tube/crossing, @@ -20922,6 +19872,17 @@ /obj/structure/sign/departments/engineering, /turf/closed/wall, /area/ai_monitored/turret_protected/aisat/foyer) +"ciO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "ciQ" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/rust, @@ -20954,33 +19915,6 @@ }, /turf/open/floor/engine, /area/engine/gravity_generator) -"ciX" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/turretid{ - control_area = "/area/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload turret control"; - pixel_y = -24 - }, -/obj/machinery/camera/motion/directional/west{ - c_tag = "AI Upload Foyer"; - name = "upload camera"; - network = list("aiupload") - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the AI Upload."; - dir = 4; - name = "AI Upload Monitor"; - network = list("aiupload"); - pixel_x = -28 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/ai_monitored/turret_protected/ai_upload) "ciY" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -20997,24 +19931,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/maintenance/fore) -"cje" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1447; - name = "Private AI Channel"; - pixel_y = -28 - }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/ai_monitored/turret_protected/ai_upload) "cjl" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -21159,24 +20075,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/engine, /area/engine/engineering) -"ckc" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/engine/gravity_generator) "cke" = ( /obj/structure/sign/warning, /turf/closed/wall, @@ -21274,29 +20172,6 @@ "cko" = ( /turf/open/floor/plating/airless, /area/space/nearstation) -"ckp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "ckq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -21393,20 +20268,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/aft) -"ckM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron, -/area/bridge) "ckN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -21482,6 +20343,14 @@ lighting_colour_bulb = "#ffdbb4"; lighting_colour_tube = "#ffce99" }) +"cln" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics Tank - Plasma"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/plasma, +/area/engine/atmos) "clq" = ( /obj/item/clothing/mask/breath, /obj/effect/decal/cleanable/dirt, @@ -21664,28 +20533,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"cmb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/south{ - c_tag = "Gravity Generator"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/turf/open/floor/engine, -/area/engine/gravity_generator) -"cmc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/engine, -/area/engine/gravity_generator) "cmd" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -21713,6 +20560,22 @@ /obj/structure/sign/poster/contraband/random, /turf/closed/wall, /area/maintenance/starboard/aft) +"cmj" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "cmk" = ( /obj/structure/grille, /obj/structure/barricade/wooden, @@ -21801,16 +20664,6 @@ /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, /area/engine/gravity_generator) -"cmS" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Satellite External Starboard"; - name = "exterior camera"; - network = list("minisat"); - start_active = 1 - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space/nearstation) "cmU" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, @@ -21825,12 +20678,6 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) -"cmW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "cmX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/atmos{ @@ -21980,15 +20827,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/aft) -"cnJ" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "cnP" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/port/aft) @@ -22064,23 +20902,6 @@ }, /turf/open/floor/iron/dark, /area/engine/break_room) -"cos" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals Drydock Canisters"; - name = "shuttle camera" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, -/area/docking/arrival{ - lighting_colour_bulb = "#ffdbb4"; - lighting_colour_tube = "#ffce99" - }) "cot" = ( /obj/machinery/conveyor{ dir = 4; @@ -22347,29 +21168,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"cpU" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Recovery Room"; - dir = 10; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) "cpY" = ( /obj/item/pickaxe, /turf/open/floor/plating/airless, @@ -22609,13 +21407,6 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"crh" = ( -/obj/structure/sign/poster/contraband/random, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall/rust, -/area/maintenance/starboard/fore) "cri" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -22702,6 +21493,17 @@ lighting_colour_bulb = "#ffdbb4"; lighting_colour_tube = "#ffce99" }) +"crH" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/science/robotics/mechbay) "crJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -22734,17 +21536,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) -"crQ" = ( -/obj/machinery/modular_fabricator/exosuit_fab, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/item/radio/intercom{ - pixel_y = 22 - }, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "crV" = ( /obj/structure/table, /obj/item/wrench, @@ -22753,6 +21544,20 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/engine/break_room) +"crX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "csc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -22982,6 +21787,16 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/maintenance/port) +"cto" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/port/aft) "ctq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -23043,10 +21858,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"ctI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/starboard) "ctJ" = ( /obj/structure/sign/departments/xenobio, /obj/structure/disposalpipe/segment{ @@ -23194,17 +22005,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"cuG" = ( -/obj/machinery/door/poddoor/preopen{ - id = "xeno_blastdoor"; - name = "Xenobiology Containment Blast Door" - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "cuK" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -23222,6 +22022,40 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"cuM" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/filter, +/obj/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stock_parts/subspace/analyzer{ + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; + pixel_x = 6; + pixel_y = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/storage/tcom) "cuN" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/cobweb, @@ -23379,23 +22213,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"cvj" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hydroponics) "cvk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -23421,6 +22238,24 @@ }, /turf/open/floor/engine, /area/engine/engineering) +"cvq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron, +/area/security/brig/aft) "cvr" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -23951,26 +22786,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/maintenance/port/fore) -"cxg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Supermatter Terminal"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/machinery/light_switch{ - pixel_x = -22; - pixel_y = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/engine, -/area/engine/engineering) "cxh" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/structure/cable{ @@ -23991,26 +22806,6 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"cxm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Supermatter Waste Line"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/machinery/button/door{ - id = "engineaccess"; - name = "Engine Access Lockdown"; - pixel_x = 24; - req_one_access_txt = "10" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cxn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -24030,30 +22825,6 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/maintenance/port) -"cxA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Gravity Generator Foyer"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/machinery/button/door{ - id = "gravity"; - name = "Gravity Generator Lockdown"; - pixel_x = -24; - req_one_access_txt = "19;23" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/engine, -/area/engine/gravity_generator) "cxB" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -24075,32 +22846,6 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/maintenance/port) -"cxF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cxG" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/machinery/vending/coffee, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "cxI" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/rust, @@ -24220,6 +22965,28 @@ luminosity = 2 }, /area/engine/supermatter) +"cxX" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/explab) "cxZ" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/window/plasma/reinforced{ @@ -24372,13 +23139,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/chapel/office) -"cyG" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Arrivals Storage"; - name = "shuttle camera" - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) "cyJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -24393,18 +23153,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"cyO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cyP" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, @@ -24832,28 +23580,6 @@ /obj/structure/cable, /turf/open/space/basic, /area/solar/port/aft) -"cAQ" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/item/radio/intercom{ - pixel_y = 22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Quarter Solar"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/aft) "cAR" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -25607,11 +24333,6 @@ /obj/machinery/status_display/evac, /turf/closed/wall/rust, /area/construction/mining/aux_base) -"cDM" = ( -/obj/structure/grille, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "cDQ" = ( /obj/machinery/door/airlock/mining{ name = "Auxiliary Base"; @@ -25692,6 +24413,21 @@ }, /turf/open/floor/plating, /area/maintenance/fore) +"cEu" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "47"; + name = "science aft maintenance access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard) "cEv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -25721,7 +24457,7 @@ name = "Auxiliary Base Shutters Toggle"; pixel_x = -24; pixel_y = 6; - req_one_access_txt = "32;47;48" + req_one_access_txt = "32;47;48;37" }, /obj/structure/girder/displaced, /obj/structure/grille/broken, @@ -25846,22 +24582,28 @@ "cFn" = ( /turf/closed/wall/rust, /area/storage/tcom) -"cFp" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/stock_parts/cell/high, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "cFs" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/solar/port/fore) +"cFx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron, +/area/security/brig) "cFA" = ( /obj/machinery/door/firedoor, /obj/machinery/turnstile{ @@ -26009,27 +24751,6 @@ /obj/structure/sign/warning/securearea, /turf/closed/wall, /area/storage/tcom) -"cGn" = ( -/turf/closed/wall/r_wall, -/area/maintenance/department/science) -"cGo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) -"cGp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/rust, -/area/maintenance/department/science) -"cGq" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall, -/area/maintenance/department/science) "cGr" = ( /obj/structure/sign/warning/fire, /turf/closed/wall, @@ -26071,28 +24792,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/maintenance/fore) -"cGE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/window{ - dir = 8; - name = "Mass Driver"; - req_access_txt = "22" - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/button/massdriver{ - id = "chapelgun"; - name = "Chapel Mass Driver"; - pixel_x = -24; - pixel_y = -24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/chapel/office) "cGG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -26290,20 +24989,6 @@ }, /turf/open/floor/grass, /area/chapel/main) -"cHA" = ( -/obj/machinery/door/poddoor/preopen{ - id = "xeno_blastdoor"; - name = "Xenobiology Containment Blast Door" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "cHC" = ( /obj/docking_port/stationary{ dir = 4; @@ -26344,7 +25029,7 @@ icon_state = "4-8" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "cHH" = ( /obj/structure/cable{ icon_state = "1-2" @@ -26359,6 +25044,20 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) +"cHK" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "cHL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -26393,25 +25092,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"cHU" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins Burn Chamber"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/airalarm/mixingchamber{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/mixing/chamber) "cHV" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/carpet/green, @@ -26537,18 +25217,6 @@ }, /turf/open/floor/carpet/green, /area/library) -"cIq" = ( -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/effect/turf_decal/bot, -/obj/machinery/status_display/evac{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/ecto_sniffer, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "cIr" = ( /obj/effect/turf_decal/box, /obj/machinery/shower{ @@ -26604,21 +25272,6 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain) -"cIu" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Captain's Office"; - name = "command camera" - }, -/obj/structure/chair/fancy/comfy{ - buildstackamount = 0; - color = "#c45c57"; - dir = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/crew_quarters/heads/captain) "cIw" = ( /obj/structure/chair/fancy/comfy{ buildstackamount = 0; @@ -26832,24 +25485,44 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/plating, /area/hallway/secondary/exit/departure_lounge) -"cJn" = ( -/obj/machinery/conveyor{ +"cJh" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4; - id = "garbage"; - name = "trash belt" + color = "#439C1E" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/camera/directional/north{ + c_tag = "Virology - Testing pens"; + name = "virology camera"; + network = list("ss13","medbay") }, -/obj/machinery/camera/directional/south{ - c_tag = "Trash Chute"; - name = "service camera" +/obj/item/food/cheese/wheel{ + pixel_x = 18 }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/item/food/cheese/wheel{ + pixel_y = -4; + pixel_x = 17 }, -/turf/open/floor/iron/dark, -/area/janitor) +/turf/open/floor/iron/freezer, +/area/medical/virology) +"cJo" = ( +/obj/machinery/power/compressor{ + comp_id = "incineratorturbine"; + dir = 1; + luminosity = 2 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Turbine Chamber"; + network = list("turbine") + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) "cJr" = ( /turf/closed/wall/r_wall, /area/security/execution/education) @@ -27101,19 +25774,6 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) -"cKY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/engine, -/area/engine/engineering) "cKZ" = ( /obj/effect/turf_decal/bot, /obj/structure/reagent_dispensers/watertank, @@ -27221,20 +25881,6 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"cLy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Supermatter Engine"; - name = "supermatter camera"; - network = list("engine") - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/supermatter) "cLz" = ( /obj/machinery/power/rad_collector/anchored, /obj/structure/window/plasma/reinforced{ @@ -27270,21 +25916,6 @@ }, /turf/open/space/basic, /area/solar/port/aft) -"cLH" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Aft Hallway Transfer Centre Doors"; - name = "aft camera" - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "cLJ" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -27777,22 +26408,6 @@ /obj/structure/cable, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"cNN" = ( -/obj/machinery/power/compressor{ - comp_id = "incineratorturbine"; - dir = 1; - luminosity = 2 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Turbine Chamber"; - network = list("turbine") - }, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) "cNO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -27997,6 +26612,21 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"cOA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "cOF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -28303,17 +26933,17 @@ /obj/item/stack/cable_coil/red, /turf/open/floor/plating/asteroid/airless, /area/space/nearstation) -"cPS" = ( -/obj/effect/spawner/randomvend/snack, +"cPT" = ( /obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 + dir = 8 + }, +/obj/structure/closet/secure_closet/evidence{ + density = 0; + opened = 1 }, /turf/open/floor/iron/dark, -/area/hallway/primary/fore) +/area/security/brig/aft) "cPW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -28422,20 +27052,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) -"cRM" = ( -/obj/machinery/vending/wardrobe/jani_wardrobe, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Custodial Closet"; - name = "service camera" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/janitor) "cRQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -28451,7 +27067,31 @@ }, /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"cRU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13", "security") + }, +/turf/open/floor/iron, +/area/security/brig/aft) "cRX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -28480,6 +27120,17 @@ broken = 1 }, /area/maintenance/port/aft) +"cTg" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "cTk" = ( /obj/structure/rack, /obj/item/crowbar/red, @@ -28519,6 +27170,20 @@ }, /turf/open/floor/iron, /area/hydroponics) +"cTx" = ( +/obj/item/kirbyplants{ + icon_state = "plant-22" + }, +/obj/machinery/light, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/chapel/main) "cTz" = ( /obj/structure/chair/fancy/comfy{ color = "#c6ae0f"; @@ -28569,6 +27234,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/ai_monitored/security/armory) +"cTX" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/closet{ + name = "Evidence Closet" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "cUd" = ( /obj/effect/turf_decal/delivery, /obj/structure/reagent_dispensers/fueltank, @@ -28623,13 +27299,20 @@ burnt = 1 }, /area/maintenance/fore) +"cVq" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/closet/secure_closet/evidence, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "cVZ" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "cWc" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -28657,33 +27340,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/security/brig) -"cWx" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/closet/secure_closet/bar{ - req_access_txt = "25" - }, -/obj/item/flashlight/lantern, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Bar Storage"; - name = "bar camera" - }, -/obj/structure/mirror{ - pixel_y = -32 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "cWK" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -28696,13 +27352,22 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"cWX" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +"cWP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber SMES"; + name = "core camera"; + network = list("aicore") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) "cWY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -28727,17 +27392,6 @@ }, /turf/open/floor/iron/dark, /area/security/checkpoint/science/research) -"cXl" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "forestarboard"; - name = "Fore-Starboard Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/fore) "cXv" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -28835,6 +27489,18 @@ }, /turf/open/floor/iron/dark, /area/medical/chemistry) +"cYC" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/newscaster{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "cYF" = ( /obj/vehicle/ridden/janicart, /obj/item/key/janitor, @@ -28954,12 +27620,6 @@ }, /turf/open/floor/iron/dark, /area/medical/chemistry) -"dbh" = ( -/obj/machinery/status_display/evac, -/turf/closed/wall/r_wall, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "dbD" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -29067,7 +27727,7 @@ icon_state = "2-4" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "dcE" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -29201,6 +27861,32 @@ }, /turf/open/floor/iron, /area/security/courtroom) +"deV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + name = "Genetics Lab APC" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/landmark/start/geneticist, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/genetics) "dfb" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner, @@ -29306,6 +27992,9 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/port) +"dgh" = ( +/turf/closed/wall/rust, +/area/security/brig/aft) "dgD" = ( /obj/structure/closet/secure_closet/atmospherics, /obj/effect/turf_decal/delivery, @@ -29386,16 +28075,21 @@ burnt = 1 }, /area/maintenance/port/aft) -"djC" = ( +"djE" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/door/airlock/maintenance/external{ - name = "construction zone"; - req_access_txt = "12;37" +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron/dark, -/area/construction/mining/aux_base) +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "dkc" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ color = "#439C1E" @@ -29507,18 +28201,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/warehouse) -"dmv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "dmB" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -29556,18 +28238,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"dmV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "dnb" = ( /obj/effect/landmark/start/bartender, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -29642,6 +28312,16 @@ /obj/effect/turf_decal/siding/wideplating_new, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) +"doJ" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "doR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -29680,6 +28360,11 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) +"dpE" = ( +/obj/structure/chair, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/glass/reinforced, +/area/security/brig) "dpG" = ( /obj/effect/spawner/room/threexfive, /obj/effect/decal/cleanable/dirt, @@ -29750,49 +28435,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/quartermaster/exploration_dock) -"dqq" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1; - color = "#439C1E" - }, -/obj/machinery/camera{ - c_tag = "Virology - Testing pens"; - name = "virology camera"; - network = list("ss13","medbay"); - dir = 10 - }, -/obj/structure/table/glass, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) -"dqr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/table, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil/red, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/quartermaster/exploration_prep) "dqE" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door{ @@ -29849,6 +28491,28 @@ /obj/effect/spawner/mail/maintloot, /turf/open/floor/plating, /area/maintenance/port/aft) +"drm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "drH" = ( /obj/structure/table/wood, /obj/effect/turf_decal/stripes/corner, @@ -29932,7 +28596,7 @@ /obj/item/lighter, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "dta" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -29976,41 +28640,7 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/item/crowbar/red, /turf/open/floor/iron, -/area/security/main) -"dtF" = ( -/obj/item/book/manual/wiki/xenoarchaeology{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/structure/table, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/explab) -"dtS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Auxiliary Base Construction"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/construction/mining/aux_base) +/area/security/brig) "duf" = ( /obj/structure/closet/l3closet/janitor, /obj/structure/window/reinforced, @@ -30023,24 +28653,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/janitor) -"dur" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "duO" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/stripes/line{ @@ -30057,6 +28669,28 @@ }, /turf/open/floor/iron, /area/ai_monitored/storage/eva) +"duP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/window{ + dir = 8; + name = "Mass Driver"; + req_access_txt = "22" + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/button/massdriver{ + id = "chapelgun"; + name = "Chapel Mass Driver"; + pixel_x = -24; + pixel_y = -24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/chapel/office) "dvi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -30078,6 +28712,38 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron, /area/hallway/primary/aft) +"dvQ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/machinery/button/door{ + id = "explorerstorage"; + name = "Storage Shutter Toggle"; + pixel_x = 6; + pixel_y = 2; + req_access_txt = "49" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/quartermaster/exploration_prep) "dwp" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -30234,6 +28900,20 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) +"dzo" = ( +/obj/machinery/vending/wardrobe/jani_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Custodial Closet"; + name = "service camera" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/janitor) "dzI" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30323,6 +29003,17 @@ burnt = 1 }, /area/maintenance/starboard) +"dAP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/pen, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/turf/open/floor/iron/dark, +/area/science/aft) "dBa" = ( /obj/machinery/light{ dir = 4 @@ -30404,6 +29095,28 @@ }, /turf/open/floor/iron, /area/hydroponics) +"dCr" = ( +/turf/closed/wall/r_wall, +/area/science/aft) +"dCv" = ( +/obj/structure/bed, +/obj/machinery/button/door{ + id = "Cabin_3"; + name = "Cabin 3 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/landmark/start/assistant, +/obj/item/bedsheet/dorms, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/locker) "dCC" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, @@ -30427,6 +29140,14 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"dDd" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics Tank - N2O"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/n2o, +/area/engine/atmos) "dDr" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -30445,22 +29166,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) -"dDC" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "dDP" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -30480,22 +29185,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) -"dDW" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet{ - name = "Evidence Closet" - }, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13", "security") - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "dDY" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating{ @@ -30538,6 +29227,20 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/kitchen) +"dEt" = ( +/obj/item/book/manual/wiki/xenoarchaeology{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/structure/table, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/explab) "dEu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -30646,6 +29349,16 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/quartermaster/sorting) +"dGc" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/security/brig/aft) "dGi" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -28 @@ -30695,6 +29408,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"dGK" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/space/nearstation) "dHf" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 @@ -30780,6 +29504,34 @@ dir = 1 }, /area/hallway/primary/fore) +"dJx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/landmark/start/exploration, +/obj/structure/bed/dogbed, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/quartermaster/exploration_prep) +"dJH" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "dJK" = ( /obj/effect/turf_decal/delivery, /obj/machinery/vending/assist, @@ -30812,6 +29564,17 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/primary/starboard) +"dKA" = ( +/obj/machinery/modular_fabricator/exosuit_fab, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "dKE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -30847,19 +29610,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) -"dLJ" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/structure/closet/secure_closet/evidence{ - density = 0; - opened = 1 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "dLL" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -30911,22 +29661,6 @@ burnt = 1 }, /area/maintenance/starboard/aft) -"dMY" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1; - color = "#439C1E" - }, -/obj/machinery/power/apc/auto_name/directional/north{ - name = "Virology Lab APC" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/freezer, -/area/medical/virology) "dNb" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -30965,6 +29699,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/crew_quarters/bar/atrium) +"dNN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/science/xenobiology) "dNV" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -30997,32 +29739,6 @@ broken = 1 }, /area/maintenance/starboard) -"dOi" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom{ - pixel_y = 22 - }, -/obj/item/circuitboard/machine/telecomms/bus{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/item/stock_parts/subspace/treatment, -/obj/machinery/camera/directional/north{ - c_tag = "Telecomms Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/storage/tcom) "dOw" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/crate/engineering, @@ -31115,16 +29831,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/gateway) -"dQY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/east{ - c_tag = "Starboard Hallway Hydroponics Counter"; - name = "starboard camera" - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/effect/turf_decal/tile/yellow, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "dRs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/vacuum/external{ @@ -31145,6 +29851,17 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/security/brig) +"dRx" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Cell 1"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "dRC" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -31152,6 +29869,21 @@ /obj/item/kirbyplants/random, /turf/open/floor/prison, /area/security/prison) +"dRE" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Recreation Lockers"; + name = "recreation camera" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/fitness/recreation) "dRO" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -31172,6 +29904,18 @@ /obj/effect/turf_decal/box, /turf/open/floor/circuit/green/telecomms/mainframe, /area/quartermaster/exploration_prep) +"dRY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "dSf" = ( /obj/machinery/firealarm{ pixel_y = 28 @@ -31204,6 +29948,23 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/starboard) +"dSJ" = ( +/obj/structure/flora/grass/jungle, +/obj/structure/flora/ausbushes/brflowers, +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/mob/living/simple_animal/chicken{ + desc = "The arch-nemesis of Kentucky."; + name = "Popeye"; + real_name = "Featherbottom" + }, +/turf/open/floor/grass, +/area/hydroponics) "dSM" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/effect/turf_decal/tile/neutral, @@ -31222,40 +29983,6 @@ }, /turf/open/floor/iron/dark, /area/storage/tech) -"dSW" = ( -/obj/structure/table/glass, -/obj/item/seeds/random{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/seeds/wheat{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/seeds/sugarcane{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/seeds/potato{ - pixel_x = -1; - pixel_y = 1 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/toy/figure/botanist{ - pixel_x = 8 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Hydroponics"; - name = "hydroponics camera" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/hydroponics) "dTj" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -31314,10 +30041,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"dTP" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/glass/reinforced, -/area/medical/medbay/lobby) "dUk" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -31333,6 +30056,31 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"dUm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "dUn" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8; @@ -31420,6 +30168,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"dVZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/fun_police{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/machinery/space_heater, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light, +/turf/open/floor/iron/dark, +/area/security/execution/education) "dWn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -31442,6 +30209,23 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"dWA" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/light, +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals Drydock Canisters"; + name = "shuttle camera" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/docking/arrival{ + lighting_colour_bulb = "#ffdbb4"; + lighting_colour_tube = "#ffce99" + }) "dWK" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/yellow{ @@ -31451,25 +30235,6 @@ luminosity = 2 }, /area/quartermaster/warehouse) -"dWS" = ( -/obj/structure/closet/secure_closet/RD, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 28 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Director's Office"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hor) "dXe" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 @@ -31509,30 +30274,6 @@ broken = 1 }, /area/maintenance/starboard) -"dXZ" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/newscaster{ - pixel_y = -28 - }, -/obj/machinery/recharger, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering Security Post"; - name = "engineering camera" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/engineering) "dYb" = ( /obj/machinery/firealarm{ dir = 1; @@ -31573,36 +30314,23 @@ broken = 1 }, /area/maintenance/starboard/fore) -"dYw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +"dYV" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"dYx" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/supply) "dZd" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -31649,6 +30377,41 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) +"dZl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron, +/area/bridge) +"dZz" = ( +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/heads/hos"; + dir = 1; + name = "Head of Security's Office APC"; + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/camera/directional/north{ + network = list("ss13", "security") + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "dZN" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/corner{ @@ -31699,6 +30462,20 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"dZX" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) "dZZ" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/maintenance{ @@ -31706,7 +30483,7 @@ name = "Brig closet" }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "eah" = ( /obj/effect/turf_decal/bot, /obj/machinery/conveyor{ @@ -31878,6 +30655,16 @@ }, /turf/open/floor/iron/freezer, /area/medical/virology) +"ecC" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "ecN" = ( /obj/structure/closet/secure_closet/security/engine, /obj/effect/turf_decal/delivery, @@ -31951,27 +30738,11 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"edz" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-08" - }, -/obj/machinery/status_display/evac{ - pixel_x = 32 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, +"edK" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) +/area/science/robotics/lab) "edS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -32033,6 +30804,18 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/chapel/office) +"eei" = ( +/obj/machinery/flasher/portable, +/obj/machinery/camera/motion/directional/east{ + c_tag = "Armory Internal"; + network = list("ss13", "security") + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/security/armory) "eeq" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 1 @@ -32116,7 +30899,7 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "efg" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -32137,14 +30920,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) -"efh" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/caution/stand_clear, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "efr" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -32200,23 +30975,26 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"egq" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/folder/yellow, -/obj/item/dest_tagger, -/obj/item/dest_tagger, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 +"egA" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Tank - Air"; + name = "atmospherics camera"; + network = list("ss13","engine") }, -/obj/machinery/light{ - dir = 1 +/turf/open/floor/engine/air, +/area/engine/atmos) +"egK" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/south{ + c_tag = "Departures Cargo Dock"; + name = "shuttle camera" }, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 + dir = 4 }, /turf/open/floor/iron/dark, -/area/quartermaster/sorting) +/area/hallway/secondary/exit/departure_lounge) "ehc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -32236,6 +31014,16 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"ehm" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/security/brig/aft) "ehp" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -32353,7 +31141,7 @@ pixel_y = 5 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "ejm" = ( /obj/effect/turf_decal/bot, /obj/machinery/button/door{ @@ -32476,6 +31264,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/maintenance/port) +"ekW" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "ekY" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/yellow{ @@ -32501,12 +31297,6 @@ }, /turf/open/space/basic, /area/solar/starboard/fore) -"eln" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard/fore) "elv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/sand/plating, @@ -32515,6 +31305,20 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/maintenance/port/aft) +"elK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "emc" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/decal/cleanable/cobweb, @@ -32523,6 +31327,10 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/shuttledock) +"emi" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/rust, +/area/science/aft) "emm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -32741,6 +31549,23 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/showroomfloor, /area/science/explab) +"epX" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Starboard Hallway Departure Checkpoint"; + name = "starboard camera" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "eqg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -32816,6 +31641,32 @@ }, /turf/open/floor/wood, /area/security/prison) +"erN" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Aft Hallway Security Doors"; + name = "aft camera" + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "erZ" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -32861,25 +31712,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/kitchen) -"ete" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/bridge) "etk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -32908,6 +31740,26 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) +"etR" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "etV" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants{ @@ -32953,7 +31805,7 @@ pixel_y = 2 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "eut" = ( /obj/structure/disposalpipe/segment, /obj/machinery/navbeacon{ @@ -33065,6 +31917,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"evn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Operating Theatre"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 24 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "evG" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -33074,60 +31943,36 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/construction/mining/aux_base) -"ewe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ewg" = ( /obj/structure/sign/warning/securearea{ name = "WARNING: Station Limits" }, /turf/closed/wall, /area/quartermaster/warehouse) -"ewC" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/washing_machine, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom{ - pixel_y = 22 +"ewh" = ( +/obj/effect/landmark/start/clown, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, /turf/open/floor/iron/showroomfloor, -/area/crew_quarters/toilet/restrooms) -"exd" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/power/apc{ - areastring = "/area/science/explab"; - dir = 1; - name = "Experimentation Lab APC"; - pixel_y = 24 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/area/crew_quarters/theatre) +"ewi" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/item/trash/can{ + pixel_x = 10; + pixel_y = 17 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, -/area/science/explab) +/area/science/aft) "exh" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -33215,7 +32060,16 @@ /obj/item/clothing/glasses/blindfold, /obj/item/clothing/mask/muzzle, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) +"eyM" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "eyO" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -33297,31 +32151,54 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) +"eAH" = ( +/obj/machinery/requests_console{ + department = "AI"; + departmentType = 5; + name = "AI RC"; + pixel_x = 30; + pixel_y = -30 + }, +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_x = 24; + pixel_y = 24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "AI Chamber Core"; + name = "core camera"; + network = list("aicore") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) "eAT" = ( /turf/closed/wall/r_wall/rust, /area/security/execution/transfer) -"eAZ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +"eBY" = ( +/obj/item/kirbyplants{ + icon_state = "plant-05" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ - dir = 10 +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 +/obj/item/paper/monitorkey, +/obj/machinery/camera/directional/east{ + c_tag = "Chief Engineer's Office"; + name = "engineering camera"; + network = list("ss13","engine") }, -/turf/open/floor/plating{ - broken = 1 +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 }, -/area/maintenance/starboard) +/obj/effect/turf_decal/tile/red/opposingcorners, +/turf/open/floor/iron, +/area/crew_quarters/heads/chief) "eCb" = ( /obj/structure/chair{ dir = 1 @@ -33344,61 +32221,18 @@ /obj/machinery/modular_fabricator/autolathe, /turf/open/floor/iron/dark, /area/science/lab) -"eCp" = ( -/obj/structure/rack, +"eCH" = ( /obj/effect/turf_decal/bot, -/obj/item/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/item/storage/firstaid/regular{ - empty = 1; - name = "First-Aid (empty)" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Robotics Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/power/apc{ - areastring = "/area/science/robotics/lab"; - dir = 1; - name = "Robotics Lab APC"; - pixel_y = 24 - }, -/obj/item/stack/package_wrap, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/obj/item/healthanalyzer, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) -"eCY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/structure/closet/secure_closet/evidence, +/obj/item/folder/red{ + name = "Sinister Red Folder"; + desc = "Who knows what secrets are contained in here?" }, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) +/turf/open/floor/iron/dark, +/area/security/brig/aft) "eDh" = ( /obj/structure/chair/fancy/bench/pew/right{ dir = 8 @@ -33414,20 +32248,6 @@ }, /turf/open/floor/iron/dark, /area/security/courtroom) -"eDv" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Central Hallway Personnel Queue"; - name = "central camera" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/central) "eDw" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -33566,6 +32386,17 @@ broken = 1 }, /area/maintenance/port) +"eGj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "eGw" = ( /obj/machinery/status_display/ai{ pixel_x = 32 @@ -33626,44 +32457,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/quartermaster/qm) -"eHY" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/stamp{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/pen, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/power/apc{ - areastring = "/area/quartermaster/office"; - dir = 4; - name = "Cargo Office APC"; - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo Office"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/office) "eIf" = ( /obj/structure/destructible/cult/tome/library, /obj/effect/decal/cleanable/cobweb, @@ -33782,20 +32575,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"eJq" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/techstorage/engineering, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/south{ - c_tag = "Tech Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/storage/tech) "eJv" = ( /obj/effect/turf_decal/stripes/openup{ dir = 9 @@ -33812,28 +32591,21 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/security/brig) -"eJx" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/directional/east{ - c_tag = "Transferring Centre" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/execution/transfer) "eJI" = ( /obj/machinery/status_display/evac, /turf/closed/wall/r_wall, /area/medical/virology) +"eJO" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "eJW" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -33949,24 +32721,6 @@ broken = 1 }, /area/maintenance/starboard) -"eMs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/sign/departments/security{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "eMz" = ( /obj/effect/turf_decal/loading_area{ dir = 4 @@ -34028,26 +32782,30 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/heads/captain) -"eNe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/fireaxecabinet{ - pixel_y = 28 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Scrubbers"; - name = "atmospherics camera"; - network = list("ss13","engine") +"eMU" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13", "prison") }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/iron, -/area/engine/atmos) +/obj/item/radio/intercom{ + freerange = 1; + name = "Prison intercom"; + desc = "Talk through this. It looks like it has been modified to not broadcast."; + prison_radio = 1; + pixel_y = -25 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/prison, +/area/security/prison) +"eMX" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/r_wall, +/area/security/brig/aft) "eNr" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/landmark/prisonspawn, @@ -34091,23 +32849,6 @@ broken = 1 }, /area/maintenance/port) -"eNG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins Mixers"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/mixing) "eNL" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -34262,31 +33003,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"eQB" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - dir = 8; - freq = 1400; - location = "QM #2" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/mob/living/simple_animal/bot/mulebot{ - home_destination = "QM #2"; - suffix = "#2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/storage) "eQP" = ( /obj/effect/spawner/lootdrop/glowstick, /obj/effect/turf_decal/stripes/corner{ @@ -34303,7 +33019,7 @@ }, /obj/effect/turf_decal/siding/white, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "eRs" = ( /obj/machinery/firealarm{ dir = 1; @@ -34420,53 +33136,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/aft) -"eTb" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"eTq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "eTx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -34495,23 +33164,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) -"eUa" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Medical Security Post"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/closet/secure_closet/security/med, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/crowbar, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "eUe" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -34550,7 +33202,7 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/machinery/fax/sec, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "eVs" = ( /obj/structure/window/reinforced{ dir = 8 @@ -34595,16 +33247,16 @@ burnt = 1 }, /area/maintenance/starboard/fore) -"eVS" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/table/optable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 +"eVQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, -/area/security/execution/education) +/area/security/brig/aft) "eWq" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -34670,21 +33322,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"eWW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "eXp" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8; @@ -34714,6 +33351,20 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/port) +"eXN" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/bridge) "eXR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -34792,23 +33443,6 @@ /obj/effect/mapping_helpers/atmos_auto_connect, /turf/open/floor/iron/dark, /area/tcommsat/computer) -"eYA" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/siding/white/corner, -/turf/open/floor/iron, -/area/bridge) "eYR" = ( /obj/structure/chair/office/light{ dir = 8 @@ -34838,12 +33472,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"eZc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "eZv" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Lockers"; @@ -34878,6 +33506,19 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"fbn" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "fbp" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 @@ -34890,22 +33531,20 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/cryo) -"fbV" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Starboard Hallway Kitchen Counter"; - name = "starboard camera" - }, -/obj/structure/sign/directions/evac{ +"fcg" = ( +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/directional/north{ pixel_y = 24 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, -/area/hallway/primary/starboard) +/area/engine/atmos) "fch" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -34937,6 +33576,15 @@ /obj/effect/spawner/lootdrop/maintenance/two, /turf/open/floor/plating, /area/maintenance/port) +"fcE" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Recovery Room"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/machinery/chem_master, +/turf/open/floor/iron/dark, +/area/medical/virology) "fcM" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -34974,6 +33622,51 @@ broken = 1 }, /area/quartermaster/warehouse) +"fdl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) +"fdw" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "fdJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -35138,18 +33831,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"ffV" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "fgj" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/landmark/event_spawn, @@ -35253,6 +33934,14 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/miningoffice) +"fhg" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology Test Chamber"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/science/xenobiology) "fhm" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -35276,15 +33965,6 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"fhE" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron, -/area/bridge) "fhM" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/yellow/visible{ @@ -35308,6 +33988,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/engine/atmos) +"fij" = ( +/obj/structure/table/wood, +/obj/item/storage/secure/briefcase{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/lockbox/medal, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/captain) "fir" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -35387,20 +34082,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/break_room) -"fjz" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron, -/area/security/prison) "fjE" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -35448,6 +34129,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/security/execution/transfer) +"fku" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/airlock/maintenance/external{ + name = "construction zone"; + req_access_txt = "32;47;48;37" + }, +/turf/open/floor/iron/dark, +/area/construction/mining/aux_base) "fkE" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -35500,32 +34191,6 @@ /obj/item/book/manual/wiki/sopengineering, /turf/open/floor/iron/dark, /area/crew_quarters/heads/chief) -"flf" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/item/radio/intercom{ - pixel_y = 27 - }, -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/sillycup{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/sillycup, -/obj/item/reagent_containers/food/drinks/bottle/vodka{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "fll" = ( /obj/item/radio/intercom{ pixel_y = -28 @@ -35547,7 +34212,7 @@ icon_state = "4-8" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "flv" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -35557,6 +34222,19 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) +"flQ" = ( +/obj/machinery/rnd/production/protolathe/department/science, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/east{ + c_tag = "Research Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron/dark, +/area/science/lab) "flU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -35680,6 +34358,22 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"foC" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/iron/dark, +/area/security/execution/transfer) "foN" = ( /obj/item/radio/intercom{ pixel_y = 22 @@ -35691,6 +34385,20 @@ /obj/machinery/vending/medical, /turf/open/floor/iron/freezer, /area/medical/virology) +"foR" = ( +/obj/structure/table, +/obj/item/aicard, +/obj/item/aiModule/reset, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/storage/tech) "fps" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, @@ -35715,17 +34423,14 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"fpM" = ( -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"fpR" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Tank - N2"; + name = "atmospherics camera"; + network = list("ss13","engine") }, -/turf/open/floor/iron/dark, -/area/engine/engineering) +/turf/open/floor/engine/n2, +/area/engine/atmos) "fpS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -35745,34 +34450,21 @@ /obj/item/survivalcapsule/capsule_checkpoint, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) -"fqe" = ( +"fqp" = ( /obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/secure_closet/evidence, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"fqz" = ( /obj/structure/table, -/obj/item/storage/briefcase, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, +/obj/item/clipboard, +/obj/item/folder/red, +/obj/item/pen/blue, /turf/open/floor/iron/dark, -/area/security/courtroom) +/area/security/brig/aft) "fqB" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/item/paper_bin, /obj/item/pen, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "fqQ" = ( /obj/structure/chair/wood{ dir = 4 @@ -35794,11 +34486,55 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"frj" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "frQ" = ( /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/warehouse) +"fsb" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/item/storage/toolbox/emergency{ + pixel_y = 4 + }, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/east{ + c_tag = "Vacant Commissary"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/vacant_room/commissary) "fsl" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -35831,6 +34567,20 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/hallway/secondary/entry) +"fsM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "fto" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable/yellow{ @@ -35927,6 +34677,44 @@ broken = 1 }, /area/maintenance/fore) +"fuA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "47" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) +"fuH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Supermatter Terminal"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/light_switch{ + pixel_x = -22; + pixel_y = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/engine, +/area/engine/engineering) "fuR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -36019,6 +34807,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/heads/cmo) +"fvF" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Locker Room"; + name = "recreation camera" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/crew_quarters/locker) "fvP" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -36048,23 +34849,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/fore) -"fvX" = ( -/obj/structure/table, -/obj/item/storage/box/deputy, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -30 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13", "security") - }, -/turf/open/floor/iron/dark, -/area/security/warden) "fvY" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -36074,23 +34858,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/primary/starboard) -"fwi" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/conveyor{ - dir = 4; - id = "packageSort2"; - name = "mail belt" - }, -/obj/machinery/camera/directional/south{ - c_tag = "Delivery Office"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/sorting) "fwE" = ( /obj/structure/table/optable, /obj/effect/turf_decal/box, @@ -36113,18 +34880,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"fwK" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "fxs" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -36139,11 +34894,6 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"fxu" = ( -/turf/closed/wall/rust, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "fxH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -36228,32 +34978,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/sorting) -"fyG" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/button/massdriver{ - id = "toxinsdriver"; - pixel_x = 24; - pixel_y = -24 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the test chamber."; - dir = 8; - layer = 4; - name = "Test Chamber Telescreen"; - network = list("toxins"); - pixel_x = 30 - }, -/obj/machinery/light/small, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/mixing) "fyO" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -36297,25 +35021,20 @@ /obj/effect/turf_decal/tile/dark_green/opposingcorners, /turf/open/floor/iron/freezer, /area/medical/virology) -"fzv" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 +"fzp" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Entrance"; + name = "atmospherics camera"; + network = list("ss13","engine") }, -/obj/effect/turf_decal/tile/green{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/showroomfloor, -/area/quartermaster/exploration_prep) +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron, +/area/engine/atmos) "fzF" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 @@ -36435,18 +35154,7 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, -/area/security/main) -"fBr" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/security/brig) "fBJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36517,6 +35225,19 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/security/detectives_office) +"fCn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/space_heater, +/turf/open/floor/engine, +/area/tcommsat/computer) "fCo" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -36650,6 +35371,17 @@ }, /turf/open/floor/iron/dark, /area/security/detectives_office) +"fFk" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "fFm" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36661,6 +35393,24 @@ burnt = 1 }, /area/maintenance/port/aft) +"fFq" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/holopad{ + pixel_y = -16 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "fFO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36688,25 +35438,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/engine/atmos) -"fGa" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics Aft Tanks"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "fGu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -36752,21 +35483,25 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) -"fGZ" = ( -/obj/machinery/computer/med_data{ - dir = 4 - }, +"fGT" = ( +/obj/machinery/vendor/mining, /obj/effect/turf_decal/bot, -/obj/machinery/newscaster{ - pixel_x = -30 +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, -/obj/machinery/camera/directional/west{ - c_tag = "Traffic Control"; - name = "shuttle camera" +/obj/machinery/status_display/supply{ + pixel_y = -32 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Mining Dock"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) +/area/quartermaster/miningoffice) "fHc" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 4 @@ -36842,6 +35577,17 @@ burnt = 1 }, /area/science/shuttledock) +"fHV" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/machinery/camera/directional/west{ + c_tag = "Teleporter Access"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/teleporter) "fIe" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -36909,6 +35655,22 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) +"fJr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Satellite Maintenance"; + name = "satellite camera"; + network = list("minisat") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/engine, +/area/ai_monitored/storage/satellite) "fJz" = ( /obj/effect/turf_decal/box, /obj/structure/cable/yellow{ @@ -37064,7 +35826,7 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "fMu" = ( /obj/machinery/door/airlock{ id_tag = "Cell"; @@ -37294,6 +36056,23 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) +"fPh" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/noticeboard{ + dir = 8; + pixel_x = 32 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Detective's Office"; + name = "detective camera" + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/security/detectives_office) "fPs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -37301,17 +36080,26 @@ burnt = 1 }, /area/maintenance/port/aft) -"fPS" = ( -/obj/machinery/vending/assist, -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 +"fPx" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/megaphone{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 + dir = 8 }, /turf/open/floor/iron/dark, -/area/storage/primary) +/area/crew_quarters/fitness/recreation) "fPV" = ( /turf/closed/wall, /area/maintenance/solars/starboard/fore) @@ -37349,18 +36137,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"fQK" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet{ - name = "Evidence Closet" - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "fQS" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -37370,6 +36146,41 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/central) +"fRC" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) +"fRD" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad"; + name = "off ramp" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Ramps"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/storage) "fRL" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -37420,14 +36231,6 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison) -"fSH" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/iron/techmaint, -/area/security/prison/shielded) "fSV" = ( /obj/machinery/computer/security/mining, /obj/effect/turf_decal/tile/neutral{ @@ -37556,22 +36359,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"fUM" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/kitchen) "fVc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/office{ @@ -37601,6 +36388,19 @@ }, /turf/open/floor/iron/dark, /area/security/main) +"fVR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard) "fWg" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -37654,6 +36454,15 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/genetics) +"fWI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) "fWQ" = ( /obj/structure/sign/poster/official/random{ pixel_x = -32 @@ -37722,6 +36531,17 @@ /area/security/prison{ name = "Prison Dorms" }) +"fXx" = ( +/obj/machinery/vending/tool, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "fYi" = ( /obj/machinery/light_switch{ pixel_x = 24; @@ -37737,6 +36557,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/genetics/cloning) +"fYn" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/general/hidden, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) "fYr" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall, @@ -37809,19 +36642,65 @@ burnt = 1 }, /area/maintenance/solars/starboard/fore) -"fZK" = ( +"fZv" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Fore Hallway Diner"; + name = "fore camera" + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) +"fZD" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /obj/machinery/camera/directional/west{ - c_tag = "Starboard Hallway Planters"; - name = "starboard camera" + c_tag = "Departures Cargo Dock"; + name = "shuttle camera" }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) +/area/docking/arrival{ + lighting_colour_bulb = "#ffdbb4"; + lighting_colour_tube = "#ffce99" + }) +"fZO" = ( +/obj/machinery/power/apc{ + areastring = "/area/science/research"; + name = "Research Division APC"; + pixel_y = -24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Research Division"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/research) "fZS" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/bot_white, @@ -37872,17 +36751,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"gax" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/computer/nanite_chamber_control, -/obj/machinery/camera/directional/north{ - c_tag = "Nanite Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/science/research) "gaX" = ( /obj/machinery/computer/station_alert{ dir = 8 @@ -37982,6 +36850,18 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/hallway/primary/starboard) +"gcA" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics Desk"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/engine/break_room) "gcE" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, @@ -38042,21 +36922,6 @@ broken = 1 }, /area/maintenance/aft) -"gdP" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "gdU" = ( /obj/structure/sign/warning, /turf/closed/wall, @@ -38111,19 +36976,6 @@ /obj/structure/sign/warning/securearea, /turf/closed/wall/r_wall, /area/security/execution/transfer) -"gfH" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Locker Room"; - name = "recreation camera" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/crew_quarters/locker) "gfK" = ( /obj/machinery/firealarm{ dir = 4; @@ -38231,25 +37083,6 @@ broken = 1 }, /area/maintenance/starboard) -"ghe" = ( -/obj/structure/closet/secure_closet/personal{ - name = "Command Locker" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) "ghD" = ( /obj/structure/table/wood, /obj/structure/reagent_dispensers/beerkeg{ @@ -38276,6 +37109,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/break_room) +"gio" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Cell 4"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "giB" = ( /obj/structure/mopbucket, /obj/item/reagent_containers/glass/bucket, @@ -38285,7 +37129,14 @@ pixel_x = -32 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) +"gjd" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/showroomfloor, +/area/science/robotics/lab) "gjg" = ( /obj/effect/spawner/randomvend/cola, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -38321,6 +37172,31 @@ }, /turf/open/floor/iron, /area/security/checkpoint/engineering) +"gjA" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, +/turf/open/floor/iron/dark, +/area/medical/morgue) +"gjM" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/closet/bombcloset, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/mixing) "gkc" = ( /obj/structure/mirror{ pixel_y = 28 @@ -38382,17 +37258,6 @@ burnt = 1 }, /area/maintenance/central) -"gku" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "aftport"; - name = "Aft-Port Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/port/aft) "gkz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -38450,6 +37315,31 @@ /obj/machinery/door/poddoor, /turf/open/floor/plating, /area/science/shuttledock) +"glL" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc{ + areastring = "/area/science/explab"; + dir = 1; + name = "Experimentation Lab APC"; + pixel_y = 24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/turf/open/floor/iron/dark, +/area/science/explab) +"glX" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/light/floor, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/grass, +/area/security/prison) "glZ" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -38461,21 +37351,6 @@ }, /turf/open/floor/plating, /area/security/prison) -"gmi" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "gmI" = ( /obj/effect/landmark/event_spawn, /obj/structure/disposalpipe/segment{ @@ -38557,6 +37432,12 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"goc" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Armory External" + }, +/turf/open/floor/plating/asteroid/airless, +/area/space/nearstation) "goi" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -38705,45 +37586,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"gqR" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/greenglow/filled, -/obj/machinery/light_switch{ - pixel_y = -27 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) -"gqX" = ( -/obj/item/radio{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/radio{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/radio, -/obj/structure/table, -/obj/item/radio/intercom{ - pixel_x = 28 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13", "security") - }, -/turf/open/floor/iron/dark, -/area/security/main) "gre" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/effect/turf_decal/stripes/corner{ @@ -38789,6 +37631,33 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/security/execution/transfer) +"grO" = ( +/obj/effect/turf_decal/caution{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/sign/warning/explosives{ + pixel_y = 31 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "grS" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -38874,7 +37743,7 @@ /obj/item/taperecorder, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "gtK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -38884,6 +37753,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"gtU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron, +/area/bridge) "guj" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -38893,21 +37775,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) -"gul" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/north{ - c_tag = "Recreation Lockers"; - name = "recreation camera" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/fitness/recreation) "gun" = ( /obj/effect/turf_decal/bot, /obj/machinery/vending/autodrobe, @@ -39032,14 +37899,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) -"gwU" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "gxa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -39075,6 +37934,16 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/cryopods) +"gxo" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13", "prison") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/prison, +/area/security/prison) "gxA" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/stand_clear, @@ -39102,33 +37971,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"gxT" = ( -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/door/poddoor/preopen{ - id = "brigfrontdoor"; - name = "Aft Security Blast door" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/security{ - name = "Brig Port Wing"; - req_one_access_txt = "1;4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "gyg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -39224,17 +38066,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/science/explab) -"gCm" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/hallway/primary/fore) "gCu" = ( /obj/effect/spawner/structure/window/reinforced/prison, /obj/machinery/door/poddoor/preopen{ @@ -39262,40 +38093,31 @@ }, /turf/open/floor/prison, /area/security/prison) -"gDJ" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +"gDg" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics Tank - CO2"; + name = "atmospherics camera"; + network = list("ss13","engine") }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/turf/open/floor/engine/co2, +/area/engine/atmos) +"gDm" = ( +/obj/structure/sign/departments/engineering{ + pixel_y = -32 }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) -"gDQ" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Hallway Rotunda"; + name = "starboard camera" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "gDX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, @@ -39323,19 +38145,6 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) -"gEl" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fore Hallway Vault"; - name = "fore camera" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark/corner, -/area/hallway/primary/fore) "gEs" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -39354,6 +38163,29 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/mixing) +"gEM" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Satellite External Fore"; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"gEN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/disposal/deliveryChute{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/starboard/fore) "gFe" = ( /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine/vacuum, @@ -39430,6 +38262,31 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) +"gGO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"gGW" = ( +/obj/structure/table, +/obj/item/storage/briefcase, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/security/courtroom) "gGY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -39479,21 +38336,6 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"gHo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard/fore) "gHV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -39532,6 +38374,17 @@ }, /turf/open/floor/iron, /area/maintenance/disposal/incinerator) +"gIR" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/light, +/obj/machinery/power/apc/auto_name/directional/south{ + name = "Medbay Storage APC" + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron/showroomfloor, +/area/medical/storage) "gIV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -39547,29 +38400,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) -"gIW" = ( -/obj/structure/table, -/obj/item/clipboard{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/aicard{ - pixel_x = 4 - }, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Bridge Control Pit"; - name = "command camera" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/bridge) "gJa" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -39616,22 +38446,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/quartermaster/warehouse) -"gJU" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/gateway{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/gateway) "gKc" = ( /obj/effect/turf_decal/box, /obj/effect/turf_decal/stripes/corner{ @@ -39849,6 +38663,33 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) +"gNm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + aiControlDisabled = 1; + id_tag = "justicedoor"; + name = "Justice Chamber"; + req_access_txt = "3" + }, +/obj/machinery/button/door{ + id = "justicedoor"; + name = "Justice Door Lock"; + normaldoorcontrol = 1; + pixel_x = -24; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "gNS" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -40011,23 +38852,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/security/execution/transfer) -"gQz" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/machinery/gateway{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/north{ - c_tag = "Gateway"; - name = "command camera" - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/gateway) "gQG" = ( /obj/effect/landmark/start/assistant, /obj/structure/cable/yellow{ @@ -40039,6 +38863,19 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/starboard) +"gQZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron, +/area/bridge) "gRv" = ( /obj/machinery/computer/card/minor/hos{ dir = 1 @@ -40049,6 +38886,32 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hos) +"gRG" = ( +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/science/explab) +"gRT" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "gRZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -40081,26 +38944,7 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/security/main) -"gSl" = ( -/obj/machinery/light{ - bulb_colour = "#22bfa2"; - bulb_vacuum_colour = "#22bfa2"; - dir = 4; - nightshift_light_color = "#22bfa2" - }, -/obj/item/clipboard{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/suit/apron/surgical, -/obj/item/book/manual/wiki/surgery, -/obj/item/glove_box, -/obj/item/clothing/mask/surgical, -/obj/structure/table, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) +/area/security/brig) "gSr" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/dirt, @@ -40192,33 +39036,6 @@ /obj/structure/chair, /turf/open/floor/iron, /area/security/execution/transfer) -"gTN" = ( -/obj/machinery/power/solar_control{ - dir = 4; - id = "aftport"; - name = "Port Quarter Solar Control" - }, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Port Bow Solar"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/solars/port/fore) "gTT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40302,36 +39119,6 @@ }, /turf/open/floor/iron/dark, /area/science/robotics/lab) -"gUu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Xenobiology Entrance"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/light/small, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "gUC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -40445,6 +39232,25 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/heads/hor) +"gWR" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Desk"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/fax/eng, +/turf/open/floor/iron/dark, +/area/engine/break_room) "gXr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40457,22 +39263,48 @@ broken = 1 }, /area/engine/engineering) -"gXv" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +"gXA" = ( +/obj/machinery/porta_turret/ai{ + dir = 1 }, -/obj/item/taperecorder{ - layer = 2.9; - pixel_y = -15 +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/obj/item/flashlight/lamp{ - pixel_y = 7 +/obj/structure/sign/plaques/kiddie{ + pixel_y = 30 + }, +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) +"gXJ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) +"gXK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + glass = 1; + name = "Slime Euthanization Chamber"; + opacity = 0; + req_access_txt = "55" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/science/xenobiology) "gYq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -40536,25 +39368,36 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/aft) -"gZF" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/item/radio/intercom{ - freerange = 1; - name = "Prison intercom"; - desc = "Talk through this. It looks like it has been modified to not broadcast."; - prison_radio = 1; - pixel_x = -26 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Brig Cells"; - network = list("ss13", "prison") +"gZW" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, +/obj/effect/turf_decal/tile/blue/half/contrasted, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/light/small, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/bridge) +"hak" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, -/area/security/prison/shielded) +/area/security/brig/aft) "haY" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -40586,19 +39429,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"hbv" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "hbD" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -40751,30 +39581,17 @@ /obj/effect/turf_decal/caution/stand_clear, /turf/open/floor/iron/dark, /area/hallway/primary/aft) -"heo" = ( -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering Foyer"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 +"hen" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "forestarboard"; + name = "Fore-Starboard Solar Array" }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/cable{ + icon_state = "0-4" }, -/turf/open/floor/iron, -/area/engine/break_room) +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/fore) "hep" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -40797,6 +39614,23 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/ai_monitored/turret_protected/ai_upload) +"heu" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating/airless, +/area/docking/arrival{ + lighting_colour_bulb = "#ffdbb4"; + lighting_colour_tube = "#ffce99" + }) "heK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 @@ -40827,6 +39661,21 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) +"heU" = ( +/obj/machinery/flasher{ + id = "AI"; + name = "Meatbag Pacifier"; + pixel_y = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "AI Upload Turrets"; + name = "upload camera"; + network = list("aiupload") + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) "hfv" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance"; @@ -40980,6 +39829,24 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/crew_quarters/locker) +"hie" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Atrium Vendors"; + name = "diner camera" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar/atrium) "hii" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, @@ -40997,26 +39864,6 @@ }, /turf/open/floor/iron/dark, /area/security/main) -"hip" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/sheet/plasteel{ - amount = 10; - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/construction/mining/aux_base) "hit" = ( /obj/effect/turf_decal/bot, /obj/machinery/conveyor{ @@ -41134,22 +39981,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/chemistry) -"hkY" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "hlb" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -41196,6 +40027,16 @@ burnt = 1 }, /area/maintenance/starboard/fore) +"hlo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/girder, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "hlA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -41203,24 +40044,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/security/prison) -"hmc" = ( -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security{ - name = "Brig Port Wing"; - req_one_access_txt = "1;4" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - id = "brigfrontdoor"; - name = "Aft Security Blast door" - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "hmd" = ( /obj/effect/landmark/start/scientist, /obj/effect/decal/cleanable/dirt, @@ -41362,17 +40185,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"hoR" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/aft) "hoS" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -41444,6 +40256,17 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) +"hpy" = ( +/obj/effect/spawner/randomvend/snack, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/hallway/primary/fore) "hpC" = ( /obj/structure/girder, /obj/structure/grille/broken, @@ -41507,6 +40330,9 @@ burnt = 1 }, /area/maintenance/port/aft) +"hqG" = ( +/turf/closed/wall/rust, +/area/security/brig) "hqL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -41528,12 +40354,6 @@ burnt = 1 }, /area/maintenance/port/fore) -"hqQ" = ( -/obj/structure/sign/departments/security, -/turf/closed/wall/rust, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "hrh" = ( /obj/effect/turf_decal/bot, /obj/machinery/disposal/bin, @@ -41636,6 +40456,30 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/storage) +"hsL" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fore Hallway Vault"; + name = "fore camera" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark/corner, +/area/hallway/primary/fore) +"hsR" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "aftport"; + name = "Aft-Port Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/port/aft) "hsZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -41655,6 +40499,30 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/qm) +"hth" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Bridge Council Door"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) "htk" = ( /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, @@ -41764,17 +40632,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) -"hur" = ( -/obj/machinery/power/solar{ - id = "aftstarboard"; - name = "Aft-Starboard Solar Array" - }, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/aft) "huM" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -41824,6 +40681,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/explab) +"hwo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "hwt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -41857,9 +40727,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"hwJ" = ( -/turf/open/floor/glass/reinforced, -/area/medical/medbay/lobby) "hwN" = ( /obj/machinery/button/door{ id = "evashutter"; @@ -42006,17 +40873,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hor) -"hyB" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "foreport"; - name = "Fore-Port Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/port/fore) "hyH" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -42085,18 +40941,6 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"hzz" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "hzI" = ( /obj/machinery/door/airlock{ id_tag = "Cell"; @@ -42141,27 +40985,6 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"hAs" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_x = 28 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/disposal) "hAu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -42190,39 +41013,32 @@ }, /turf/open/floor/iron, /area/security/courtroom) +"hAN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "hAT" = ( /obj/machinery/nanite_programmer, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/science/research) -"hBr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +"hBo" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/light/small{ dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/box/red, +/turf/open/floor/circuit/green{ + luminosity = 2 }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/ai_monitored/turret_protected/aisat_interior) "hBS" = ( /obj/machinery/vending/games, /obj/effect/turf_decal/bot_white, @@ -42236,6 +41052,14 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/library) +"hBV" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/turf/open/floor/grass, +/area/chapel/main) "hCi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42264,6 +41088,19 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"hDh" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/vending/medical, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) "hDk" = ( /obj/machinery/power/solar_control{ dir = 8; @@ -42320,6 +41157,39 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/explab) +"hDy" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Laser Room Starboard"; + name = "laser room camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating{ + broken = 1 + }, +/area/engine/engineering) +"hDA" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "hDB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -42390,6 +41260,30 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"hEG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron, +/area/security/brig/aft) "hEJ" = ( /obj/effect/turf_decal/bot, /obj/structure/table, @@ -42418,17 +41312,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"hER" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/light, -/obj/machinery/power/apc/auto_name/directional/south{ - name = "Medbay Storage APC" - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron/showroomfloor, -/area/medical/storage) "hES" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall, @@ -42510,6 +41393,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) +"hGI" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Hallway Research Desk"; + name = "starboard camera" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/hallway/primary/starboard) "hGQ" = ( /obj/structure/closet/crate, /obj/effect/decal/cleanable/dirt, @@ -42559,46 +41461,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"hHw" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1; - color = "#486091" - }, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/heads/cmo) -"hHL" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/head/utility/hardhat/orange{ - name = "protective hat"; - pixel_y = 6 - }, -/obj/item/clothing/head/utility/hardhat/orange{ - name = "protective hat"; - pixel_y = 6 - }, -/obj/item/clothing/head/utility/hardhat/orange{ - name = "protective hat"; - pixel_y = 6 - }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/engine/engineering) "hHN" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -42725,20 +41587,6 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/central) -"hJO" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/hallway/primary/port) "hJV" = ( /obj/effect/turf_decal/bot, /obj/machinery/shower{ @@ -42890,16 +41738,21 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"hLv" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"hLz" = ( +/obj/structure/table, +/obj/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/item/storage/toolbox/emergency{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 4 }, -/obj/structure/closet/l3closet/security, -/obj/item/storage/toolbox/emergency, /turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/engine/atmos) "hLA" = ( /obj/item/storage/box/chemimp{ pixel_x = 6; @@ -42933,10 +41786,56 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) +"hLK" = ( +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Law Office" + }, +/turf/open/floor/carpet/green, +/area/lawoffice) "hMi" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, /area/medical/medbay/central) +"hMo" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Cell 5"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) +"hMz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/light/small, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/camera/directional/south{ + c_tag = "AI Upload Transit Access"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/bridge) "hNc" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/stripes/corner{ @@ -42954,6 +41853,25 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hos) +"hNj" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "47"; + name = "science aft maintenance access" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/maintenance/starboard/fore) "hNA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42973,37 +41891,26 @@ broken = 1 }, /area/quartermaster/warehouse) -"hOc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/light/small, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"hOi" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/sheet/plasteel{ + amount = 10; + pixel_x = -2; + pixel_y = 2 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/camera/directional/south{ - c_tag = "AI Upload Transit Access"; - name = "command camera" +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, -/area/bridge) -"hOd" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) +/area/construction/mining/aux_base) "hOq" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/effect/landmark/start/medical_doctor, @@ -43012,25 +41919,12 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"hOO" = ( -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/heads/hos"; - dir = 1; - name = "Head of Security's Office APC"; - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/camera/directional/north{ - network = list("ss13", "security") - }, +"hPw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) +/area/science/aft) "hPA" = ( /obj/structure/chair/fancy/sofa/old/right{ color = "#742925"; @@ -43071,6 +41965,16 @@ broken = 1 }, /area/quartermaster/warehouse) +"hQm" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/interrogation{ + pixel_y = 25 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "hQn" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance"; @@ -43104,26 +42008,25 @@ broken = 1 }, /area/maintenance/starboard) -"hRp" = ( -/obj/machinery/button/door{ - id = "teleshutter"; - name = "Teleporter Shutter Toggle"; - pixel_x = -8; - pixel_y = 24; - req_access_txt = "19" +"hQz" = ( +/obj/item/kirbyplants{ + icon_state = "plant-21" }, -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway Teleporter Access"; - name = "central camera" +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/turf/open/floor/iron, -/area/hallway/primary/central) +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/chapel/main) "hRI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/turf_decal/box, @@ -43153,10 +42056,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"hSa" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "hSb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -43266,37 +42165,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plating, /area/maintenance/port/aft) -"hTE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"hTI" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "foreport"; - name = "Fore-Port Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-8" +"hTB" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 23 }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/port/fore) +/turf/closed/wall, +/area/hallway/primary/aft) "hTT" = ( /obj/item/kirbyplants, /obj/effect/turf_decal/tile/neutral{ @@ -43399,7 +42273,7 @@ }, /obj/effect/turf_decal/siding/white, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "hVN" = ( /obj/item/kirbyplants, /obj/machinery/status_display/evac{ @@ -43470,6 +42344,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"hWA" = ( +/obj/item/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/opposingcorners, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "hWE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -43484,6 +42371,15 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"hWP" = ( +/obj/machinery/lapvend, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/ue_no{ + pixel_x = -32 + }, +/turf/open/floor/iron/dark, +/area/science/aft) "hWU" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -43545,6 +42441,17 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/primary/fore) +"hYi" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/end, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood{ + broken = 1 + }, +/area/crew_quarters/bar) "hYs" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/firealarm{ @@ -43570,26 +42477,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/science/research) -"hYT" = ( -/obj/machinery/computer/operating{ - name = "Forensics Operating Computer" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/security/detectives_office) "hYV" = ( /obj/structure/table, /obj/machinery/light{ @@ -43634,6 +42521,18 @@ }, /turf/open/floor/wood, /area/security/prison) +"hZo" = ( +/obj/effect/landmark/blobstart, +/obj/effect/landmark/xeno_spawn, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/wood{ + broken = 1 + }, +/area/crew_quarters/bar) "hZA" = ( /obj/machinery/light{ dir = 4 @@ -43711,6 +42610,26 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/research) +"iaN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Auxiliary Base Construction"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/construction/mining/aux_base) "iaT" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -43765,28 +42684,13 @@ dir = 8 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "ibH" = ( /obj/structure/girder, /turf/open/floor/plating{ burnt = 1 }, /area/maintenance/aft) -"icf" = ( -/obj/machinery/vending/wardrobe/cargo_wardrobe, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo Lockers"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/quartermaster/storage) "icj" = ( /obj/effect/turf_decal/delivery, /obj/machinery/processor, @@ -43833,22 +42737,19 @@ broken = 1 }, /area/quartermaster/warehouse) -"idN" = ( -/obj/structure/table, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = 6 - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -6 +"idO" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1; + color = "#486091" }, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/bot, /obj/machinery/airalarm/directional/west{ - pixel_x = -22 + pixel_x = -23 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/engine/break_room) +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/heads/cmo) "ieY" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -43950,23 +42851,21 @@ broken = 1 }, /area/maintenance/port/aft) -"igj" = ( -/obj/machinery/door/firedoor, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"ifD" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/light{ dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/storage/box/bodybags{ + pixel_y = 5 }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) +/turf/open/floor/iron/dark, +/area/security/brig/aft) "igs" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44080,27 +42979,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"ija" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Bow Solar"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/solars/starboard/fore) "ijk" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -44189,25 +43067,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/starboard) -"ikI" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/hydroponics, -/obj/machinery/power/apc{ - areastring = "/area/hydroponics"; - name = "Hydroponics APC"; - pixel_y = -24 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/east{ - c_tag = "Hydroponics Lockers"; - name = "hydroponics camera" - }, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/hydroponics) "ikT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -44277,6 +43136,21 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/surgery) +"ilL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "img" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -44286,18 +43160,6 @@ burnt = 1 }, /area/maintenance/central) -"imz" = ( -/obj/effect/landmark/start/clown, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/theatre) "imK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -44377,19 +43239,19 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/storage) -"iog" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 +"iod" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/structure/closet/secure_closet/warden, -/obj/effect/turf_decal/delivery, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/dark, -/area/security/warden) +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "iok" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -44427,35 +43289,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/storage) -"iox" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 25 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ipc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -44522,18 +43355,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/port) -"ipS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "ipT" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -44553,12 +43374,6 @@ burnt = 1 }, /area/maintenance/port/fore) -"iqT" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/donut_box, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "irf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -44589,7 +43404,7 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/item/storage/fancy/donut_box, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "iro" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -44604,32 +43419,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/prison, /area/security/prison) -"irO" = ( -/obj/machinery/power/apc{ - areastring = "/area/science/research"; - name = "Research Division APC"; - pixel_y = -24 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Research Division"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/research) "irP" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -44645,6 +43434,18 @@ broken = 1 }, /area/maintenance/port/aft) +"isG" = ( +/obj/effect/landmark/secequipment, +/obj/effect/turf_decal/bot, +/obj/structure/noticeboard{ + pixel_y = 30 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13", "security") + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig) "itA" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{ @@ -44672,6 +43473,24 @@ }, /turf/open/floor/iron, /area/security/checkpoint/medical) +"iud" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/engine/gravity_generator) "iuq" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/caution/stand_clear{ @@ -44726,16 +43545,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/kitchen) -"ivs" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small{ - brightness = 3; - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ivw" = ( /obj/machinery/computer/security/qm{ dir = 8; @@ -44756,6 +43565,24 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/primary/starboard) +"ivD" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Air to Distro" + }, +/obj/structure/sign/warning/fire{ + pixel_x = 32 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Distribution Loop"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "iwl" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall, @@ -44816,21 +43643,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/cryo) -"ixi" = ( +"ixh" = ( +/obj/effect/landmark/event_spawn, /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/showroomfloor, -/area/engine/atmos) +/area/science/robotics/lab) "ixr" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -44855,7 +43680,7 @@ }, /obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "iyM" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -44878,11 +43703,32 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/lobby) +"iyU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1; + layer = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/camera/directional/north{ + network = list("ss13", "prison") + }, +/turf/open/floor/wood, +/area/security/prison) "iza" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/fore) +"izi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/science/aft) "izu" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/soda_cans/pwr_game{ @@ -44976,6 +43822,16 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/aft) +"iAC" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "iAD" = ( /obj/effect/turf_decal/siding/wood{ layer = 1 @@ -45002,26 +43858,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"iAP" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/megaphone{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/fitness/recreation) "iAR" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -45035,7 +43871,31 @@ dir = 5 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"iBe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron, +/area/quartermaster/exploration_dock) "iBi" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -45075,13 +43935,41 @@ }, /turf/open/floor/iron, /area/bridge) -"iBB" = ( -/obj/effect/turf_decal/stripes/line{ +"iBw" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) +/turf/open/floor/iron/dark, +/area/science/xenobiology) +"iBC" = ( +/obj/item/kirbyplants, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/bridge"; + dir = 8; + name = "Bridge APC"; + pixel_x = -24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner, +/turf/open/floor/iron, +/area/bridge) "iBM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -45202,6 +44090,36 @@ burnt = 1 }, /area/quartermaster/warehouse) +"iDk" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/landmark/xeno_spawn, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/solars/starboard/aft) +"iDr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) "iDH" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -45226,6 +44144,24 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) +"iDQ" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/server{ + dir = 4; + pixel_x = 22 + }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/telecomms, +/area/science/server) "iDW" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -45304,19 +44240,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plating, /area/quartermaster/warehouse) -"iEz" = ( -/obj/machinery/computer/message_monitor, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/tcommsat/computer) "iER" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/caution/stand_clear{ @@ -45331,38 +44254,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"iFd" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/light, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/box, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron/showroomfloor, -/area/engine/break_room) -"iFm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/caution/stand_clear, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "iFq" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -45407,22 +44298,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"iGz" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "iGF" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45465,19 +44340,7 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/item/radio/headset/headset_sec, /turf/open/floor/iron, -/area/security/main) -"iHt" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/south{ - c_tag = "Departures Cargo Dock"; - name = "shuttle camera" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) +/area/security/brig) "iHy" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -45497,29 +44360,15 @@ broken = 1 }, /area/chapel/office) -"iHI" = ( -/obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/item/radio/intercom{ - pixel_y = null; - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +"iHz" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/sink{ - dir = 8; - pixel_x = -14; - pixel_y = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) "iIa" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -45553,6 +44402,20 @@ /area/security/prison{ name = "Prison Dorms" }) +"iIt" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13", "security") + }, +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 3 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "iIT" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/unres{ @@ -45622,6 +44485,21 @@ }, /turf/open/floor/iron, /area/crew_quarters/heads/chief) +"iJp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "iJy" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45689,6 +44567,13 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron, /area/science/robotics/mechbay) +"iKi" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "iKk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/tile/dark_green{ @@ -45739,35 +44624,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/engine/break_room) -"iLb" = ( -/obj/machinery/door/window/southright{ - name = "Testing Chamber" - }, -/obj/item/beacon, -/turf/open/floor/engine, -/area/science/explab) -"iLd" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/item/toy/figure/borg{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "iLe" = ( /obj/effect/turf_decal/box/corners, /obj/machinery/gateway{ @@ -45864,6 +44720,40 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) +"iMD" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) +"iMH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Departures Checkpoint"; + name = "shuttle camera" + }, +/obj/structure/closet/secure_closet/security/cargo, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "iNh" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -45899,15 +44789,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/engine/break_room) -"iNI" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Recovery Room"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/machinery/chem_master, -/turf/open/floor/iron/dark, -/area/medical/virology) "iNK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -45919,29 +44800,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"iNX" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) -"iNY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "iOf" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -45950,6 +44808,24 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) +"iOm" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fore Hallway Robotics Bay"; + name = "fore camera" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner, +/area/hallway/primary/fore) "iOn" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ @@ -46015,6 +44891,13 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/storage) +"iPc" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/glass/reinforced, +/area/security/brig) "iPf" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -46059,6 +44942,17 @@ }, /turf/open/floor/iron, /area/science/robotics/mechbay) +"iPz" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Cell 3"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "iPI" = ( /obj/structure/sign/warning/biohazard, /turf/closed/wall/r_wall, @@ -46075,18 +44969,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"iPW" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "iQa" = ( /obj/machinery/computer/crew{ dir = 8 @@ -46103,19 +44985,6 @@ /obj/effect/landmark/start/warden, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"iQI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security{ - name = "Interrogation"; - req_access_txt = null; - req_one_access_txt = "1;4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "iQK" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/trunk{ @@ -46182,6 +45051,21 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"iSo" = ( +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Fore Hallway Chapel"; + name = "fore camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/hallway/primary/fore) "iSr" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -46309,24 +45193,6 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison) -"iUj" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Computers"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) "iUk" = ( /obj/item/beacon, /obj/structure/disposalpipe/segment, @@ -46355,6 +45221,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/break_room) +"iUK" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/decal/cleanable/greenglow/filled, +/obj/machinery/light_switch{ + pixel_y = -27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "iUN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -46372,17 +45255,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/toilet/restrooms) -"iVd" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "iVk" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -46503,18 +45375,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/security/checkpoint/medical) -"iXJ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "iXL" = ( /obj/machinery/suit_storage_unit/security, /obj/effect/turf_decal/delivery, @@ -46676,32 +45536,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/starboard) -"jaZ" = ( -/obj/effect/turf_decal/bot, -/turf/open/floor/glass/reinforced, -/area/crew_quarters/heads/hop) -"jbT" = ( -/obj/machinery/computer/cargo, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - name = "Quartermaster RC"; - pixel_y = 30 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/qm) "jbV" = ( /obj/machinery/light/small{ dir = 1 @@ -46748,6 +45582,19 @@ /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, /turf/open/floor/plating, /area/quartermaster/warehouse) +"jcG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/exploration_dock) "jcT" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -46818,6 +45665,19 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/central) +"jdQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/port) "jeg" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -46841,37 +45701,6 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison) -"jen" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L9" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Fore Hallway Centre"; - name = "fore camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "jeD" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -46890,6 +45719,33 @@ burnt = 1 }, /area/maintenance/fore) +"jeL" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/closet/secure_closet/bar{ + req_access_txt = "25" + }, +/obj/item/flashlight/lantern, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Bar Storage"; + name = "bar camera" + }, +/obj/structure/mirror{ + pixel_y = -32 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "jeU" = ( /obj/structure/rack, /obj/item/gun/energy/ionrifle{ @@ -46996,25 +45852,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/aft) -"jfY" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Bridge Access"; - name = "command camera" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/bridge) "jgs" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/dirt, @@ -47069,20 +45906,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"jgY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "jhe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -47127,21 +45950,6 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/central) -"jiv" = ( -/obj/structure/rack, -/obj/item/storage/briefcase{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/briefcase, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/lawoffice) "jiT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -47168,6 +45976,21 @@ burnt = 1 }, /area/maintenance/starboard) +"jjn" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Chapel"; + name = "chapel camera" + }, +/obj/structure/chair/fancy/bench/pew/right{ + dir = 1 + }, +/turf/open/floor/iron/chapel{ + dir = 8 + }, +/area/chapel/main) "jjD" = ( /obj/structure/grille/broken, /obj/structure/disposalpipe/segment{ @@ -47235,6 +46058,21 @@ burnt = 1 }, /area/maintenance/starboard/fore) +"jkh" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/gibber, +/obj/machinery/camera/directional/north{ + c_tag = "Kitchen Cold Room"; + name = "diner camera" + }, +/obj/effect/decal/cleanable/blood/gibs/old, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/machinery/airalarm/kitchen_cold_room{ + dir = 1; + pixel_y = 24 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/kitchen) "jkk" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/effect/turf_decal/stripes/corner{ @@ -47539,24 +46377,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) -"joy" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "joB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -47636,6 +46456,20 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"jpl" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/item/taperecorder{ + layer = 2.9; + pixel_y = -15 + }, +/obj/item/flashlight/lamp{ + pixel_y = 7 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "jpr" = ( /obj/structure/chair/fancy/bench/pew/left{ dir = 8 @@ -47849,33 +46683,6 @@ }, /turf/open/floor/iron/dark, /area/security/execution/education) -"jrF" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - network = list("ss13", "security") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "jrQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/stripes/line{ @@ -47903,35 +46710,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/engineering) -"jsj" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security{ - aiControlDisabled = 1; - id_tag = "justicedoor"; - name = "Justice Chamber"; - req_access_txt = "3" - }, -/obj/machinery/button/door{ - id = "justicedoor"; - name = "Justice Door Lock"; - normaldoorcontrol = 1; - pixel_x = -24; - req_access_txt = "3"; - specialfunctions = 4 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "jsm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -47967,18 +46745,37 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) -"jtO" = ( -/obj/effect/landmark/secequipment, -/obj/effect/turf_decal/bot, -/obj/structure/noticeboard{ - pixel_y = 30 +"jtC" = ( +/obj/effect/landmark/start/mime, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/camera/directional/north{ - network = list("ss13", "security") +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/chair/stool/bar/directional/west, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/theatre) +"jtH" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig/aft) "jtP" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/corner{ @@ -48005,6 +46802,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/maintenance/port/aft) +"jud" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Interrogation"; + req_access_txt = null; + req_one_access_txt = "1;4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "juk" = ( /obj/machinery/light/small{ dir = 4 @@ -48135,6 +46943,19 @@ }, /turf/open/floor/iron, /area/engine/engineering) +"juH" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/shieldgen, +/obj/machinery/camera/directional/west{ + c_tag = "Secure Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "jve" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -48172,6 +46993,25 @@ burnt = 1 }, /area/quartermaster/warehouse) +"jwd" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics Aft Tanks"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "jwm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48258,13 +47098,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/aft) -"jxJ" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/security/main) "jxO" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, @@ -48534,13 +47367,6 @@ broken = 1 }, /area/maintenance/starboard/aft) -"jBt" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/glass/reinforced, -/area/security/main) "jBu" = ( /obj/item/kirbyplants, /obj/effect/turf_decal/tile/neutral{ @@ -48600,21 +47426,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/explab) -"jCJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/bridge) "jDp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -48823,6 +47634,22 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/atmos) +"jGn" = ( +/obj/machinery/light, +/obj/structure/chair/fancy/sofa/corp/right{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/digital_clock/directional/west, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "jGs" = ( /obj/machinery/chem_master/condimaster{ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; @@ -48863,6 +47690,22 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/prison, /area/security/prison) +"jGQ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Secure Tech Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine, +/area/storage/tech) "jHz" = ( /obj/structure/rack, /obj/item/storage/toolbox/mechanical, @@ -48993,13 +47836,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/bridge) -"jJP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) "jJS" = ( /obj/machinery/suit_storage_unit/engine, /obj/effect/turf_decal/delivery, @@ -49119,23 +47955,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/security/prison) -"jLe" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Laser Room Starboard"; - name = "laser room camera"; - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating{ - broken = 1 - }, -/area/engine/engineering) "jLm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -49190,13 +48009,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"jLZ" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron/dark, -/area/library) "jMf" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -49264,28 +48076,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"jNr" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4; - color = "#486091" - }, -/obj/item/radio/intercom{ - pixel_x = -28; - pixel_y = 22 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/cargo/request, -/obj/machinery/power/apc/auto_name/directional/north{ - name = "CMO's Office APC" - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/heads/cmo) "jNv" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/showroomfloor, @@ -49312,6 +48102,24 @@ burnt = 1 }, /area/maintenance/port/aft) +"jNT" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Computers"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "jNU" = ( /turf/open/floor/plating{ broken = 1 @@ -49359,19 +48167,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/surgery) -"jOx" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) "jOC" = ( /obj/machinery/light, /obj/structure/cable/yellow{ @@ -49383,26 +48178,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"jPg" = ( -/obj/structure/sign/warning/biohazard, -/turf/closed/wall/rust, -/area/maintenance/department/science) -"jPj" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/table, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "jPn" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -49451,6 +48226,27 @@ broken = 1 }, /area/maintenance/aft) +"jQD" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/disposal) "jQL" = ( /obj/effect/turf_decal/plaque{ icon_state = "L2" @@ -49484,13 +48280,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"jRr" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "jRE" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/door/poddoor/shutters{ @@ -49501,24 +48290,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"jRP" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Laser Room Port"; - name = "laser room camera"; - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plating{ - broken = 1 - }, -/area/engine/engineering) "jSa" = ( /obj/machinery/meter/atmos/distro_loop, /obj/machinery/atmospherics/pipe/manifold/supply/visible{ @@ -49529,6 +48300,18 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"jSb" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron, +/area/security/brig/aft) "jSl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -49981,17 +48764,6 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) -"jZb" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "foreport"; - name = "Fore-Port Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/space/nearstation) "jZm" = ( /obj/machinery/atmospherics/pipe/layer_manifold/visible{ dir = 4 @@ -50019,25 +48791,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"jZJ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-08" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Cloning Lab"; - name = "medical camera"; - network = list("ss13","medical"); - dir = 9 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = 24 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) "jZK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/girder, @@ -50225,6 +48978,18 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) +"kcj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "kcq" = ( /obj/structure/sign/directions/security{ pixel_y = -40 @@ -50282,6 +49047,24 @@ }, /turf/open/floor/iron/dark, /area/medical/storage) +"kcD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/airalarm/server{ + dir = 8; + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark/telecomms, +/area/quartermaster/exploration_prep) "kcS" = ( /obj/structure/chair/office{ dir = 8 @@ -50382,19 +49165,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/aft) -"keY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron, -/area/bridge) "kfl" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/emcloset/anchored, @@ -50471,47 +49241,54 @@ }, /turf/open/floor/iron, /area/security/checkpoint/supply) -"kgW" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "2-8" +"khz" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/terminal{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Bow Solar"; + name = "engineering camera"; + network = list("ss13","engine") }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, /turf/open/floor/plating{ burnt = 1 }, -/area/maintenance/starboard) -"khD" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/r_wall, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"khG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/area/maintenance/solars/starboard/fore) +"khW" = ( +/obj/item/kirbyplants{ + icon_state = "applebush" }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/effect/turf_decal/siding/white, /turf/open/floor/iron, -/area/bridge) +/area/hallway/secondary/entry) "kib" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -50519,21 +49296,6 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"kiz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "kiA" = ( /obj/effect/turf_decal/stripes/corner, /obj/machinery/atmospherics/pipe/manifold/dark/visible{ @@ -50542,6 +49304,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"kiE" = ( +/obj/machinery/door/poddoor/preopen{ + id = "transittube"; + name = "Transit Tube Blast door" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/iron/dark, +/area/bridge) "kiJ" = ( /obj/structure/sign/warning/docking, /turf/closed/wall/r_wall, @@ -50558,6 +49332,29 @@ burnt = 1 }, /area/maintenance/port/aft) +"kjD" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west{ + name = "Medical Security Checkpoint APC" + }, +/turf/open/floor/iron, +/area/security/checkpoint/medical) +"kjI" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = 6; + pixel_y = 28 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "kjJ" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -50618,6 +49415,24 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/engine/atmos) +"kko" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) "kkq" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -50630,6 +49445,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) +"kkA" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "output gas connector port" + }, +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/camera/directional/east{ + c_tag = "Incinerator"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/maintenance/disposal/incinerator) "kkG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -50637,6 +49468,33 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"kkJ" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron/dark, +/area/library) +"kkK" = ( +/obj/machinery/computer/operating{ + name = "Forensics Operating Computer" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/security/detectives_office) "kkV" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/yellow{ @@ -50647,6 +49505,36 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"klk" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron, +/area/security/brig/aft) "klz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -50660,6 +49548,20 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/medical/genetics) +"klM" = ( +/obj/machinery/disposal/bin{ + desc = "A pneumatic waste disposal unit. This one leads into space!"; + name = "deathsposal unit" + }, +/obj/effect/turf_decal/box, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "klR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -50699,20 +49601,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"kmm" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +"kmk" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/closet/secure_closet/evidence, -/obj/item/folder/red{ - name = "Sinister Red Folder"; - desc = "Who knows what secrets are contained in here?" +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, +/obj/item/kirbyplants/random, /turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/security/brig/aft) "kmv" = ( /obj/machinery/newscaster{ pixel_y = 30 @@ -50939,6 +49837,18 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) +"kpX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm/directional/south, +/obj/structure/closet{ + name = "Evidence Closet" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "kqb" = ( /obj/machinery/recharger{ pixel_x = -7 @@ -50957,6 +49867,63 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) +"kqc" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/qm"; + dir = 1; + name = "Quartermaster's Office APC"; + pixel_y = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Quartermaster's Office"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/qm) +"kqg" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/fore) +"kqj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/sand/plating, +/obj/structure/lattice/catwalk, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - External"; + network = list("ss13", "prison") + }, +/turf/open/floor/plating/airless{ + initial_gas_mix = "o2=14;n2=23;TEMP=300" + }, +/area/maintenance/port/aft) +"kqJ" = ( +/obj/machinery/pdapainter, +/obj/structure/sign/poster/official/ian{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Head of Personnel's Office"; + name = "command camera" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) "kqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -51002,6 +49969,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/courtroom) +"krR" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Medical Security Post"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/closet/secure_closet/security/med, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/crowbar, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "krV" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -51036,6 +50020,19 @@ burnt = 1 }, /area/maintenance/port/aft) +"ksl" = ( +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Lockers"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "ksw" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/caution/stand_clear, @@ -51160,6 +50157,32 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/showroomfloor, /area/security/main) +"kvp" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/item/circuitboard/machine/telecomms/bus{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/circuitboard/machine/telecomms/broadcaster, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/item/stock_parts/subspace/treatment, +/obj/machinery/camera/directional/north{ + c_tag = "Telecomms Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/storage/tcom) "kvt" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4; @@ -51179,6 +50202,40 @@ burnt = 1 }, /area/quartermaster/warehouse) +"kvM" = ( +/turf/open/floor/glass/reinforced, +/area/medical/medbay/lobby) +"kwe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard) +"kwl" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Checkpoint Post"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/supply) "kwx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -51187,6 +50244,18 @@ burnt = 1 }, /area/maintenance/port/fore) +"kwI" = ( +/obj/structure/closet/secure_closet/lethalshots, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/security/armory) "kwL" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -51195,6 +50264,17 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/showroomfloor, /area/medical/chemistry) +"kwO" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/science/aft) "kwP" = ( /obj/structure/sign/warning/explosives, /turf/closed/wall/r_wall/rust, @@ -51292,15 +50372,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"kxv" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard/fore) "kxA" = ( /obj/structure/chair/fancy/bench/pew{ dir = 8 @@ -51375,32 +50446,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) -"kzl" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/clipboard, -/obj/item/folder, -/obj/item/multitool, -/obj/item/pen/red, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/item/toy/figure/cargotech{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/toy/figure/miner{ - pixel_x = 8 - }, -/obj/item/stack/sheet/mineral/copper{ - amount = 5 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/office) "kAo" = ( /obj/effect/turf_decal/bot, /obj/machinery/computer/secure_data{ @@ -51413,7 +50458,24 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) +"kAH" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark, +/area/bridge) +"kAM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) "kBa" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -51426,6 +50488,11 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"kBf" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/glass/reinforced, +/area/crew_quarters/heads/hop) "kBl" = ( /obj/effect/turf_decal/delivery, /obj/machinery/portable_atmospherics/canister/plasma, @@ -51489,6 +50556,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/science/research) +"kBX" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Port Hallway Vendors"; + name = "port camera" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) "kCy" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -51592,6 +50676,24 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"kDZ" = ( +/obj/structure/closet/secure_closet/injection{ + name = "Justice Injections" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/light_switch{ + pixel_x = -40; + pixel_y = -8 + }, +/turf/open/floor/iron/dark, +/area/security/execution/education) "kEg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -51614,13 +50716,6 @@ broken = 1 }, /area/maintenance/solars/starboard/fore) -"kEh" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "kEq" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/black, @@ -51629,7 +50724,7 @@ }, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "kEB" = ( /obj/effect/turf_decal/bot, /obj/machinery/disposal/bin, @@ -51774,30 +50869,6 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/quartermaster/warehouse) -"kHX" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc{ - areastring = "/area/quartermaster/qm"; - dir = 1; - name = "Quartermaster's Office APC"; - pixel_y = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Quartermaster's Office"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/qm) "kIa" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -51837,6 +50908,27 @@ burnt = 1 }, /area/maintenance/port/aft) +"kJo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/camera{ + c_tag = "Exploration Dock"; + dir = 9; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/quartermaster/exploration_prep) "kJI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -51905,15 +50997,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"kLg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/room/threexthree, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) "kLS" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -51944,6 +51027,33 @@ burnt = 1 }, /area/maintenance/port/aft) +"kMG" = ( +/obj/machinery/power/solar_control{ + dir = 4; + id = "aftport"; + name = "Port Quarter Solar Control" + }, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Port Bow Solar"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/solars/port/fore) "kMM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 @@ -52019,6 +51129,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"kNZ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/table/optable, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname{ + dir = 5; + network = list("ss13", "security") + }, +/obj/item/radio/intercom{ + pixel_y = -25 + }, +/obj/machinery/light/small, +/turf/open/floor/iron/showroomfloor, +/area/security/main) "kOa" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -52123,12 +51249,56 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/quartermaster/exploration_dock) +"kRc" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/item/radio/intercom{ + pixel_y = 27 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/sillycup{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/sillycup{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/sillycup, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_x = -8; + pixel_y = 7 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "kRl" = ( /obj/structure/girder, /turf/open/floor/plating{ burnt = 1 }, /area/maintenance/port) +"kRp" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/item/storage/backpack/duffelbag/sec/surgery{ + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/latex, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "kRy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -52275,12 +51445,14 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/locker) -"kUs" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted{ +"kTD" = ( +/obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/turf/open/floor/iron/showroomfloor, -/area/science/explab) +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/iron/techmaint, +/area/security/prison/shielded) "kUv" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, @@ -52293,6 +51465,23 @@ }, /turf/open/floor/iron/dark, /area/security/main) +"kUB" = ( +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Closet"; + req_access_txt = "47" + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "kUH" = ( /obj/effect/decal/cleanable/food/flour, /obj/effect/turf_decal/stripes/line{ @@ -52451,20 +51640,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/heads/cmo) -"kWq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard/fore) "kWt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52583,7 +51758,20 @@ sortType = 7 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"kZf" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 1 + }, +/obj/machinery/airalarm/engine{ + pixel_y = -24 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "kZj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -52635,6 +51823,19 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"laQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "laZ" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -52659,6 +51860,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/medical/virology) +"lbr" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "lbt" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -52668,28 +51876,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/ai_monitored/storage/eva) -"lbC" = ( -/obj/structure/table, -/obj/item/folder, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/reagent_containers/glass/beaker/large{ - pixel_x = -4 - }, -/obj/item/reagent_containers/glass/beaker{ - pixel_x = 4 - }, -/obj/item/reagent_containers/dropper, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "lbP" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -52743,6 +51929,14 @@ }, /turf/open/floor/iron, /area/security/brig) +"ldk" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood, +/area/library) "ldu" = ( /obj/structure/table/reinforced, /obj/item/wirecutters{ @@ -52816,24 +52010,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"ldG" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/storage/box/bodybags{ - pixel_y = 2 - }, -/obj/item/wirecutters, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ldS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52868,6 +52044,20 @@ broken = 1 }, /area/maintenance/starboard) +"ldW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/security/brig/aft) "leh" = ( /obj/structure/closet/secure_closet/detective, /obj/machinery/power/apc{ @@ -52911,6 +52101,29 @@ broken = 1 }, /area/maintenance/aft) +"lfd" = ( +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/item/radio/intercom{ + pixel_y = null; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/sink{ + dir = 8; + pixel_x = -14; + pixel_y = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "lfn" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, @@ -52940,7 +52153,7 @@ icon_state = "4-8" }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "lfO" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -52959,6 +52172,31 @@ burnt = 1 }, /area/maintenance/port) +"lfY" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/poddoor/preopen{ + id = "brigfrontdoor"; + name = "Aft Security Blast door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/security{ + name = "Brig Port Wing"; + req_one_access_txt = "1;4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "lga" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -53031,7 +52269,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "lgQ" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Science"; @@ -53082,6 +52320,24 @@ broken = 1 }, /area/maintenance/port) +"lhi" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "1;4" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "lhm" = ( /obj/structure/chair{ dir = 1 @@ -53112,26 +52368,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/maintenance/port) -"lhM" = ( -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Atrium Booths"; - name = "diner camera" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/chair/fancy/sofa/old/left{ - color = "#742925"; - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar/atrium) "lhQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -53399,6 +52635,22 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hor) +"llQ" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 6 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -6 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/engine/break_room) "llX" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -53485,21 +52737,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/heads/captain) -"lnl" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/crew_quarters/bar) "lnn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -53510,20 +52747,26 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port/fore) -"lnz" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +"lnH" = ( +/obj/machinery/status_display/ai{ + pixel_y = -32 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Recreation Fitness Ring"; + name = "recreation camera" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/turf_decal/tile/red, /turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/crew_quarters/fitness/recreation) "lnU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -53613,6 +52856,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/port) +"loS" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Medical Security Post"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8; + color = "#439C1E" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/virology) "lpg" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -53760,17 +53019,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/engine/atmos) -"lru" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "lrC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -53792,28 +53040,6 @@ /obj/item/book/manual/wiki/engineering_hacking, /turf/open/floor/plating, /area/quartermaster/warehouse) -"lsm" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/power/apc{ - areastring = "/area/medical/morgue"; - dir = 1; - name = "Morgue APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, -/turf/open/floor/iron/dark, -/area/medical/morgue) "lsq" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -53928,6 +53154,16 @@ }, /turf/open/floor/iron/dark, /area/tcommsat/computer) +"ltT" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "lub" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -54075,6 +53311,14 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/storage/primary) +"lvx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron, +/area/security/brig/aft) "lvG" = ( /obj/machinery/door/window/northleft{ base_state = "right"; @@ -54088,23 +53332,33 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"lwj" = ( +"lwe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/quartermaster/exploration_dock) +"lwx" = ( /obj/structure/table, -/obj/item/crowbar/red, -/obj/item/wrench, -/obj/item/restraints/handcuffs, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/machinery/camera/directional/north{ - c_tag = "Departures Holding Area"; - name = "shuttle camera" +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/siding/white{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron, +/area/bridge) "lwZ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/unary/thermomachine/heater{ @@ -54115,26 +53369,6 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) -"lxx" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/landmark/start/exploration, -/obj/structure/bed/dogbed, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/quartermaster/exploration_prep) "lxG" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/bot, @@ -54236,7 +53470,7 @@ icon_state = "2-8" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "lzt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -54652,28 +53886,6 @@ burnt = 1 }, /area/maintenance/starboard/fore) -"lES" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen, -/obj/machinery/requests_console{ - department = "Science"; - departmentType = 2; - name = "Science RC"; - pixel_y = 30; - receive_ore_updates = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/explab) "lEY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54693,30 +53905,29 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"lFx" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/prison, -/area/security/prison) -"lFN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +"lFh" = ( +/obj/structure/table, /obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Port Hallway Firelock"; - name = "port camera" + dir = 4 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/machinery/recharger, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark/corner{ +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/area/hallway/primary/port) +/obj/item/restraints/handcuffs, +/obj/item/radio{ + pixel_x = 10; + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) +"lFx" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/prison, +/area/security/prison) "lGk" = ( /obj/effect/turf_decal/box, /obj/structure/cable/yellow{ @@ -54726,6 +53937,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"lGs" = ( +/obj/machinery/computer/shuttle_flight/labor{ + dir = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = -32 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Transferring Centre Dock" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/security/execution/transfer) "lGy" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/corner{ @@ -54789,21 +54014,13 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/kitchen) -"lHZ" = ( -/obj/machinery/digital_clock/directional/north, -/obj/machinery/camera{ - c_tag = "Medbay Lobby"; - name = "medical camera"; - network = list("ss13","medical"); - dir = 9 - }, -/obj/item/kirbyplants{ - icon_state = "plant-08" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 +"lIq" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 }, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) "lIC" = ( /obj/effect/turf_decal/stripes/line{ @@ -54843,6 +54060,17 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"lJZ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "lKj" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -54873,6 +54101,20 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/teleporter) +"lKE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "lKM" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ @@ -54886,23 +54128,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/hallway/primary/fore) -"lKV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron, -/area/security/main) "lKX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -54986,21 +54211,6 @@ }, /turf/open/floor/iron, /area/security/main) -"lLv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard) "lLA" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -55114,19 +54324,6 @@ burnt = 1 }, /area/maintenance/port) -"lMY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/bridge) "lND" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -55283,23 +54480,23 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"lQZ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Starboard Hallway Departure Checkpoint"; - name = "starboard camera" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 +"lQQ" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/restraints/handcuffs, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 +/obj/machinery/camera/directional/north{ + c_tag = "Departures Holding Area"; + name = "shuttle camera" }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "lRe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55337,7 +54534,22 @@ icon_state = "1-2" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"lRp" = ( +/obj/structure/closet/secure_closet/courtroom, +/obj/item/gavelhammer, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Courtroom Judge"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/courtroom) "lRr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -55374,19 +54586,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"lRO" = ( -/obj/item/kirbyplants{ - icon_state = "plant-05" - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "lRT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55425,6 +54624,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"lSf" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/security/brig) "lSk" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot_white, @@ -55464,19 +54670,6 @@ /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall/rust, /area/maintenance/solars/starboard/fore) -"lTL" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "lTR" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -55527,12 +54720,47 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"lUB" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard) "lUD" = ( /obj/structure/sign/departments/security{ pixel_x = -32 }, /turf/closed/wall, /area/hallway/primary/aft) +"lUJ" = ( +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/sign/warning/vacuum{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/turf/open/floor/iron/dark/corner, +/area/hallway/primary/fore) "lUS" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 @@ -55546,6 +54774,22 @@ /obj/effect/turf_decal/tile/purple/anticorner/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/mixing/chamber) +"lVc" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Toxins Storage"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/storage) "lVe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55565,6 +54809,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) +"lVu" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/closet/l3closet/security, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "lVB" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55579,6 +54831,10 @@ broken = 1 }, /area/maintenance/port/aft) +"lWh" = ( +/obj/machinery/status_display/evac, +/turf/closed/wall/r_wall, +/area/security/brig/aft) "lWl" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -55608,6 +54864,25 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) +"lWt" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1; + color = "#439C1E" + }, +/obj/machinery/camera{ + c_tag = "Virology - Testing pens"; + name = "virology camera"; + network = list("ss13","medbay"); + dir = 10 + }, +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) "lXm" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -55678,37 +54953,23 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) -"lXL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "lYh" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/maintenance/port/aft) +"lYl" = ( +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13", "security") + }, +/turf/open/floor/iron, +/area/security/brig) "lYs" = ( /obj/item/flashlight/lantern, /turf/open/floor/plating, @@ -55741,19 +55002,6 @@ broken = 1 }, /area/maintenance/port) -"lYW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron, -/area/bridge) "lZf" = ( /obj/structure/girder, /obj/effect/decal/cleanable/dirt, @@ -55814,6 +55062,16 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/bar/atrium) +"lZK" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer, +/obj/effect/turf_decal/tile/dark/opposingcorners, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/turf/open/floor/iron/dark, +/area/medical/cryo) "lZN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -55835,6 +55093,19 @@ /obj/structure/sign/departments/botany, /turf/closed/wall, /area/quartermaster/warehouse) +"lZZ" = ( +/obj/item/storage/fancy/donut_box, +/obj/structure/table, +/obj/machinery/camera/directional/east{ + c_tag = "Courtroom Jury"; + name = "command camera" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/courtroom) "mab" = ( /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron, @@ -55891,9 +55162,6 @@ broken = 1 }, /area/maintenance/starboard) -"mbz" = ( -/turf/open/floor/glass/reinforced, -/area/bridge) "mbD" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55904,6 +55172,27 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) +"mbM" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Aft Hallway Security Firelock"; + name = "aft camera" + }, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "mbY" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -55918,6 +55207,21 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) +"mcq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/security/brig/aft) "mcs" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -56006,6 +55310,44 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hydroponics) +"mdu" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/stamp{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/office"; + dir = 4; + name = "Cargo Office APC"; + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Office"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/office) "mdB" = ( /turf/open/floor/plating{ luminosity = 2 @@ -56055,22 +55397,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/showroomfloor, /area/medical/virology) -"meS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "meY" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -56094,7 +55420,7 @@ }, /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "mfd" = ( /obj/structure/chair/fancy/comfy{ buildstackamount = 0; @@ -56107,7 +55433,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "mfw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -56147,23 +55473,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) -"mfK" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Port Hallway Vendors"; - name = "port camera" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/hallway/primary/port) "mfY" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/stripes/corner{ @@ -56174,6 +55483,24 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"mgx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "mgy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -56189,11 +55516,15 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"mgR" = ( -/turf/closed/wall/r_wall, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +"mgA" = ( +/obj/machinery/camera/directional/west{ + c_tag = "AI Upload Garden"; + name = "upload camera"; + network = list("aiupload") + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/maintenance/central) "mgS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -56216,21 +55547,6 @@ }, /turf/open/floor/iron/dark, /area/science/robotics/mechbay) -"mhr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "mhB" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -56247,6 +55563,30 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron, /area/hallway/primary/starboard) +"miq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Gravity Generator Foyer"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/button/door{ + id = "gravity"; + name = "Gravity Generator Lockdown"; + pixel_x = -24; + req_one_access_txt = "19;23" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/engine, +/area/engine/gravity_generator) "miv" = ( /obj/structure/table/glass, /obj/machinery/smartfridge/disks{ @@ -56400,6 +55740,33 @@ broken = 1 }, /area/maintenance/port) +"mkY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 25 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "mkZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -56427,7 +55794,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "mlp" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -56449,44 +55816,10 @@ /obj/structure/easel, /turf/open/floor/grass, /area/security/prison) -"mlz" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "mlO" = ( /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"mlU" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/table/glass, -/obj/item/clothing/gloves/color/latex, -/obj/item/healthanalyzer, -/obj/item/storage/box/bodybags, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 5; - pixel_y = -1 - }, -/obj/machinery/light_switch{ - pixel_x = 27; - pixel_y = -4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "mmb" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -56520,40 +55853,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"mmg" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/filter, -/obj/item/stock_parts/subspace/analyzer{ - desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stock_parts/subspace/analyzer{ - desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stock_parts/subspace/analyzer{ - desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths. Shifted slightly right."; - pixel_x = 6; - pixel_y = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/storage/tcom) "mmJ" = ( /obj/effect/turf_decal/siding/wood{ layer = 1 @@ -56611,13 +55910,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) -"mnH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard/fore) "mnR" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -56765,6 +56057,28 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"mqo" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Satellite Atmospherics"; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) +"mqP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/science/aft) "mqR" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -56894,26 +56208,6 @@ }, /turf/open/space/basic, /area/solar/starboard/fore) -"mtk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_green/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Virology - Testing pens"; - name = "virology camera"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/virology) "mto" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -56944,23 +56238,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/chapel/main) -"mtD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "mtV" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/purple/half/contrasted{ @@ -57012,6 +56289,31 @@ }, /turf/open/floor/iron/dark, /area/janitor) +"mvj" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/head/utility/welding{ + pixel_y = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/storage/primary"; + dir = 1; + name = "Tool Storage APC"; + pixel_y = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Tool Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/storage/primary) "mvl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ @@ -57046,16 +56348,6 @@ broken = 1 }, /area/maintenance/fore) -"mwd" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/storage/backpack/duffelbag/med/implant{ - pixel_y = 9; - pixel_x = 2 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) "mwf" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57091,30 +56383,6 @@ broken = 1 }, /area/maintenance/port/fore) -"mwE" = ( -/obj/effect/landmark/start/mime, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/theatre) "mwT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57183,6 +56451,15 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"myx" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/item/storage/backpack/satchel/tox, +/obj/item/analyzer, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "myz" = ( /obj/structure/table, /obj/item/storage/box/evidence, @@ -57234,6 +56511,9 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/engine/engineering) +"mzE" = ( +/turf/closed/wall, +/area/security/brig/aft) "mAf" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -57247,24 +56527,26 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/hydroponics) -"mAQ" = ( -/obj/structure/sign/poster/official/help_others{ - pixel_y = 32 - }, +"mAB" = ( /obj/effect/turf_decal/stripes/corner{ - dir = 1 + dir = 4 }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +/obj/effect/turf_decal/box, +/obj/machinery/light{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/vending/coffee, -/obj/machinery/camera/autoname{ - network = list("ss13", "prison", "security"); - dir = 6 +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 }, -/turf/open/floor/iron, -/area/hallway/primary/aft) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "mBf" = ( /obj/effect/turf_decal/tile/dark/half{ dir = 4 @@ -57406,11 +56688,37 @@ }, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) +"mEc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "mEj" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/prison, /area/security/prison) +"mEr" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "forestarboard"; + name = "Fore-Starboard Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/fore) "mEz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57494,25 +56802,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) -"mFw" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment, -/obj/machinery/light_switch{ - pixel_x = 25 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13", "security") - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "mFy" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -57551,14 +56840,6 @@ }, /turf/open/floor/iron, /area/gateway) -"mGz" = ( -/obj/structure/chair/stool/directional/west, -/obj/machinery/light/floor, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/grass, -/area/security/prison) "mGA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -57727,7 +57008,7 @@ pixel_y = 28 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "mJA" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/bot, @@ -57739,13 +57020,25 @@ }, /turf/open/floor/iron/dark, /area/science/robotics/mechbay) -"mJQ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Armory External" +"mJI" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/lattice/catwalk, -/turf/open/space, -/area/space/nearstation) +/obj/item/book/manual/hydroponics_pod_people{ + pixel_y = 4 + }, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/reagent_containers/dropper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/west{ + c_tag = "Hydroponics Pen"; + name = "hydroponics camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/hydroponics) "mKi" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/corner{ @@ -57791,7 +57084,22 @@ dir = 4 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) +"mKk" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "mKr" = ( /obj/structure/table, /obj/item/storage/box/PDAs{ @@ -57849,7 +57157,7 @@ dir = 8 }, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "mLi" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -57866,15 +57174,6 @@ burnt = 1 }, /area/maintenance/port/fore) -"mLl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) "mLH" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -57944,7 +57243,7 @@ /obj/effect/turf_decal/delivery, /obj/structure/plasticflaps/opaque, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "mMR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/depsec/supply, @@ -58024,49 +57323,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/quartermaster/exploration_prep) -"mNA" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/storage/belt/utility, -/obj/item/clothing/head/utility/welding, -/obj/item/clothing/glasses/welding, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) -"mNE" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/explab) "mOr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -58108,24 +57364,6 @@ broken = 1 }, /area/maintenance/fore) -"mON" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fore Hallway Robotics Bay"; - name = "fore camera" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner, -/area/hallway/primary/fore) "mOW" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -58140,6 +57378,20 @@ }, /turf/open/floor/iron, /area/security/main) +"mPq" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/engineering, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/south{ + c_tag = "Tech Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/storage/tech) "mPr" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/yellow{ @@ -58177,6 +57429,14 @@ burnt = 1 }, /area/maintenance/aft) +"mQm" = ( +/mob/living/simple_animal/bot/medbot{ + auto_patrol = 1; + desc = "A little medical robot, officially part of the Nanotrasen medical inspectorate. He looks somewhat underwhelmed."; + name = "Inspector Johnson" + }, +/turf/open/floor/glass/reinforced, +/area/medical/medbay/lobby) "mQB" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/line{ @@ -58203,6 +57463,58 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"mQQ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/latex{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/science{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/aft) +"mQS" = ( +/obj/item/radio{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/radio, +/obj/structure/table, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13", "security") + }, +/turf/open/floor/iron/dark, +/area/security/main) +"mRi" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/east{ + c_tag = "Starboard Hallway Hydroponics Counter"; + name = "starboard camera" + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/effect/turf_decal/tile/yellow, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "mRB" = ( /obj/effect/turf_decal/delivery, /obj/machinery/vending/hydronutrients, @@ -58212,6 +57524,17 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/hydroponics) +"mRN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/camera/directional/south{ + c_tag = "AI Chamber Door"; + name = "core camera"; + network = list("aicore") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/ai) "mRV" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -58223,6 +57546,31 @@ broken = 1 }, /area/maintenance/starboard/fore) +"mRW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "mSc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58256,6 +57604,23 @@ /obj/machinery/fax/law, /turf/open/floor/iron/dark, /area/lawoffice) +"mTi" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/machinery/vending/wardrobe/science_wardrobe, +/obj/machinery/camera/directional/east{ + c_tag = "Experimenter Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/explab) "mTw" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall, @@ -58315,6 +57680,16 @@ }, /turf/open/floor/iron/dark, /area/engine/break_room) +"mUy" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "mUE" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58336,6 +57711,22 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/hydroponics) +"mUZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -30 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/maintenance/starboard) "mVm" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -58358,6 +57749,17 @@ burnt = 1 }, /area/maintenance/port) +"mVF" = ( +/obj/structure/cable/yellow, +/obj/item/storage/box/pillbottles, +/obj/effect/turf_decal/bot, +/obj/item/storage/box/pillbottles, +/obj/structure/closet/secure_closet/chemical, +/obj/machinery/power/apc/auto_name/directional/west{ + name = "Chemsitry APC" + }, +/turf/open/floor/iron/dark, +/area/medical/chemistry) "mVT" = ( /obj/machinery/computer/cargo/request, /obj/effect/turf_decal/tile/neutral{ @@ -58440,6 +57842,17 @@ }, /turf/open/floor/iron/dark, /area/lawoffice) +"mXU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron, +/area/security/brig/aft) "mYg" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58548,25 +57961,6 @@ broken = 1 }, /area/maintenance/starboard/fore) -"nao" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "naW" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -58587,24 +57981,6 @@ }, /turf/open/floor/plating, /area/engine/break_room) -"nbk" = ( -/obj/structure/closet/secure_closet/injection{ - name = "Justice Injections" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/light_switch{ - pixel_x = -40; - pixel_y = -8 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "nbl" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -58648,40 +58024,6 @@ /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/maintenance/port/aft) -"ncP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "transittube"; - name = "Transit Tube Lockdown Toggle"; - pixel_x = 24; - pixel_y = 11; - req_access_txt = "19" - }, -/obj/machinery/camera/directional/east{ - c_tag = "AI Upload Transit"; - name = "command camera" - }, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1447; - name = "Private AI Channel"; - pixel_x = 27; - pixel_y = -5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "ndb" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable/yellow{ @@ -58705,6 +58047,29 @@ broken = 1 }, /area/maintenance/starboard) +"ndX" = ( +/obj/effect/decal/cleanable/food/flour, +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Kitchen"; + name = "diner camera" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/kitchen) "nes" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58728,18 +58093,6 @@ broken = 1 }, /area/maintenance/starboard) -"nev" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "neM" = ( /obj/effect/turf_decal/tile/black/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -58747,30 +58100,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"nfl" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "aftport"; - name = "Aft-Port Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/port/aft) -"nfr" = ( -/obj/structure/table/glass, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) "nfy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/guideline/guideline_half_edge/blue{ @@ -58846,32 +58175,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/engine/atmos) -"ngs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - name = "Genetics Lab APC" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/landmark/start/geneticist, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/genetics) "ngu" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland3"; @@ -58879,18 +58182,6 @@ }, /turf/open/space, /area/space/nearstation) -"ngH" = ( -/obj/machinery/shieldwallgen, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/teleporter) "ngS" = ( /obj/effect/decal/cleanable/food/flour, /obj/effect/landmark/event_spawn, @@ -58906,14 +58197,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/kitchen) -"ngU" = ( -/obj/structure/table, -/obj/item/storage/box/beakers{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/science/explab) "nha" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, @@ -58927,6 +58210,24 @@ broken = 1 }, /area/maintenance/port/aft) +"nhe" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "nhw" = ( /obj/item/radio/intercom{ pixel_x = 28 @@ -58945,30 +58246,6 @@ }, /turf/open/floor/wood, /area/security/prison) -"nhM" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"nhO" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/storage/box/bodybags{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "nhS" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -24 @@ -59077,6 +58354,9 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) +"njG" = ( +/turf/closed/wall/r_wall, +/area/security/brig) "njN" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/window/reinforced{ @@ -59095,6 +58375,30 @@ }, /turf/open/floor/grass, /area/medical/storage) +"njU" = ( +/obj/item/kirbyplants{ + icon_state = "plant-03" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering Foyer"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/break_room) "nkb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -59122,22 +58426,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/prison, /area/security/prison) -"nkk" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Medical Security Post"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8; - color = "#439C1E" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/virology) "nkq" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -59189,19 +58477,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/maintenance/port/fore) -"nln" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "nlp" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 @@ -59219,6 +58494,16 @@ broken = 1 }, /area/maintenance/starboard/fore) +"nlM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/item/kirbyplants{ + icon_state = "plant-03" + }, +/turf/open/floor/iron/dark, +/area/science/aft) "nmh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -59357,33 +58642,6 @@ }, /turf/open/floor/iron/dark, /area/science/robotics/lab) -"nou" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/item/radio/intercom{ - pixel_x = -28 - }, -/obj/machinery/camera{ - c_tag = "Recovery Room"; - dir = 10; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/storage) "noF" = ( /obj/effect/turf_decal/bot, /obj/machinery/conveyor{ @@ -59426,14 +58684,21 @@ burnt = 1 }, /area/maintenance/port/aft) -"npf" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/caution/stand_clear, +"npg" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/iron/dark, -/area/bridge) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood, +/area/crew_quarters/bar) "npl" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -59459,6 +58724,13 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/office) +"npp" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "npG" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -59498,6 +58770,17 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/quartermaster/warehouse) +"ntf" = ( +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "nth" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -59516,6 +58799,9 @@ burnt = 1 }, /area/hallway/secondary/entry) +"ntH" = ( +/turf/closed/wall, +/area/security/brig) "nuk" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -59571,6 +58857,14 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"nuW" = ( +/obj/structure/table, +/obj/item/storage/box/beakers{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/science/explab) "nvh" = ( /obj/structure/table/glass, /obj/item/toy/figure/geneticist{ @@ -59664,16 +58958,6 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"nxb" = ( -/obj/effect/landmark/xeno_spawn, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "nxo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59735,21 +59019,6 @@ broken = 1 }, /area/maintenance/port) -"nxP" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "nxV" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -59770,7 +59039,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "nyj" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner{ @@ -59849,24 +59118,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"nzk" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/holopad{ - pixel_y = -16 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "nzo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59954,6 +59205,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) +"nAC" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Aft Hallway Transfer Centre Doors"; + name = "aft camera" + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "nBo" = ( /obj/structure/closet/emcloset/anchored, /obj/effect/turf_decal/stripes/line{ @@ -60042,6 +59308,18 @@ }, /turf/open/floor/iron/freezer, /area/medical/virology) +"nCM" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/aft) "nDl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -60091,6 +59369,21 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) +"nDD" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/camera/directional/east{ + c_tag = "Recovery Room"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) "nDY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -60137,7 +59430,7 @@ }, /obj/effect/landmark/start/security_officer, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "nEP" = ( /obj/effect/turf_decal/box, /obj/structure/cable/yellow{ @@ -60147,6 +59440,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/starboard) +"nFg" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron, +/area/bridge) "nFj" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -60255,14 +59561,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/engine/engineering) -"nHi" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/library) "nHk" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -60281,17 +59579,6 @@ }, /turf/open/floor/iron/dark, /area/construction/mining/aux_base) -"nHp" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/starboard/fore) "nHs" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/chief_engineer, @@ -60393,6 +59680,19 @@ burnt = 1 }, /area/maintenance/starboard/aft) +"nIZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/engine/engineering) "nJh" = ( /obj/effect/spawner/randomvend/cola, /obj/effect/turf_decal/delivery, @@ -60405,6 +59705,19 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/locker) +"nJt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "nJw" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/tcomms, @@ -60477,6 +59790,16 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) +"nKp" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/security/brig/aft) "nKU" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -60528,6 +59851,19 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"nLm" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/security/main) "nLx" = ( /obj/structure/table, /obj/item/clipboard{ @@ -60580,6 +59916,10 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) +"nMi" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/science/aft) "nMA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -60652,6 +59992,26 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/warehouse) +"nNT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Port Hallway Firelock"; + name = "port camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/hallway/primary/port) "nNZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, @@ -60664,6 +60024,28 @@ }, /turf/open/floor/iron/dark, /area/teleporter) +"nOf" = ( +/obj/structure/bed, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/button/door{ + id = "Cabin_2"; + name = "Cabin 2 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/landmark/start/assistant, +/obj/item/bedsheet/dorms, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood{ + broken = 1 + }, +/area/crew_quarters/locker) "nOg" = ( /obj/structure/window/reinforced{ dir = 8 @@ -60725,18 +60107,6 @@ /area/security/prison{ name = "Prison Dorms" }) -"nPd" = ( -/obj/item/kirbyplants{ - icon_state = "plant-08" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "nPe" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable/yellow{ @@ -60795,6 +60165,25 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/storage) +"nPU" = ( +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/item/radio/intercom{ + pixel_x = 28 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "nPV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -60826,6 +60215,20 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"nQH" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "Evidence Closet" + }, +/obj/machinery/camera/autoname{ + dir = 5; + network = list("ss13", "security") + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "nQJ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -60884,6 +60287,28 @@ broken = 1 }, /area/maintenance/port/aft) +"nRk" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Telecomms Monitoring"; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Telecomms Admin"; + departmentType = 5; + name = "Telecomms RC"; + pixel_x = -32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/tcommsat/computer) "nRA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -61119,6 +60544,23 @@ broken = 1 }, /area/maintenance/port) +"nVl" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Toxins Mixers"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/mixing) "nVn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61137,6 +60579,25 @@ burnt = 1 }, /area/maintenance/port/fore) +"nVu" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Bridge Access"; + name = "command camera" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/bridge) "nVx" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -61216,15 +60677,7 @@ /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, -/area/security/main) -"nWL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) +/area/security/brig) "nWN" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -61240,7 +60693,16 @@ "nWR" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) +"nXc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/starboard/fore) "nXN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -61267,6 +60729,10 @@ broken = 1 }, /area/maintenance/fore) +"nXQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig) "nXR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, @@ -61365,11 +60831,22 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/kitchen) -"nZE" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/security/prison) +"nZk" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "nZF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61391,29 +60868,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"nZM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron, -/area/quartermaster/exploration_dock) "nZO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61505,6 +60959,18 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/engine/break_room) +"oaI" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron, +/area/bridge) "oaV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -61584,38 +61050,6 @@ luminosity = 2 }, /area/quartermaster/warehouse) -"ocz" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/wood, -/area/crew_quarters/bar) -"ocA" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "output gas connector port" - }, -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/camera/directional/east{ - c_tag = "Incinerator"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/maintenance/disposal/incinerator) "ocU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -61678,17 +61112,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"odH" = ( -/obj/machinery/power/solar{ - id = "aftstarboard"; - name = "Aft-Starboard Solar Array" - }, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/aft) "odK" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment{ @@ -61703,6 +61126,22 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) +"odM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "odN" = ( /obj/structure/table/wood, /obj/item/storage/photo_album{ @@ -61828,15 +61267,6 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"ofb" = ( -/obj/machinery/lapvend, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/ue_no{ - pixel_x = -32 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "off" = ( /obj/structure/sign/warning/securearea{ pixel_y = -32 @@ -61860,18 +61290,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) -"ofp" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/interrogation{ - pixel_y = 25 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ofS" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -61909,6 +61327,14 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"ogB" = ( +/obj/effect/landmark/xeno_spawn, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "ogG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 @@ -61937,25 +61363,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"ogM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 9 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "ogW" = ( /turf/closed/wall/r_wall, /area/security/prison{ @@ -61974,6 +61381,17 @@ broken = 1 }, /area/maintenance/aft) +"ohU" = ( +/obj/machinery/power/solar{ + id = "aftstarboard"; + name = "Aft-Starboard Solar Array" + }, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/aft) "ohZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -61984,27 +61402,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) -"oic" = ( -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "oik" = ( /turf/open/floor/plating{ burnt = 1 @@ -62138,56 +61535,46 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/storage) -"okk" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Aft Hallway Security Firelock"; - name = "aft camera" - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 +"okM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/neutral, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"okm" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4; - color = "#439C1E" +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/camera/directional/north{ - c_tag = "Virology - Testing pens"; - name = "virology camera"; - network = list("ss13","medbay") +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 }, -/obj/item/food/cheese/wheel{ - pixel_x = 18 +/turf/open/floor/iron, +/area/bridge) +"ola" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Satellite Antechamber"; + name = "satellite camera"; + network = list("minisat") }, -/obj/item/food/cheese/wheel{ - pixel_y = -4; - pixel_x = 17 +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron/freezer, -/area/medical/virology) -"okO" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat_interior) "olb" = ( /obj/structure/closet/radiation, /obj/structure/grille/broken, @@ -62223,24 +61610,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"olT" = ( -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/obj/effect/turf_decal/bot_white, -/obj/machinery/camera/directional/north{ - c_tag = "Morgue"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +"olW" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/medical/morgue) +/turf/open/floor/iron, +/area/security/brig/aft) "omi" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -62323,6 +61702,35 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"oof" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/stack/sheet/plasteel/fifty{ + amount = 10; + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/stack/sheet/rglass{ + amount = 50 + }, +/obj/item/clothing/shoes/magboots{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/shoes/magboots, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/eva) "oot" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -62357,6 +61765,18 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/locker) +"ooD" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/bridge) "ooJ" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -62381,6 +61801,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"opn" = ( +/obj/machinery/light{ + bulb_colour = "#22bfa2"; + bulb_vacuum_colour = "#22bfa2"; + dir = 4; + nightshift_light_color = "#22bfa2" + }, +/obj/item/clipboard{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/suit/apron/surgical, +/obj/item/book/manual/wiki/surgery, +/obj/item/glove_box, +/obj/item/clothing/mask/surgical, +/obj/structure/table, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "opH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -62420,6 +61859,16 @@ }, /turf/open/floor/iron/dark, /area/security/prison) +"oqc" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet{ + name = "Evidence Closet" + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "oqr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -62475,6 +61924,25 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/security/prison) +"orv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 9 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "osk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -62517,19 +61985,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/chapel/office) -"oss" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "osy" = ( /obj/machinery/door/firedoor, /obj/structure/cable/yellow{ @@ -62548,26 +62003,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/medical/genetics/cloning) -"osR" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Supermatter Cooler"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/modular_computer/console/preset/engineering, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "otk" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -62595,6 +62030,29 @@ burnt = 1 }, /area/quartermaster/warehouse) +"otB" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/aicard{ + pixel_x = 4 + }, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Bridge Control Pit"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/bridge) "otN" = ( /obj/machinery/computer/crew{ dir = 8 @@ -62697,28 +62155,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/chemistry) -"ouM" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "ouO" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/airlock/security{ @@ -62747,20 +62183,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) -"ouZ" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Entrance"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron, -/area/engine/atmos) "ove" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable/yellow{ @@ -62788,6 +62210,32 @@ }, /turf/open/floor/iron/dark, /area/medical/morgue) +"ovC" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1; + color = "#439C1E" + }, +/obj/machinery/power/apc/auto_name/directional/north{ + name = "Virology Lab APC" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/freezer, +/area/medical/virology) +"ovF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/atmos) "ovO" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -62833,14 +62281,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"owH" = ( -/obj/machinery/power/tracker, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/space/nearstation) "owI" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -62866,6 +62306,16 @@ }, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) +"owT" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "owZ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -62880,6 +62330,7 @@ pixel_x = 4; pixel_y = 2 }, +/obj/item/storage/box/deputy, /turf/open/floor/iron/dark, /area/security/warden) "oxq" = ( @@ -62906,6 +62357,44 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) +"oxO" = ( +/obj/item/kirbyplants{ + icon_state = "plant-05" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/hallway/secondary/exit/departure_lounge"; + dir = 1; + name = "Departure Lounge APC"; + pixel_y = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Departures Lounge"; + name = "shuttle camera" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = 13; + pixel_y = 21 + }, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "oyp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -62924,17 +62413,6 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/circuit/green/telecomms/mainframe, /area/quartermaster/exploration_prep) -"oyV" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron, -/area/hallway/primary/aft) "ozc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -62994,6 +62472,24 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"oAB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "oAK" = ( /obj/machinery/computer/security/mining{ dir = 8 @@ -63011,6 +62507,25 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/miningoffice) +"oAN" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = -32 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "oBx" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 @@ -63041,6 +62556,33 @@ burnt = 1 }, /area/maintenance/port/fore) +"oBZ" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/head/utility/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/head/utility/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/head/utility/hardhat/orange{ + name = "protective hat"; + pixel_y = 6 + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/engine/engineering) "oCl" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -63064,6 +62606,36 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) +"oCL" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) +"oDg" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner, +/area/hallway/primary/fore) "oDp" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -63203,20 +62775,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/hallway/primary/port) -"oFg" = ( -/obj/structure/table, -/obj/item/aicard, -/obj/item/aiModule/reset, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/storage/tech) "oFr" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -63236,23 +62794,20 @@ }, /turf/open/floor/iron, /area/security/prison) -"oFF" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Labs"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, +"oFs" = ( +/obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ - dir = 10 + dir = 1 }, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 8 +/obj/machinery/airalarm/server{ + dir = 8; + pixel_x = -22 }, -/turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) "oFO" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -63316,7 +62871,16 @@ dir = 1 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"oGG" = ( +/obj/machinery/camera/directional/east{ + c_tag = "AI Upload Transit Exterior"; + name = "upload camera"; + network = list("aiupload") + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/maintenance/central) "oGN" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -63356,6 +62920,18 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/bar) +"oHq" = ( +/obj/machinery/shieldwallgen, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/teleporter) "oHG" = ( /obj/machinery/vending/wardrobe/gene_wardrobe, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -63430,6 +63006,23 @@ /area/security/prison{ name = "Prison Dorms" }) +"oJl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + name = "Evidence Storage"; + req_one_access_txt = "1;4" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "oJy" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -63447,7 +63040,15 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"oJC" = ( +/obj/structure/bookcase/random/reference, +/obj/machinery/camera/directional/north{ + c_tag = "Bar Shelves"; + name = "bar camera" + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) "oJS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -63497,21 +63098,6 @@ burnt = 1 }, /area/maintenance/starboard/fore) -"oKV" = ( -/obj/structure/table/wood, -/obj/item/storage/secure/briefcase{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/storage/lockbox/medal, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/captain) "oLa" = ( /obj/structure/chair/fancy/bench{ dir = 8 @@ -63563,24 +63149,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/locker) -"oLt" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/personal, -/obj/item/storage/backpack, -/obj/item/storage/backpack/satchel, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/locker) "oLO" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/delivery, @@ -63611,21 +63179,6 @@ burnt = 1 }, /area/maintenance/central) -"oMu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "oMT" = ( /obj/effect/landmark/start/head_of_personnel, /obj/structure/chair/office, @@ -63775,6 +63328,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) +"oQA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/disposal/deliveryChute{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) "oQC" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -63820,35 +63383,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/theatre) -"oRy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty{ - amount = 10; - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/stack/sheet/rglass{ - amount = 50 - }, -/obj/item/stack/sheet/rglass{ - amount = 50 - }, -/obj/item/clothing/shoes/magboots{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/shoes/magboots, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/eva) "oRz" = ( /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 1 @@ -63858,20 +63392,6 @@ }, /turf/open/floor/iron, /area/vacant_room/commissary) -"oRB" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/hallway/primary/central) "oRD" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -63901,6 +63421,25 @@ /obj/item/book/manual/wiki/sopsecurity, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"oSs" = ( +/obj/item/kirbyplants{ + icon_state = "plant-08" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Cloning Lab"; + name = "medical camera"; + network = list("ss13","medical"); + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = 24 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) "oSt" = ( /obj/structure/table, /obj/item/candle/infinite{ @@ -64113,28 +63652,6 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) -"oXt" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Telecomms Monitoring"; - name = "telecomms camera"; - network = list("ss13","tcomms") - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Telecomms Admin"; - departmentType = 5; - name = "Telecomms RC"; - pixel_x = -32 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/tcommsat/computer) "oXu" = ( /obj/machinery/atmospherics/pipe/manifold/supply/visible{ dir = 1 @@ -64215,6 +63732,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/break_room) +"oXU" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "oYk" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -64345,6 +63869,15 @@ burnt = 1 }, /area/maintenance/port/aft) +"oZp" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "oZv" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -64419,19 +63952,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/space/nearstation) -"paH" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) "pbk" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, @@ -64474,31 +63994,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/engineering) -"pbN" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/head/utility/welding{ - pixel_y = 4 - }, -/obj/machinery/power/apc{ - areastring = "/area/storage/primary"; - dir = 1; - name = "Tool Storage APC"; - pixel_y = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Tool Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/storage/primary) "pbO" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -64532,6 +64027,26 @@ burnt = 1 }, /area/maintenance/starboard) +"pcf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/fireaxecabinet{ + pixel_y = 28 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Scrubbers"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) "pcp" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/shutters/preopen{ @@ -64599,18 +64114,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/science/mixing) -"pcN" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "pda" = ( /obj/item/radio/intercom{ broadcasting = 1; @@ -64666,12 +64169,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/ai_monitored/security/armory) -"pdJ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 23 - }, -/turf/closed/wall, -/area/hallway/primary/aft) "peb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -64682,13 +64179,6 @@ broken = 1 }, /area/maintenance/aft) -"peh" = ( -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "pek" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -64718,6 +64208,16 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"peN" = ( +/obj/machinery/status_display/ai{ + pixel_x = -32 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/science/explab) "peO" = ( /obj/structure/table/wood, /obj/machinery/light/small{ @@ -64738,13 +64238,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/fore) -"peU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/port/aft) "pfo" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, @@ -64821,29 +64314,6 @@ broken = 1 }, /area/maintenance/starboard/aft) -"pfK" = ( -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom{ - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/science/explab) -"pfM" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13", "security") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/prison, -/area/security/prison) "pfP" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/corner{ @@ -64870,6 +64340,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"pgh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/box, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "pgj" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -64884,6 +64372,26 @@ }, /turf/open/floor/iron/dark, /area/storage/tech) +"pgl" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Supermatter Cooler"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/modular_computer/console/preset/engineering, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "pgr" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -64893,43 +64401,6 @@ burnt = 1 }, /area/maintenance/port/aft) -"pgt" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/pen, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = -30 - }, -/obj/machinery/button/door{ - id = "Biohazard"; - name = "Emergency Research Lockdown"; - pixel_x = 24; - pixel_y = -24; - req_access_txt = "47" - }, -/obj/machinery/camera/directional/east{ - c_tag = "Science Security Post"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/science/research) "pgv" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/bot, @@ -64975,43 +64446,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"phr" = ( -/obj/structure/sign/directions/evac{ - dir = 8; - pixel_y = 32 - }, +"phk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ - pixel_x = 10; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/shamblers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/pwr_game{ - pixel_x = -4; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = 6; - pixel_y = 11 + icon_state = "1-2" }, -/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko{ - pixel_y = 20 +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/obj/machinery/light_switch{ + pixel_x = 25 }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13", "security") }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) +/turf/open/floor/iron, +/area/security/brig/aft) "phw" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65110,34 +64561,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/kitchen) -"piQ" = ( -/obj/structure/table, -/obj/item/stack/sheet/plasteel/fifty{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stack/sheet/rglass{ - amount = 50; - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "pjv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -65151,25 +64574,6 @@ broken = 1 }, /area/quartermaster/warehouse) -"pjz" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Starboad Hallway Custodial Bay"; - name = "starboard camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "pjI" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -65254,6 +64658,25 @@ }, /turf/open/floor/iron, /area/bridge) +"pkR" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/item/radio/intercom{ + freerange = 1; + name = "Prison intercom"; + desc = "Talk through this. It looks like it has been modified to not broadcast."; + prison_radio = 1; + pixel_x = -26 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Brig Cells"; + network = list("ss13", "prison") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/small, +/turf/open/floor/iron/dark, +/area/security/prison/shielded) "pln" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -65263,25 +64686,6 @@ burnt = 1 }, /area/maintenance/fore) -"plr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/fun_police{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/space_heater, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light, -/turf/open/floor/iron/dark, -/area/security/execution/education) "plt" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -65337,6 +64741,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"plS" = ( +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Traffic Control"; + name = "shuttle camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "pmb" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -65378,6 +64797,25 @@ burnt = 1 }, /area/maintenance/starboard/fore) +"pmD" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Telecomms Server Room"; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) "pmM" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65407,6 +64845,24 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hop) +"pmV" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 32 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Council Chamber"; + name = "command camera" + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/security/courtroom) "pnf" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -65426,7 +64882,7 @@ }, /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "pnt" = ( /obj/structure/sink{ dir = 8; @@ -65549,7 +65005,7 @@ /obj/item/clothing/gloves/maid, /obj/item/clothing/accessory/maidapron, /turf/open/floor/iron/dark, -/area/security/main) +/area/security/brig) "ppJ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -65557,16 +65013,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/maintenance/port) -"ppM" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "ppN" = ( /obj/effect/turf_decal/plaque{ icon_state = "L5" @@ -65724,6 +65170,21 @@ burnt = 1 }, /area/maintenance/fore) +"prB" = ( +/obj/structure/rack, +/obj/item/storage/briefcase{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/briefcase, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/lawoffice) "prR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ @@ -65781,25 +65242,6 @@ broken = 1 }, /area/maintenance/port/aft) -"psI" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/chapel/main) "psP" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/radio/intercom{ @@ -65962,6 +65404,28 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/bridge) +"pvn" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Quarter Solar"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/aft) "pvC" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -66026,32 +65490,6 @@ }, /turf/open/floor/plating, /area/science/shuttledock) -"pwl" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) -"pwo" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22" - }, -/obj/machinery/light, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/chapel/main) "pwt" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -66254,19 +65692,26 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron/showroomfloor, /area/science/mixing) -"pzL" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +"pzN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron/showroomfloor, +/area/science/robotics/lab) "pAb" = ( /obj/machinery/portable_atmospherics/canister/plasma, /obj/effect/turf_decal/delivery, @@ -66275,6 +65720,23 @@ }, /turf/open/floor/iron/dark, /area/science/storage) +"pAd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/siding/white/corner, +/turf/open/floor/iron, +/area/bridge) "pAl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66317,18 +65779,25 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"pBm" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 +"pBs" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, -/obj/effect/turf_decal/siding/white/corner{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ dir = 1 }, /turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) +/area/quartermaster/exploration_prep) "pBX" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -66485,36 +65954,10 @@ }, /turf/closed/wall, /area/medical/storage) -"pDW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "pEh" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/r_wall, /area/quartermaster/exploration_prep) -"pEo" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "pEu" = ( /obj/machinery/computer/secure_data{ dir = 4 @@ -66654,24 +66097,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/fore) -"pGo" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "pGP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/turf_decal/stripes/line{ @@ -66710,6 +66135,18 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/explab) +"pHy" = ( +/obj/item/kirbyplants{ + icon_state = "plant-08" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/aft) "pHO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66722,6 +66159,27 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"pHV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "pHY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -66978,6 +66436,13 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"pOf" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "pOv" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -67005,6 +66470,28 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/bar) +"pPi" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/morgue"; + dir = 1; + name = "Morgue APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, +/turf/open/floor/iron/dark, +/area/medical/morgue) "pPG" = ( /obj/machinery/light/small{ dir = 4 @@ -67058,29 +66545,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) -"pPQ" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad"; - name = "off ramp" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo Ramps"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/storage) "pPX" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille, @@ -67177,30 +66641,15 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"pRY" = ( -/obj/machinery/chem_dispenser/drinks{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, +"pSq" = ( /obj/structure/table, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/item/radio/intercom{ - pixel_x = 28 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/item/folder{ + pixel_x = -6 }, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, -/area/crew_quarters/bar) -"pSh" = ( -/turf/closed/wall, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/science/explab) "pSw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -67270,7 +66719,7 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "pUb" = ( /obj/effect/turf_decal/stripes/corner, /obj/item/kirbyplants{ @@ -67410,6 +66859,18 @@ }, /turf/open/floor/iron/freezer, /area/medical/virology) +"pVj" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "pVo" = ( /obj/structure/chair/office, /obj/effect/turf_decal/stripes/corner{ @@ -67496,18 +66957,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hop) -"pWP" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "pWQ" = ( /obj/structure/sign/poster/contraband/random, /turf/closed/wall/r_wall/rust, @@ -67604,31 +67053,24 @@ /obj/effect/decal/cleanable/dirt, /turf/closed/wall/r_wall, /area/quartermaster/exploration_prep) -"pYq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +"pYQ" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/directional/east{ + c_tag = "Transferring Centre" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, /turf/open/floor/iron, -/area/bridge) +/area/security/execution/transfer) "pZb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67676,6 +67118,16 @@ broken = 1 }, /area/quartermaster/warehouse) +"pZE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/grille/broken, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "pZH" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -67687,29 +67139,29 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"qag" = ( -/obj/effect/decal/cleanable/food/flour, -/obj/structure/sink{ - dir = 8; - pixel_x = -12 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Kitchen"; - name = "diner camera" - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 +"qak" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 4 +/obj/effect/turf_decal/caution, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/kitchen) +/obj/machinery/camera/directional/south{ + c_tag = "Crematorium"; + name = "chapel camera" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/chapel/office) "qan" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -67722,11 +67174,31 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/gateway) +"qau" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "qaH" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/showroomfloor, /area/medical/genetics/cloning) +"qaM" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Arrivals Storage"; + name = "shuttle camera" + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "qaR" = ( /obj/structure/window/reinforced{ dir = 8 @@ -67789,6 +67261,13 @@ /mob/living/carbon/monkey, /turf/open/floor/iron/dark, /area/medical/virology) +"qbO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "qca" = ( /obj/machinery/light{ dir = 4 @@ -67840,18 +67319,21 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"qcH" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +"qch" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, -/obj/item/bedsheet/syndie, -/obj/structure/closet/secure_closet/evidence, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "qcN" = ( /obj/machinery/door/airlock/maintenance{ name = "hydroponics maintenance"; @@ -67897,19 +67379,32 @@ burnt = 1 }, /area/maintenance/port/aft) +"qdK" = ( +/obj/structure/table, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/mask/surgical, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "qdP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat/atmos) -"qdZ" = ( -/obj/machinery/power/tracker, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-8" +"qdR" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/aft) +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/hallway/primary/aft) "qec" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -68001,6 +67496,33 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/teleporter) +"qgc" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/security/main) +"qgm" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/backpack, +/obj/item/storage/backpack/satchel, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/winterboots, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/locker) "qgB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small{ @@ -68060,6 +67582,40 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"qhn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "transittube"; + name = "Transit Tube Lockdown Toggle"; + pixel_x = 24; + pixel_y = 11; + req_access_txt = "19" + }, +/obj/machinery/camera/directional/east{ + c_tag = "AI Upload Transit"; + name = "command camera" + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_x = 27; + pixel_y = -5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/bridge) "qhM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -68095,34 +67651,6 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"qiB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "transittube_ai"; - name = "Transit Tube Lockdown Toggle"; - pixel_x = -24; - pixel_y = -8; - req_access_txt = "19" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Satellite Transit Access"; - name = "satellite camera"; - network = list("minisat") - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/hallway/primary/fore) "qiY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -68181,18 +67709,6 @@ broken = 1 }, /area/maintenance/aft) -"qjO" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood, -/area/crew_quarters/bar) "qjZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -68209,6 +67725,13 @@ broken = 1 }, /area/maintenance/starboard/aft) +"qkg" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "qkl" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -68341,21 +67864,6 @@ /obj/structure/lattice/catwalk, /turf/open/floor/plating, /area/science/shuttledock) -"qmt" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/satellite) "qnn" = ( /obj/structure/girder/displaced, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -68385,6 +67893,21 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/kitchen) +"qoj" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/storage) "qoN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -68459,6 +67982,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/aft) +"qqx" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics Port Tanks"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "qqy" = ( /obj/machinery/power/apc{ areastring = "/area/vacant_room/commissary"; @@ -68474,47 +68012,21 @@ }, /turf/open/floor/iron/dark, /area/vacant_room/commissary) -"qqM" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"qrk" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"qqG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/machinery/button/door{ - id = "explorerstorage"; - name = "Storage Shutter Toggle"; - pixel_x = 6; - pixel_y = 2; - req_access_txt = "49" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/effect/turf_decal/tile/green{ - dir = 1 +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 }, -/turf/open/floor/iron/showroomfloor, -/area/quartermaster/exploration_prep) +/turf/open/floor/iron, +/area/bridge) "qrv" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -68535,19 +68047,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/quartermaster/warehouse) -"qrx" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron, -/area/bridge) "qrC" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating{ @@ -68608,18 +68107,6 @@ /obj/effect/turf_decal/tile/purple/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/science/lab) -"qsA" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron, -/area/bridge) "qsD" = ( /obj/structure/sink{ dir = 4; @@ -68865,35 +68352,25 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/science/research) -"qxf" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"qwp" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 }, -/obj/item/book/manual/hydroponics_pod_people{ - pixel_y = 4 +/obj/structure/table/glass, +/obj/item/clothing/gloves/color/latex, +/obj/item/healthanalyzer, +/obj/item/storage/box/bodybags, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 5; + pixel_y = -1 }, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/reagent_containers/dropper, -/obj/item/pen, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/west{ - c_tag = "Hydroponics Pen"; - name = "hydroponics camera" +/obj/machinery/light_switch{ + pixel_x = 27; + pixel_y = -4 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/hydroponics) -"qxw" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/structure/table, -/obj/item/clipboard, -/obj/item/folder/red, -/obj/item/pen/blue, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/turf/open/floor/iron/showroomfloor, +/area/security/main) "qxx" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -68927,34 +68404,6 @@ }, /turf/open/floor/iron, /area/storage/primary) -"qyq" = ( -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/toilet/restrooms"; - name = "Restrooms APC"; - pixel_y = -24 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Restrooms"; - name = "recreation camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/toilet/restrooms) "qyr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69080,20 +68529,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/aft) -"qAt" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "qAu" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = -30 @@ -69281,6 +68716,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"qDH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron, +/area/bridge) "qDK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -69325,21 +68775,16 @@ /obj/effect/turf_decal/tile/dark/half, /turf/open/floor/iron/dark, /area/medical/medbay/central) -"qDT" = ( -/obj/structure/chair/fancy/sofa/old/right{ - color = "#742925" - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, +"qEp" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar/atrium) +/turf/open/floor/iron, +/area/security/brig/aft) "qEy" = ( /obj/item/kirbyplants, /obj/structure/extinguisher_cabinet{ @@ -69379,6 +68824,16 @@ burnt = 1 }, /area/maintenance/starboard/fore) +"qFB" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/table/optable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/execution/education) "qFE" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -69423,27 +68878,7 @@ }, /obj/item/book/manual/wiki/sopsecurity, /turf/open/floor/iron/dark, -/area/security/main) -"qGt" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/table, -/obj/item/clothing/gloves/color/latex{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/glasses/science{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/glasses/science, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) +/area/security/brig) "qGz" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -69468,19 +68903,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"qGC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "qGE" = ( /obj/structure/railing{ layer = 20 @@ -69689,24 +69111,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/medical) -"qJP" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "qJU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -69715,17 +69119,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) -"qKf" = ( -/obj/structure/cable/yellow, -/obj/item/storage/box/pillbottles, -/obj/effect/turf_decal/bot, -/obj/item/storage/box/pillbottles, -/obj/structure/closet/secure_closet/chemical, -/obj/machinery/power/apc/auto_name/directional/west{ - name = "Chemsitry APC" - }, -/turf/open/floor/iron/dark, -/area/medical/chemistry) "qKk" = ( /obj/machinery/power/smes{ capacity = 9e+006; @@ -69766,21 +69159,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"qKQ" = ( -/obj/item/radio/intercom{ - pixel_y = 22 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Fore Hallway Chapel"; - name = "fore camera" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/hallway/primary/fore) "qKY" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -69819,16 +69197,22 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/fore) -"qLO" = ( -/obj/effect/landmark/start/scientist, -/obj/effect/turf_decal/stripes/line{ +"qLX" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, /turf/open/floor/iron/showroomfloor, -/area/science/xenobiology) +/area/medical/medbay/lobby) "qMK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69906,19 +69290,6 @@ }, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"qNM" = ( -/obj/machinery/rnd/production/protolathe/department/science, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/east{ - c_tag = "Research Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/dark, -/area/science/lab) "qNQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -69946,20 +69317,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/surgery) -"qOG" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/south{ - c_tag = "Toxins Pumps"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/mixing) "qOK" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -70028,6 +69385,41 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"qPK" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-08" + }, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) +"qPL" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "qPN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -70045,18 +69437,6 @@ broken = 1 }, /area/maintenance/fore) -"qQb" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Port Hallway Chemistry Desk"; - name = "port camera" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark/corner, -/area/hallway/primary/port) "qQK" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8; @@ -70092,22 +69472,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"qRs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) "qRS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70148,20 +69512,29 @@ }, /turf/open/floor/iron/dark, /area/maintenance/disposal/incinerator) -"qSR" = ( +"qSD" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm/directional/south, -/obj/structure/closet{ - name = "Evidence Closet" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) +"qSN" = ( +/obj/machinery/door/airlock/maintenance/external{ + name = "construction zone"; + req_access_txt = "32;47;48;37" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/area/construction/mining/aux_base) "qSU" = ( /obj/item/radio/intercom{ pixel_y = 22 @@ -70240,6 +69613,9 @@ broken = 1 }, /area/maintenance/central) +"qUP" = ( +/turf/closed/wall/r_wall, +/area/security/brig/aft) "qUS" = ( /obj/machinery/shower{ dir = 4; @@ -70280,7 +69656,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "qVA" = ( /obj/machinery/vending/coffee, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -70288,6 +69664,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"qVX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "qWb" = ( /obj/item/kirbyplants{ icon_state = "plant-05" @@ -70303,6 +69695,20 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"qWs" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Central Hallway Personnel Queue"; + name = "central camera" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/central) "qWY" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -70418,23 +69824,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/quartermaster/exploration_prep) -"qYQ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Brig Prison Access" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/main) "qYV" = ( /obj/machinery/status_display/ai{ pixel_x = -32; @@ -70479,6 +69868,19 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) +"raf" = ( +/obj/machinery/computer/message_monitor, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/tcommsat/computer) "rag" = ( /obj/effect/decal/cleanable/dirt, /obj/item/shard, @@ -70578,6 +69980,28 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) +"rbe" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "E.V.A. Storage"; + name = "command camera" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/standard_unit{ + desc = "An industrial suit storage device carrying retro space suits. Neat!"; + helmet_type = /obj/item/clothing/head/helmet/space; + suit_type = /obj/item/clothing/suit/space + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/eva) "rbX" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -70645,17 +70069,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) -"rcB" = ( -/obj/effect/turf_decal/box, -/obj/machinery/power/solar{ - id = "forestarboard"; - name = "Fore-Starboard Solar Array" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/fore) "rcI" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -70712,15 +70125,31 @@ burnt = 1 }, /area/maintenance/port/fore) -"rdl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"rdg" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 +/obj/item/folder/red, +/obj/item/lighter{ + pixel_x = -4; + pixel_y = 4 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/obj/item/clothing/mask/cigarette/cigar/cohiba{ + pixel_x = 6 + }, +/obj/item/clothing/mask/cigarette/cigar, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hos) "rdv" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/effect/turf_decal/tile/neutral, @@ -70783,33 +70212,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"rer" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ +"reD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/effect/turf_decal/siding/white{ dir = 4 }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 32 - }, -/obj/structure/closet/secure_closet{ - anchored = 1; - name = "patient's closet"; - req_access_txt = "5" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/item/clothing/under/color/white, -/obj/item/clothing/shoes/sneakers/white, -/obj/effect/turf_decal/bot, /turf/open/floor/iron/showroomfloor, -/area/medical/genetics/cloning) -"reD" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) +/area/medical/medbay/lobby) "reH" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -70855,26 +70268,6 @@ broken = 1 }, /area/maintenance/port/aft) -"rfd" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/obj/item/mmi, -/obj/item/mmi, -/obj/item/mmi, -/obj/item/storage/box/bodybags{ - pixel_y = 5 - }, -/turf/open/floor/iron/dark, -/area/science/robotics/lab) "rfg" = ( /obj/effect/turf_decal/loading_area{ dir = 8 @@ -70896,6 +70289,20 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/engine/engineering) +"rfh" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "rfr" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, @@ -70919,27 +70326,6 @@ burnt = 1 }, /area/maintenance/starboard) -"rfw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"rfx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/clipboard, -/obj/item/pen, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "rfO" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -70997,22 +70383,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"rgg" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13", "security") - }, -/obj/item/kirbyplants{ - icon_state = "plant-02"; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "rgj" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/light/small{ @@ -71058,6 +70428,33 @@ broken = 1 }, /area/maintenance/port) +"rhy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/disposal/incinerator) "rhI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -71094,6 +70491,19 @@ }, /turf/open/floor/iron, /area/construction/mining/aux_base) +"rhO" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "rhW" = ( /obj/effect/turf_decal/tile/dark_blue/opposingcorners, /obj/structure/cable/yellow{ @@ -71128,6 +70538,24 @@ broken = 1 }, /area/maintenance/port/fore) +"riA" = ( +/obj/structure/table, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east{ + name = "Surgery APC" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/item/clothing/gloves/color/latex, +/obj/item/cautery, +/obj/item/surgicaldrill{ + pixel_y = 5 + }, +/obj/item/surgical_drapes, +/obj/item/healthanalyzer, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "riE" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -71269,6 +70697,30 @@ }, /turf/open/floor/engine, /area/ai_monitored/turret_protected/ai_upload) +"rjE" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/sign/poster/official/moth1{ + pixel_y = 32 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/autoname{ + dir = 9 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "rjN" = ( /obj/effect/turf_decal/plaque{ icon_state = "L13" @@ -71297,6 +70749,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"rjQ" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Armory External" + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) "rjR" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -71391,22 +70850,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"rlV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron, -/area/bridge) "rmg" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -71438,6 +70881,28 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"rna" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/item/toy/figure/borg{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/foyer) "rnc" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -71614,12 +71079,30 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/chemistry) -"roI" = ( +"roo" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/wrench, +/obj/item/crowbar/red, /obj/effect/decal/cleanable/dirt, -/turf/closed/wall, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Server Room"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/server) "roT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -71627,6 +71110,40 @@ broken = 1 }, /area/quartermaster/warehouse) +"rpF" = ( +/obj/structure/table, +/obj/item/folder, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/reagent_containers/glass/beaker/large{ + pixel_x = -4 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = 4 + }, +/obj/item/reagent_containers/dropper, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/science/xenobiology) +"rqo" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/port/fore) "rqq" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/effect/turf_decal/stripes/line{ @@ -71740,18 +71257,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/security/main) -"rtf" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "rtm" = ( /obj/machinery/vending/engivend, /obj/effect/turf_decal/bot, @@ -71953,6 +71458,16 @@ broken = 1 }, /area/storage/tcom) +"rvK" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Satellite External Port"; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/space/nearstation) "rvU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -71968,26 +71483,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/security/execution/transfer) -"rwh" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13", "prison") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +"rwa" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -30 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/prison, -/area/security/prison) -"rwq" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ +/obj/machinery/light{ dir = 8 }, -/turf/open/floor/plating{ - burnt = 1 +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13", "security") }, -/area/maintenance/starboard/fore) +/obj/machinery/rnd/production/techfab/department/security, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark, +/area/security/warden) "rws" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, @@ -72009,62 +71519,21 @@ burnt = 1 }, /area/maintenance/starboard) -"rwN" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron, -/area/bridge) -"rxe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/tank_dispenser/oxygen, -/obj/machinery/camera{ - c_tag = "Exploration Dock"; - dir = 9; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/quartermaster/exploration_prep) "ryn" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/recharge_station, +/obj/effect/turf_decal/bot, +/obj/structure/extinguisher_cabinet{ + pixel_y = -28 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/robotics/lab) +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/satellite) "ryC" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -72099,19 +71568,6 @@ }, /turf/open/floor/iron, /area/teleporter) -"rzN" = ( -/obj/machinery/vending/wardrobe/engi_wardrobe, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Lockers"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "rzY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, @@ -72236,6 +71692,27 @@ /mob/living/simple_animal/pet/hamster/vector, /turf/open/floor/iron/freezer, /area/medical/virology) +"rBC" = ( +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/ai_monitored/security/armory) "rBR" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72252,17 +71729,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/starboard) -"rBY" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/closet/bombcloset, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/mixing) "rCs" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72278,6 +71744,28 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) +"rCB" = ( +/obj/machinery/light, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/power/apc/auto_name/directional/south{ + name = "Medbay Central APC" + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) +"rCM" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/starboard/fore) "rDP" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -72301,23 +71789,6 @@ broken = 1 }, /area/maintenance/central) -"rFl" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 - }, -/obj/machinery/vending/wardrobe/science_wardrobe, -/obj/machinery/camera/directional/east{ - c_tag = "Experimenter Lab"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/explab) "rFr" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -72372,18 +71843,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/aft) -"rGO" = ( -/obj/machinery/newscaster{ - pixel_x = 30 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Library"; - name = "bar camera" - }, -/obj/machinery/modular_computer/console/preset/curator, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron/dark, -/area/library) "rHm" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -72413,16 +71872,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/fore) -"rHE" = ( -/obj/machinery/status_display/ai{ - pixel_x = -32 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/science/explab) "rHI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, @@ -72482,31 +71931,6 @@ broken = 1 }, /area/maintenance/starboard) -"rIu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "rIO" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 10 @@ -72544,6 +71968,13 @@ broken = 1 }, /area/maintenance/central) +"rJq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/closet/firecloset, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "rJr" = ( /obj/effect/turf_decal/bot, /obj/structure/window/reinforced{ @@ -72571,21 +72002,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/virology) -"rJC" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/science/storage) "rJO" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ @@ -72601,6 +72017,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) +"rKg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "rKo" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Upload"; @@ -72646,6 +72077,11 @@ burnt = 1 }, /area/maintenance/port/aft) +"rKN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/official/safety_eye_protection, +/turf/closed/wall, +/area/science/aft) "rLd" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72676,7 +72112,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "rLg" = ( /obj/structure/curtain, /obj/effect/turf_decal/delivery, @@ -72834,10 +72270,29 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/security/warden) -"rNW" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/maintenance/starboard/fore) +"rNZ" = ( +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Xenobiology Closet"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "rOd" = ( /obj/machinery/door/airlock/security{ name = "EVA room"; @@ -72864,6 +72319,17 @@ }, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) +"rOB" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron, +/area/hallway/primary/aft) "rON" = ( /obj/effect/turf_decal/delivery, /obj/structure/extinguisher_cabinet{ @@ -72902,6 +72368,22 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/genetics) +"rPz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4; + external_pressure_bound = 140; + name = "server vent"; + pressure_checks = 0 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) "rPB" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -72915,6 +72397,29 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"rPC" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Recovery Room"; + dir = 10; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "rPD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance/two, @@ -73266,20 +72771,6 @@ broken = 1 }, /area/maintenance/aft) -"rVM" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/structure/closet/emcloset{ - name = "emergency prison" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "rVO" = ( /obj/structure/window/reinforced, /obj/machinery/atmospherics/components/trinary/filter/atmos/plasma{ @@ -73344,6 +72835,12 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/security/prison) +"rWx" = ( +/obj/item/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/iron/dark, +/area/science/aft) "rXn" = ( /obj/structure/table/glass, /obj/machinery/light_switch{ @@ -73475,19 +72972,29 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"rZe" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 +"rZj" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/light{ - light_color = "#e8eaff" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /turf/open/floor/iron/showroomfloor, -/area/medical/surgery) +/area/medical/medbay/lobby) +"rZr" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/item/bedsheet/syndie, +/obj/structure/closet/secure_closet/evidence, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "rZP" = ( /obj/structure/sign/poster/official/random{ pixel_x = -32; @@ -73500,6 +73007,23 @@ dir = 8 }, /area/hallway/primary/port) +"rZY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ai_monitored/turret_protected/aisat/atmos) "sah" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -73547,6 +73071,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/bridge) +"sax" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/engine, +/area/engine/gravity_generator) "saG" = ( /obj/structure/chair/office/light{ dir = 8 @@ -73558,6 +73092,23 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron, /area/hydroponics) +"saO" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Labs"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "saV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -73648,21 +73199,37 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plating, /area/quartermaster/warehouse) -"sdK" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 +"sdA" = ( +/obj/machinery/light{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals Dock"; + name = "shuttle camera" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/storage/backpack/duffelbag/sec/surgery{ - pixel_y = 4 +/turf/open/floor/iron, +/area/hallway/secondary/entry) +"sdM" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/mixingchamber{ + pixel_y = 22; + dir = 1 }, -/obj/item/clothing/gloves/color/latex, /turf/open/floor/iron/dark, -/area/science/robotics/lab) +/area/science/mixing/chamber) "sdO" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 @@ -73693,6 +73260,21 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/main) +"sej" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/disposaloutlet{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/light_switch{ + pixel_x = 27; + pixel_y = -5 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "sem" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/tile/purple/half/contrasted{ @@ -73798,55 +73380,6 @@ broken = 1 }, /area/maintenance/port/fore) -"sfQ" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/latex{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/glasses/science{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/clothing/glasses/science, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Toxins Launch Site"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 28 - }, -/obj/structure/sign/warning/explosives/alt{ - pixel_x = -32 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/science/mixing) -"sfV" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/landmark/xeno_spawn, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/solars/starboard/aft) "sfZ" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -73967,6 +73500,15 @@ broken = 1 }, /area/maintenance/port/aft) +"sir" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "siW" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -74002,6 +73544,41 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/heads/hos) +"sjk" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil/red, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/quartermaster/exploration_prep) +"sjv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Satellite Foyer"; + name = "satellite camera"; + network = list("minisat") + }, +/turf/open/floor/engine, +/area/ai_monitored/turret_protected/aisat/foyer) "skf" = ( /obj/item/storage/box/bodybags, /obj/item/storage/box/disks{ @@ -74041,19 +73618,6 @@ }, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"skm" = ( -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/library) "skq" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -74085,6 +73649,12 @@ }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) +"skx" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/explab) "skC" = ( /obj/machinery/conveyor{ id = "NTMSLoad2"; @@ -74232,7 +73802,7 @@ name = "Auxiliary Base Shutters Toggle"; pixel_x = 24; pixel_y = 6; - req_one_access_txt = "32;47;48" + req_one_access_txt = "32;47;48;37" }, /obj/item/radio/intercom{ pixel_y = -28 @@ -74253,22 +73823,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/security/courtroom) -"snZ" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins Storage"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/science/storage) "soa" = ( /turf/closed/wall/r_wall, /area/medical/chemistry) @@ -74296,21 +73850,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"soT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "soV" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 8 @@ -74408,6 +73947,19 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"sqP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "sqT" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -74451,18 +74003,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"ssd" = ( -/obj/machinery/light, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/power/apc/auto_name/directional/south{ - name = "Medbay Central APC" - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) "ssj" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -74501,6 +74041,24 @@ dir = 1 }, /area/hallway/primary/central) +"ssS" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "stj" = ( /obj/structure/table, /obj/machinery/recharger, @@ -74542,6 +74100,25 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/science/mixing) +"suf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) +"suz" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "aftport"; + name = "Aft-Port Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/port/aft) "suI" = ( /obj/effect/landmark/start/quartermaster, /obj/effect/turf_decal/stripes/corner, @@ -74663,44 +74240,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/xenobiology) -"swW" = ( -/obj/item/kirbyplants{ - icon_state = "plant-05" - }, -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/hallway/secondary/exit/departure_lounge"; - dir = 1; - name = "Departure Lounge APC"; - pixel_y = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Departures Lounge"; - name = "shuttle camera" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = 13; - pixel_y = 21 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "sxa" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -74905,6 +74444,40 @@ burnt = 1 }, /area/maintenance/fore) +"szg" = ( +/obj/structure/table/glass, +/obj/item/seeds/random{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/seeds/wheat{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/seeds/sugarcane{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/seeds/potato{ + pixel_x = -1; + pixel_y = 1 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/item/toy/figure/botanist{ + pixel_x = 8 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Hydroponics"; + name = "hydroponics camera" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/hydroponics) "szy" = ( /obj/effect/landmark/start/scientist, /obj/structure/cable/yellow{ @@ -74918,32 +74491,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/explab) -"sAk" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/hydroponics, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +"sAB" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/hydroponics) -"sAn" = ( -/obj/structure/closet/secure_closet/hop, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +/obj/structure/disposalpipe/segment, +/obj/machinery/light{ + dir = 8 }, -/obj/effect/turf_decal/stripes/corner{ +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hop) +/turf/open/floor/iron, +/area/security/brig/aft) "sAS" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/tile/red, @@ -74974,6 +74534,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/security/main) +"sBD" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/computer/nanite_chamber_control, +/obj/machinery/camera/directional/north{ + c_tag = "Nanite Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/science/research) "sBU" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -75081,26 +74652,26 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"sDE" = ( -/obj/machinery/door/airlock/maintenance{ - req_one_access_txt = "1;4" - }, -/obj/structure/disposalpipe/segment{ +"sDt" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/camera/directional/east{ + c_tag = "Supermatter Waste Line"; + name = "engineering camera"; + network = list("ss13","engine") }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/button/door{ + id = "engineaccess"; + name = "Engine Access Lockdown"; + pixel_x = 24; + req_one_access_txt = "10" }, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/turf/open/floor/engine, +/area/engine/engineering) "sDM" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -75172,6 +74743,23 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/chief) +"sGp" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder/yellow, +/obj/item/dest_tagger, +/obj/item/dest_tagger, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/sorting) "sGt" = ( /obj/structure/table, /obj/item/radio{ @@ -75189,17 +74777,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/aft) -"sGS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "sGT" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -75237,22 +74814,6 @@ broken = 1 }, /area/maintenance/central) -"sHC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "sId" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -75314,6 +74875,24 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/aft) +"sIH" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -28 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) "sIN" = ( /turf/closed/wall/r_wall/rust, /area/security/prison{ @@ -75383,6 +74962,19 @@ burnt = 1 }, /area/maintenance/starboard/aft) +"sJp" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/closet/secure_closet/warden, +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark, +/area/security/warden) "sJs" = ( /obj/structure/window/reinforced{ dir = 8 @@ -75427,30 +75019,6 @@ }, /turf/open/floor/plating, /area/security/prison) -"sKk" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/fax/bridge, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/bridge) "sKz" = ( /obj/structure/railing{ dir = 4 @@ -75460,6 +75028,22 @@ }, /turf/open/floor/wood, /area/security/prison) +"sKX" = ( +/obj/machinery/disposal/bin, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/south{ + c_tag = "Chemistry"; + name = "medical camera"; + network = list("ss13","medical") + }, +/turf/open/floor/iron/dark, +/area/medical/chemistry) "sLa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/maintenance, @@ -75468,6 +75052,26 @@ broken = 1 }, /area/maintenance/aft) +"sLb" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/solars/port/fore) "sLd" = ( /obj/structure/table/glass, /obj/machinery/plantgenes{ @@ -75490,6 +75094,22 @@ }, /turf/open/floor/plating, /area/security/prison) +"sLo" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "sLD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille/broken, @@ -75503,27 +75123,6 @@ burnt = 1 }, /area/maintenance/port/aft) -"sLI" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/sign/poster/official/moth1{ - pixel_y = 32 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "sMc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -75544,18 +75143,23 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/quartermaster/warehouse) -"sMn" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 +"sMF" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/machinery/space_heater, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +/obj/machinery/gateway{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/north{ + c_tag = "Gateway"; + name = "command camera" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 }, /turf/open/floor/iron/dark, -/area/science/shuttledock) +/area/gateway) "sMK" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ @@ -75594,7 +75198,22 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"sNi" = ( +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) +"sNl" = ( +/obj/structure/chair/stool/directional/south, +/obj/item/trash/energybar{ + pixel_x = 10; + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/security/prison) "sNo" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -75740,15 +75359,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron/showroomfloor, /area/science/explab) -"sPe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating{ - burnt = 1 - }, -/area/maintenance/starboard/fore) "sPs" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -75834,15 +75444,6 @@ }, /turf/open/floor/plating, /area/medical/chemistry) -"sQF" = ( -/obj/structure/closet/bombcloset/security, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "sQM" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -75862,6 +75463,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"sQZ" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8; + name = "Xenobiology Positive Pressure Distribution Pump" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "sRb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -75876,26 +75494,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/quartermaster/exploration_dock) -"sRk" = ( -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/table, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Bar Counter"; - name = "bar camera" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "sRI" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -75998,87 +75596,41 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/aft) -"sSU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) -"sSZ" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Bridge Council Door"; - name = "command camera" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"sSM" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ +/obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, -/turf/open/floor/iron, -/area/bridge) -"sTf" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/camera/directional/east{ - c_tag = "E.V.A. Storage"; - name = "command camera" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/wood, +/area/library) +"sTG" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, -/obj/machinery/light{ - dir = 4 +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + name = "Quartermaster RC"; + pixel_y = 30 }, -/obj/machinery/suit_storage_unit/standard_unit{ - desc = "An industrial suit storage device carrying retro space suits. Neat!"; - helmet_type = /obj/item/clothing/head/helmet/space; - suit_type = /obj/item/clothing/suit/space +/obj/structure/extinguisher_cabinet{ + pixel_x = 24; + pixel_y = 28 }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 + dir = 8 }, /turf/open/floor/iron/dark, -/area/ai_monitored/storage/eva) -"sTz" = ( -/obj/item/kirbyplants{ - icon_state = "plant-05" - }, -/obj/structure/noticeboard{ - dir = 8; - pixel_x = 32 - }, -/obj/item/paper/monitorkey, -/obj/machinery/camera/directional/east{ - c_tag = "Chief Engineer's Office"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/turf/open/floor/iron, -/area/crew_quarters/heads/chief) +/area/quartermaster/qm) "sUi" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/disposalpipe/segment, @@ -76117,6 +75669,27 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) +"sUM" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/explab) "sUX" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -76147,6 +75720,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"sVG" = ( +/obj/machinery/telecomms/receiver/preset_right, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Telecomms Server SMES"; + name = "telecomms camera"; + network = list("ss13","tcomms") + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) "sVH" = ( /obj/effect/spawner/structure/window/reinforced/prison, /obj/machinery/door/poddoor/preopen{ @@ -76160,6 +75745,21 @@ burnt = 1 }, /area/security/prison) +"sVN" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo Lockers"; + name = "cargo camera"; + network = list("ss13","qm") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/quartermaster/storage) "sWe" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -76191,6 +75791,15 @@ }, /turf/open/floor/iron/dark, /area/maintenance/aft) +"sWz" = ( +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/effect/mapping_helpers/atmos_auto_connect, +/turf/open/floor/iron/dark, +/area/science/aft) "sWE" = ( /obj/machinery/computer/prisoner/management{ dir = 4 @@ -76243,6 +75852,24 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/hallway/secondary/entry) +"sWR" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Recovery Room"; + name = "geneticscamera"; + network = list("ss13","medical"); + dir = 5 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/genetics) "sXc" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -76293,14 +75920,6 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/quartermaster/warehouse) -"sXD" = ( -/mob/living/simple_animal/bot/medbot{ - auto_patrol = 1; - desc = "A little medical robot, officially part of the Nanotrasen medical inspectorate. He looks somewhat underwhelmed."; - name = "Inspector Johnson" - }, -/turf/open/floor/glass/reinforced, -/area/medical/medbay/lobby) "sXU" = ( /obj/structure/table, /obj/item/clipboard, @@ -76424,6 +76043,7 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, +/obj/item/hand_labeler, /turf/open/floor/iron/dark, /area/security/warden) "sZF" = ( @@ -76467,6 +76087,23 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/maintenance/port/aft) +"taE" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Brig Prison Access" + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/security/main) "taI" = ( /obj/machinery/light/small, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -76478,6 +76115,22 @@ /obj/machinery/light/small, /turf/open/floor/iron/dark, /area/medical/morgue) +"taJ" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/bodybags{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/storage/box/bodybags{ + pixel_y = 2 + }, +/obj/item/wirecutters, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "tbu" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ @@ -76553,17 +76206,6 @@ }, /turf/open/floor/wood, /area/security/detectives_office) -"tbZ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/rnd/production/techfab/department/security, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark, -/area/security/main) "tco" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -76571,6 +76213,33 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/security/prison) +"tcA" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) +"tcS" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/south{ + c_tag = "Toxins Pumps"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/mixing) "tdo" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -76583,6 +76252,12 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) +"tdJ" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/donut_box, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "tdQ" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -76637,21 +76312,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) -"tfa" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "tfq" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -76697,45 +76357,52 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/heads/hor) -"tgZ" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/delivery, +"tgV" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/latex{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/glasses/science{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/machinery/light/small{ + dir = 1 + }, /obj/machinery/camera/directional/north{ - c_tag = "Atmospherics Lockers"; - name = "atmospherics camera"; - network = list("ss13","engine") + c_tag = "Toxins Launch Site"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/structure/sign/warning/explosives/alt{ + pixel_x = -32 }, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, /turf/open/floor/iron/dark, -/area/engine/atmos) +/area/science/mixing) "the" = ( /turf/closed/wall/mineral/plastitanium, /area/science/shuttledock) -"tho" = ( -/obj/machinery/light_switch{ - pixel_y = -24 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Xenobiology Closet"; - name = "xenobiology camera"; - network = list("ss13","rd","xeno") - }, +"thm" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/lobby) "thx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -76826,34 +76493,6 @@ }, /turf/open/floor/grass, /area/security/prison) -"tjg" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating/airless, -/area/docking/arrival{ - lighting_colour_bulb = "#ffdbb4"; - lighting_colour_tube = "#ffce99" - }) -"tjj" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/end, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/wood{ - broken = 1 - }, -/area/crew_quarters/bar) "tjm" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -76927,6 +76566,30 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/quartermaster/warehouse) +"tjA" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/fore) +"tjB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "tjF" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -76993,6 +76656,20 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"tkD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Supermatter Engine"; + name = "supermatter camera"; + network = list("engine") + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "tkN" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -77047,6 +76724,24 @@ burnt = 1 }, /area/maintenance/starboard/aft) +"tkY" = ( +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, +/turf/open/floor/iron/dark, +/area/medical/morgue) "tll" = ( /obj/machinery/light, /obj/machinery/requests_console{ @@ -77185,36 +76880,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/starboard) -"tnS" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24 - }, -/obj/item/storage/toolbox/emergency{ - pixel_y = 4 - }, -/obj/item/wrench, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/east{ - c_tag = "Vacant Commissary"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/vacant_room/commissary) "tnT" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -77255,20 +76920,25 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"toQ" = ( -/obj/machinery/computer/shuttle_flight/labor{ - dir = 1 +"toK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 }, -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -32 +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/xeno_mining{ + pixel_y = 32 }, -/obj/machinery/camera/directional/south{ - c_tag = "Transferring Centre Dock" +/obj/machinery/camera{ + c_tag = "Port Quarter Solar"; + dir = 9; + name = "engineering camera"; + network = list("ss13","engine") }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/security/execution/transfer) +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/solars/port/aft) "toS" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -77310,6 +76980,19 @@ }, /turf/open/floor/iron/dark, /area/security/execution/transfer) +"tpd" = ( +/obj/machinery/vending/wardrobe/engi_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering Lockers"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "tph" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -77376,6 +77059,16 @@ }, /turf/open/floor/iron/dark, /area/construction/mining/aux_base) +"trv" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "trO" = ( /obj/effect/turf_decal/tile/black/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -77459,24 +77152,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) -"tsN" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1; - name = "Air to Distro" - }, -/obj/structure/sign/warning/fire{ - pixel_x = 32 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Distribution Loop"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "tsQ" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -77571,6 +77246,23 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/hallway/primary/central) +"tuJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/robotics/lab) "tuX" = ( /obj/machinery/light_switch{ pixel_x = 24; @@ -77588,7 +77280,7 @@ dir = 8 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "tuZ" = ( /obj/effect/turf_decal/bot, /obj/machinery/button/door{ @@ -77623,18 +77315,31 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) -"tvM" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/ore_silo, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +"twb" = ( +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/security/nuke_storage) +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology Euthanization Chamber"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/circuit/telecomms, +/area/science/xenobiology) +"twc" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/syringe, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/security/main) "twq" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -77722,30 +77427,6 @@ /area/security/prison{ name = "Prison Dorms" }) -"txy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron, -/area/quartermaster/exploration_dock) "txO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -77774,38 +77455,22 @@ burnt = 1 }, /area/quartermaster/warehouse) -"typ" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner, -/area/hallway/primary/fore) -"tyy" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +"tyc" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"tyD" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/south{ + c_tag = "Gravity Generator"; + name = "engineering camera"; + network = list("ss13","engine") }, -/obj/structure/sign/warning/vacuum{ - pixel_y = -32 +/turf/open/floor/engine, +/area/engine/gravity_generator) +"typ" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/fore) "tyN" = ( @@ -77824,6 +77489,25 @@ }, /turf/open/floor/plating, /area/maintenance/central) +"tyQ" = ( +/obj/structure/closet/secure_closet/RD, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 28 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Director's Office"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hor) "tyY" = ( /obj/structure/table, /obj/item/healthanalyzer, @@ -77836,6 +77520,16 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"tzy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "tzH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -77866,14 +77560,24 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/science/xenobiology) -"tzT" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +"tzO" = ( +/obj/structure/sign/poster/official/help_others{ + pixel_y = 32 }, -/obj/structure/table/glass, -/obj/item/stack/medical/gauze, -/turf/open/floor/iron/showroomfloor, -/area/security/main) +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/vending/coffee, +/obj/machinery/camera/autoname{ + network = list("ss13", "prison", "security"); + dir = 6 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "tzZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -77904,6 +77608,23 @@ }, /turf/open/floor/iron/dark, /area/security/execution/transfer) +"tAe" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = -12 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hydroponics) "tAF" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -77933,32 +77654,6 @@ burnt = 1 }, /area/maintenance/starboard/aft) -"tAP" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/table/optable, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13", "security") - }, -/obj/item/radio/intercom{ - pixel_y = -25 - }, -/obj/machinery/light/small, -/turf/open/floor/iron/showroomfloor, -/area/security/main) -"tBf" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "tBv" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -77989,29 +77684,28 @@ burnt = 1 }, /area/maintenance/port) -"tBU" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/personal, -/obj/item/storage/backpack, -/obj/item/storage/backpack/satchel, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/winterboots, -/obj/machinery/light/small{ - dir = 1 +"tBS" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/belt/utility, +/obj/item/clothing/head/utility/welding, +/obj/item/clothing/glasses/welding, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 }, -/obj/machinery/digital_clock/directional/north, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small{ +/obj/machinery/light{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, -/area/crew_quarters/locker) +/area/science/robotics/lab) "tCc" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/decal/cleanable/dirt, @@ -78032,26 +77726,6 @@ broken = 1 }, /area/maintenance/aft) -"tCL" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13", "prison") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/item/radio/intercom{ - freerange = 1; - name = "Prison intercom"; - desc = "Talk through this. It looks like it has been modified to not broadcast."; - prison_radio = 1; - pixel_y = -25 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/prison, -/area/security/prison) "tDg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -78102,22 +77776,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"tDZ" = ( -/obj/effect/turf_decal/bot, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/seed_extractor, -/obj/machinery/camera/directional/west{ - c_tag = "Apiary"; - name = "chapel camera" - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/chapel/main) "tEj" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -78190,6 +77848,46 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) +"tFw" = ( +/obj/structure/table, +/obj/item/stack/sheet/plasteel/fifty{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/stack/sheet/rglass{ + amount = 50; + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) +"tFB" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Port Hallway Chemistry Desk"; + name = "port camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark/corner, +/area/hallway/primary/port) "tFU" = ( /obj/structure/chair{ dir = 4 @@ -78207,42 +77905,28 @@ icon_state = "1-2" }, /turf/open/floor/iron, -/area/security/main) -"tGn" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/area/security/brig) +"tGb" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 +/obj/machinery/camera/directional/north{ + c_tag = "Captain's Office"; + name = "command camera" }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/structure/chair/fancy/comfy{ + buildstackamount = 0; + color = "#c45c57"; + dir = 8 + }, +/turf/open/floor/carpet/royalblue, +/area/crew_quarters/heads/captain) "tGs" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ burnt = 1 }, /area/maintenance/starboard/fore) -"tGY" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/supply) "tHj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -78271,7 +77955,7 @@ icon_state = "1-4" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "tHU" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -78294,13 +77978,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/toilet/restrooms) -"tIb" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "tIc" = ( /obj/machinery/requests_console{ department = "Hydroponics"; @@ -78348,37 +78025,11 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) -"tIS" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics Port Tanks"; - name = "atmospherics camera"; - network = list("ss13","engine") - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) -"tJx" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, +"tJO" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, -/area/security/execution/transfer) +/area/security/brig/aft) "tJY" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -78446,22 +78097,6 @@ burnt = 1 }, /area/maintenance/fore) -"tKP" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "tKV" = ( /turf/closed/wall/rust, /area/medical/medbay/central) @@ -78531,22 +78166,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"tMu" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/small, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "tMB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -78622,6 +78241,26 @@ broken = 1 }, /area/maintenance/fore) +"tNQ" = ( +/obj/machinery/button/door{ + id = "teleshutter"; + name = "Teleporter Shutter Toggle"; + pixel_x = -8; + pixel_y = 24; + req_access_txt = "19" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway Teleporter Access"; + name = "central camera" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "tNY" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -78683,7 +78322,32 @@ icon_state = "4-8" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"tPI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/security/brig/aft) "tPK" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -78709,19 +78373,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/engine/atmos) -"tPZ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "tQN" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -78773,6 +78424,19 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/robotics/lab) +"tRA" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/vending/coffee, +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "tRF" = ( /obj/item/kirbyplants{ icon_state = "plant-05" @@ -78928,19 +78592,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/genetics/cloning) -"tVJ" = ( -/obj/item/storage/fancy/donut_box, -/obj/structure/table, -/obj/machinery/camera/directional/east{ - c_tag = "Courtroom Jury"; - name = "command camera" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/courtroom) "tVK" = ( /obj/effect/turf_decal/tile/dark/anticorner/contrasted{ dir = 1 @@ -78979,31 +78630,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/teleporter) -"tWL" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Recovery Room"; - name = "geneticscamera"; - network = list("ss13","medical"); - dir = 5 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/genetics) -"tWT" = ( -/obj/structure/sign/warning/nosmoking{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "tWV" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -79032,24 +78658,56 @@ }, /turf/open/floor/iron/dark, /area/hydroponics) -"tYr" = ( -/obj/structure/table, +"tXM" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/power/apc/auto_name/directional/east{ + name = "Cloning APC" + }, /obj/structure/cable/yellow{ icon_state = "0-8" }, -/obj/machinery/power/apc/auto_name/directional/east{ - name = "Surgery APC" +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/item/clothing/gloves/color/latex, -/obj/item/cautery, -/obj/item/surgicaldrill{ - pixel_y = 5 +/obj/item/paper/guides/jobs/medical/cloning, +/obj/item/book/manual/wiki/medical_cloning{ + pixel_x = 4; + pixel_y = 6 }, -/obj/item/surgical_drapes, -/obj/item/healthanalyzer, +/obj/item/crowbar, +/obj/machinery/camera{ + c_tag = "Recovery Room"; + name = "cloning camera"; + network = list("ss13","medical"); + dir = 6 + }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/showroomfloor, -/area/medical/surgery) +/area/medical/genetics/cloning) +"tXU" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4; + color = "#486091" + }, +/obj/item/radio/intercom{ + pixel_x = -28; + pixel_y = 22 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/cargo/request, +/obj/machinery/power/apc/auto_name/directional/north{ + name = "CMO's Office APC" + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/heads/cmo) "tZw" = ( /obj/machinery/light_switch{ pixel_y = -24 @@ -79112,20 +78770,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/shuttledock) -"uaR" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, -/turf/open/floor/iron/dark, -/area/medical/morgue) "uaW" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -79167,17 +78811,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/port) -"ubC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1; - layer = 1 - }, -/obj/item/kirbyplants/random, -/obj/machinery/camera/directional/north{ - network = list("ss13", "prison") - }, -/turf/open/floor/wood, -/area/security/prison) "ubM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -79263,6 +78896,26 @@ dir = 1 }, /area/hallway/primary/fore) +"ucH" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Medical Officer's Office"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4; + color = "#486091" + }, +/obj/machinery/computer/med_data, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/heads/cmo) "ucI" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -79273,6 +78926,21 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) +"ucK" = ( +/obj/structure/closet/secure_closet/hop, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hop) "ucQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -79339,6 +79007,21 @@ burnt = 1 }, /area/maintenance/starboard) +"ueh" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/satellite) "uek" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -79373,20 +79056,6 @@ broken = 1 }, /area/maintenance/central) -"uex" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/box, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) "ueM" = ( /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/delivery, @@ -79427,6 +79096,20 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) +"ufl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/bridge) "ufo" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -79483,6 +79166,23 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/storage) +"ufF" = ( +/obj/structure/dresser, +/obj/machinery/button/door{ + id = "Cabin_1"; + name = "Cabin 1 Privacy Lock"; + normaldoorcontrol = 1; + pixel_y = 24; + specialfunctions = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/locker) "ufM" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -79558,6 +79258,45 @@ }, /turf/open/floor/iron/dark, /area/medical/chemistry) +"uhr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) +"uhy" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/science/xenobiology) +"uhR" = ( +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Library"; + name = "bar camera" + }, +/obj/machinery/modular_computer/console/preset/curator, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron/dark, +/area/library) "uhY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -79602,50 +79341,24 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"ujo" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering Desk"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +"ujx" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/fax/eng, -/turf/open/floor/iron/dark, -/area/engine/break_room) -"ujr" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/gibber, -/obj/machinery/camera/directional/north{ - c_tag = "Kitchen Cold Room"; - name = "diner camera" +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/machinery/airalarm/kitchen_cold_room{ - dir = 1; - pixel_y = 24 +/obj/structure/disposalpipe/segment{ + dir = 10 }, /turf/open/floor/iron/showroomfloor, -/area/crew_quarters/kitchen) -"ujK" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west{ - name = "Medical Security Checkpoint APC" - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) +/area/science/aft) "ujQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -79868,6 +79581,22 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/security/prison) +"uoC" = ( +/obj/item/kirbyplants{ + icon_state = "plant-10" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/library) +"uoK" = ( +/turf/closed/wall/r_wall/rust, +/area/security/brig) "uoR" = ( /obj/machinery/power/solar_control{ dir = 8; @@ -79941,6 +79670,12 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/science/xenobiology) +"upS" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "uqd" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -80055,10 +79790,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/hallway/primary/starboard) -"uqU" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/security/prison) "urk" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -80078,7 +79809,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "urs" = ( /obj/structure/chair/fancy/corp{ dir = 8 @@ -80168,6 +79899,26 @@ }, /turf/open/floor/iron/dark, /area/medical/morgue) +"utp" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/mmi, +/obj/item/storage/box/bodybags{ + pixel_y = 5 + }, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "utt" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -80182,26 +79933,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/bridge) -"utH" = ( -/obj/machinery/status_display/ai{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Recreation Fitness Ring"; - name = "recreation camera" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "utT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -80263,6 +79994,13 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) +"uuY" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig/aft) "uvc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/remains/human, @@ -80475,6 +80213,19 @@ broken = 1 }, /area/maintenance/starboard/fore) +"uyI" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/prisoner/gulag_teleporter_computer{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/execution/transfer) "uyN" = ( /obj/machinery/light, /obj/machinery/requests_console{ @@ -80566,16 +80317,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/chapel/office) -"uAb" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Fore Hallway Diner"; - name = "fore camera" - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "uAe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -80673,19 +80414,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) -"uAX" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/structure/closet{ - name = "Evidence Closet" - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "uBc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -80714,6 +80442,13 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/storage) +"uDa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "uDb" = ( /obj/effect/turf_decal/bot, /obj/structure/bodycontainer/morgue, @@ -80814,14 +80549,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/showroomfloor, /area/medical/chemistry) -"uEr" = ( -/obj/machinery/power/tracker, -/obj/effect/turf_decal/box, -/obj/structure/cable{ - icon_state = "0-8" +"uEl" = ( +/obj/structure/closet/secure_closet/personal{ + name = "Command Locker" }, -/turf/open/floor/iron/solarpanel/airless, -/area/solar/starboard/fore) +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "uEB" = ( /obj/effect/decal/cleanable/cobweb, /obj/item/kirbyplants{ @@ -80869,7 +80615,25 @@ dir = 5 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) +"uFx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) "uFN" = ( /obj/structure/bed{ dir = 8 @@ -80879,21 +80643,6 @@ /area/security/prison{ name = "Prison Dorms" }) -"uFS" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/bot, -/obj/structure/extinguisher_cabinet{ - pixel_y = -28 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/satellite) "uFY" = ( /obj/structure/table/reinforced, /obj/item/storage/crayons, @@ -81005,16 +80754,6 @@ broken = 1 }, /area/maintenance/fore) -"uIw" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/port/aft) "uIG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -81030,21 +80769,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/science/shuttledock) -"uIL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "uJb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -81054,6 +80778,11 @@ burnt = 1 }, /area/maintenance/port) +"uJx" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/security/prison) "uJI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, @@ -81106,6 +80835,25 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/storage) +"uKk" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/starboard) "uKo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ @@ -81156,7 +80904,7 @@ dir = 1 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "uLu" = ( /obj/machinery/microwave{ pixel_y = 5 @@ -81239,21 +80987,33 @@ dir = 4 }, /turf/open/floor/iron, -/area/security/main) -"uNg" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/area/security/brig) +"uNj" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) +"uNo" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/east{ + c_tag = "Recovery Room"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, /turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) +/area/medical/medbay/central) "uNy" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -81398,6 +81158,18 @@ }, /turf/open/floor/prison, /area/security/prison) +"uPs" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "uPx" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold4w/general/visible, @@ -81418,15 +81190,28 @@ }, /turf/open/floor/iron/dark, /area/engine/break_room) -"uQa" = ( -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 +"uPQ" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/glass/reinforced, +/area/medical/medbay/lobby) +"uPR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/mapping_helpers/atmos_auto_connect, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard) "uQf" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/cobweb, @@ -81563,16 +81348,6 @@ /obj/structure/sign/warning/docking, /turf/closed/wall, /area/maintenance/port/aft) -"uSY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/science/shuttledock) "uTn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -81615,26 +81390,16 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"uUe" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating{ - burnt = 1 +"uUd" = ( +/obj/structure/chair, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too."; + health = 45; + maxHealth = 45; + name = "Officer Beepsky" }, -/area/maintenance/solars/port/fore) +/turf/open/floor/glass/reinforced, +/area/security/brig) "uUP" = ( /obj/structure/closet/secure_closet/security/science, /obj/item/crowbar, @@ -81674,6 +81439,19 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/aft) +"uVv" = ( +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/light{ + light_color = "#e8eaff" + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "uVI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -81701,20 +81479,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/shuttledock) -"uWy" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "uWN" = ( /obj/machinery/computer/communications{ dir = 4 @@ -81727,22 +81491,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"uXk" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "uXo" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -81797,6 +81545,14 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/aft) +"uXN" = ( +/obj/machinery/power/tracker, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/starboard/aft) "uXQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -81821,22 +81577,7 @@ dir = 5 }, /turf/open/floor/iron, -/area/security/main) -"uYv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/camera/directional/east{ - c_tag = "Recovery Room"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) +/area/security/brig) "uYK" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ @@ -81863,6 +81604,17 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) +"uZV" = ( +/obj/effect/landmark/start/scientist, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "vab" = ( /obj/effect/spawner/randomvend/cola, /obj/effect/turf_decal/bot, @@ -81894,25 +81646,6 @@ broken = 1 }, /area/hallway/secondary/entry) -"vax" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/xeno_mining{ - pixel_y = 32 - }, -/obj/machinery/camera{ - c_tag = "Port Quarter Solar"; - dir = 9; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/solars/port/aft) "vay" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/bot, @@ -82134,7 +81867,7 @@ }, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "vdz" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -82380,7 +82113,7 @@ dir = 10 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "vhz" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -82393,6 +82126,20 @@ }, /turf/open/floor/iron, /area/security/execution/transfer) +"vhC" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron, +/area/security/prison) "vhL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -82422,19 +82169,6 @@ /obj/structure/punching_bag, /turf/open/floor/prison, /area/security/prison) -"viw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "viB" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -82501,6 +82235,18 @@ /obj/structure/flora/ausbushes/sparsegrass, /turf/open/floor/grass, /area/security/prison) +"vjT" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "vko" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -82688,6 +82434,18 @@ burnt = 1 }, /area/maintenance/starboard) +"vmG" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/machinery/space_heater, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/shuttledock) "vmQ" = ( /obj/structure/chair{ dir = 1 @@ -82730,29 +82488,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/bridge) -"vnc" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/caution, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Crematorium"; - name = "chapel camera" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/chapel/office) "vng" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -82836,33 +82571,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/port/aft) -"vox" = ( -/obj/item/kirbyplants{ - icon_state = "applebush" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "voI" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -82962,24 +82670,6 @@ }, /turf/open/floor/iron, /area/janitor) -"vqP" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/sign/warning/nosmoking{ - pixel_x = 32 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Council Chamber"; - name = "command camera" - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/courtroom) "vre" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -83005,24 +82695,18 @@ }, /turf/open/floor/iron/dark, /area/maintenance/port/fore) -"vri" = ( -/obj/structure/closet/crate/wooden/toy, +"vrn" = ( /obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/newscaster{ - pixel_y = 30 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/ore_silo, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 }, /turf/open/floor/iron/dark, -/area/crew_quarters/theatre) +/area/security/nuke_storage) "vrs" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -83116,6 +82800,24 @@ broken = 1 }, /area/chapel/office) +"vtC" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "vtG" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -83147,6 +82849,33 @@ broken = 1 }, /area/maintenance/starboard/fore) +"vtM" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/machinery/camera{ + c_tag = "Recovery Room"; + dir = 10; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/storage) "vtR" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -83200,42 +82929,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/crew_quarters/heads/chief) -"vuy" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/power/apc/auto_name/directional/east{ - name = "Cloning APC" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/paper/guides/jobs/medical/cloning, -/obj/item/book/manual/wiki/medical_cloning{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/crowbar, -/obj/machinery/camera{ - c_tag = "Recovery Room"; - name = "cloning camera"; - network = list("ss13","medical"); - dir = 6 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/iron/showroomfloor, -/area/medical/genetics/cloning) -"vuN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "vvb" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -83264,22 +82957,6 @@ burnt = 1 }, /area/maintenance/port) -"vvC" = ( -/obj/machinery/disposal/bin, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/south{ - c_tag = "Chemistry"; - name = "medical camera"; - network = list("ss13","medical") - }, -/turf/open/floor/iron/dark, -/area/medical/chemistry) "vvF" = ( /obj/effect/landmark/start/station_engineer, /obj/structure/cable/yellow{ @@ -83308,6 +82985,23 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/quartermaster/storage) +"vwe" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/washing_machine, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/toilet/restrooms) "vwj" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/table, @@ -83321,62 +83015,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/starboard) -"vwq" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Aft Hallway Engineering Venders"; - name = "aft camera" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"vwv" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"vwx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 6 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "vwM" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -83536,6 +83174,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/checkpoint/science/research) +"vyx" = ( +/obj/machinery/door/airlock/maintenance{ + req_one_access_txt = "12;37;47" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark, +/area/maintenance/starboard/fore) "vyF" = ( /obj/structure/chair, /obj/effect/turf_decal/tile/red{ @@ -83546,6 +83195,41 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"vyY" = ( +/obj/machinery/light, +/obj/machinery/camera/directional/south{ + c_tag = "Aft Hallway Engineering Doors"; + name = "aft camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/aft) +"vzc" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/gateway{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/gateway) "vzg" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, @@ -83574,22 +83258,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"vzz" = ( -/obj/machinery/light, -/obj/structure/chair/fancy/sofa/corp/right{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/digital_clock/directional/west, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "vzF" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -83600,21 +83268,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/starboard) -"vzG" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner, -/area/hallway/primary/fore) "vzJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -83633,23 +83286,18 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"vzQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"vzU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/turf/open/floor/iron/showroomfloor, +/area/science/xenobiology) "vAb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -83766,25 +83414,6 @@ burnt = 1 }, /area/maintenance/starboard/fore) -"vDn" = ( -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Aft Hallway Engineering Doors"; - name = "aft camera" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/aft) "vDC" = ( /obj/machinery/door/poddoor/preopen{ id = "brigfrontdoor"; @@ -83817,19 +83446,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"vDN" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/wood, -/area/library) "vDV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -83924,6 +83540,22 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/sorting) +"vEP" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/bridge) "vFe" = ( /obj/machinery/light{ dir = 8 @@ -84000,23 +83632,25 @@ burnt = 1 }, /area/maintenance/port) -"vFW" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"vGd" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/disposaloutlet{ - dir = 8 +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/light_switch{ - pixel_x = 27; - pixel_y = -5 +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/cryopods) "vGj" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -84039,20 +83673,6 @@ "vGm" = ( /turf/closed/wall/r_wall, /area/maintenance/starboard) -"vGu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/bridge) "vGw" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -84074,6 +83694,18 @@ burnt = 1 }, /area/maintenance/port/aft) +"vGT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/security/brig/aft) "vHq" = ( /obj/machinery/computer/atmos_alert{ dir = 8 @@ -84105,19 +83737,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"vIc" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/east{ - c_tag = "Recovery Room"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) "vIr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -84197,6 +83816,51 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) +"vJB" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Satellite External Starboard"; + name = "exterior camera"; + network = list("minisat"); + start_active = 1 + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"vJJ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/item/storage/firstaid/regular{ + empty = 1; + name = "First-Aid (empty)" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Robotics Lab"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/lab"; + dir = 1; + name = "Robotics Lab APC"; + pixel_y = 24 + }, +/obj/item/stack/package_wrap, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/obj/item/healthanalyzer, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "vJR" = ( /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/hostile/retaliate/goose/vomit, @@ -84262,26 +83926,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/showroomfloor, /area/security/main) -"vKj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/effect/turf_decal/box, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "vKk" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -84380,25 +84024,6 @@ /obj/structure/girder/displaced, /turf/open/floor/plating, /area/maintenance/port/aft) -"vLw" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/firealarm{ - pixel_y = 26 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals Dock"; - name = "shuttle camera" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "vLB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -84475,6 +84100,20 @@ dir = 8 }, /area/hallway/primary/starboard) +"vMV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/box, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/shuttledock) "vMY" = ( /obj/effect/turf_decal/delivery, /obj/machinery/suit_storage_unit/standard_unit{ @@ -84563,6 +84202,26 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"vOn" = ( +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Bar Counter"; + name = "bar camera" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "vOp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -84593,6 +84252,24 @@ broken = 1 }, /area/quartermaster/warehouse) +"vOz" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "garbage"; + name = "trash belt" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Trash Chute"; + name = "service camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/janitor) "vPa" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/turf_decal/stripes/line{ @@ -84655,6 +84332,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/storage) +"vRr" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/hydroponics, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/hydroponics) "vRt" = ( /obj/machinery/light/small{ dir = 8 @@ -84684,6 +84372,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/chapel/main) +"vRE" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "vSb" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -84734,18 +84426,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"vSY" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "vTf" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -84797,6 +84477,14 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/hallway/primary/fore) +"vUg" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics Tank - O2"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/o2, +/area/engine/atmos) "vUj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -84805,21 +84493,6 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/quartermaster/exploration_dock) -"vUK" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "vUS" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/stripes/line, @@ -85037,6 +84710,22 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/ai_monitored/turret_protected/ai_upload) +"vXU" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Starboard Hallway Kitchen Counter"; + name = "starboard camera" + }, +/obj/structure/sign/directions/evac{ + pixel_y = 24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/hallway/primary/starboard) "vYb" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -85096,6 +84785,32 @@ }, /turf/open/floor/iron/dark, /area/security/detectives_office) +"vYG" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/clipboard, +/obj/item/folder, +/obj/item/multitool, +/obj/item/pen/red, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/item/toy/figure/cargotech{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/toy/figure/miner{ + pixel_x = 8 + }, +/obj/item/stack/sheet/mineral/copper{ + amount = 5 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/office) "vZv" = ( /obj/structure/table, /obj/item/analyzer{ @@ -85187,25 +84902,6 @@ broken = 1 }, /area/maintenance/solars/port/aft) -"wal" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) "wan" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 8 @@ -85277,7 +84973,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "wbE" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/emcloset, @@ -85293,6 +84989,22 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/maintenance/port/fore) +"wbV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/aft) "wcn" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ @@ -85303,6 +85015,13 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) +"wco" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/plating{ + burnt = 1 + }, +/area/maintenance/port/aft) "wcp" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -85346,29 +85065,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/circuit/green/telecomms/mainframe, /area/quartermaster/exploration_prep) -"wcN" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wcU" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -85378,25 +85074,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/mixing) -"wdg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/security{ - name = "Evidence Storage"; - req_one_access_txt = "1;4" - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wdm" = ( /obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, @@ -85552,6 +85229,9 @@ }, /turf/open/floor/carpet/green, /area/security/detectives_office) +"wfh" = ( +/turf/open/floor/glass/reinforced, +/area/bridge) "wfK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -85644,18 +85324,6 @@ }, /turf/open/floor/iron/dark, /area/hallway/primary/fore) -"wgz" = ( -/obj/machinery/flasher/portable, -/obj/machinery/camera/motion/directional/east{ - c_tag = "Armory Internal"; - network = list("ss13", "security") - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "wgB" = ( /obj/effect/landmark/start/medical_doctor, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -85693,33 +85361,13 @@ broken = 1 }, /area/maintenance/port/fore) -"whg" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"whj" = ( +/obj/machinery/door/window/southright{ + name = "Testing Chamber" }, -/turf/open/floor/iron, -/area/maintenance/disposal/incinerator) +/obj/item/beacon, +/turf/open/floor/engine, +/area/science/explab) "whx" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, @@ -85755,6 +85403,17 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) +"wie" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/brig/aft) "wim" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -85825,6 +85484,13 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/dark, /area/medical/chemistry) +"wiW" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "wjk" = ( /obj/machinery/light{ dir = 1 @@ -85845,15 +85511,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"wjB" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wjE" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -85880,43 +85537,24 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) -"wka" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/computer_hardware/hard_drive/role/roboticist{ - pixel_x = -3 - }, -/obj/item/computer_hardware/hard_drive/role/signal/toxins{ - pixel_x = 6 - }, -/obj/item/computer_hardware/hard_drive/role/signal/toxins, -/obj/item/computer_hardware/hard_drive/role/signal/toxins, -/obj/item/circuitboard/aicore{ - pixel_y = 5 - }, -/obj/item/hand_labeler, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 +"wkk" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 }, -/obj/machinery/light{ - dir = 8 +/obj/machinery/camera/directional/south{ + c_tag = "Laser Room Port"; + name = "laser room camera"; + network = list("ss13","engine") }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hor) -"wkn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Library" +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/turf/open/floor/plating{ + broken = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/library) +/area/engine/engineering) "wkF" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -85981,17 +85619,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) -"wle" = ( -/obj/machinery/vending/tool, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "wlk" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -86041,32 +85668,6 @@ }, /turf/open/floor/iron/dark, /area/hydroponics) -"wma" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13", "security") - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wmq" = ( /obj/machinery/status_display/evac{ pixel_x = -32 @@ -86193,53 +85794,6 @@ /obj/effect/landmark/prisonspawn, /turf/open/floor/prison, /area/security/prison) -"wnQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/bridge) -"woj" = ( -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, -/turf/open/floor/iron/dark, -/area/medical/morgue) -"wor" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/obj/machinery/camera/directional/west{ - c_tag = "Teleporter Access"; - name = "command camera" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/teleporter) "wou" = ( /obj/structure/chair/fancy/sofa/old/right{ color = "#742925" @@ -86265,7 +85819,7 @@ icon_state = "1-2" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "woL" = ( /obj/structure/grille/broken, /obj/machinery/space_heater, @@ -86285,6 +85839,20 @@ }, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"woU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron, +/area/bridge) "wpe" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -86308,6 +85876,25 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"wpr" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Starboad Hallway Custodial Bay"; + name = "starboard camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "wpy" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -86316,18 +85903,6 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/quartermaster/warehouse) -"wpC" = ( -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13", "security") - }, -/turf/open/floor/iron, -/area/security/main) "wpD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -86363,6 +85938,17 @@ broken = 1 }, /area/quartermaster/warehouse) +"wqi" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Cell 6"; + name = "xenobiology camera"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "wql" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, @@ -86493,12 +86079,6 @@ burnt = 1 }, /area/maintenance/starboard/aft) -"wre" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Armory External" - }, -/turf/open/floor/plating/asteroid/airless, -/area/space/nearstation) "wrk" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/engineering{ @@ -86534,17 +86114,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"wsF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "wsH" = ( /obj/structure/bookcase/random/religion, /obj/machinery/firealarm{ @@ -86574,26 +86143,14 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) -"wtj" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"wsT" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/structure/table/glass, -/obj/item/storage/firstaid/regular, -/obj/item/reagent_containers/syringe, -/obj/machinery/firealarm/directional/west, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/security/main) -"wtk" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/vending/wardrobe/det_wardrobe, -/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/recharger, /turf/open/floor/iron/dark, -/area/security/detectives_office) +/area/security/brig/aft) "wtm" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -86699,18 +86256,6 @@ burnt = 1 }, /area/maintenance/fore) -"wup" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "wuG" = ( /obj/machinery/portable_atmospherics/pump, /obj/machinery/power/apc{ @@ -86811,10 +86356,54 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/primary/starboard) +"wvM" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/button/massdriver{ + id = "toxinsdriver"; + pixel_x = 24; + pixel_y = -24 + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the test chamber."; + dir = 8; + layer = 4; + name = "Test Chamber Telescreen"; + network = list("toxins"); + pixel_x = 30 + }, +/obj/machinery/light/small, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/science/mixing) "wvO" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/hallway/primary/starboard) +"wwv" = ( +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/effect/turf_decal/bot_white, +/obj/machinery/camera/directional/north{ + c_tag = "Morgue"; + name = "medical camera"; + network = list("ss13","medical") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/medical/morgue) "wwy" = ( /obj/structure/chair{ dir = 1 @@ -86858,6 +86447,17 @@ }, /turf/open/floor/iron, /area/ai_monitored/storage/eva) +"wxg" = ( +/obj/effect/turf_decal/box, +/obj/machinery/power/solar{ + id = "foreport"; + name = "Fore-Port Solar Array" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/iron/solarpanel/airless, +/area/solar/port/fore) "wxm" = ( /obj/effect/turf_decal/delivery, /obj/structure/closet/crate/silvercrate, @@ -86870,6 +86470,30 @@ }, /turf/open/floor/iron/dark, /area/security/nuke_storage) +"wxy" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/fax/bridge, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/bridge) "wxL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -86886,15 +86510,6 @@ }, /turf/open/floor/iron, /area/hydroponics) -"wxP" = ( -/obj/structure/table, -/obj/item/folder{ - pixel_x = -6 - }, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/science/explab) "wyd" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -87105,25 +86720,6 @@ burnt = 1 }, /area/quartermaster/warehouse) -"wBd" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway Courtroom"; - name = "central camera" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "wBh" = ( /obj/effect/landmark/start/assistant, /obj/structure/cable/yellow{ @@ -87168,37 +86764,81 @@ /area/security/prison{ name = "Prison Garden" }) -"wCW" = ( -/obj/structure/chair/fancy/sofa/old/left{ - color = "#742925" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar/atrium) -"wDh" = ( +"wCM" = ( /obj/structure/table, /obj/item/paper_bin{ pixel_x = -4; pixel_y = 4 }, +/obj/item/radio{ + pixel_x = 6; + pixel_y = 4 + }, /obj/item/pen, /obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -30 + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Emergency Research Lockdown"; + pixel_x = 24; + pixel_y = -24; + req_access_txt = "47" + }, +/obj/machinery/camera/directional/east{ + c_tag = "Science Security Post"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/science/research) +"wCV" = ( +/obj/structure/table/wood/fancy, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/item/storage/crayons, +/obj/item/storage/fancy/candle_box{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/storage/fancy/candle_box{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, /obj/machinery/camera/directional/north{ - c_tag = "Starboard Hallway Research Desk"; - name = "starboard camera" + c_tag = "Chapel Office"; + name = "chapel camera" }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, +/turf/open/floor/wood, +/area/chapel/office) +"wCW" = ( +/obj/structure/chair/fancy/sofa/old/left{ + color = "#742925" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/hallway/primary/starboard) +/area/crew_quarters/bar/atrium) "wDk" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -87221,14 +86861,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/courtroom) -"wDE" = ( -/obj/structure/chair/stool/directional/south, -/obj/item/trash/energybar{ - pixel_x = 10; - pixel_y = 7 - }, -/turf/open/floor/wood, -/area/security/prison) "wDF" = ( /obj/structure/table, /obj/item/clothing/gloves/color/latex, @@ -87274,6 +86906,19 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) +"wEl" = ( +/obj/structure/table/glass, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/medbay/central) "wEQ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -87299,6 +86944,37 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) +"wFn" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Fore Hallway Centre"; + name = "fore camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "wFG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -87357,6 +87033,25 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/security/brig) +"wGv" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway Courtroom"; + name = "central camera" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "wGw" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/line, @@ -87401,6 +87096,33 @@ broken = 1 }, /area/maintenance/fore) +"wHs" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/turretid{ + control_area = "/area/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = -24 + }, +/obj/machinery/camera/motion/directional/west{ + c_tag = "AI Upload Foyer"; + name = "upload camera"; + network = list("aiupload") + }, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the AI Upload."; + dir = 4; + name = "AI Upload Monitor"; + network = list("aiupload"); + pixel_x = -28 + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/ai_monitored/turret_protected/ai_upload) "wHu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -87497,6 +87219,33 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/shuttledock) +"wIT" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Security Secways" + }, +/obj/effect/turf_decal/box, +/obj/vehicle/ridden/secway, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/showroomfloor, +/area/security/main) "wIY" = ( /obj/structure/table, /obj/item/paper_bin, @@ -87758,21 +87507,6 @@ broken = 1 }, /area/maintenance/fore) -"wNe" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wNg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -87907,41 +87641,6 @@ burnt = 1 }, /area/maintenance/port) -"wPw" = ( -/obj/structure/table, -/obj/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/item/storage/toolbox/emergency{ - pixel_y = 8 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) -"wPP" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/north{ - c_tag = "Chief Medical Officer's Office"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4; - color = "#486091" - }, -/obj/machinery/computer/med_data, -/obj/machinery/newscaster{ - pixel_y = 30 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/heads/cmo) "wPW" = ( /obj/item/radio/intercom{ pixel_x = -28; @@ -88101,6 +87800,16 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/starboard) +"wSq" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "wSr" = ( /obj/effect/turf_decal/box/corners{ dir = 8 @@ -88124,6 +87833,12 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"wSB" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "wSH" = ( /turf/open/floor/plating{ burnt = 1 @@ -88327,6 +88042,21 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/primary/fore) +"wVn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "wVs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -88361,6 +88091,14 @@ }, /turf/open/floor/iron/techmaint, /area/security/prison) +"wWg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "wWj" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -88400,6 +88138,22 @@ broken = 1 }, /area/maintenance/port/aft) +"wXa" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/kitchen) "wXg" = ( /obj/effect/turf_decal/bot, /obj/structure/cable/yellow{ @@ -88473,28 +88227,6 @@ /obj/effect/turf_decal/loading_area, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/lobby) -"wYg" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) -"wYn" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "wYo" = ( /obj/structure/table, /obj/machinery/recharger, @@ -88535,21 +88267,36 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/corner, /area/hallway/primary/port) -"wYz" = ( -/obj/structure/closet/secure_closet/courtroom, -/obj/item/gavelhammer, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +"wYH" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 }, /obj/machinery/camera/directional/north{ - c_tag = "Courtroom Judge"; - name = "command camera" + c_tag = "Mech Bay"; + name = "science camera"; + network = list("ss13","rd") }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/science/robotics/mechbay) +"wYK" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/security/courtroom) +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/wood, +/area/crew_quarters/bar) "wYL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -88557,16 +88304,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/bar/atrium) -"wYU" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron, -/area/bridge) "wYV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -88626,6 +88363,20 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/science/explab) +"wZW" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "wZY" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -88686,18 +88437,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/robotics/lab) -"xaC" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/lobby) "xaJ" = ( /obj/effect/turf_decal/bot, /obj/machinery/shower{ @@ -88708,24 +88447,6 @@ }, /turf/open/floor/noslip/white, /area/medical/medbay/central) -"xaX" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Atrium Vendors"; - name = "diner camera" - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar/atrium) "xbl" = ( /turf/open/floor/plating{ broken = 1 @@ -88777,7 +88498,15 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"xcd" = ( +"xcO" = ( +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/prison, +/area/security/prison) +"xcR" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, @@ -88794,27 +88523,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) -"xcw" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/vending/medical, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/medbay/central) -"xcO" = ( -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/prison, -/area/security/prison) "xcX" = ( /obj/machinery/light_switch{ pixel_x = -24; @@ -88881,6 +88589,18 @@ }, /turf/open/floor/wood, /area/library) +"xdx" = ( +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/ecto_sniffer, +/turf/open/floor/iron/dark, +/area/science/robotics/lab) "xdU" = ( /obj/effect/turf_decal/bot, /obj/machinery/holopad, @@ -88893,6 +88613,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/crew_quarters/locker) +"xee" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) "xew" = ( /obj/machinery/power/apc/highcap/five_k{ areastring = "/area/security/main"; @@ -88919,7 +88653,7 @@ icon_state = "0-8" }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "xeV" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -88939,6 +88673,19 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/bridge) +"xfw" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/item/folder/white{ + pixel_x = 6 + }, +/obj/item/storage/firstaid/regular, +/obj/machinery/camera/directional/south{ + c_tag = "Bridge Emergency Supplies"; + name = "command camera" + }, +/turf/open/floor/iron/dark, +/area/bridge) "xfJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/room/threexfive, @@ -88953,6 +88700,21 @@ }, /turf/open/floor/iron/showroomfloor, /area/medical/medbay/central) +"xfM" = ( +/obj/structure/chair/fancy/sofa/old/right{ + color = "#742925" + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar/atrium) "xfQ" = ( /obj/machinery/status_display/ai{ pixel_x = -32; @@ -88986,6 +88748,13 @@ broken = 1 }, /area/engine/engineering) +"xgC" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted, +/turf/open/floor/iron/showroomfloor, +/area/science/robotics/lab) "xgH" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -89499,6 +89268,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/aft) +"xqa" = ( +/obj/effect/turf_decal/bot, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/seed_extractor, +/obj/machinery/camera/directional/west{ + c_tag = "Apiary"; + name = "chapel camera" + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/chapel/main) "xqr" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating{ @@ -89647,6 +89432,29 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/medical) +"xsl" = ( +/obj/structure/sign/directions/evac{ + dir = 4; + pixel_y = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/research{ + name = "Science Aft"; + req_access_txt = "47" + }, +/turf/open/floor/iron/dark, +/area/science/aft) "xsp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -89724,6 +89532,46 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/showroomfloor, /area/security/main) +"xuS" = ( +/obj/structure/sign/directions/evac{ + dir = 8; + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/starkist{ + pixel_x = 10; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/shamblers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pwr_game{ + pixel_x = -4; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko{ + pixel_y = 20 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "xuX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -89755,26 +89603,6 @@ burnt = 1 }, /area/maintenance/port/fore) -"xvI" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/box, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "xvO" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -89880,6 +89708,15 @@ burnt = 1 }, /area/maintenance/port/fore) +"xxT" = ( +/obj/machinery/airalarm/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/camera/autoname{ + network = list("ss13", "prison"); + dir = 5 + }, +/turf/open/floor/iron/techmaint, +/area/security/prison) "xye" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -89952,6 +89789,25 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/heads/cmo) +"xzE" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/obj/machinery/camera/directional/west{ + c_tag = "Captain's Tactical Relocation"; + name = "command camera" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/valve/digital/on/layer2{ + name = "Atmospherics Cutoff Valve" + }, +/turf/open/floor/plating, +/area/maintenance/central) "xzH" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -90231,19 +90087,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/bridge) -"xEc" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/prisoner/gulag_teleporter_computer{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/transfer) "xEe" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -90282,16 +90125,14 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/storage) -"xED" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/girder, -/turf/open/floor/plating{ - broken = 1 +"xEE" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 }, -/area/maintenance/starboard/fore) +/obj/structure/table/glass, +/obj/item/stack/medical/gauze, +/turf/open/floor/iron/showroomfloor, +/area/security/main) "xEQ" = ( /obj/machinery/door/window/westleft{ name = "Monkey Pen"; @@ -90314,18 +90155,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/fore) -"xFm" = ( -/obj/effect/landmark/blobstart, -/obj/effect/landmark/xeno_spawn, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/wood{ - broken = 1 +"xFn" = ( +/obj/structure/closet/bombcloset/security, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/area/crew_quarters/bar) +/turf/open/floor/iron/dark, +/area/security/brig/aft) "xFB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -90335,21 +90171,6 @@ broken = 1 }, /area/maintenance/port) -"xFN" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Aft Hallway Tech Storage"; - name = "aft camera" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/obj/effect/turf_decal/tile/red, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/hallway/primary/aft) "xFO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/old, @@ -90435,6 +90256,16 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/medical/storage) +"xHH" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/turf/open/floor/engine, +/area/storage/tech) "xHZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -90455,7 +90286,7 @@ }, /obj/effect/turf_decal/siding/white, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "xIz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -90487,6 +90318,16 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"xIG" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/backpack/duffelbag/med/implant{ + pixel_y = 9; + pixel_x = 2 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/surgery) "xIV" = ( /obj/machinery/atmospherics/pipe/layer_manifold/visible{ dir = 4 @@ -90519,6 +90360,13 @@ burnt = 1 }, /area/maintenance/starboard) +"xIZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "xJk" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/solars/starboard/aft"; @@ -90588,6 +90436,15 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"xKj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/room/threexthree, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "xLc" = ( /turf/open/floor/iron/dark, /area/medical/medbay/central) @@ -90597,6 +90454,13 @@ }, /turf/open/floor/plating/asteroid/airless, /area/space/nearstation) +"xLo" = ( +/obj/structure/bookcase/random/nonfiction, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) "xLr" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -90688,6 +90552,26 @@ }, /turf/open/floor/iron/showroomfloor, /area/science/research) +"xNp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_green/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Virology - Testing pens"; + name = "virology camera"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/showroomfloor, +/area/medical/virology) "xNv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -90707,6 +90591,15 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/captain) +"xNS" = ( +/obj/machinery/door/airlock/maintenance{ + req_access_txt = "12" + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard/fore) "xOh" = ( /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt, @@ -90714,23 +90607,6 @@ burnt = 1 }, /area/maintenance/port/fore) -"xOt" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Xenobiology Positive Pressure Distribution Pump" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) "xOw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -90832,7 +90708,7 @@ dir = 5 }, /turf/open/floor/iron, -/area/security/main) +/area/security/brig) "xPY" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/stripes/corner{ @@ -90889,16 +90765,6 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hor) -"xQH" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/thermomachine/freezer, -/obj/effect/turf_decal/tile/dark/opposingcorners, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/iron/dark, -/area/medical/cryo) "xQJ" = ( /obj/effect/landmark/event_spawn, /obj/structure/disposalpipe/segment{ @@ -91000,6 +90866,19 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) +"xSn" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Starboard Hallway Planters"; + name = "starboard camera" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "xSp" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/chair/office{ @@ -91014,23 +90893,6 @@ burnt = 1 }, /area/maintenance/fore) -"xSt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Operating Theatre"; - name = "medical camera"; - network = list("ss13","medical") - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_y = 24 - }, -/turf/open/floor/iron/showroomfloor, -/area/medical/surgery) "xSU" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/old, @@ -91038,6 +90900,25 @@ burnt = 1 }, /area/quartermaster/exploration_dock) +"xSX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron, +/area/bridge) "xSY" = ( /obj/effect/landmark/start/quartermaster, /obj/structure/chair/office, @@ -91095,6 +90976,18 @@ broken = 1 }, /area/maintenance/port) +"xUe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "xUr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -91149,6 +91042,10 @@ burnt = 1 }, /area/maintenance/starboard) +"xVl" = ( +/obj/effect/turf_decal/bot, +/turf/open/floor/glass/reinforced, +/area/crew_quarters/heads/hop) "xVu" = ( /obj/item/radio/intercom{ pixel_x = 28; @@ -91179,6 +91076,49 @@ burnt = 1 }, /area/quartermaster/warehouse) +"xVH" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig/aft) +"xWn" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/lipstick/random{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/lipstick/random{ + pixel_x = 6 + }, +/obj/item/pen, +/obj/structure/sign/poster/official/do_not_question{ + pixel_x = 30 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Backstage"; + name = "diner camera" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/theatre) "xWt" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=Security"; @@ -91197,6 +91137,24 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"xWA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating{ + broken = 1 + }, +/area/maintenance/starboard) "xWF" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -91331,18 +91289,6 @@ }, /turf/open/floor/iron/dark, /area/medical/chemistry) -"xYd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/quartermaster/exploration_dock) "xYj" = ( /obj/structure/flora/grass/jungle/b, /obj/structure/flora/ausbushes/fullgrass, @@ -91418,56 +91364,10 @@ broken = 1 }, /area/maintenance/port) -"xZQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/security/checkpoint/auxiliary{ - name = "Security Aft" - }) "yak" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/showroomfloor, /area/medical/chemistry) -"yao" = ( -/obj/machinery/vendor/mining, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/status_display/supply{ - pixel_y = -32 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Mining Dock"; - name = "cargo camera"; - network = list("ss13","qm") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/miningoffice) "yar" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner{ @@ -91514,6 +91414,14 @@ broken = 1 }, /area/hallway/secondary/entry) +"yaG" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics Tank - Mix"; + name = "atmospherics camera"; + network = list("ss13","engine") + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) "yaK" = ( /obj/effect/turf_decal/bot, /obj/structure/window/reinforced{ @@ -91556,17 +91464,16 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/bar/atrium) -"ybf" = ( -/obj/structure/chair, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/glass/reinforced, -/area/security/main) "ybu" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, /turf/open/floor/iron/dark, /area/bridge) +"ybx" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "ybO" = ( /obj/machinery/door/window/northleft{ dir = 4; @@ -91576,26 +91483,23 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/science/xenobiology) -"yca" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/light_switch{ - pixel_x = -24; - pixel_y = -24 - }, -/obj/structure/window/reinforced{ - dir = 1 +"ybW" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/conveyor{ + dir = 4; + id = "packageSort2"; + name = "mail belt" }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/camera/directional/south{ + c_tag = "Delivery Office"; + name = "cargo camera"; + network = list("ss13","qm") }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 }, /turf/open/floor/iron/dark, -/area/science/xenobiology) +/area/quartermaster/sorting) "ycd" = ( /obj/effect/turf_decal/delivery, /obj/structure/window/reinforced, @@ -91644,6 +91548,17 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) +"ycZ" = ( +/obj/machinery/door/poddoor/preopen{ + id = "xeno_blastdoor"; + name = "Xenobiology Containment Blast Door" + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "ydc" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -91658,21 +91573,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"ydq" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "ydv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -91680,29 +91580,10 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/primary/starboard) -"ydJ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/camera/directional/south{ - c_tag = "Autopsy Room"; - name = "detective camera" - }, -/obj/machinery/status_display/ai{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/effect/landmark/xeno_spawn, -/obj/effect/landmark/start/detective, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/detectives_office) +"yed" = ( +/obj/structure/sign/departments/security, +/turf/closed/wall/rust, +/area/security/brig/aft) "yeg" = ( /obj/machinery/modular_fabricator/exosuit_fab, /obj/effect/turf_decal/delivery, @@ -91737,19 +91618,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"yep" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/exploration_dock) "yeu" = ( /obj/machinery/power/smes, /obj/effect/turf_decal/stripes/line{ @@ -91783,24 +91651,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"yeG" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/table, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/microwave{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/maintenance/department/science) "yeI" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -91808,6 +91658,46 @@ burnt = 1 }, /area/maintenance/port) +"yeK" = ( +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/toilet/restrooms"; + name = "Restrooms APC"; + pixel_y = -24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Restrooms"; + name = "recreation camera" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/toilet/restrooms) +"yeN" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13", "security") + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/security/brig/aft) "yfe" = ( /obj/machinery/status_display/evac{ pixel_x = 32; @@ -91839,6 +91729,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"yfO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/showroomfloor, +/area/science/aft) "yfQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -91883,6 +91785,15 @@ burnt = 1 }, /area/security/checkpoint/medical) +"ygR" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/security/brig/aft) "yhm" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/item/clothing/suit/hooded/wintercoat/engineering, @@ -91942,15 +91853,31 @@ burnt = 1 }, /area/maintenance/starboard) -"yin" = ( -/obj/machinery/airalarm/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/camera/autoname{ - network = list("ss13", "prison"); - dir = 5 +"yie" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + dir = 8; + freq = 1400; + location = "QM #2" }, -/turf/open/floor/iron/techmaint, -/area/security/prison) +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/mob/living/simple_animal/bot/mulebot{ + home_destination = "QM #2"; + suffix = "#2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/storage) "yio" = ( /obj/item/kirbyplants{ icon_state = "plant-17"; @@ -91972,18 +91899,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"yir" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating{ - broken = 1 - }, -/area/maintenance/starboard) "yis" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -92213,6 +92128,33 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/cryopods) +"yld" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + network = list("ss13", "security") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/brig) "ylk" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/turf_decal/tile/dark_green/half/contrasted, @@ -92275,6 +92217,29 @@ broken = 1 }, /area/maintenance/port) +"ylT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/iron, +/area/quartermaster/exploration_dock) "ymb" = ( /obj/structure/closet/secure_closet/personal{ name = "Commissary Locker" @@ -102512,7 +102477,7 @@ koJ aaa acm aaa -owH +bCS aaa aeo aeo @@ -102953,7 +102918,7 @@ aeo aeo acm aaQ -owH +bCS acm acm coy @@ -103021,17 +102986,17 @@ aeu aeu coy cmU -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz bDa -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz acm aeo aaa @@ -103462,17 +103427,17 @@ aeo aaa aaQ acm -hyB -hyB -hyB -jZb -hyB +rqo +rqo +rqo +dGK +rqo ade -hyB -hyB -hyB -hyB -hyB +rqo +rqo +rqo +rqo +rqo cmU aeU aeu @@ -103535,17 +103500,17 @@ aeU aeU aeU cmU -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR ckj -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR acm acm aeo @@ -103976,17 +103941,17 @@ aeo aaa aaQ acm -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg ctE -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg cmU aeU aeU @@ -104048,19 +104013,19 @@ aUz aeU aeU cmU -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz ckj ckj ckj -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz acm aeo aaa @@ -104489,19 +104454,19 @@ acm aeo aaa cmU -hyB -hyB -hyB -hyB -hyB +rqo +rqo +rqo +rqo +rqo cFs ctE ctE -hyB -hyB -hyB -hyB -hyB +rqo +rqo +rqo +rqo +rqo cmU aeU aeU @@ -104562,19 +104527,19 @@ aeU aeU aeU cmU -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR ckj ckj ckj -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR acm acm aaa @@ -105003,19 +104968,19 @@ aaa aaQ aeU cmU -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg ctE ctE ctE -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg cmU aeU aeu @@ -105077,17 +105042,17 @@ ajd ajd ajd cmU -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz ckj -gku -gku -gku -gku -gku +suz +suz +suz +suz +suz cmU aaa aeo @@ -105518,17 +105483,17 @@ aeu aeU aeU cmU -hyB -hyB -hyB -hyB -hyB +rqo +rqo +rqo +rqo +rqo ctE -hyB -hyB -hyB -hyB -hyB +rqo +rqo +rqo +rqo +rqo cmU aeU aeU @@ -105591,17 +105556,17 @@ clt cmf sUA cmU -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR ckj -nfl -nfl -nfl -nfl -nfl +hsR +hsR +hsR +hsR +hsR cmU aUz acm @@ -105820,8 +105785,8 @@ crP gcw bJg amA -rdl -mLl +fWI +kAM nTl ajd jNS @@ -106032,17 +105997,17 @@ aeu aeu aeu cmU -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg ctE -hTI -hTI -hTI -hTI -hTI +wxg +wxg +wxg +wxg +wxg cmU aeu aeu @@ -106340,11 +106305,11 @@ bJv aQU ras wim -mgR -mgR -mgR -mgR -mgR +qUP +qUP +qUP +qUP +qUP gbn cnm cnm @@ -106597,19 +106562,19 @@ bJv aQU nun wMt -mgR -fqe -ivs -fQK -mgR -mgR -khD -mgR -mgR -mgR -sDE -mgR -dbh +qUP +cVq +ekW +oqc +qUP +qUP +eMX +qUP +qUP +qUP +lhi +qUP +lWh cJI cJr cJr @@ -106854,19 +106819,19 @@ bJv aQU rjm fJP -mgR -kmm -qqM -qSR -mgR -qxw -nxb -rgg -roI -ofp -blC -vSY -fBr +qUP +eCH +jtH +kpX +qUP +fqp +ogB +iIt +bgO +hQm +cvq +dGc +ygR aez bRY vew @@ -107111,19 +107076,19 @@ bJv awD uqI ajd -mgR -qcH -bYO -dDW -mgR -bmi -bdm -tMu -pSh -bBr -vzQ -iPW -ldG +qUP +rZr +eVQ +nQH +qUP +kjI +dJH +frj +mzE +qch +ilL +ltT +taJ aez cJD cjw @@ -107343,7 +107308,7 @@ amA jrs yeI aHt -aPp +jdQ mEX crv cAg @@ -107368,19 +107333,19 @@ bJv awD lRe jSZ -mgR -dLJ -nev -uAX -mgR -gXv -nhM -vKj -iQI -rfw -ewe -bIO -fxu +qUP +cPT +owT +cTX +qUP +jpl +tJO +pgh +jud +lvx +jSb +yeN +dgh aez kSm jrC @@ -107624,21 +107589,21 @@ bJv bJv aQU uek -uIw -mgR -vFW -gDQ -jPj -mgR -iVd -pWP -pGo -pSh -ffV -hTE -wYn -pSh -nbk +cto +qUP +sej +gRT +cfj +qUP +sir +wSq +bvV +mzE +qEp +mgx +bAr +mzE +kDZ pzF fGu aPL @@ -107651,7 +107616,7 @@ xbl cnl jfK coB -vax +toK cPw cPA cnP @@ -107882,19 +107847,19 @@ bJv aQU uek oSt -mgR -mgR -wdg -mgR -mgR -pSh -roI -pSh -pSh -pSh -eTb -hzz -jsj +qUP +qUP +oJl +qUP +qUP +mzE +bgO +mzE +mzE +mzE +klk +nKp +gNm iZu gse jLI @@ -108092,7 +108057,7 @@ aeu aeu aeu ctB -gTN +kMG bgj bCo ctA @@ -108138,25 +108103,25 @@ bJv bJv aQU wWQ -peU -mgR -lnz -mtD -vwv -pzL -lTL -tfa -tyy -aWT -efh -hBr -gdP -cnJ -eVS +wco +qUP +uPs +mEc +cmj +cTg +wie +sAB +tcA +lJZ +wSB +dUm +rhO +bQH +qFB fVc pmm war -plr +dVZ cJI cTa ajd @@ -108351,7 +108316,7 @@ aeu ctA vFj seG -uUe +sLb ctB aeu cwp @@ -108396,19 +108361,19 @@ bJv aSL kJI onu -wjB -tGn -sHC -dYw -soT -mFw -qGC -oMu -jgY -iFm -ouM -wNe -hqQ +uuY +ehm +ldW +mcq +sqP +phk +mXU +laQ +vGT +hak +etR +xVH +yed vLT lkn cTk @@ -108653,19 +108618,19 @@ awD awD lkA qYh -mgR -nhO -tBf -rtf -pcN -pSh -sQF -hLv -rVM -pSh -xZQ -wYg -pSh +qUP +ifD +wsT +kmk +doJ +mzE +xFn +lVu +bxI +mzE +tPI +olW +mzE agS agS agS @@ -108920,10 +108885,10 @@ aav aav aav aav -wcN -dYx -pSh -wtj +pHV +fFk +mzE +twc qUS lpg exu @@ -109162,7 +109127,7 @@ ocX dTr bSs hpt -lRO +hWA awD aer rfb @@ -109177,22 +109142,22 @@ vjc fNz vgc aav -wma -wYg -pSh +cRU +olW +mzE vxa qty -tAP -exu -wgX -exu -exu +kNZ exu +uoK +njG +njG +njG lfu -exu -wgX -exu -exu +njG +uoK +njG +njG clr cKA crD @@ -109434,22 +109399,22 @@ nmY vbU eja gCu -lXL -nln -fxu +hEG +ciO +dgh fGK qNA -tzT +xEE agS ibw nEO -jxJ +lSf vdd cHF lgN awF qGo -exu +njG cls cta cIS @@ -109643,7 +109608,7 @@ kgp ocU awe aPA -hHw +idO iNh wTy fTD @@ -109652,7 +109617,7 @@ aPa wmq phz iJK -nou +vtM buk xWX aOZ @@ -109691,10 +109656,10 @@ jel iTH qCD aav -iox -eMs -pSh -mlU +mkY +aXg +mzE +qwp mOE gLn aey @@ -109933,7 +109898,7 @@ pLM jTT uSk vmQ -utH +lnH awD afm joP @@ -109948,14 +109913,14 @@ xON pTu lBQ aav -gxT -hmc -pSh +lfY +aTi +mzE agS vKc agS agS -jtO +isG url eRb dtm @@ -109963,12 +109928,12 @@ irm pnj tPE gSb -exu -wgX -exu +njG +uoK +njG giB eyz -exu +njG aaa aaa aaa @@ -110157,7 +110122,7 @@ mCT aOL aNG aPA -jNr +tXU uqC xpn vVt @@ -110182,7 +110147,7 @@ aQN aQN dZR amA -gul +dRE pFP xqE vkE @@ -110203,11 +110168,11 @@ qvH qvH rfT iTH -yin +xxT aav hxY mCw -qYQ +taE pjW chn lLt @@ -110215,17 +110180,17 @@ agP oGA bgw hVJ -ybf +dpE fqB -jBt +iPc tPE cVZ kAo fBg -exu +njG mJy eus -exu +njG aaa aaa aaa @@ -110411,10 +110376,10 @@ ldy aNG skf mIa -ngs +deV oHG aPA -wPP +ucH rhW krs vap @@ -110424,22 +110389,22 @@ ufE wgB bQg nPL -hER +gIR qAu aQI -ujK -cxG +kjD +tRA aQI eEk reH eeb -cpU -iHI -pwl +rPC +lfd +cYC aQN uiq amA -iAP +fPx xVu wKB uvK @@ -110472,17 +110437,17 @@ tlR wbz xPV xIa -bGc +uUd eUX -jBt +iPc nWl sNf -wpC +lYl eeZ dZZ nWR ppz -exu +njG acm acm acm @@ -110692,7 +110657,7 @@ dkl ilA jOw nZU -rZe +uVv aQN pnQ tfX @@ -110729,9 +110694,9 @@ kgm uFh oJy eRb -ybf +dpE kEq -jBt +iPc xew wVu gMe @@ -110993,7 +110958,7 @@ fll wVu sxu xcX -als +rdg alJ rMY wVu @@ -111183,9 +111148,9 @@ aNG wST ykF klz -tWL +sWR aNG -xQH +lZK kQs rrL hkE @@ -111199,9 +111164,9 @@ wOr qJU itX rMM -eUa +krR aQI -xSt +evn kFt ilA wWr @@ -111225,20 +111190,20 @@ cBy pLS aav fCh -uqU -uqU -uqU +bKs +bKs +bKs mmJ qHm uOX qHC -pfM +bEA rqq fWQ mHZ qbn dNk -gZF +pkR dku cRQ uKZ @@ -111461,9 +111426,9 @@ aQL kMM qNS ilA -mwd -tYr -gSl +xIG +riA +opn aQN qZx aKe @@ -111479,9 +111444,9 @@ bLn brD cBw cBv -bUe +kqj aav -ubC +iyU epb ukl izu @@ -111503,7 +111468,7 @@ kYV lRo woB iAR -lKV +cFx wVu ihP mbD @@ -111709,7 +111674,7 @@ fzU xLc hJI bHh -ssd +rCB aQI ygm rAu @@ -111739,9 +111704,9 @@ pdb kXQ aav yju -uqU -uqU -uqU +bKs +bKs +bKs mmJ ert neM @@ -111757,13 +111722,13 @@ dku vhm uYq tuX -aey -agS +hqG +ntH fMt aEG gMe wVu -hOO +dZz dbO oRZ rYb @@ -111975,7 +111940,7 @@ eQm aYv jux izG -dqq +lWt mda aNn ifo @@ -111987,7 +111952,7 @@ bLn brD rUM bKX -qyq +yeK bKk bKk bKk @@ -112011,10 +111976,10 @@ dku qbn dku dku -agP +nXQ mKj -agP -agS +nXQ +ntH mKi set gIV @@ -112240,7 +112205,7 @@ sNw tLR dyW wjK -ewC +vwe wtX iVc bBY @@ -112264,7 +112229,7 @@ iQT tMB aat gOq -fvX +rwa pVw rNl cgv @@ -112486,7 +112451,7 @@ hLe pyh vAm vSX -uYv +nDD eKb plP ylk @@ -112503,12 +112468,12 @@ arf hnl kRJ cPX -wal +vGd iFD cPW oNK fya -mGz +glX vjR cOj hpm @@ -112529,7 +112494,7 @@ jKL mkn nmC agP -hbv +nLm ulf etJ lmW @@ -112721,23 +112686,23 @@ cwp lmS fCe aNL -rer +aNA fYi -vuy +tXM qIB uwZ aNL -edz +qPK kyF hnV -vIc +uNo lMk dDr rZd wpf hEa rZd -xcd +xcR aNn aQW sQA @@ -113000,9 +112965,9 @@ quC nWN xmY czN -qKf +mVF afe -dMY +ovC wMy sWL bAN @@ -113030,14 +112995,14 @@ lDt lDt lDt knS -wDE +sNl gMx uyd ebU sZC iQE euo -iog +sJp coA dTj wOf @@ -113045,9 +113010,9 @@ hzJ agS fAW qRS -boQ +wIT aka -oic +rBC mFv aka vUS @@ -113251,7 +113216,7 @@ xUZ mjt xfL exk -xcw +hDh aNn hec yak @@ -113287,7 +113252,7 @@ rLg gUQ lDt cuO -nZE +uJx gMx sgL uag @@ -113304,7 +113269,7 @@ gOx voM rPE aka -bge +kwI fdK ebF eOm @@ -113493,7 +113458,7 @@ nMA oBG fXg tKG -woj +tkY sDM wdF guK @@ -113531,11 +113496,11 @@ den wip fMD bIV -bkw +dCv boW cBW cBv -bUe +kqj ogW omE hzI @@ -113750,12 +113715,12 @@ cwp afY ajh aNu -olT +wwv iVk vkx fgT tKV -nfr +wEl aQr pKe wdU @@ -113765,7 +113730,7 @@ fCB tdo ttH prh -vzz +jGn aQW dpR yak @@ -113777,7 +113742,7 @@ foN bMi wKN bAN -mtk +xNp wkJ juC jWX @@ -113803,14 +113768,14 @@ lDt axv esa gMx -tCL +eMU aav sLj rWi bAc aat aav -jrF +yld iiL pkk agS @@ -113829,7 +113794,7 @@ aeU aeu aeu cke -mJQ +rjQ aaa aaa aaa @@ -114013,22 +113978,22 @@ iwX taI aNn aNn -jZJ +oSs nVT wqy fOp gjm -xaC -bJF -wsF -gwU +fRC +cHK +reD +lIq mfD uhp iMk mto iVt iQX -vvC +sKX afe iuC fzk @@ -114040,7 +114005,7 @@ aPf bAN afe bJa -gfH +fvF xdU ikl bIV @@ -114264,8 +114229,8 @@ cyA azF btb aNu -lsm -uaR +pPi +gjA pJy qlx cwv @@ -114275,10 +114240,10 @@ rZd vSc bEC raV -lru -hwJ -dTP -ayi +eJO +kvM +uPQ +iKi mnu aRn tpY @@ -114287,7 +114252,7 @@ udd uXo hhb soa -okm +cJh eoQ iKk nCK @@ -114333,7 +114298,7 @@ seg kcf amN wYp -wgz +eei fdJ xIW kqb @@ -114519,7 +114484,7 @@ hqL mfw brp kam -cGE +duP aNu wAo ovz @@ -114532,10 +114497,10 @@ uAg otN uXs wkP -tPZ -sXD -hwJ -peh +rZj +mQm +kvM +sNi wXX pcp wiH @@ -114551,15 +114516,15 @@ jLm eck asv fhb -nkk +loS afe -tBU +aTK sNW hKa xiQ wgm bIV -aUH +nOf buY bIV ajd @@ -114596,7 +114561,7 @@ cih aka aka aka -wre +goc aeU aaa aaa @@ -114788,11 +114753,11 @@ aNn tKV aNn nYU -lHZ -tKP -nzk -kEh -pBm +aGT +qLX +fFq +pOf +pVj wvt rom xYc @@ -114805,12 +114770,12 @@ ruo drQ tFa qyz -iNI +fcE vlT lte meO afe -oLt +qgm sNW myO kKb @@ -114827,7 +114792,7 @@ iIj nON fMu qBN -rwh +gxo xBC xBC dKa @@ -114836,7 +114801,7 @@ aav paw fcN tco -fjz +vhC aav iVK cOF @@ -115047,8 +115012,8 @@ btA btA wXD iyS -kiz -wup +iJp +thm xCh jTy rmr @@ -115282,22 +115247,22 @@ aeu adH akz cAi -cgY +kqg cAi cAl adH syU jeJ aWG -bsV +wCV btf btk btq aWG -psI +hQz phw axL -atw +jjn bxB bwY sZF @@ -115330,7 +115295,7 @@ bJk bEn bIV bIV -bKa +ufF dFd bLu ouT @@ -115581,7 +115546,7 @@ jTA nFK rvh oEU -lFN +nNT edS xtd xlL @@ -115598,7 +115563,7 @@ dku gMg jWG ieY -fSH +kTD dku ppu xBC @@ -115616,14 +115581,14 @@ exu pfo rYk myz -gqX -tbZ +mQS +qgc bYX jve jxr aey agS -xEc +uyI jAm qfu eAT @@ -115843,7 +115808,7 @@ eut dAg psC sau -hJO +dZX sau ylu boC @@ -116085,7 +116050,7 @@ bih bhw qNQ wYt -qQb +tFB bih bhw dgf @@ -116103,7 +116068,7 @@ pAw pAw pAw qYV -mfK +kBX ehp aer aer @@ -116121,7 +116086,7 @@ lUD eFj sQM nvr -bdP +erN ihJ dmJ ubj @@ -116135,7 +116100,7 @@ gfF xiK qTf wGY -tJx +foC cTE irP dEu @@ -116397,7 +116362,7 @@ bYD fjZ gQo xTb -toQ +lGs kDN aaa aaa @@ -116577,7 +116542,7 @@ bsm aWG aWG bvT -vnc +qak aWG btA cBh @@ -116587,17 +116552,17 @@ odj kpU wsH btA -qKQ +iSo uRI uqQ btE btE -bvi +oJC oLk buu euX gej -buP +xLo bvK buW jpV @@ -116628,10 +116593,10 @@ svy uvY rHI ajd -mAQ +tzO rGz wsz -pdJ +hTB dxm nth yiF @@ -116639,7 +116604,7 @@ wIl pZu cvL liw -cLH +nAC dvt axw wfa @@ -116647,7 +116612,7 @@ gkA tKE kRW rdv -eJx +pYQ kDN lub wcp @@ -116860,7 +116825,7 @@ bvg rty wBh bvl -jLZ +kkJ buC bJc vsg @@ -117095,7 +117060,7 @@ aTf aWG yeC qZQ -tDZ +xqa wRe rXH mBN @@ -117120,12 +117085,12 @@ bjq buM bwa fTq -skm +uoC buC buC ubT aoh -jiv +prB bEY cIB eWx @@ -117142,7 +117107,7 @@ bWR ksc aaY aaY -wtk +axB weD fCk vYC @@ -117612,7 +117577,7 @@ bwJ xzT btB aAx -pwo +cTx btA btA uwA @@ -117642,7 +117607,7 @@ aoh ljW aoP aoS -aUT +hLK mSg aoh boC @@ -117652,7 +117617,7 @@ bBj bSa bBj bOU -hYT +kkK klT eMh pCY @@ -117864,7 +117829,7 @@ cFZ asb cFd btA -bwK +hBV btB bwU btB @@ -117879,13 +117844,13 @@ btF aRM jsF mMZ -ocz -qjO -lnl -tjj -wkn -nHi -vDN +aHI +wYK +npg +hYi +aRL +ldk +sSM cIh bmt bqO @@ -117905,12 +117870,12 @@ asF cTQ tiX avu -wBd +wGv nKV wfY bOU fFb -ydJ +aJO aaY eva bTm @@ -117926,15 +117891,15 @@ cZp msN sLa aFM -aGk +fpR aDz aDz aFM -bIU +vUg aDC aDC aFM -aDE +egA aMY aMY aFM @@ -118143,7 +118108,7 @@ rfR buC hBS xdr -rGO +uhR grj nxu buC @@ -118152,7 +118117,7 @@ cCO bvK tyN asG -wYz +lRp gFX bMn aql @@ -118172,7 +118137,7 @@ aaY bAJ oSS hcX -acq +fPh wIY abT enV @@ -118393,7 +118358,7 @@ btE lLG geQ geQ -iqT +tdJ geQ rgb btE @@ -118434,7 +118399,7 @@ aaY aaY enV qqg -okk +mbM bFa gFF uQm @@ -118643,21 +118608,21 @@ btA bwX btA ago -gCm +ant uRI iEg btH iAH gbc lSB -reD +iAC dnb swx buA mmc xFQ nUI -gDJ +rfh btE aLl jgs @@ -118689,7 +118654,7 @@ bBy xDk cgA axF -vUK +bYu dbD odK weU @@ -118854,7 +118819,7 @@ aeu aeu aeu aeu -ciI +rvK aeu aeu aeu @@ -118913,7 +118878,7 @@ xSk aPT oGW sqI -xFm +hZo syf buQ xjc @@ -119165,8 +119130,8 @@ btE pCj uzC hoS -sRk -pRY +vOn +nPU btE ojm gKi @@ -119428,7 +119393,7 @@ buQ pPc gIb vzK -cWx +jeL btE aLQ ubT @@ -119474,8 +119439,8 @@ hqk qvr qFE fFZ -sGS -tIS +eGj +qqx jeX uCO mMc @@ -119638,7 +119603,7 @@ adO adW aeL afX -agK +rZY ajb alp eEo @@ -119702,7 +119667,7 @@ kpH abn bHp tEj -tVJ +lZZ uLu asF sSn @@ -119749,7 +119714,7 @@ cyP cHH coj cMl -cNN +cJo cNM mlO aaa @@ -119890,8 +119855,8 @@ asZ ceF jFZ auf -bmD -ccl +mqo +ovF adZ chP chO @@ -119930,7 +119895,7 @@ aET dfK mkz tsF -gEl +hsL ahx aox aSv @@ -119993,13 +119958,13 @@ fHc rQa vbd tqC -wPw +hLz kBa amY aFJ qKk -whg -ocA +rhy +kkA eWq rMO cBe @@ -120137,7 +120102,7 @@ asZ asZ ajE ahf -alh +iHz alz ceg cep @@ -120182,7 +120147,7 @@ ceM ceX aQi cfx -adG +che cfX oXO aIc @@ -120216,7 +120181,7 @@ riE cIN cIQ bOu -sAn +ucK atC bIL atu @@ -120227,8 +120192,8 @@ bSP bXJ myZ rjg -xFN -oyV +bgv +rOB eGw snf vHK @@ -120402,12 +120367,12 @@ abS acP atB adT -aHw +hBo cgp chE adg aec -iLd +rna cCQ lPD cis @@ -120436,7 +120401,7 @@ cGN bSp cdD cdI -tvM +vrn uch wxm cdD @@ -120462,9 +120427,9 @@ lRT uKF asG lKq -fqz +gGW ipT -vqP +pmV uHp kTa luY @@ -120475,7 +120440,7 @@ cIR bKm uad bPO -jaZ +xVl bsN kjJ dLv @@ -120657,7 +120622,7 @@ cdW cdY acx acR -cft +mRN adg byD cgJ @@ -120710,7 +120675,7 @@ apX aox acm afh -aLW +mgA acm afh acm @@ -120732,11 +120697,11 @@ bIf uKS pWD bPO -jaZ +xVl bsO kjJ hvk -eDv +qWs bCM pgj bDw @@ -120754,7 +120719,7 @@ uui aFM aFM aIG -eNe +pcf kDe aMR aDk @@ -120770,7 +120735,7 @@ aJI ckE cBz aHd -aMZ +gDg aFc aFM acm @@ -120900,7 +120865,7 @@ aaa aaa aaa acy -acM +gEM asZ asZ asZ @@ -120910,7 +120875,7 @@ aaH ajp cdY ced -aby +eAH ceq atB acV @@ -120952,7 +120917,7 @@ awG axO azG kVd -qiB +bEl aLX aSM rHz @@ -120977,19 +120942,19 @@ cOf cOi wnI nwR -bIY -rwN -sSZ -wnQ +iBC +kko +hth +uFx tTi bnP atj -avV +kqJ bIo kOw pmU bPO -bjj +kBf bsP kjJ dLv @@ -120999,9 +120964,9 @@ xjP bVa bDD bDL -eJq +mPq bCC -bDU +xHH bDX bFs jQp @@ -121175,13 +121140,13 @@ cfy adg ceH adt -adM +ola chX aei cij ahz cio -ciu +sjv ciy bAf acm @@ -121213,7 +121178,7 @@ aNp ago aDf nFj -cPS +hpy jxm jLO tNz @@ -121234,11 +121199,11 @@ atP atT kDP eWy -lYW -mbz -mbz -qsA -keY +gQZ +wfh +wfh +oaI +gtU aqZ atj auY @@ -121267,7 +121232,7 @@ bFZ jmY cKk aFM -ixi +cfH phK mwh aGz @@ -121420,7 +121385,7 @@ asZ asZ asZ asZ -afN +cWP aaZ abg abW @@ -121491,11 +121456,11 @@ sWE qKm oYU gdn -lYW -mbz -mbz -fhE -lMY +gQZ +wfh +wfh +bFe +nFg ara atj gKD @@ -121515,7 +121480,7 @@ bDF bEj vfX bDI -bDW +jGQ bDZ bFs cxL @@ -121536,7 +121501,7 @@ hhC brm uHK eVs -uXk +hDA aDl acK aFM @@ -121720,13 +121685,13 @@ ajC apE cdn cdJ -aiW +oFs cfc cfp cfA aCH kaA -oXt +nRk eYq cfM dLQ @@ -121735,7 +121700,7 @@ vKs arl arl bha -byN +gXA byE byJ bzf @@ -121743,16 +121708,16 @@ aZK bzd cOd auy -gIW +otB aqc kPx xDR dsp -eWW -pEo -dDC +qqG +ooD +vEP atA -npf +kAH auc atj atj @@ -121770,7 +121735,7 @@ vZv nnC bDG jqk -oFg +foR bmb bmb bCD @@ -121798,7 +121763,7 @@ aJI ckE cBz aHg -aNa +cln aFd aFM acm @@ -121947,9 +121912,9 @@ cfY eyv chB adr -adD +fJr aex -uFS +ryn cfY aaa acm @@ -121990,9 +121955,9 @@ ppN tOV eHi bwp -ciX +wHs cdc -byq +heU byI byK byS @@ -122009,7 +121974,7 @@ rYt aqI bCa aGG -jCJ +qDH qYz cXY asy @@ -122230,7 +122195,7 @@ msL eYj agA ajC -aoF +sVG aAk aEZ aEZ @@ -122263,10 +122228,10 @@ cce aqc biv iiD -vGu +ufl bHN bzP -rlV +dZl mPr bHO bIc @@ -122307,7 +122272,7 @@ ssm jNn xeV izO -fGa +jwd aIO clu cBB @@ -122461,7 +122426,7 @@ cga cfY lou gaX -qmt +ueh flv cfY cfY @@ -122498,13 +122463,13 @@ ceP aGb aKC aRm -cgt +fCn cfM -jen +wFn gGz hkq byj -cje +sIH cdc cEW byI @@ -122528,7 +122493,7 @@ fJO hZA uAv vmS -jfY +nVu pEH cEO bKI @@ -122776,9 +122741,9 @@ brR buB ybu pvL -eYA -wYU -qrx +pAd +gXJ +uNj atj aHU auc @@ -122814,7 +122779,7 @@ mnV csy wYY vPa -ouZ +fzp kKJ obT oQC @@ -122826,7 +122791,7 @@ aJI ckE cBz aHj -aNb +dDd aFe aFM acm @@ -122966,7 +122931,7 @@ aeu alm aeu aUz -cmS +vJB aeu aeu aeu @@ -123033,18 +122998,18 @@ vHq urz vfQ gdn -khG -mbz -mbz -fhE +xSX +wfh +wfh +bFe pkI -afT +xfw atj nEb pvH lKx -ngH -wor +oHq +fHV qfW bRV qhk @@ -123264,10 +123229,10 @@ cdC ceJ cNL cfh -aoM +pmD cfG cNS -iEz +raf cgo cfM cfM @@ -123290,10 +123255,10 @@ atP atT tyY gdn -khG -mbz -mbz -fhE +xSX +wfh +wfh +bFe pkI ard atA @@ -123547,11 +123512,11 @@ cPb cOi nyN oXz -pYq -sKk -nxP -ete -ckM +okM +wxy +lwx +gZW +woU bnQ atj rJr @@ -123581,7 +123546,7 @@ auS aBQ aCr aIg -qAt +fcg eju hlb odW @@ -123779,7 +123744,7 @@ vlq bEQ gwk kpg -gJU +vzc fYQ mGg aUa @@ -123787,14 +123752,14 @@ ago eux lVe fsl -tyD +lUJ aox aeD aox aox afh acm -aOk +oGG afh acm afh @@ -123825,20 +123790,20 @@ cOs jFC vMY wGw -sTf -oRy +rbe +oof bmc chg awN crV -idN +llQ uFf aCl aBV aBW -awM +gcA aCU -tgZ +ksl lEY ctq hEE @@ -123854,7 +123819,7 @@ aJI cui cBz aHm -aNc +yaG aFf aFM aeu @@ -124291,7 +124256,7 @@ rPD hpc avp aUa -gQz +sMF efN iLe oLc @@ -124332,7 +124297,7 @@ aup aui aui aui -hRp +tNQ csM mnd bQk @@ -124341,7 +124306,7 @@ uji uji uji cbW -hoR +qdR ftJ aCg hKu @@ -124571,11 +124536,11 @@ ajt bib apX cOc -bcF -ncP +eXN +qhn auZ -alj -hOc +kiE +hMz apA cIt cIw @@ -124585,7 +124550,7 @@ bGe bGF bHj wTC -bIv +xzE bPU aox bOU @@ -124853,7 +124818,7 @@ bSY whP nIt vEC -vwq +bKV tNj glf gZD @@ -124875,7 +124840,7 @@ jZm fxV oXu jSa -tsN +ivD laK cgG aFM @@ -125072,7 +125037,7 @@ cwl bdf fvQ aGh -vri +akX mWp tRS bqU @@ -125091,7 +125056,7 @@ byy bvD bAA asx -cIu +tGb cIx bHG cIF @@ -125120,7 +125085,7 @@ hYV etx fIq nNg -heo +njU hYs awH nVG @@ -125327,11 +125292,11 @@ mZm cvT ucA jqE -mON +iOm aGh oRh huR -imz +ewh dBt bwi piN @@ -125359,7 +125324,7 @@ ipn img bFB aox -oRB +xee gtK iBT auE @@ -125587,11 +125552,11 @@ rKa dsa aGh gun -mwE +jtC vgx iCN ajt -ujr +jkh bou iuX beO @@ -125605,7 +125570,7 @@ buJ bxA bwk asx -oKV +fij vYb xNL joi @@ -125640,10 +125605,10 @@ ckh gju tmK pbK -dXZ +bCB awH aJm -ayI +juH azz aMQ axS @@ -125829,21 +125794,21 @@ nDY cFT mRV apo -yfT +xIZ cDF vdz axr ban -aAS +wYH aBC -aTE +crH raL ban vIM rKa -vzG +oDg aGh -bdn +xWn drH bMm vKk @@ -126115,13 +126080,13 @@ kUH flW bjn epf -cvj +tAe mBF wlM bnS vNK -qxf -bso +mJI +dSJ bpi aZd aZd @@ -126149,9 +126114,9 @@ uPA tRF iLa nhY -iFd +bBu axS -hHL +oBZ xdk nSc mbY @@ -126166,7 +126131,7 @@ chy cjq cjI cjW -cxF +gGO axS aEl aEo @@ -126330,11 +126295,11 @@ aeu cDD cDC bTj -aiw +qSN cDR cDD cDR -djC +fku cEx cDC cDD @@ -126360,13 +126325,13 @@ bsc bqK xjj lBA -qDT +xfM brB -lhM +bar izD ajt sCE -qag +ndX mIM xqu npl @@ -126391,14 +126356,14 @@ bSa bBj auE auE -pbN +mvj luQ rSm xWF awq xvO xpR -vDn +vyY awN awN aGv @@ -126417,7 +126382,7 @@ cuY cwi cwz ckb -cxg +fuH cxO wBK cxV @@ -126665,7 +126630,7 @@ wUw kXe afK axb -rzN +tpd fdT ibl jYT @@ -126684,7 +126649,7 @@ czd axW wyd xgw -jRP +wkk axa axS agt @@ -126843,7 +126808,7 @@ baH aeu aeu cDC -hip +hOi oeo koC seU @@ -126853,7 +126818,7 @@ tqY cDC baH cFn -dOi +kvp rvF ari xGI @@ -126885,7 +126850,7 @@ xQc ubM icj bmF -dSW +szg mlm pBX wNg @@ -126897,7 +126862,7 @@ saG gRZ ecY veQ -sAk +vRr aZd oPl moD @@ -127103,7 +127068,7 @@ cDD haY xXl rhM -dtS +iaN xoW erZ snu @@ -127111,7 +127076,7 @@ cDD rFY cFm uOm -mmg +cuM cFC hqp dYk @@ -127153,7 +127118,7 @@ vay tPB qXp tIc -ikI +aok aZd aZd eYS @@ -127162,16 +127127,16 @@ jaX ftX awq nKk -fPS +bjH hfV pUj gEf auE -hkY +sLo mqR jfO awN -ujo +gWR xuX jEt dFa @@ -127191,7 +127156,7 @@ bro axT cxk cxk -cLy +tkD axU cMo czo @@ -127374,14 +127339,14 @@ vCy baH avx aZS -mNA +tBS nyZ uDb xpJ -sdK +kRp dSt aZS -uAb +fZv dEg kXD beL @@ -127416,7 +127381,7 @@ hdf pQH iWp oHK -aia +gDm aJZ auE auE @@ -127642,7 +127607,7 @@ vOl rKa qyF cly -xaX +hie ybb hCi snt @@ -127650,7 +127615,7 @@ wou cYd qjA ajt -fUM +wXa wgS gWu yjf @@ -127694,12 +127659,12 @@ cox oaH axb rtm -wle +fXx tjF cKX axS cvc -azp +kZf aLs aOS aLv @@ -127871,29 +127836,29 @@ alB bwe alB cDF -agU -agW -ckp -gHo -ahP -aih -aiX -ajI -alu -amE -kWq +fdw +hwo +fdl +fsM +dRY +wVn +qau +vyx +kcj +pZE +bHS apB -eln -mnH -sPe -xED +bCE +qbO +nXc +hlo aZS -crQ +dKA xay -hOd -ryn -rfd -aou +edK +tuJ +utp +qdK bez vcX rKa @@ -127923,8 +127888,8 @@ bnH bnR bob phj -fZK -mlz +xSn +oCL wvO iWp iWp @@ -128124,11 +128089,11 @@ aeu aeu bwe bbx -apt +hMo bfs alB pny -cDM +aTF alB alB bwe @@ -128138,17 +128103,17 @@ alB bwe alB alB -aep +myx apC aXW baH -kxv +xNS aXW bam -eCp -jOx -jJP -eCY +vJJ +ixh +gjd +pzN eLw wms aYH @@ -128164,7 +128129,7 @@ bna bna bmy bnv -fbV +vXU gzV eLU lGy @@ -128385,22 +128350,22 @@ ayv aWJ alB alB -alB +aGg alB bbx -aAA +axZ bfs aWR bbx -aUI +dRx bfs bwe -crh +cGS jjT baH -rwq -aVx -kLg +rCM +uDa +xKj aZS yeg xay @@ -128449,7 +128414,7 @@ qXV bOf pUs qqy -tnS +fsb bNK dLL cfo @@ -128641,8 +128606,8 @@ bfq aWJ bhj aWR -bhv -bgp +twb +rPz aWR bhu ayv @@ -128652,16 +128617,16 @@ aWJ ayv bhu alB -aeN +rJq apC aXW cFi cFi cFi aZS -jRr +wiW dwD -iBB +xgC sjd aXP dNV @@ -128899,7 +128864,7 @@ afG afG bwn bbk -acB +fYn aWR bfq aWJ @@ -128909,16 +128874,16 @@ bfq aWJ bft alB -aeT +hAN apN baH -rNW +ybx cFi cFi aZS jzV pqL -cIq +xdx daU ouB gUs @@ -128934,7 +128899,7 @@ wqu mhL mab mab -ppM +trv wvq wSl sIh @@ -128944,7 +128909,7 @@ pOv pOv vzJ ulS -dQY +mRi bvB ivx wvK @@ -128961,7 +128926,7 @@ bVk bNC bOo dZN -cRM +dzo duf wvF ccd @@ -128969,7 +128934,7 @@ bNM qem awX awp -sTz +eBY vuw nIK fCx @@ -129156,7 +129121,7 @@ dcO noJ aWR beY -adx +gXK aWR aii ahF @@ -129166,7 +129131,7 @@ ajW ajM ajW alB -nHp +gEN apT aWY aWY @@ -129185,7 +129150,7 @@ ajL ajL cAX aJJ -wDh +hGI qpb wBB aYf @@ -129227,18 +129192,18 @@ tAL awX awX awX -aPM +brV ckB bOz awX rON -fpM +ntf jJS -piQ +tFw aLL -osR +pgl cPo -cKY +nIZ aGq cvv cwd @@ -129254,7 +129219,7 @@ cAd cjt oZv xgw -jLe +hDy axa axa aeu @@ -129411,9 +129376,9 @@ aeX mWk jeg vaM -oFF +saO wcn -tIb +ecC aWR tzL ybO @@ -129421,16 +129386,16 @@ iaZ cqw ejm ybO -yca +ame alB ctJ -apY +hNj aWY -lES -rHE -pfK -ngU -wxP +cxX +peN +gRG +nuW +pSq gAW aZv luD @@ -129461,9 +129426,9 @@ bsz blf gMt rRQ -byY +kwl blf -egq +sGp pTC rTs nSS @@ -129503,9 +129468,9 @@ cwk cBt cwe cwI -cxm +sDt cyN -cyO +iDr cyV cAJ axa @@ -129670,21 +129635,21 @@ dHf bfP swV oaV -rUd +vzU agz dxi rUd -dmV -iGz -dmV -qLO -lbC -aeX -cuG +djE +bZM +nJt +uZV +rpF +dNN +iBw dZe aWY -exd -kUs +glL +skx szy hum jCp @@ -129917,7 +129882,7 @@ aeu aeu aeu bwe -bfY +fhg bdD apR axR @@ -129927,17 +129892,17 @@ afO age agn ovr -aho -ahQ -agR -age -gmi -ajk -bgX -anK -apZ -aqa -cHA +eyM +uhy +fbn +bUR +vtC +klM +nZk +mUy +oAB +fuA +wZW iMo aro rip @@ -129980,11 +129945,11 @@ bIF jlP bni fyx -fwi +ybW bNt vWo bEg -pjz +wpr wUL gcy bSw @@ -129992,7 +129957,7 @@ mvf hgu xax bWd -cJn +vOz bNw cgO niE @@ -130189,19 +130154,19 @@ alk vNw heR jSv -iUj +jNT xji rMJ wDF afp -ads -gUu +ycZ +auV aWY -mNE +sUM mjx wqz rnc -rFl +mTi udv aZv uoA @@ -130232,7 +130197,7 @@ tZw blf tbM mwf -tGY +dYV blf sBU dFZ @@ -130451,9 +130416,9 @@ tuZ lvG fUL alB -jPg -anR -cGn +akf +xsl +dCr aZF aZF avL @@ -130462,7 +130427,7 @@ bdi aVJ amV aDb -gax +sBD lGG whx mvL @@ -130480,10 +130445,10 @@ aYf bfQ bhN bhI -kzl +vYG vCb eEh -eHY +mdu sNo tbu bwz @@ -130498,7 +130463,7 @@ guL bjW iJT bOC -fwK +vjT lxW soV bNM @@ -130689,7 +130654,7 @@ aeu aeu alB bfq -beZ +upS bft alB nTy @@ -130708,16 +130673,16 @@ amF akd amF alB -oss -rIu -ajz +boB +mRW +nlM aZF adX mIR -auN +roo bdi hyr -wka +cdP aVJ aVJ kBS @@ -130730,7 +130695,7 @@ aYe jzn rLd rSj -qNM +flQ fnJ nhw aYd @@ -130747,7 +130712,7 @@ bhQ upb dyu urt -icf +sVN hnP loc bIm @@ -130762,7 +130727,7 @@ kee wtM bSU vFe -lQZ +epX fZW rDP bSL @@ -130770,7 +130735,7 @@ rfO smr ucQ lgk -cyG +qaM ntG wXN bSr @@ -130779,7 +130744,7 @@ aIY bQT bSd bSd -bSy +fZD bSd bUt bQT @@ -130800,7 +130765,7 @@ fkE coC cNF iKN -hAs +jQD cnu cnu cnd @@ -130965,9 +130930,9 @@ bbx aWJ bfs alB -flf -joy -ajO +kRc +uhr +ewi baL atR kpm @@ -130982,7 +130947,7 @@ kBS wKl fMI rCs -irO +fZO aDI aDI biB @@ -131044,8 +131009,8 @@ bUB mjb mjb akn -ckc -cxA +iud +miq jru clV cju @@ -131212,7 +131177,7 @@ aWJ bfs bwn eMb -xOt +sQZ aWR aWJ ayv @@ -131222,15 +131187,15 @@ bhu ayv aWJ bwe -yeG -mhr -ajU +bnl +blq +aqd aZF aXR bcx aWU bdi -dWS +tyQ qLm eYR stv @@ -131250,7 +131215,7 @@ dPo jgw wLe aCb -kHX +kqc nLS rcl suI @@ -131469,19 +131434,19 @@ ayv aWJ aWR tVh -tho +rNZ bwn bfq -aLR +gio bft aWR bfq -aYh +iPz bft alB -sLI -ydq -cGo +rjE +mKk +izi aZF baJ bcz @@ -131722,11 +131687,11 @@ aeu aeu bwe bfq -aAy +wqi bft alB bhl -brh +kUB alB bwe alB @@ -131736,12 +131701,12 @@ alB bwe bwe alB -phr -viw -aki +xuS +qSD +aSr aZF baP -bcC +iDQ bcH bdi ueM @@ -131758,13 +131723,13 @@ bcD cXb sga vga -pgt +wCM bbb bdN bfm pcc aCb -jbT +sTG dVx ivw hsZ @@ -131784,7 +131749,7 @@ bhQ gxa nSn bOc -bTi +lFh niK pVo bRm @@ -131795,10 +131760,10 @@ bYi vJX sWe qbf -fGZ +plS lpl bWO -vox +khW fsK uRb cKe @@ -131822,9 +131787,9 @@ clZ bzG aeu clb -cAQ +pvn cAS -sfV +iDk ckU aeu aeu @@ -131982,20 +131947,20 @@ alB alB alB alB -aRK -air -uQa -abv -cmW -abx -eZc -cGq -ofb -rfx -cFp -iXJ -gqR -cGp +nCM +wbV +sWz +rKN +hPw +rWx +mqP +nMi +hWP +dAP +kwO +iMD +iUK +emi aZF baL aZF @@ -132239,25 +132204,25 @@ nhS wAI mFy abi -vwx -ogM -pDW -eTq -ipS -dmv -iNY -sSU -uNg -dur -uWy -uIL -nao -aqj -aqm -yir -lLv +drm +orv +crX +cOA +yfO +xUe +elK +rKg +qPL +ssS +lKE +ujx +blN +cEu +mUZ +fVR +uPR cFV -ctI +oQA bdi bdi amV @@ -132268,12 +132233,12 @@ aVJ uff dzI hXA -qOG +tcS bxn trW aMh uCY -rJC +qoj moa bbc bym @@ -132298,7 +132263,7 @@ bEg gKQ kjW bOc -bPh +iMH dBa hyH bPH @@ -132310,7 +132275,7 @@ wzg vQX pqo wZh -ghe +uEl bPe ddG nAs @@ -132332,7 +132297,7 @@ cjo kyr clE gIc -cmb +tyc cjo aeu ckU @@ -132490,31 +132455,31 @@ acm aWY aWY rkT -dtF +dEt ruI iZp tmh cEH aWY -agv -nWL -cWX -hSa -hSa -okO -vuN -hSa -tWT -meS -xvI -nPd -qGt -cGq +grO +suf +lbr +vRE +vRE +oXU +wWg +vRE +qkg +qVX +mAB +pHy +mQQ +nMi cGJ bkd -kgW -uIG -lLv +uKk +kwe +xWA ayj aXl usQ @@ -132536,7 +132501,7 @@ bbc yhP jxO bhQ -eQB +yie rts uul fHh @@ -132569,7 +132534,7 @@ bSE bYi bOc bOc -vLw +sdA vko fNh bUh @@ -132582,14 +132547,14 @@ bUN bUN bUN bUN -tjg +heu ttv mjb cjo wTd gPs rmO -cmc +sax bzG aeu aeu @@ -132774,7 +132739,7 @@ bkd oaf ayl awi -rBY +gjM wcU gSw xgL @@ -132801,7 +132766,7 @@ bhH wzy ios hsl -pPQ +fRD rHR qrU blk @@ -132821,7 +132786,7 @@ cat wOj xqB jna -qJP +nhe kxo sAS bTZ @@ -133011,14 +132976,14 @@ rVa btR agg agD -abt +kcD lqU qYK dRT ayw fWg -lxx -fzv +dJx +pBs wgc fvo uZM @@ -133096,7 +133061,7 @@ bUN bUN bUN bUN -cos +dWA bUo mjb bzG @@ -133262,7 +133227,7 @@ gCl hvl wRZ lmA -iLb +whj lNK hSs btR @@ -133273,7 +133238,7 @@ oyI sxa wcC uSg -qrk +dvQ ait alD alX @@ -133281,7 +133246,7 @@ vfS hLB cEm cGt -eAZ +lUB cGU cHa cHe @@ -133300,7 +133265,7 @@ bbN bbT wZP jVQ -snZ +lVc kwT iKW bbc @@ -133546,7 +133511,7 @@ ayy cHo akk scd -eNG +nVl gvx why bbE @@ -133588,7 +133553,7 @@ bOc bWO bPe bRF -swW +oxO qfS xxq bRA @@ -133787,7 +133752,7 @@ lEm hzj kBl ayw -rxe +kJo aiA ajv anW @@ -133807,11 +133772,11 @@ bbu bbi bbi bbi -aUO +sdM aNw bcf bbN -sfQ +tgV ftu mQB tIF @@ -133824,7 +133789,7 @@ oAK wSc pWu etV -yao +fGT bhH aaa aaa @@ -134044,7 +134009,7 @@ dSf gsv ggf uSg -dqr +sjk ajl gYF lNZ @@ -134098,7 +134063,7 @@ aaa aaa acm bOc -lwj +lQQ vCo xzo cIU @@ -134131,17 +134096,17 @@ aeu aeu aUz cmU -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY ckA -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY acm aeo aaa @@ -134369,7 +134334,7 @@ dVi cJO jol pxZ -iHt +egK sOt mjb mjb @@ -134555,11 +134520,11 @@ oPY rMw dqj yax -nZM +ylT tUw qgB gSa -txy +iBe ifg dqj wcu @@ -134580,11 +134545,11 @@ bbF bby slb lUS -cHU +bof beH bbI vKv -fyG +wvM bbN cbf bbN @@ -134645,17 +134610,17 @@ aeu aeU cPR cmU -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU ckA -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU acm aeo acm @@ -135158,19 +135123,19 @@ aeu aeU aeU cmU -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY ckA ckA ckA -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY acm aeo aaa @@ -135672,19 +135637,19 @@ aaa acm aaa cmU -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU ckA ckA ckA -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU acm acm aaa @@ -136111,7 +136076,7 @@ dQl atY fYZ hFR -ija +khz atY xLY bQu @@ -136187,17 +136152,17 @@ aeo acm aeo acm -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY ckA -odH -odH -odH -odH -odH +awY +awY +awY +awY +awY acm aeo aeo @@ -136370,7 +136335,7 @@ uoR puj fOz atW -sMn +vmG wIP cbV qHd @@ -136628,7 +136593,7 @@ hQn oqF fPV cFE -paH +iod mpB ktS wgr @@ -136701,17 +136666,17 @@ aeo acm aeo acm -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU czr -hur -hur -hur -hur -hur +ohU +ohU +ohU +ohU +ohU acm aaQ aaa @@ -136864,7 +136829,7 @@ acm oUB uNy xNv -yep +jcG njd aKR vhR @@ -136872,7 +136837,7 @@ vhR jRg oPP uTn -xYd +lwe xRk kRb xRk @@ -137220,7 +137185,7 @@ aeo aeo acm acm -qdZ +uXN acm aaQ acm @@ -138170,9 +138135,9 @@ cmU aeU aeU ktS -tnd -srJ -ktS +npp +odM +cFE aaQ aaa aaa @@ -138412,24 +138377,24 @@ wRr mMY bkd efK -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen cjl -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen cmU cmU aeU ikp -mtV -igj -cFE +tnd +oAN +ktS aeo aaa aaa @@ -138926,22 +138891,22 @@ bkd bkd bkd aeu -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr crb -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr aaa aeU aeU ktS -iNX +oZp uoU ikp acm @@ -139439,19 +139404,19 @@ aeu aeu aeu aeu -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen crb crb crb -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen aeU aeU ktS @@ -139953,19 +139918,19 @@ aeu aeu aeU cmU -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr crb crb crb -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr aaa aeU ktS @@ -140468,17 +140433,17 @@ aaa aeU aeU cmU -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen crb -cXl -cXl -cXl -cXl -cXl +hen +hen +hen +hen +hen aaa aeU coy @@ -140982,17 +140947,17 @@ aaa aaa aeU aeU -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr fnp -rcB -rcB -rcB -rcB -rcB +mEr +mEr +mEr +mEr +mEr cmU aeU aeU @@ -141501,19 +141466,19 @@ aaa aaa aaa aaa -uEr +tjA aaa aaa aaa ktS emc dqF -qRs +tjB qms kxG dsm vnE -uex +vMV qms iaj glI @@ -142534,7 +142499,7 @@ aaa aeo aaa ktS -uSY +tzy xqr uIH fHP diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index f2f89e6dea883..e9569093ad8cb 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -147,7 +147,7 @@ /turf/open/floor/iron, /area/engine/atmos) "aaR" = ( -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "aaS" = ( /obj/structure/cable/yellow{ @@ -379,7 +379,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "act" = ( /obj/structure/closet/toolcloset, @@ -402,6 +402,26 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"acF" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance"; + req_one_access_txt = "1;4" + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/security/brig) +"acN" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Mix" + }, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) "acP" = ( /turf/closed/wall, /area/crew_quarters/fitness/recreation) @@ -430,20 +450,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"adf" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching output from station security cameras."; - name = "Security Camera Monitor"; - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "adj" = ( /obj/structure/closet/emcloset, /obj/machinery/light/small{ @@ -544,40 +550,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plating, /area/maintenance/solars/port/fore) -"aeg" = ( -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) -"aeh" = ( -/obj/machinery/meter, -/obj/machinery/door/window/westleft{ - dir = 1; - name = "gas ports" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) -"aei" = ( -/obj/machinery/door/window/westleft{ - base_state = "right"; - dir = 1; - icon_state = "right"; - name = "gas ports" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "justice gas pump" - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "aeq" = ( /turf/closed/wall/r_wall, /area/ai_monitored/security/armory) @@ -611,71 +583,6 @@ /obj/machinery/atmospherics/miner/station/plasma, /turf/open/floor/engine/plasma, /area/engine/atmos) -"afe" = ( -/obj/structure/table/wood, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Head of Security's Desk"; - departmentType = 5; - name = "Head of Security RC"; - pixel_y = 30 - }, -/obj/machinery/computer/med_data/laptop, -/obj/item/storage/secure/safe/HoS{ - pixel_x = 36; - pixel_y = 28 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Head of Security's Office" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afi" = ( -/obj/structure/closet/secure_closet/hos, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/item/radio/intercom{ - pixel_x = -29; - pixel_y = 23 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afj" = ( -/obj/machinery/status_display/evac{ - pixel_x = -32; - pixel_y = 32 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afk" = ( -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afl" = ( -/obj/structure/chair/fancy/comfy{ - color = "#666666" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afm" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) -"afn" = ( -/obj/machinery/status_display/evac{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) "afo" = ( /obj/machinery/light{ dir = 4 @@ -690,6 +597,28 @@ /obj/machinery/suit_storage_unit/hos, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) +"afr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/table, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo Bay - Starboard" + }, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 6 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/quartermaster/storage) "afs" = ( /obj/machinery/shower{ dir = 4 @@ -724,20 +653,6 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark, /area/bridge) -"afX" = ( -/obj/item/storage/secure/safe{ - name = "armory safe B"; - pixel_x = 6; - pixel_y = 28 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) -"agc" = ( -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "age" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -764,26 +679,11 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) -"agg" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) "agi" = ( /obj/structure/table/wood, /obj/item/stamp/hos, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) -"agk" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) "agl" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -809,18 +709,19 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/hos) +"agp" = ( +/obj/machinery/button/flasher{ + id = "holdingflash"; + pixel_y = -26; + req_access_txt = "1" + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) "agq" = ( /turf/closed/wall, /area/maintenance/fore) -"ags" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/closed/wall, -/area/crew_quarters/fitness/recreation) "agu" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -896,12 +797,6 @@ /obj/machinery/recharger, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) -"agX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) "agY" = ( /obj/structure/sign/warning/vacuum/external{ pixel_x = 32 @@ -918,15 +813,13 @@ }, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) -"ahf" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +"ahi" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) +/area/hallway/primary/aft) "ahj" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/pool, @@ -977,20 +870,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/port/fore) -"ahU" = ( -/obj/structure/falsewall, -/turf/open/floor/plating, -/area/crew_quarters/fitness/recreation) -"ahV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock{ - id_tag = "FitnessShower"; - name = "Fitness Room Shower" - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "ahW" = ( /obj/machinery/pool_filter, /turf/open/indestructible/sound/pool/end, @@ -1039,15 +918,6 @@ }, /turf/open/floor/plating, /area/security/brig) -"ais" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/closed/wall, -/area/crew_quarters/fitness/recreation) "aiD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -1194,15 +1064,23 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"ajX" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "ajZ" = ( /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"akb" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Research Division Hallway - Robotics"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "ake" = ( /obj/structure/cable{ icon_state = "0-2" @@ -1249,15 +1127,6 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/port/fore) -"alg" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "aln" = ( /obj/machinery/computer/holodeck{ dir = 4 @@ -1372,6 +1241,15 @@ /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/port) +"alD" = ( +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","medbay") + }, +/obj/structure/table/reinforced, +/obj/item/storage/crayons, +/turf/open/floor/prison, +/area/security/prison) "alF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -1392,12 +1270,6 @@ "alK" = ( /turf/closed/wall, /area/maintenance/port) -"alQ" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/brig) "amb" = ( /obj/machinery/light/small{ dir = 8 @@ -1412,25 +1284,12 @@ }, /turf/open/floor/wood, /area/library) -"ami" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/turf/open/floor/iron, -/area/security/main) -"amj" = ( -/obj/structure/chair/fancy/comfy{ - color = "#666666" - }, -/obj/effect/landmark/start/head_of_security, -/turf/open/floor/iron, -/area/security/main) -"amk" = ( -/obj/machinery/computer/card/minor/hos{ - dir = 8 +"amm" = ( +/obj/structure/chair{ + dir = 4 }, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/iron/dark/textured, +/area/security/brig) "amt" = ( /obj/structure/table, /obj/item/paper/fluff/holodeck/disclaimer, @@ -1447,14 +1306,6 @@ "amA" = ( /turf/open/indestructible/sound/pool, /area/crew_quarters/fitness/recreation) -"amB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/iron, -/area/janitor) "amC" = ( /obj/structure/chair{ dir = 4 @@ -1528,33 +1379,13 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/maintenance/port) -"anw" = ( +"and" = ( /obj/structure/table, /obj/machinery/recharger{ pixel_y = 4 }, -/turf/open/floor/iron, -/area/security/main) -"anB" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/turf/open/floor/iron, +/turf/open/floor/iron/dark/smooth_large, /area/security/main) -"anF" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/light_switch{ - pixel_x = -26 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "anH" = ( /obj/structure/chair{ dir = 1 @@ -1581,6 +1412,36 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/starboard) +"anO" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/door/window{ + name = "MiniSat Walkway Access" + }, +/obj/machinery/camera/directional/east{ + c_tag = "MiniSat Exterior - Aft Port"; + network = list("minisat") + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark, +/area/aisat) +"anQ" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - N2O" + }, +/obj/structure/table, +/obj/item/paper/guides/jobs/security/labor_camp, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "anS" = ( /turf/open/floor/plating/airless, /area/space/nearstation) @@ -1678,19 +1539,10 @@ /obj/structure/lattice, /turf/open/space, /area/maintenance/starboard/fore) -"aom" = ( -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"aoH" = ( +"aoD" = ( /obj/structure/table, -/obj/item/folder/red, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/mask/gas/sechailer, -/turf/open/floor/iron, +/obj/machinery/syndicatebomb/training, +/turf/open/floor/iron/dark/smooth_large, /area/security/main) "aoJ" = ( /obj/machinery/door/window/eastright{ @@ -1726,6 +1578,27 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"aoW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/south{ + c_tag = "Kitchen - Coldroom" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/airalarm/kitchen_cold_room{ + pixel_y = -22 + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/kitchen) "aoY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -1833,15 +1706,6 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/port) -"apE" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/brig) "apH" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -1861,79 +1725,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"apK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/warden) -"apL" = ( -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_y = 30 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Warden's Office" - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/storage/toolbox/emergency{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/wirecutters{ - pixel_y = 2 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/warden) -"apM" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 10; - pixel_y = 3 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/warden) -"apS" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/storage/fancy/cigarettes, -/obj/item/clothing/mask/gas/sechailer, -/turf/open/floor/iron, -/area/security/main) -"apT" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/restraints/handcuffs, -/turf/open/floor/iron, -/area/security/main) -"apU" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/storage/secure/briefcase, -/turf/open/floor/iron, -/area/security/main) -"apY" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/pen, -/obj/effect/spawner/lootdrop/donkpockets, -/turf/open/floor/iron, -/area/security/main) "aqa" = ( /turf/closed/wall/r_wall, /area/security/main) @@ -2095,10 +1886,6 @@ /obj/effect/spawner/room/threexfive, /turf/open/floor/plating, /area/maintenance/port) -"aqZ" = ( -/obj/machinery/computer/shuttle_flight/labor, -/turf/open/floor/iron/dark, -/area/security/brig) "arb" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -2215,25 +2002,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/fore) -"asT" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/item/lighter, -/turf/open/floor/wood, -/area/crew_quarters/dorms) -"asU" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/item/clothing/under/misc/assistantformal, -/turf/open/floor/wood, -/area/crew_quarters/dorms) "asV" = ( /obj/structure/bed, /obj/machinery/button/door{ @@ -2269,14 +2037,6 @@ /obj/item/bedsheet/dorms, /turf/open/floor/carpet/orange, /area/crew_quarters/dorms) -"atb" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/item/clothing/under/suit/burgundy, -/turf/open/floor/carpet/orange, -/area/crew_quarters/dorms) "atc" = ( /obj/structure/dresser, /obj/machinery/newscaster{ @@ -2410,35 +2170,11 @@ }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) -"atK" = ( -/obj/machinery/computer/prisoner/gulag_teleporter_computer{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/brig) -"atL" = ( -/obj/machinery/gulag_teleporter, -/turf/open/floor/iron/dark, -/area/security/brig) "atT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, /turf/open/floor/plating, /area/security/main) -"atU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_one_access_txt = "1;4" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/security/main) "atW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -2468,6 +2204,15 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) +"aul" = ( +/obj/machinery/computer/message_monitor{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/carpet/grimy, +/area/tcommsat/computer) "auo" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -2478,23 +2223,6 @@ /obj/effect/spawner/room/tenxten, /turf/open/floor/plating, /area/maintenance/port/aft) -"auw" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Gravity Generator Foyer" - }, -/obj/structure/closet/radiation, -/obj/structure/sign/warning/radiation/rad_area{ - dir = 1; - pixel_y = 32 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron, -/area/engine/gravity_generator) "auy" = ( /obj/item/stack/sheet/cardboard, /obj/item/flashlight, @@ -2584,9 +2312,6 @@ }, /turf/open/floor/plating, /area/medical/genetics) -"avk" = ( -/turf/open/floor/iron/dark, -/area/security/brig) "avn" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 27 @@ -2615,44 +2340,6 @@ /obj/structure/closet/crate/bin, /turf/open/floor/prison, /area/security/prison) -"awo" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/brig) -"awq" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/brig) -"aws" = ( -/turf/open/floor/iron, -/area/security/brig) -"awv" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/port) -"awy" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/brig) -"awz" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Interrogation room"; - network = list("interrogation") - }, -/turf/open/floor/iron/dark, -/area/security/brig) "awC" = ( /obj/machinery/light/small{ dir = 1 @@ -2663,14 +2350,6 @@ /obj/structure/dresser, /turf/open/floor/carpet/purple, /area/crew_quarters/dorms) -"awD" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/item/clothing/under/suit/tan, -/turf/open/floor/carpet/purple, -/area/crew_quarters/dorms) "awE" = ( /obj/structure/bed, /obj/machinery/button/door{ @@ -2683,13 +2362,6 @@ /obj/item/bedsheet/dorms, /turf/open/floor/carpet/purple, /area/crew_quarters/dorms) -"awF" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Dormitories - Fore" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "awG" = ( /obj/structure/bed, /obj/machinery/button/door{ @@ -2750,31 +2422,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/bridge) -"axm" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) -"axy" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/brig) -"axz" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/taperecorder, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1423; - listening = 0; - name = "Interrogation Intercom"; - pixel_y = -24 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "axC" = ( /turf/closed/wall, /area/crew_quarters/toilet/restrooms) @@ -2901,17 +2548,6 @@ luminosity = 2 }, /area/security/nuke_storage) -"ayq" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/security/nuke_storage) "ayr" = ( /obj/machinery/power/apc{ areastring = "/area/security/nuke_storage"; @@ -2926,13 +2562,6 @@ luminosity = 2 }, /area/security/nuke_storage) -"ayy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/brig) "ayF" = ( /turf/closed/wall/r_wall, /area/security/detectives_office) @@ -2950,15 +2579,6 @@ "ayJ" = ( /turf/closed/wall, /area/security/detectives_office) -"ayL" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 26 - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/toilet/restrooms) "ayM" = ( /obj/machinery/shower{ dir = 8 @@ -2973,25 +2593,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/crew_quarters/dorms) -"ayY" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "azd" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple, @@ -3088,13 +2689,20 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/maintenance/fore) -"aAa" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +"aAf" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/turf/open/floor/iron, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/smooth_large, /area/security/brig) "aAi" = ( /obj/item/computer_hardware/hard_drive/role/engineering{ @@ -3256,15 +2864,6 @@ }, /turf/open/floor/carpet/red, /area/security/detectives_office) -"aBp" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/security/detectives_office) "aBt" = ( /obj/machinery/shower{ dir = 4 @@ -3318,18 +2917,6 @@ dir = 1 }, /area/engine/engineering) -"aBG" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Storage" - }, -/obj/machinery/suit_storage_unit/engine, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron{ - dir = 1 - }, -/area/engine/engineering) "aBH" = ( /obj/item/stack/sheet/plasteel{ amount = 10; @@ -3372,14 +2959,6 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"aBT" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/machinery/camera/directional/east{ - c_tag = "Mining Dock" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/quartermaster/miningoffice) "aBU" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -3430,20 +3009,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron/dark, /area/security/nuke_storage) -"aCg" = ( -/obj/machinery/camera/motion/directional/south{ - c_tag = "Vault"; - network = list("vault") - }, -/obj/machinery/light, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/nuke_storage) "aCv" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -3517,14 +3082,6 @@ /obj/item/bedsheet/dorms, /turf/open/floor/carpet/blue, /area/crew_quarters/dorms) -"aCK" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/item/clothing/under/suit/navy, -/turf/open/floor/carpet/blue, -/area/crew_quarters/dorms) "aCN" = ( /obj/structure/reagent_dispensers/fueltank, /obj/item/radio/intercom{ @@ -3565,13 +3122,19 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"aCU" = ( -/obj/structure/table, -/obj/item/folder/red, -/obj/item/assembly/flash/handheld, -/obj/item/book/manual/wiki/sopsecurity, -/turf/open/floor/iron, -/area/security/main) +"aCV" = ( +/obj/structure/chair/office, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/customs) "aCZ" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, @@ -3661,20 +3224,6 @@ }, /turf/open/floor/iron/freezer, /area/crew_quarters/toilet/restrooms) -"aDV" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/toilet/restrooms) -"aDY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "aDZ" = ( /obj/structure/table, /obj/item/storage/pill_bottle/dice, @@ -3694,18 +3243,6 @@ /obj/machinery/light/small, /turf/open/floor/carpet/blue, /area/crew_quarters/dorms) -"aEh" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron{ - dir = 1 - }, -/area/engine/engineering) "aEi" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -3764,20 +3301,6 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"aEy" = ( -/obj/structure/table, -/obj/item/radio/intercom{ - dir = 4; - pixel_y = 29 - }, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "aEA" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -3844,40 +3367,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"aEQ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) -"aER" = ( -/obj/machinery/computer/card, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Customs Checkpoint" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "aET" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -3899,16 +3388,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/fore) -"aFc" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Restrooms" - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/toilet/restrooms) "aFd" = ( /turf/open/floor/iron/freezer, /area/crew_quarters/toilet/restrooms) @@ -3916,10 +3395,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/gateway) -"aFm" = ( -/obj/structure/chair/stool/directional/west, +"aFj" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, /turf/open/floor/iron, -/area/crew_quarters/dorms) +/area/hallway/primary/starboard) "aFp" = ( /obj/structure/reagent_dispensers/watertank, /obj/machinery/firealarm{ @@ -4137,12 +3624,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port) -"aGt" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "aGA" = ( /obj/machinery/door/airlock{ id_tag = "Toilet2"; @@ -4176,20 +3657,6 @@ }, /turf/open/floor/iron/freezer, /area/crew_quarters/toilet/restrooms) -"aGJ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "aGP" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/under/misc/assistantformal, @@ -4349,16 +3816,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) -"aHt" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron, -/area/construction/storage_wing) "aHx" = ( /turf/closed/wall/r_wall, /area/hallway/primary/fore) @@ -4616,16 +4073,6 @@ /obj/machinery/field/generator, /turf/open/floor/plating, /area/engine/engineering) -"aJl" = ( -/obj/machinery/shieldgen, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Secure Storage" - }, -/turf/open/floor/plating, -/area/engine/engineering) "aJm" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, @@ -4861,14 +4308,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/hydroponics/garden) -"aKs" = ( -/obj/machinery/seed_extractor, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/hydroponics/garden) "aKt" = ( /obj/item/seeds/apple, /obj/item/seeds/banana, @@ -4939,6 +4378,13 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/engine/supermatter) +"aKM" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/crew_quarters/bar) "aKN" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; @@ -5005,39 +4451,10 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) -"aLs" = ( -/obj/structure/sign/plaques/kiddie{ - pixel_y = 32 - }, -/obj/structure/table, -/obj/machinery/camera/directional/north{ - c_tag = "AI Upload Chamber - Fore"; - network = list("aiupload") - }, -/obj/item/kirbyplants/photosynthetic{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai_upload) -"aLt" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai_upload) "aLu" = ( /obj/machinery/porta_turret/ai, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) -"aLy" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "aLB" = ( /obj/effect/landmark/start/lawyer, /turf/open/floor/iron, @@ -5080,18 +4497,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"aLQ" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/machinery/camera/directional/north{ - c_tag = "Locker Room Starboard" - }, -/obj/structure/sign/warning/pods{ - pixel_y = 30 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/crew_quarters/locker) "aLS" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -5306,13 +4711,6 @@ }, /turf/open/floor/wood, /area/lawoffice) -"aMX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/prison, -/area/security/prison) "aMY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -5697,6 +5095,13 @@ }, /turf/open/floor/iron, /area/hydroponics/garden) +"aON" = ( +/obj/structure/chair/fancy/comfy{ + color = "#666666" + }, +/obj/effect/landmark/start/head_of_security, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "aOO" = ( /obj/machinery/power/apc/highcap/ten_k{ areastring = "/area/engine/engineering"; @@ -5952,16 +5357,6 @@ }, /turf/open/floor/grass, /area/hydroponics/garden) -"aPT" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "aPV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -6122,34 +5517,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) -"aQA" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/ai_monitored/turret_protected/ai_upload"; - name = "Upload APC"; - pixel_y = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "AI Upload Chamber - Port"; - network = list("aiupload") - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) -"aQC" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1447; - name = "Private AI Channel"; - pixel_y = -25 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "AI Upload Chamber - Starboard"; - network = list("aiupload") - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) "aQD" = ( /obj/structure/table, /obj/machinery/light{ @@ -6232,20 +5599,6 @@ /obj/effect/turf_decal/stripes/red/box, /turf/open/floor/plating, /area/maintenance/department/science) -"aRa" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/obj/item/clothing/mask/balaclava, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/crew_quarters/locker) "aRg" = ( /obj/machinery/door/window/westright{ name = "Garden B" @@ -6645,16 +5998,6 @@ }, /turf/open/floor/iron/dark, /area/security/courtroom) -"aTn" = ( -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Courtroom - Gallery" - }, -/turf/open/floor/iron/dark, -/area/security/courtroom) "aTq" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood, @@ -6691,16 +6034,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/crew_quarters/locker) -"aTw" = ( -/obj/item/radio/intercom{ - pixel_y = -26 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Locker Room Port" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/crew_quarters/locker) "aTy" = ( /obj/machinery/firealarm{ dir = 1; @@ -6768,6 +6101,18 @@ }, /turf/open/floor/iron, /area/engine/engineering) +"aTM" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "aTO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -6830,19 +6175,6 @@ "aUe" = ( /turf/closed/wall, /area/quartermaster/storage) -"aUf" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo Bay - Port" - }, -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) "aUv" = ( /turf/closed/wall/r_wall, /area/hallway/primary/central) @@ -6918,29 +6250,6 @@ }, /turf/open/floor/iron/dark, /area/security/courtroom) -"aUJ" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/dark, -/area/security/courtroom) "aUL" = ( /obj/machinery/firealarm{ dir = 8; @@ -6964,11 +6273,6 @@ }, /turf/closed/wall, /area/engine/engineering) -"aVd" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/iron, -/area/engine/engineering) "aVh" = ( /obj/structure/table/wood, /obj/machinery/light/small{ @@ -7008,19 +6312,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"aVp" = ( -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - Fore"; - network = list("aicore") - }, -/obj/structure/showcase/cyborg/old{ - pixel_y = 20 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai) "aVq" = ( /obj/machinery/status_display/evac{ pixel_y = 32 @@ -7059,16 +6350,22 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"aVx" = ( -/obj/structure/chair, -/obj/machinery/camera/directional/north{ - c_tag = "Arrivals - Fore Arm - Far" +"aVF" = ( +/obj/machinery/computer/secure_data{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring the engine."; + dir = 8; + name = "Engine Monitor"; + network = list("engine"); + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ dir = 1 }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/security/checkpoint/engineering) "aVG" = ( /obj/machinery/status_display/supply, /turf/closed/wall, @@ -7083,15 +6380,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/storage/primary) -"aWd" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Central Primary Hallway - Fore" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "aWe" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -7128,6 +6416,16 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/crew_quarters/locker) +"aWq" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Supermatter Chamber"; + network = list("engine") + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "aWu" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -7163,6 +6461,27 @@ }, /turf/open/floor/carpet/red, /area/medical/exam_room) +"aWH" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Research and Development"; + network = list("ss13","rd") + }, +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/structure/table, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/scanning_module{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/stock_parts/scanning_module, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/turf/open/floor/iron, +/area/science/lab) "aWK" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -7305,6 +6624,10 @@ /obj/effect/landmark/start/geneticist, /turf/open/floor/iron, /area/medical/genetics) +"aXK" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/crew_quarters/bar) "aXW" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -7381,6 +6704,16 @@ /obj/item/aiModule/reset, /turf/open/floor/iron/dark, /area/storage/tech) +"aYo" = ( +/obj/machinery/computer/secure_data, +/obj/machinery/newscaster{ + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "aYs" = ( /obj/structure/sign/warning/securearea{ pixel_y = 32 @@ -7390,15 +6723,6 @@ /obj/item/clothing/glasses/meson/engine, /turf/open/floor/iron, /area/engine/engineering) -"aYt" = ( -/obj/item/radio/intercom{ - pixel_x = 29 - }, -/obj/effect/turf_decal/delivery, -/obj/structure/closet/firecloset, -/obj/item/clothing/glasses/meson/engine, -/turf/open/floor/iron, -/area/engine/engineering) "aYu" = ( /turf/closed/wall, /area/security/checkpoint/engineering) @@ -7776,12 +7100,30 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"bam" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +"baf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/anticorner{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/hallway/secondary/exit/departure_lounge) "ban" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -7926,13 +7268,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) -"baM" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/central) "baO" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -7962,15 +7297,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"baV" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Fore - Courtroom" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "baY" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -8014,13 +7340,19 @@ /obj/item/electronics/airlock, /turf/open/floor/iron/dark, /area/storage/tech) -"bbC" = ( -/obj/structure/chair/office{ +"bbI" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Chapel Office - Backroom" + }, +/obj/machinery/light/small{ dir = 4 }, -/obj/effect/landmark/start/depsec/engineering, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) +/obj/machinery/light_switch{ + pixel_x = 25 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron/dark, +/area/chapel/office) "bbK" = ( /turf/closed/wall, /area/security/checkpoint/customs) @@ -8074,6 +7406,18 @@ "bbY" = ( /turf/open/floor/iron, /area/hallway/primary/port) +"bcc" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "bcd" = ( /turf/closed/wall, /area/janitor) @@ -8318,6 +7662,18 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain/private) +"bdU" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/cryopods) "bdX" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/techstorage/command, @@ -8336,16 +7692,6 @@ }, /turf/open/floor/iron/dark, /area/storage/tech) -"beb" = ( -/obj/structure/table, -/obj/item/analyzer, -/obj/item/healthanalyzer, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light_switch{ - pixel_y = -28 - }, -/turf/open/floor/iron/dark, -/area/storage/tech) "bec" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ @@ -8356,33 +7702,6 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/iron/dark, /area/storage/tech) -"bee" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000 - }, -/turf/open/floor/iron/dark, -/area/storage/tech) -"bep" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/cable/yellow, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/storage_shared) "bes" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -8393,12 +7712,6 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) -"beu" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai) "bew" = ( /obj/machinery/power/apc{ areastring = "/area/ai_monitored/turret_protected/ai"; @@ -8436,15 +7749,6 @@ }, /turf/open/floor/plating, /area/security/checkpoint/customs) -"beM" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "beT" = ( /obj/effect/landmark/blobstart, /obj/effect/turf_decal/stripes/line{ @@ -8672,15 +7976,6 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain/private) -"bfE" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "bfG" = ( /obj/structure/sign/directions/security{ dir = 1; @@ -8857,20 +8152,23 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"bgO" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Pen #4"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "bgY" = ( /obj/effect/turf_decal/tile/brown, /turf/open/floor/iron, /area/hallway/primary/port) +"bha" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Arrivals - Station Entrance" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "bhd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -8968,6 +8266,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"bhC" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Pen #6"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "bhH" = ( /obj/machinery/firealarm{ pixel_y = 32 @@ -8977,15 +8285,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"bhI" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Primary Hallway - Tech Storage" - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "bhJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -8996,6 +8295,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) +"bhK" = ( +/obj/structure/table/reinforced, +/obj/item/folder/red, +/obj/item/folder/red, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/customs) "bhL" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -9014,18 +8327,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"bhN" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "bhO" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -9107,13 +8408,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"bio" = ( -/obj/machinery/camera/directional/south{ - c_tag = "AI Chamber - Aft"; - network = list("aicore") - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai) "bir" = ( /obj/structure/chair/office{ dir = 4 @@ -9148,6 +8442,25 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"biv" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/security_officer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "biw" = ( /obj/structure/sign/warning/pods, /turf/closed/wall, @@ -9175,6 +8488,16 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/port) +"biC" = ( +/obj/structure/table, +/obj/item/hand_tele, +/obj/item/beacon, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/teleporter) "biD" = ( /obj/machinery/door/window/eastleft{ base_state = "right"; @@ -9468,19 +8791,6 @@ }, /turf/open/floor/iron/white/corner, /area/quartermaster/sorting) -"bkk" = ( -/obj/structure/filingcabinet/filingcabinet, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo - Mailroom" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner, -/area/quartermaster/sorting) "bkl" = ( /obj/structure/table, /obj/item/stack/wrapping_paper, @@ -9603,15 +8913,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"bkV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "bkX" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9624,6 +8925,13 @@ /obj/structure/chair/stool/bar, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"blp" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Central Primary Hallway - Port" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/central) "bls" = ( /obj/structure/sign/warning/pods, /turf/closed/wall/r_wall, @@ -9759,16 +9067,6 @@ }, /turf/closed/wall/r_wall, /area/hallway/primary/port) -"bmn" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/central) "bmr" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -9899,46 +9197,12 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/engine/break_room) -"bnb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -24 - }, -/turf/open/floor/iron, -/area/engine/break_room) "bne" = ( /obj/machinery/newscaster{ pixel_y = -30 }, /turf/open/floor/iron, /area/engine/break_room) -"bng" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Foyer - Starboard" - }, -/turf/open/floor/iron, -/area/engine/break_room) -"bnh" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/taperecorder{ - pixel_x = -4 - }, -/turf/open/floor/iron, -/area/security/main) -"bni" = ( -/obj/structure/table, -/obj/machinery/syndicatebomb/training, -/turf/open/floor/iron, -/area/security/main) "bnk" = ( /obj/structure/window/reinforced{ dir = 1; @@ -10025,20 +9289,6 @@ }, /turf/open/floor/iron/dark, /area/aisat) -"bnw" = ( -/obj/structure/showcase/cyborg/old{ - dir = 4; - pixel_x = -9; - pixel_y = 2 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "bny" = ( /obj/machinery/turretid{ control_area = "/area/ai_monitored/turret_protected/aisat_interior"; @@ -10101,19 +9351,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) -"bnK" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Arrivals - Station Entrance" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "bnM" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -10136,6 +9373,16 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/engine/engineering) +"bob" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "boj" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -10236,20 +9483,6 @@ /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/bridge) -"boJ" = ( -/obj/item/radio/intercom{ - dir = 8; - pixel_x = -28 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Starboard - Art Storage" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "boM" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -10364,15 +9597,6 @@ /obj/item/hand_labeler, /turf/open/floor/iron/white, /area/medical/surgery) -"bqb" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "bqd" = ( /obj/machinery/power/apc{ areastring = "/area/hallway/secondary/entry"; @@ -10518,17 +9742,6 @@ /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/bridge) -"bqW" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/closet/secure_closet/brig{ - id = "medcell"; - name = "Medical Cell Locker" - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "bqX" = ( /obj/structure/table/wood, /obj/item/stamp/captain, @@ -10561,15 +9774,6 @@ /obj/item/stack/cable_coil/random, /turf/open/floor/iron, /area/storage/art) -"brf" = ( -/obj/structure/table, -/obj/item/paper_bin/construction, -/obj/item/airlock_painter, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron, -/area/storage/art) "brp" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/closet/crate{ @@ -10631,25 +9835,6 @@ }, /turf/open/floor/iron/dark, /area/aisat) -"brQ" = ( -/obj/machinery/light/small, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Exterior Access"; - network = list("minisat") - }, -/obj/machinery/power/apc{ - areastring = "/area/aisat"; - name = "MiniSat Exterior APC"; - pixel_y = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/aisat) "brT" = ( /obj/structure/window/reinforced, /obj/effect/turf_decal/tile/blue{ @@ -10673,22 +9858,6 @@ }, /turf/open/floor/iron/dark, /area/aisat) -"brY" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/ai_monitored/turret_protected/aisat/foyer"; - name = "MiniSat Foyer APC"; - pixel_y = -24 - }, -/obj/structure/cable/yellow, -/obj/machinery/camera/motion/directional/east{ - c_tag = "MiniSat Foyer"; - network = list("minisat") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "brZ" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -10728,20 +9897,6 @@ /obj/structure/cable/yellow, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) -"bsi" = ( -/obj/machinery/camera/motion/directional/east{ - c_tag = "MiniSat Maintenance"; - network = list("minisat") - }, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/satellite) "bsj" = ( /obj/structure/window/reinforced{ dir = 1; @@ -10797,15 +9952,15 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/hydroponics) -"bsB" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +"bsD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/turf/open/floor/iron, -/area/hallway/primary/port) +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "bsE" = ( /obj/machinery/status_display/evac{ pixel_y = -32 @@ -10822,15 +9977,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"bsH" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Port Primary Hallway - Starboard" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/port) "bsI" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -30 @@ -10872,26 +10018,6 @@ "bsU" = ( /turf/closed/wall, /area/bridge) -"bsW" = ( -/obj/machinery/button/door{ - id = "bridge blast"; - name = "Bridge Access Blast Door Control"; - pixel_x = -1; - pixel_y = -24; - req_access_txt = "19" - }, -/obj/machinery/button/door{ - id = "council blast"; - name = "Council Chamber Blast Door Control"; - pixel_x = -1; - pixel_y = -34; - req_access_txt = "19" - }, -/obj/machinery/camera/directional/south{ - c_tag = "Bridge - Command Chair" - }, -/turf/open/floor/carpet/blue, -/area/bridge) "bsX" = ( /obj/machinery/holopad, /turf/open/floor/carpet/blue, @@ -11041,33 +10167,15 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"btX" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Port Primary Hallway - Port" - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/hallway/primary/port) -"btY" = ( +"btZ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron/white/corner, -/area/hallway/secondary/entry) +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/customs) "bue" = ( /turf/closed/wall, /area/library) @@ -11147,15 +10255,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"buL" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "buN" = ( /obj/machinery/vending/boozeomat, /turf/closed/wall, @@ -11179,6 +10278,29 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/maintenance/starboard) +"buY" = ( +/obj/effect/turf_decal/bot_white, +/obj/structure/closet/l3closet/security, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/turf/open/floor/iron/tech/grid, +/area/security/main) +"bvb" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/lootdrop/costume, +/obj/item/clothing/mask/balaclava, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/crew_quarters/locker) "bvc" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -11424,18 +10546,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"bwv" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Council Chamber" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/turf/open/floor/iron/dark, -/area/bridge) "bww" = ( /obj/structure/table/wood, /obj/item/folder/yellow, @@ -11466,17 +10576,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/crew_quarters/bar) -"bwZ" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) "bxd" = ( /turf/closed/wall, /area/engine/atmos) @@ -11492,28 +10591,6 @@ }, /turf/open/floor/carpet/green, /area/chapel/main) -"bxi" = ( -/obj/structure/table, -/obj/item/folder/red{ - pixel_x = 3 - }, -/obj/item/folder/white{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/restraints/handcuffs, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/radio/off, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "bxk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -11632,13 +10709,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"byF" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/crew_quarters/bar) "byG" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -11704,23 +10774,6 @@ dir = 1 }, /area/engine/atmos) -"byT" = ( -/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/machinery/camera/directional/north{ - c_tag = "Atmospherics - Control Room" - }, -/obj/machinery/computer/station_alert, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) "byV" = ( /obj/structure/sign/plaques/atmos{ pixel_y = 32 @@ -11742,22 +10795,6 @@ }, /turf/open/floor/iron/checker, /area/engine/atmos) -"byX" = ( -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/engine/atmos"; - dir = 1; - name = "Atmospherics APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Entrance" - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/engine/atmos) "bza" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -11773,25 +10810,6 @@ dir = 1 }, /area/engine/atmos) -"bzf" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Air to Distro"; - target_pressure = 500 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 25 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Atmospherics - Distro Loop" - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) "bzg" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 @@ -11854,13 +10872,6 @@ "bzE" = ( /turf/open/floor/wood, /area/library) -"bzF" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/carpet/green, -/area/library) "bzJ" = ( /turf/closed/wall, /area/hallway/secondary/command) @@ -11948,13 +10959,6 @@ }, /turf/open/floor/carpet/blue, /area/bridge) -"bzZ" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron/dark, -/area/bridge) "bAb" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -12558,13 +11562,6 @@ }, /turf/open/floor/wood, /area/vacant_room/office) -"bCP" = ( -/obj/machinery/light/small, -/obj/machinery/camera/directional/west{ - c_tag = "Auxilary Restrooms" - }, -/turf/open/floor/plating, -/area/crew_quarters/toilet/auxiliary) "bCR" = ( /obj/machinery/power/apc/highcap/five_k{ areastring = "/area/crew_quarters/toilet/auxiliary"; @@ -12664,15 +11661,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"bDw" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/secondary/command) "bDx" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -12698,11 +11686,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/crew_quarters/bar) -"bDI" = ( -/obj/effect/landmark/start/assistant, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/crew_quarters/bar) "bDK" = ( /obj/machinery/holopad, /turf/open/floor/carpet, @@ -12779,14 +11762,6 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bEf" = ( -/obj/machinery/telecomms/processor/preset_one, -/obj/machinery/camera/directional/north{ - c_tag = "Telecomms - Server Room - Fore-Port"; - network = list("ss13","tcomms") - }, -/turf/open/floor/circuit/green/telecomms/mainframe, -/area/tcommsat/server) "bEg" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -12801,14 +11776,6 @@ /obj/machinery/telecomms/receiver/preset_right, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) -"bEk" = ( -/obj/machinery/telecomms/processor/preset_three, -/obj/machinery/camera/directional/north{ - c_tag = "Telecomms - Server Room - Fore-Starboard"; - network = list("ss13","tcomms") - }, -/turf/open/floor/circuit/green/telecomms/mainframe, -/area/tcommsat/server) "bEl" = ( /obj/machinery/door/airlock/external{ name = "Transport Airlock" @@ -12855,13 +11822,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"bFd" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/aft) "bFk" = ( /obj/item/radio/intercom{ pixel_x = 29 @@ -13033,12 +11993,6 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"bGb" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Mix" - }, -/turf/open/floor/engine/vacuum, -/area/engine/atmos) "bGc" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit/green/telecomms/mainframe, @@ -13093,13 +12047,6 @@ }, /turf/closed/wall, /area/library) -"bGw" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Central Primary Hallway - Port" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/central) "bGx" = ( /obj/structure/sign/directions/science{ pixel_y = -8 @@ -13159,22 +12106,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"bGL" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Command Hallway - Central" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/secondary/command) "bGM" = ( /turf/closed/wall/r_wall, /area/gateway) @@ -13201,13 +12132,6 @@ }, /turf/closed/wall, /area/maintenance/central) -"bHd" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/wood, -/area/crew_quarters/bar) "bHf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -13410,6 +12334,25 @@ }, /turf/open/floor/wood, /area/library) +"bHV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Command Hallway - Port" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/secondary/command) "bHZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -13468,18 +12411,6 @@ dir = 1 }, /area/gateway) -"bIn" = ( -/obj/structure/closet/secure_closet/security/engine, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "bIp" = ( /obj/structure/closet/crate{ opened = 1 @@ -13546,6 +12477,16 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"bIR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "bIS" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -13824,17 +12765,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/carpet, /area/crew_quarters/bar) -"bKn" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Club - Aft" - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -29 - }, -/obj/item/clothing/mask/cigarette/pipe, -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/crew_quarters/bar) "bKo" = ( /obj/machinery/vending/cigarette, /turf/open/floor/carpet, @@ -13854,17 +12784,6 @@ }, /turf/open/floor/iron/dark, /area/security/courtroom) -"bKv" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) "bKw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -14009,13 +12928,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "bLk" = ( /obj/structure/bookcase/random/reference, @@ -14063,18 +12976,6 @@ "bLw" = ( /turf/closed/wall/r_wall, /area/bridge/showroom/corporate) -"bLy" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron{ - dir = 1 - }, -/area/gateway) "bLB" = ( /obj/structure/table, /obj/item/paper/pamphlet/gateway, @@ -14102,18 +13003,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/central) -"bLH" = ( -/obj/machinery/status_display/evac{ - pixel_x = -32 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Starboard - Kitchen" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "bLI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -14121,19 +13010,19 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"bLM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/medical) "bLT" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/r_wall, /area/bridge) -"bLU" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/telecomms/bus, -/obj/item/circuitboard/machine/telecomms/broadcaster, -/obj/machinery/camera/directional/west{ - c_tag = "Telecomms - Storage" - }, -/turf/open/floor/iron/dark, -/area/storage/tcom) "bLW" = ( /obj/structure/table, /obj/item/stock_parts/subspace/analyzer, @@ -14180,16 +13069,6 @@ }, /turf/open/floor/iron, /area/engine/atmos) -"bMe" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/radio/intercom{ - pixel_y = -26 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - Central" - }, -/turf/open/floor/iron, -/area/engine/atmos) "bMf" = ( /obj/structure/rack, /obj/item/clothing/suit/hazardvest, @@ -14231,26 +13110,6 @@ }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bMn" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - N2O" - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) -"bMo" = ( -/obj/machinery/airalarm/server{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Telecomms - Server Room - Aft-Port"; - network = list("ss13","tcomms") - }, -/turf/open/floor/iron/dark/telecomms, -/area/tcommsat/server) "bMr" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -14260,25 +13119,6 @@ }, /turf/open/floor/iron/dark/telecomms, /area/tcommsat/server) -"bMs" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/tcommsat/server"; - dir = 4; - name = "Telecomms Server Room APC"; - pixel_x = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Telecomms - Server Room - Aft-Starboard"; - network = list("ss13","tcomms") - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/dark/telecomms, -/area/tcommsat/server) "bMv" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -14434,21 +13274,6 @@ "bNl" = ( /turf/closed/wall, /area/gateway) -"bNm" = ( -/obj/structure/bed/roller, -/obj/machinery/vending/wallmed{ - pixel_x = -28 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Gateway - Atrium" - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron{ - dir = 1 - }, -/area/gateway) "bNo" = ( /obj/structure/tank_dispenser/oxygen{ pixel_x = -1; @@ -14492,17 +13317,6 @@ /obj/effect/landmark/start/mime, /turf/open/floor/wood, /area/crew_quarters/theatre) -"bNK" = ( -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/wood, -/area/vacant_room/office) "bNL" = ( /obj/structure/table, /obj/item/stock_parts/subspace/transmitter, @@ -14585,15 +13399,6 @@ /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) -"bNZ" = ( -/obj/machinery/light/small, -/obj/machinery/camera/directional/south{ - c_tag = "Telecomms - Server Room - Aft"; - network = list("ss13","tcomms") - }, -/obj/machinery/ntnet_relay, -/turf/open/floor/iron/dark/telecomms, -/area/tcommsat/server) "bOa" = ( /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/circuit/telecomms/mainframe, @@ -14762,23 +13567,6 @@ /obj/item/stock_parts/subspace/crystal, /turf/open/floor/iron/dark, /area/storage/tcom) -"bPi" = ( -/obj/structure/table, -/obj/item/stock_parts/micro_laser, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/item/stock_parts/micro_laser/high, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/iron/dark, -/area/storage/tcom) "bPj" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -14932,15 +13720,6 @@ /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/engine/cult, /area/library) -"bPY" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "bPZ" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -14972,24 +13751,6 @@ }, /turf/open/floor/iron, /area/teleporter) -"bQf" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/bodypart/chest/robot{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/bodypart/head/robot{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/carpet/blue, -/area/bridge/showroom/corporate) "bQj" = ( /obj/machinery/cell_charger, /obj/item/stock_parts/cell/crap, @@ -15045,12 +13806,6 @@ /obj/machinery/vending/wardrobe/chef_wardrobe, /turf/open/floor/iron/freezer, /area/crew_quarters/kitchen) -"bQN" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/plating, -/area/crew_quarters/toilet/auxiliary) "bQQ" = ( /obj/item/wrench, /turf/open/floor/plating, @@ -15352,16 +14107,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/gateway) -"bRM" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Gateway - Access" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/gateway) "bRO" = ( /obj/machinery/firealarm{ dir = 4; @@ -15400,38 +14145,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/starboard) -"bSg" = ( -/obj/structure/fireaxecabinet{ - pixel_x = -32 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics - Port" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) -"bSh" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron{ - dir = 1 - }, -/area/engine/atmos) "bSi" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 @@ -15446,12 +14159,6 @@ }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"bSl" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Toxins" - }, -/turf/open/floor/engine/plasma, -/area/engine/atmos) "bSm" = ( /obj/structure/easel, /obj/effect/decal/cleanable/dirt, @@ -15648,18 +14355,6 @@ /obj/machinery/vending/wardrobe/atmos_wardrobe, /turf/open/floor/iron/dark, /area/engine/atmos) -"bTk" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Port to Filter" - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics - Starboard" - }, -/turf/open/floor/iron, -/area/engine/atmos) "bTl" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 @@ -15681,24 +14376,6 @@ "bTs" = ( /turf/closed/wall, /area/maintenance/aft) -"bTx" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/wood, -/area/library) -"bTy" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/library) "bTE" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -16280,6 +14957,17 @@ }, /turf/open/floor/engine/co2, /area/engine/atmos) +"bVQ" = ( +/obj/structure/rack, +/obj/machinery/button/door{ + id = "armory"; + name = "Armory Shutters"; + pixel_x = 28; + req_access_txt = "3" + }, +/obj/effect/loot_jobscale/armoury/riot_shield, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "bVW" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -16306,6 +14994,14 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) +"bWn" = ( +/obj/structure/table, +/obj/item/flashlight/lamp, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "bWC" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, @@ -16436,12 +15132,20 @@ }, /turf/open/floor/engine/co2, /area/engine/atmos) -"bXs" = ( +"bXv" = ( +/obj/structure/tank_dispenser, /obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - CO2" + c_tag = "Toxins - Mixing Area"; + network = list("ss13","rd") }, -/turf/open/floor/engine/co2, -/area/engine/atmos) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/turf/open/floor/iron, +/area/science/mixing) "bXE" = ( /turf/open/floor/plating, /area/maintenance/port/aft) @@ -16454,15 +15158,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"bXQ" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Aft-Port" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "bXR" = ( /obj/machinery/light/small, /obj/effect/turf_decal/tile/blue{ @@ -16484,13 +15179,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/hallway/primary/central) -"bXW" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Aft-Starboard" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/hallway/primary/central) "bXY" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -16556,23 +15244,6 @@ }, /turf/open/floor/iron, /area/security/checkpoint/medical) -"bYv" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Atmospherics - Port-Aft" - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) "bYw" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 9 @@ -16688,6 +15359,22 @@ "bZo" = ( /turf/closed/wall, /area/security/checkpoint/science/research) +"bZu" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Engineering Supermatter Fore"; + network = list("ss13","engine") + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_dark, +/area/engine/engineering) "bZv" = ( /obj/machinery/biogenerator, /obj/machinery/light_switch{ @@ -16829,6 +15516,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) +"caO" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "cbb" = ( /obj/machinery/door/window/northleft{ name = "Inner Pipe Access"; @@ -16942,13 +15638,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/checkpoint/science/research) -"ccm" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/depsec/science, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "ccs" = ( /obj/machinery/disposal/bin{ pixel_x = -2; @@ -16998,16 +15687,6 @@ }, /turf/open/floor/iron, /area/hydroponics) -"ccx" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hydroponics) "ccy" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/firealarm{ @@ -17064,6 +15743,14 @@ dir = 1 }, /area/hydroponics) +"ccN" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Dock" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/quartermaster/miningoffice) "ccP" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /turf/open/floor/iron/dark, @@ -17091,13 +15778,6 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"ccV" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - Starboard Aft" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible, -/turf/open/floor/iron/dark, -/area/engine/atmos) "ccZ" = ( /obj/machinery/door/window/northleft{ dir = 8; @@ -17182,9 +15862,6 @@ /obj/machinery/disposal/bin, /turf/open/floor/carpet/grimy, /area/security/detectives_office) -"ceW" = ( -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "cfk" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 5 @@ -17227,24 +15904,6 @@ }, /turf/open/space, /area/solar/port/aft) -"cfM" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Departure Lounge - Port Fore" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "cfY" = ( /obj/machinery/smartfridge/chemistry/preloaded, /turf/closed/wall, @@ -17252,13 +15911,6 @@ "cga" = ( /turf/closed/wall, /area/medical/chemistry) -"cgc" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/aft) "cgd" = ( /turf/closed/wall/r_wall, /area/science/lab) @@ -17639,24 +16291,6 @@ }, /turf/open/floor/iron/cafeteria, /area/engine/atmos) -"civ" = ( -/obj/structure/table/wood, -/obj/item/staff/broom, -/obj/item/wrench, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/sign/poster/random{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "ciw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -17690,16 +16324,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/crew_quarters/bar) -"ciB" = ( -/obj/machinery/rnd/destructive_analyzer, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/science/lab) "ciC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17756,26 +16380,6 @@ }, /turf/open/floor/noslip/white, /area/science/research) -"ciJ" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/main) -"ciN" = ( -/obj/machinery/newscaster{ - pixel_x = -30 - }, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/science/research) -"ciO" = ( -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/science/research) "ciS" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 4 @@ -17806,31 +16410,13 @@ "cjc" = ( /turf/open/floor/engine/n2, /area/engine/atmos) -"cje" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - N2" - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) "cjf" = ( /turf/open/floor/engine/o2, /area/engine/atmos) -"cjh" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - O2" - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) "cjj" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, /area/engine/atmos) -"cjk" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - Air" - }, -/turf/open/floor/engine/air, -/area/engine/atmos) "cjl" = ( /obj/machinery/atmospherics/components/binary/pump, /turf/closed/wall/r_wall, @@ -17941,17 +16527,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"ckh" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/closet/firecloset, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/science/research) "ckl" = ( /obj/item/stack/package_wrap, /turf/open/floor/plating, @@ -18098,17 +16673,6 @@ }, /turf/open/floor/iron/dark, /area/medical/surgery) -"cly" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Aft Primary Hallway - Fore" - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/aft) "clz" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -18210,6 +16774,72 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/quartermaster/office) +"cmb" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/reagent_containers/glass/bottle/chloralhydrate, +/obj/item/reagent_containers/glass/bottle/toxin{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5; + pixel_y = 1 + }, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/facid{ + name = "fluorosulfuric acid bottle"; + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 5 + }, +/obj/item/reagent_containers/dropper, +/obj/machinery/button/ignition{ + id = "executionburn"; + name = "Justice Ignition Switch"; + pixel_x = -25; + pixel_y = 36 + }, +/obj/machinery/button/door{ + id = "executionfireblast"; + name = "Justice Area Lockdown"; + pixel_x = -25; + pixel_y = 26; + req_access_txt = "2" + }, +/obj/item/assembly/signaler{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/machinery/button/flasher{ + id = "justiceflash"; + name = "Justice Flash Control"; + pixel_x = -36; + pixel_y = 36; + req_access_txt = "1" + }, +/obj/machinery/button/door{ + id = "SecJusticeChamber"; + layer = 4; + name = "Justice Vent Control"; + pixel_x = -36; + pixel_y = 26; + req_access_txt = "3" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/obj/machinery/airalarm/all_access{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "cmc" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment, @@ -18316,18 +16946,21 @@ }, /turf/open/floor/wood, /area/maintenance/port/aft) -"cnN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 +"cnp" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "cnS" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -18501,23 +17134,6 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"cpR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering Supermatter Port"; - network = list("ss13","engine") - }, -/obj/machinery/airalarm/engine{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) "cqd" = ( /obj/item/bedsheet/medical, /obj/structure/bed/roller, @@ -18612,20 +17228,6 @@ }, /turf/open/floor/iron, /area/science/lab) -"cqC" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/turf/open/floor/iron/white, -/area/science/research) "cqD" = ( /obj/machinery/firealarm{ dir = 1; @@ -18653,14 +17255,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/science/research) -"cqK" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Research Division Hallway - Starboard"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/trimline/purple/filled/line, -/turf/open/floor/iron/white, -/area/science/research) "cqL" = ( /obj/machinery/light, /obj/effect/turf_decal/trimline/purple/filled/line, @@ -18727,11 +17321,6 @@ "crm" = ( /turf/open/floor/iron/white, /area/medical/surgery) -"crr" = ( -/obj/machinery/holopad, -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/bar) "crw" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -18831,6 +17420,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) +"crZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "csv" = ( /obj/structure/filingcabinet/security{ pixel_x = 8 @@ -18852,15 +17453,6 @@ }, /turf/open/floor/catwalk_floor/iron, /area/engine/atmos) -"csI" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/brig) "csT" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -18977,16 +17569,6 @@ }, /turf/open/floor/iron/stairs, /area/science/server) -"ctl" = ( -/obj/machinery/camera/directional/west{ - active_power_usage = 0; - c_tag = "Turbine Vent"; - network = list("turbine"); - use_power = 0 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) "ctq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -19234,19 +17816,26 @@ "cvt" = ( /turf/closed/wall, /area/medical/genetics/cloning) +"cvy" = ( +/obj/structure/table, +/obj/item/stock_parts/micro_laser, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/item/stock_parts/micro_laser/high, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/iron/dark, +/area/storage/tcom) "cvH" = ( /turf/closed/wall, /area/science/robotics/mechbay) -"cvJ" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/science/nanite) "cvK" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -19274,6 +17863,26 @@ }, /turf/open/floor/iron/white/corner, /area/hallway/primary/aft) +"cvW" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_one_access_txt = "1;4" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/security/brig) "cvX" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -19368,13 +17977,6 @@ "cxE" = ( /turf/open/floor/circuit/green, /area/science/robotics/mechbay) -"cxG" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Mech Bay"; - network = list("ss13","rd") - }, -/turf/open/floor/circuit/green, -/area/science/robotics/mechbay) "cxH" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/stripes/line{ @@ -19466,16 +18068,6 @@ "cyr" = ( /turf/open/floor/circuit, /area/science/robotics/mechbay) -"cys" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/landmark/start/roboticist, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/circuit, -/area/science/robotics/mechbay) "cyt" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -19489,6 +18081,11 @@ }, /turf/open/floor/iron/dark, /area/science/nanite) +"cyw" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/crew_quarters/bar) "cyz" = ( /obj/machinery/disposal/bin, /obj/machinery/light_switch{ @@ -19593,21 +18190,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard) -"czl" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/radio/intercom{ - pixel_x = -29 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Research Division - Nanite Lab"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark, -/area/science/nanite) "czm" = ( /turf/open/floor/iron/dark, /area/science/nanite) @@ -19616,17 +18198,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/science/nanite) -"czo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "czy" = ( /obj/effect/turf_decal/stripes/line, /obj/item/kirbyplants/random, @@ -19695,12 +18266,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/science/nanite) -"cAs" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/security/brig) "cAw" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -19729,6 +18294,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"cBe" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/south, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "cBg" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/delivery, @@ -19874,6 +18458,26 @@ "cCe" = ( /turf/closed/wall, /area/medical/morgue) +"cCj" = ( +/obj/machinery/button/door{ + id = "bridge blast"; + name = "Bridge Access Blast Door Control"; + pixel_x = -1; + pixel_y = -24; + req_access_txt = "19" + }, +/obj/machinery/button/door{ + id = "council blast"; + name = "Council Chamber Blast Door Control"; + pixel_x = -1; + pixel_y = -34; + req_access_txt = "19" + }, +/obj/machinery/camera/directional/south{ + c_tag = "Bridge - Command Chair" + }, +/turf/open/floor/carpet/blue, +/area/bridge) "cCn" = ( /turf/closed/wall/r_wall, /area/science/robotics/mechbay) @@ -19957,15 +18561,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/science/robotics/lab) -"cDf" = ( -/obj/machinery/modular_fabricator/exosuit_fab, -/obj/machinery/camera/directional/north{ - c_tag = "Robotics - Fore"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/science/robotics/lab) "cDi" = ( /turf/closed/wall, /area/science/robotics/lab) @@ -20116,6 +18711,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/aft) +"cEF" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "cFd" = ( /obj/structure/noticeboard{ dir = 4; @@ -20167,6 +18772,17 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) +"cFB" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Toxins - Launch Area"; + network = list("ss13","rd") + }, +/obj/machinery/suit_storage_unit/rd, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/techmaint, +/area/maintenance/department/science) "cFX" = ( /obj/structure/table, /obj/item/folder/white{ @@ -20231,18 +18847,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/science/test_area) -"cGV" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/machinery/ecto_sniffer, -/turf/open/floor/iron, -/area/science/robotics/lab) "cGW" = ( /turf/closed/wall/r_wall, /area/medical/morgue) @@ -20288,21 +18892,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"cHJ" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Research Division"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "cHO" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -20330,17 +18919,17 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/science/robotics/lab) -"cHU" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 +"cIB" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/displaycase/trophy, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/effect/turf_decal/delivery/red, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/wood, -/area/library) +/turf/open/floor/iron/dark, +/area/science/storage) "cIH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -20375,24 +18964,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/science/robotics/lab) -"cIU" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "cJh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -20509,21 +19080,25 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"cKv" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "cKw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"cKB" = ( +/obj/machinery/door/window/westleft{ + base_state = "right"; + dir = 1; + icon_state = "right"; + name = "gas ports" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "justice gas pump" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "cKG" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/navbeacon{ @@ -20663,6 +19238,13 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/hor) +"cLN" = ( +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "cLY" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/item/kirbyplants/random, @@ -20692,14 +19274,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"cMk" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/maintenance/aft/secondary) "cMz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20715,6 +19289,15 @@ "cMI" = ( /turf/closed/wall, /area/chapel/main) +"cMK" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Fore Primary Hallway Cells" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "cMO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -20752,6 +19335,14 @@ /obj/item/pen, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"cNb" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "cNf" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -20781,21 +19372,6 @@ /obj/effect/turf_decal/siding/white/corner, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"cNw" = ( -/obj/machinery/power/compressor{ - comp_id = "incineratorturbine"; - dir = 1; - luminosity = 2 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13, engine") - }, -/obj/structure/cable, -/turf/open/floor/engine/vacuum, -/area/maintenance/disposal/incinerator) "cNA" = ( /obj/machinery/door/morgue{ name = "Confession Booth" @@ -20823,12 +19399,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/exit/departure_lounge) -"cNR" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "cNY" = ( /obj/machinery/light_switch{ pixel_x = -9; @@ -20980,15 +19550,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"cPm" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/iron/chapel, -/area/chapel/main) "cPn" = ( /obj/structure/chair/fancy/bench/pew/left, /turf/open/floor/iron/chapel{ @@ -21293,18 +19854,20 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"cQI" = ( -/obj/structure/chair/fancy/comfy{ - color = "#666666"; - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Chapel - Starboard" - }, -/turf/open/floor/iron/chapel{ - dir = 4 - }, -/area/chapel/main) +"cQJ" = ( +/obj/structure/rack, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/rubbershot, +/obj/item/storage/box/breacherslug, +/obj/item/storage/box/breacherslug, +/obj/item/storage/box/breacherslug, +/obj/effect/loot_jobscale/armoury/riot_shotgun, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "cQQ" = ( /obj/structure/cable/white, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -21415,18 +19978,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) -"cRn" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Chapel - Port" - }, -/obj/structure/chair/fancy/comfy{ - color = "#666666"; - dir = 4 - }, -/turf/open/floor/iron/chapel{ - dir = 8 - }, -/area/chapel/main) "cRo" = ( /obj/machinery/light/small, /turf/open/floor/iron/chapel{ @@ -21605,27 +20156,6 @@ }, /turf/open/floor/iron/techmaint, /area/science/xenobiology) -"cSy" = ( -/mob/living/simple_animal/slime, -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #5"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/engine, -/area/science/xenobiology) -"cSF" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Pen #6"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "cSI" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall, @@ -21716,18 +20246,6 @@ /obj/effect/spawner/xmastree, /turf/open/floor/wood, /area/crew_quarters/bar) -"cTU" = ( -/obj/structure/rack, -/obj/machinery/camera/directional/south{ - c_tag = "Brig - Infirmary" - }, -/obj/item/clothing/under/rank/medical/doctor/purple{ - pixel_y = -4 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/item/stack/medical/gauze, -/turf/open/floor/iron/white, -/area/security/brig) "cUm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -21735,6 +20253,15 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/bridge/showroom/corporate) +"cUn" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "cUA" = ( /obj/structure/toilet{ pixel_y = 8 @@ -21798,15 +20325,40 @@ /obj/item/bedsheet, /obj/structure/bed, /obj/machinery/iv_drip, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/white/smooth_half, /area/security/brig) +"cVw" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Exterior - Starboard Aft"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/aisat) "cVx" = ( /obj/docking_port/stationary{ dir = 8; @@ -21839,22 +20391,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engine/atmos) -"cVL" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Teleporter Room" - }, -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/teleporter) "cVO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -21972,17 +20508,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/secondary/entry) -"cXz" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/south{ - c_tag = "Engineering Supermatter Aft"; - network = list("ss13","engine") - }, -/turf/open/floor/engine, -/area/engine/engineering) "cXA" = ( /turf/closed/wall/r_wall, /area/security/checkpoint/engineering) @@ -22015,24 +20540,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/vacant_room/commissary) -"cXV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Fitness Room - Fore" - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 24 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "cXZ" = ( /obj/structure/reagent_dispensers/watertank, /obj/structure/window/reinforced{ @@ -22041,21 +20548,6 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) -"cYc" = ( -/obj/structure/table/optable{ - name = "Robotics Operating Table" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Robotics - Aft"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/science/robotics/lab) "cYe" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -22065,11 +20557,22 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"cYf" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "cYj" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard) +"cYA" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "cYJ" = ( /obj/docking_port/stationary{ dir = 2; @@ -22113,14 +20616,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"cZX" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/execution/education) "das" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -22301,6 +20796,24 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) +"ddI" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "ddO" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/iron/dark, @@ -22538,6 +21051,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/floor/engine, /area/engine/engineering) +"deP" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "deS" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 @@ -22561,17 +21080,6 @@ /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, /area/engine/supermatter) -"deW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Engineering Supermatter Starboard"; - network = list("ss13","engine") - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine, -/area/engine/engineering) "deX" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -22682,16 +21190,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/engine/engineering) -"dfq" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Supermatter Chamber"; - network = list("engine") - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter) "dft" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -22743,18 +21241,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"dfD" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) "dfG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -22798,12 +21284,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/engine/engineering) -"dfV" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/iron/dark, -/area/engine/engineering) "dfW" = ( /obj/item/wrench, /turf/open/floor/iron/dark, @@ -22894,10 +21374,6 @@ /obj/machinery/atmospherics/pipe/simple/orange/visible, /turf/open/space, /area/space/nearstation) -"dgx" = ( -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/fore) "dgz" = ( /obj/structure/closet/toolcloset, /obj/effect/turf_decal/delivery, @@ -23259,35 +21735,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/central) -"djh" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","medbay") - }, -/obj/machinery/vending/wardrobe/medi_wardrobe, -/turf/open/floor/iron{ - heat_capacity = 1e+006 - }, -/area/medical/storage) -"djj" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Chapel - Funeral Parlour" - }, -/turf/open/floor/iron/dark, -/area/chapel/main) +"diO" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/primary/aft) "djk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -23381,14 +21835,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/department/medical/central) -"djR" = ( -/obj/structure/table, -/obj/machinery/camera/directional/south{ - c_tag = "Kitchen" - }, -/obj/machinery/reagentgrinder, -/turf/open/floor/iron/checker, -/area/crew_quarters/kitchen) "djW" = ( /obj/structure/table/wood, /obj/item/clipboard, @@ -23418,17 +21864,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"dkt" = ( -/obj/machinery/vending/security, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "dkJ" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -23502,14 +21937,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"dlt" = ( -/obj/machinery/space_heater, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/execution/education) "dlD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -23556,20 +21983,6 @@ "dlV" = ( /turf/closed/wall/r_wall, /area/maintenance/department/science/xenobiology) -"dmb" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Recovery Room"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/iron/white, -/area/medical/medbay/aft) "dmi" = ( /obj/machinery/computer/security, /obj/machinery/computer/security/telescreen{ @@ -23581,14 +21994,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/main) -"dml" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 26 - }, -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/satellite) "dmn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -23609,23 +22014,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/sorting) -"dmT" = ( -/turf/open/floor/iron, -/area/quartermaster/sorting) -"dmV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"dmL" = ( +/obj/machinery/computer/secure_data{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ dir = 1 }, +/area/security/checkpoint/supply) +"dmT" = ( /turf/open/floor/iron, -/area/security/brig) -"dmW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/showroomfloor, -/area/security/main) +/area/quartermaster/sorting) "dnb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -23641,25 +22041,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/bridge) -"dnc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Command Hallway - Port" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/secondary/command) "dnd" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -23776,19 +22157,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/chapel/main) -"doO" = ( -/obj/machinery/camera/directional/west{ - c_tag = "AI Chamber - Port"; - network = list("aicore") - }, -/obj/structure/showcase/cyborg/old{ - dir = 4; - pixel_x = -9; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai) +"doE" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/medical/break_room) "dph" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -23801,6 +22174,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"dpi" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/prison, +/area/security/prison) "dpE" = ( /obj/machinery/light{ dir = 8 @@ -23871,16 +22251,21 @@ }, /turf/open/floor/iron/dark, /area/security/brig) +"dql" = ( +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/wood, +/area/vacant_room/office) "dqu" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"dqD" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "dqT" = ( /turf/closed/wall/r_wall, /area/maintenance/starboard/fore) @@ -23888,6 +22273,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) +"drf" = ( +/obj/effect/landmark/start/cyborg, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "AI Upload Foyer"; + network = list("aiupload") + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 26 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai_upload_foyer) "drD" = ( /obj/machinery/door/airlock{ id_tag = "Cabin7"; @@ -23928,6 +22327,25 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) +"drJ" = ( +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 30 + }, +/obj/structure/closet/secure_closet/security, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/checkpoint/customs) "drK" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -24028,17 +22446,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"dtm" = ( -/obj/item/storage/secure/safe{ - pixel_x = 6; - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Chief Engineer's Office" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/chief) "dto" = ( /obj/machinery/requests_console{ department = "Medbay Storage"; @@ -24052,6 +22459,13 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"dtD" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - Starboard Aft" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/open/floor/iron/dark, +/area/engine/atmos) "dtE" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -24085,6 +22499,50 @@ /obj/effect/turf_decal/box/corners, /turf/open/floor/engine, /area/science/explab) +"due" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/security/main) +"dug" = ( +/obj/structure/table, +/obj/item/wirecutters, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/machinery/requests_console{ + department = "Tool Storage"; + pixel_x = 30 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Tool Storage" + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/storage/primary) +"duh" = ( +/obj/machinery/telecomms/processor/preset_three, +/obj/machinery/camera/directional/north{ + c_tag = "Telecomms - Server Room - Fore-Starboard"; + network = list("ss13","tcomms") + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) "duk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24184,16 +22642,42 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"dvY" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 +"dwd" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/structure/table, +/obj/item/stack/sheet/plasteel{ + amount = 10 }, -/obj/structure/railing{ - dir = 8 +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/item/kirbyplants/random, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, -/area/maintenance/department/science/xenobiology) +/area/ai_monitored/storage/eva) +"dwe" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = -31; + pixel_y = 1 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/medical) "dwg" = ( /obj/machinery/door/airlock{ id_tag = "Cabin6"; @@ -24223,38 +22707,6 @@ /obj/structure/table/reinforced, /turf/open/floor/prison, /area/security/prison) -"dwB" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Division - Lobby"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/purple/corner{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/research) "dwL" = ( /turf/closed/wall/r_wall, /area/maintenance/starboard/secondary) @@ -24329,15 +22781,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"dxP" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Transit Tube Access" - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/dark, -/area/engine/break_room) "dyc" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -24384,15 +22827,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"dzw" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron, -/area/security/brig) "dzD" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -24428,19 +22862,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"dAU" = ( -/obj/item/paper, -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor{ - name = "Arrivals Security Checkpoint"; - pixel_y = -8; - req_access_txt = "1" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "dAW" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -24521,10 +22942,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/aft) -"dBX" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "dCk" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -24539,6 +22956,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/hallway/primary/fore) +"dCs" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/landmark/start/roboticist, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/circuit, +/area/science/robotics/mechbay) "dCt" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -24690,41 +23117,35 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/solars/starboard/fore) -"dEd" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +"dEf" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/white/smooth_half{ + dir = 1 }, -/obj/machinery/light{ +/area/security/brig) +"dEQ" = ( +/obj/machinery/door/airlock/security{ + name = "Interrogation"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 + dir = 4 }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, -/area/security/execution/education) -"dEf" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, /area/security/brig) -"dEO" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/construction/mining/aux_base) "dEV" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -24739,6 +23160,12 @@ /mob/living/carbon/monkey/punpun, /turf/open/floor/wood/big, /area/crew_quarters/bar) +"dFo" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "dFt" = ( /obj/structure/chair{ dir = 8 @@ -24816,6 +23243,15 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"dGj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "dGK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille, @@ -24874,6 +23310,10 @@ /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron, /area/maintenance/central) +"dIq" = ( +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "dIZ" = ( /obj/machinery/vending/tool, /obj/effect/turf_decal/delivery, @@ -24900,15 +23340,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron, /area/science/shuttledock) -"dJM" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "dJY" = ( /obj/machinery/computer/crew, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -24916,25 +23347,12 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"dKo" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "dKF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "dKO" = ( /obj/structure/sign/departments/minsky/medical/chemistry/chemical2{ @@ -25011,17 +23429,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"dLG" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) "dLH" = ( /obj/structure/cable/cyan{ icon_state = "0-8" @@ -25034,6 +23441,26 @@ }, /turf/open/floor/iron/dark, /area/aisat) +"dLN" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Research Division Hallway - Mech Bay"; + network = list("ss13","rd") + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "dLU" = ( /obj/machinery/firealarm{ dir = 8; @@ -25066,6 +23493,18 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"dMe" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "dNb" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -25076,6 +23515,23 @@ }, /turf/open/floor/prison, /area/security/prison) +"dNf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "dNs" = ( /obj/structure/table, /obj/structure/window/reinforced{ @@ -25150,6 +23606,26 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron/white, /area/science/explab) +"dOd" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Exterior - Starboard Fore"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/aisat) "dOr" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -25163,6 +23639,18 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"dOT" = ( +/obj/structure/table/reinforced, +/obj/item/paper, +/obj/item/folder/red{ + pixel_x = 3 + }, +/obj/item/folder/blue{ + pixel_x = -2; + pixel_y = 3 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "dOZ" = ( /obj/machinery/door/airlock/external{ name = "MiniSat Space Access Airlock"; @@ -25191,37 +23679,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"dPf" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/door/window{ - base_state = "right"; - icon_state = "right"; - name = "MiniSat Walkway Access" - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Exterior - Aft Starboard"; - network = list("minisat") - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/aisat) -"dPr" = ( -/obj/structure/closet/secure_closet/security/med, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "dPw" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -25231,36 +23688,31 @@ }, /turf/open/floor/wood, /area/vacant_room/office) -"dPE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"dPF" = ( +/obj/structure/filingcabinet{ + pixel_x = -7 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/structure/filingcabinet{ + pixel_x = 7 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = 23 }, -/turf/open/floor/iron, -/area/security/brig) +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 5 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division - Server Room"; + network = list("ss13","rd"); + pixel_x = 22 + }, +/turf/open/floor/iron/dark, +/area/science/server) "dPP" = ( /obj/structure/closet/wardrobe/white, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/locker) -"dQd" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/crew_quarters/bar) "dQl" = ( /obj/machinery/holopad{ pixel_x = 16; @@ -25306,6 +23758,27 @@ /obj/effect/turf_decal/tile/brown/anticorner/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) +"dRr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "dRB" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, @@ -25333,6 +23806,13 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/prison, /area/security/prison) +"dSq" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/depsec/science, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/science/research) "dSw" = ( /obj/effect/landmark/start/librarian, /obj/structure/chair/office{ @@ -25363,6 +23843,17 @@ }, /turf/open/floor/iron, /area/engine/engineering) +"dTh" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/stool/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/medical/break_room) "dTK" = ( /obj/item/radio/intercom{ pixel_y = -30 @@ -25407,19 +23898,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/wood, /area/library) -"dTZ" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "dUd" = ( /obj/structure/table, /obj/item/stock_parts/cell/potato, @@ -25539,27 +24017,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"dWK" = ( -/turf/closed/wall/r_wall, -/area/maintenance/fore) -"dWV" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Departure Lounge - Starboard Aft" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_x = 29 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "dXp" = ( /obj/structure/window/reinforced{ dir = 4 @@ -25571,22 +24028,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/aisat) -"dXZ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Engineering Supermatter Fore"; - network = list("ss13","engine") - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_dark, -/area/engine/engineering) "dYi" = ( /obj/structure/closet/emcloset, /obj/structure/sign/map/left{ @@ -25622,15 +24063,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/grimy, /area/chapel/office) -"dZc" = ( -/obj/item/radio/intercom{ - pixel_y = 26 +"dYR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/iron, -/area/security/brig) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/science/central) "dZe" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -25655,19 +24106,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"dZO" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "dZR" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -25693,6 +24131,38 @@ }, /turf/open/floor/iron, /area/science/shuttledock) +"ear" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Bar" + }, +/obj/item/kirbyplants/random, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/big, +/area/crew_quarters/bar) +"eaC" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Air to Distro"; + target_pressure = 500 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 25 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Distro Loop" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "eaF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -25730,16 +24200,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/aft/secondary) -"ebc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/iron, -/area/security/main) "ebg" = ( /obj/effect/spawner/randomvend/cola, /obj/effect/turf_decal/delivery, @@ -25786,6 +24246,15 @@ /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, /area/maintenance/department/science/xenobiology) +"ecB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -24 + }, +/turf/open/floor/iron, +/area/engine/break_room) "ecC" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -25827,24 +24296,63 @@ /obj/effect/spawner/randomvend/cola, /turf/open/floor/iron/dark, /area/hallway/secondary/command) +"edj" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/security/nuke_storage) +"edn" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "edK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"edO" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"edP" = ( +/obj/item/radio/intercom{ + pixel_y = -28 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/item/kirbyplants/random, +/obj/machinery/camera/directional/south{ + c_tag = "Kitchen Hatch" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) +"edQ" = ( +/obj/structure/chair/office{ + dir = 8 }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching output from station security cameras."; + name = "Security Camera Monitor"; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/hallway/secondary/exit/departure_lounge) "edS" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -25870,6 +24378,31 @@ }, /turf/open/floor/wood, /area/library) +"eey" = ( +/obj/machinery/camera/motion/directional/south{ + c_tag = "Vault"; + network = list("vault") + }, +/obj/machinery/light, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/nuke_storage) +"eeQ" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Aft Arm - Far" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "eeX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -25923,35 +24456,11 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) -"efR" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Arrivals - Fore Arm" - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner, -/area/hallway/secondary/entry) "efV" = ( /obj/structure/table, /obj/item/paper_bin, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"egc" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "egh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -25985,20 +24494,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/captain/private) -"egv" = ( -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/item/radio/off, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 4; - pixel_x = -29 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "egx" = ( /obj/structure/target_stake, /obj/effect/decal/cleanable/dirt, @@ -26007,10 +24502,43 @@ }, /turf/open/floor/iron/grid/steel, /area/science/shuttledock) -"egJ" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, +"egA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/digital_clock/directional/north, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) +"eha" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Holodeck" + }, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) +"ehu" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, /area/ai_monitored/security/armory) "ehx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -26048,20 +24576,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) -"eic" = ( -/obj/machinery/computer/security, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_x = 1; - pixel_y = 30 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "ejo" = ( /obj/item/cigbutt, /turf/open/floor/iron, @@ -26089,54 +24603,25 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/medical/break_room) -"eky" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/fitness/recreation) "ekG" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/hallway/secondary/entry) -"eln" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Division Hallway - Xenobiology Lab Access"; - network = list("ss13","rd") +"elg" = ( +/obj/machinery/light, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway - Engineering" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/science/research) -"elv" = ( -/obj/machinery/camera/directional/east{ - c_tag = "AI Chamber - Starboard"; - network = list("aicore") - }, -/obj/structure/showcase/cyborg/old{ - dir = 8; - pixel_x = 9; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai) +/turf/open/floor/iron, +/area/hallway/primary/starboard) "elA" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -26327,6 +24812,20 @@ }, /turf/open/floor/cult, /area/chapel/main) +"epG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "eqc" = ( /obj/structure/sign/warning/vacuum/external{ pixel_x = 32 @@ -26347,6 +24846,20 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"eqr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "eqw" = ( /mob/living/simple_animal/bot/cleanbot{ auto_patrol = 1; @@ -26405,6 +24918,22 @@ dir = 4 }, /area/medical/medbay/lobby) +"erL" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "erM" = ( /obj/machinery/computer/atmos_control/tank/mix_tank{ dir = 8 @@ -26514,6 +25043,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"etm" = ( +/obj/structure/sign/warning/biohazard{ + pixel_x = -32 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Euthanization Chamber"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/circuit/telecomms, +/area/maintenance/department/science/xenobiology) "etq" = ( /obj/item/beacon, /obj/structure/disposalpipe/segment{ @@ -26525,6 +25064,25 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"etT" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_one_access_txt = "1;4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/main) "etX" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -26556,13 +25114,20 @@ }, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) -"evf" = ( -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - External" +"euR" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/ai_monitored/security/armory) +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/medical/genetics) "evj" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -26608,6 +25173,15 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"exg" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "exs" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/wood/big, @@ -26660,6 +25234,20 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"exU" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/obj/structure/closet/secure_closet/personal, +/obj/item/storage/secure/briefcase, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/vacant_room/commissary) "eyr" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/circuit/telecomms, @@ -26679,6 +25267,12 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) +"eyN" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - O2" + }, +/turf/open/floor/engine/o2, +/area/engine/atmos) "eyW" = ( /obj/machinery/sparker{ id = "Xenobio"; @@ -26718,6 +25312,24 @@ }, /turf/open/floor/iron/dark, /area/science/explab) +"ezw" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Departure Lounge - Port Aft" + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "ezU" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -26735,28 +25347,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/hallway/secondary/entry) -"eAc" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Storage Wing Entrance" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = 1; - pixel_y = -21 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/construction/storage_wing) "eAk" = ( /obj/structure/cable{ icon_state = "4-8" @@ -26789,21 +25379,6 @@ /obj/structure/sign/warning/biohazard, /turf/closed/wall, /area/maintenance/department/science) -"eBm" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/main) "eBQ" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 1 @@ -26892,6 +25467,14 @@ }, /turf/open/floor/wood, /area/library) +"eDs" = ( +/obj/structure/table, +/obj/machinery/camera/directional/south{ + c_tag = "Kitchen" + }, +/obj/machinery/reagentgrinder, +/turf/open/floor/iron/checker, +/area/crew_quarters/kitchen) "eDC" = ( /obj/machinery/light{ dir = 4 @@ -26909,6 +25492,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/nuke_storage) +"eDN" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","medbay") + }, +/obj/machinery/vending/wardrobe/medi_wardrobe, +/turf/open/floor/iron{ + heat_capacity = 1e+006 + }, +/area/medical/storage) "eDT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -27026,24 +25626,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) -"eFP" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Starboard Primary Hallway - Atmospherics" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/white/corner{ - dir = 1 - }, -/area/hallway/primary/starboard) "eFV" = ( /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)."; @@ -27062,6 +25644,20 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/crew_quarters/bar) +"eGp" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/medical, +/obj/machinery/holopad{ + pixel_x = 16; + pixel_y = -16 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/medical) "eGy" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -27101,15 +25697,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/central) -"eGV" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "eGY" = ( /obj/structure/bookcase, /obj/effect/turf_decal/siding/wood{ @@ -27128,17 +25715,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/atmos) -"eHk" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/medical/surgery) "eHA" = ( /obj/structure/table, /obj/item/taperecorder{ @@ -27209,6 +25785,28 @@ }, /turf/open/floor/iron, /area/vacant_room/commissary) +"eIH" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/warden"; + dir = 8; + name = "Brig Control APC"; + pixel_x = -1; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "eIK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -27221,26 +25819,19 @@ }, /turf/open/floor/iron, /area/maintenance/port/fore) -"eJq" = ( +"eJI" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/iron, -/area/security/main) +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/crew_quarters/bar) "eKa" = ( /obj/machinery/computer/communications{ dir = 8 @@ -27274,6 +25865,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/aisat) +"eKj" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "eKo" = ( /obj/item/radio/intercom{ pixel_y = 21 @@ -27324,18 +25919,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/medical/morgue) -"eLE" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/obj/effect/landmark/start/captain, -/obj/machinery/camera/directional/east{ - c_tag = "Captain's Quarters" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain/private) "eLG" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -27410,6 +25993,18 @@ }, /turf/open/floor/prison, /area/security/prison) +"eNY" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/gateway) "eNZ" = ( /obj/structure/window/reinforced, /obj/machinery/computer/atmos_control/tank/nitrogen_tank{ @@ -27421,24 +26016,6 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) -"eOh" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "eOT" = ( /obj/structure/table/glass, /obj/item/lightreplacer{ @@ -27491,6 +26068,35 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"eQc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Bridge - Starboard Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark, +/area/bridge) +"eQj" = ( +/obj/item/crowbar, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/structure/closet, +/obj/item/assembly/flash/handheld, +/obj/item/radio, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/checkpoint/customs) "eQm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -27518,21 +26124,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) -"eQO" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/science/research"; - dir = 8; - name = "Security Post - Research Division APC"; - pixel_x = -24 - }, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "eRh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -27554,17 +26145,6 @@ }, /turf/open/floor/iron/dark, /area/security/courtroom) -"eRX" = ( -/obj/structure/rack, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/riot_suit, -/obj/effect/loot_jobscale/armoury/riot_helmet, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "eSd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -27588,6 +26168,12 @@ }, /turf/open/floor/iron/dark, /area/aisat) +"eSG" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Toxins" + }, +/turf/open/floor/engine/plasma, +/area/engine/atmos) "eST" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -27665,6 +26251,21 @@ }, /turf/open/floor/engine, /area/engine/engineering) +"eUr" = ( +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/security/brig"; + name = "Brig APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/security/brig) "eUt" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -27698,6 +26299,15 @@ "eVc" = ( /turf/open/floor/iron, /area/maintenance/starboard/aft) +"eVh" = ( +/obj/effect/turf_decal/siding/red{ + dir = 6 + }, +/obj/effect/turf_decal/siding/red/corner{ + dir = 1 + }, +/turf/open/floor/glass/reinforced, +/area/security/main) "eVp" = ( /obj/machinery/door/airlock/maintenance{ req_one_access_txt = "12;25;46" @@ -27707,17 +26317,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard) -"eVu" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "eVw" = ( /obj/structure/railing{ dir = 8 @@ -27728,6 +26327,17 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"eVE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair/stool/directional/west{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/turf/open/floor/prison, +/area/security/prison) "eWg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27747,17 +26357,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port) -"eWC" = ( -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "eWD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -27803,12 +26402,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, /turf/open/floor/iron, /area/engine/atmos) -"eXc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/main) "eXp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27830,25 +26423,17 @@ }, /turf/open/floor/plating, /area/maintenance/aft/secondary) -"eXY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Custodial Closet" - }, -/obj/effect/turf_decal/bot{ - dir = 1 +"eXS" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 }, -/obj/machinery/light_switch{ - pixel_x = -24; - pixel_y = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, /turf/open/floor/iron, -/area/janitor) +/area/crew_quarters/fitness/recreation) "eXZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -27866,6 +26451,17 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron, /area/medical/surgery) +"eYe" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -32 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/displaycase/trophy, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) "eYg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -27903,22 +26499,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"eYE" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/item/storage/secure/safe{ - pixel_x = 5; - pixel_y = -31 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/cmo) "eYL" = ( /obj/structure/closet/wardrobe/pjs, /obj/structure/sign/poster/official/random{ @@ -27944,6 +26524,29 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hydroponics/garden) +"eZd" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/wood, +/area/library) +"eZe" = ( +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/foyer) "eZj" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, @@ -27991,6 +26594,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port) +"fav" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Bridge - Starboard" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron/dark, +/area/bridge) "faw" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -28044,20 +26660,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"fbN" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Dormitories - Aft" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "fbQ" = ( /obj/machinery/light{ dir = 4 @@ -28078,6 +26680,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) +"fcV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "fcY" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -28108,6 +26719,18 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/engine/engineering) +"fdu" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/engineering) "fdG" = ( /obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" @@ -28122,23 +26745,11 @@ /area/hallway/primary/aft) "fdK" = ( /obj/structure/closet/secure_closet/genpop, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/dark_red/half{ dir = 4 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_half, /area/security/prison) -"fek" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/main) "feW" = ( /turf/open/floor/iron, /area/maintenance/department/medical/central) @@ -28153,6 +26764,15 @@ dir = 1 }, /area/engine/atmos) +"ffJ" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/telecomms/bus, +/obj/item/circuitboard/machine/telecomms/broadcaster, +/obj/machinery/camera/directional/west{ + c_tag = "Telecomms - Storage" + }, +/turf/open/floor/iron/dark, +/area/storage/tcom) "ffN" = ( /obj/machinery/light/small{ dir = 8 @@ -28175,16 +26795,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"ffQ" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/structure/displaycase/trophy, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/library) "ffT" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -28208,43 +26818,6 @@ }, /turf/open/floor/iron, /area/gateway) -"fgd" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/sign/map/right{ - desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; - icon_state = "map-right-MS"; - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) -"fgh" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/item/clothing/mask/horsehead, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/obj/item/clothing/mask/cigarette/pipe, -/obj/item/clothing/mask/fakemoustache, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "fgp" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -27 @@ -28304,6 +26877,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/chapel/main) +"fht" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/sec, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "fhz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -28375,19 +26953,6 @@ }, /turf/open/floor/plating, /area/science/xenobiology) -"fiL" = ( -/obj/structure/filingcabinet, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 30 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "fiP" = ( /obj/machinery/requests_console{ department = "Science"; @@ -28410,21 +26975,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/white, /area/science/lab) -"fjh" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Gear Room"; - req_one_access_txt = "1;4" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/main) "fjD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28465,11 +27015,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/fore) -"fkb" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/medical/break_room) "fkk" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -28495,22 +27040,6 @@ }, /turf/open/floor/iron, /area/science/shuttledock) -"fkX" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "fkZ" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/machinery/firealarm{ @@ -28585,6 +27114,28 @@ }, /turf/open/floor/iron, /area/medical/genetics) +"fmL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/noticeboard{ + pixel_y = -32 + }, +/obj/machinery/light, +/obj/machinery/camera/directional/south{ + c_tag = "Research Division - Break Room"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/science/research) "fmN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28629,10 +27180,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/maintenance/starboard) +"fnD" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "fnM" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/medical/surgery) +"fnW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Secure Gear Storage" + }, +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/tech/grid, +/area/security/main) "fon" = ( /obj/effect/turf_decal/pool, /obj/effect/turf_decal/tile/neutral, @@ -28650,6 +27219,15 @@ }, /turf/open/floor/iron, /area/security/courtroom) +"foz" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "foE" = ( /obj/machinery/light{ dir = 4 @@ -28661,28 +27239,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"foQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/noticeboard{ - pixel_y = -32 - }, -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Research Division - Break Room"; - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/science/research) "fpi" = ( /obj/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -28696,6 +27252,19 @@ }, /turf/open/floor/iron/dark, /area/aisat) +"fpr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "fpx" = ( /obj/machinery/holopad, /obj/structure/cable/yellow{ @@ -28709,25 +27278,6 @@ }, /turf/open/floor/catwalk_floor/iron, /area/engine/atmos) -"fpB" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/kitchen"; - name = "Kitchen APC"; - pixel_y = -24 - }, -/obj/structure/cable/yellow, -/obj/structure/rack, -/obj/item/storage/box/donkpockets, -/obj/item/stack/package_wrap, -/obj/item/book/manual/chef_recipes{ - pixel_x = 2; - pixel_y = 6 - }, -/turf/open/floor/iron/checker, -/area/crew_quarters/kitchen) "fpC" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -28766,23 +27316,6 @@ }, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) -"fqe" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "fqm" = ( /obj/structure/filingcabinet{ pixel_x = 3 @@ -28802,6 +27335,33 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/port) +"fqY" = ( +/obj/structure/table, +/obj/item/taperecorder{ + pixel_x = 4 + }, +/obj/item/radio/intercom{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/red/anticorner, +/obj/machinery/newscaster{ + pixel_x = 29; + pixel_y = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Departure Lounge - Security Post" + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/taperecorder{ + pixel_x = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "fra" = ( /obj/machinery/door/airlock/external{ name = "Auxiliary Airlock" @@ -28811,22 +27371,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/hallway/secondary/entry) -"frb" = ( -/obj/structure/table, -/obj/item/folder/red{ - pixel_x = 3 - }, -/obj/item/taperecorder{ - pixel_x = -3 - }, -/obj/item/storage/fancy/cigarettes, -/obj/item/assembly/flash/handheld, -/obj/item/reagent_containers/peppercloud_deployer, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "frm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -28852,6 +27396,16 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"frI" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "frP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -28890,17 +27444,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"fsh" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/corner, -/area/hallway/secondary/entry) "fsm" = ( /obj/structure/bed/roller, /obj/machinery/door/window/eastleft{ @@ -28911,10 +27454,6 @@ /obj/structure/curtain, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"fsC" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "fsI" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -28972,6 +27511,16 @@ /obj/machinery/light/small/broken, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"ftI" = ( +/obj/machinery/holopad, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "ftJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -29029,16 +27578,32 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) -"fuV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"fvA" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) +"fvX" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) +/area/security/brig) "fvZ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -29085,6 +27650,53 @@ }, /turf/open/floor/wood, /area/library) +"fwR" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron/dark, +/area/security/courtroom) +"fwU" = ( +/obj/machinery/door/window/brigdoor{ + name = "Justice Chamber"; + req_access_txt = "3" + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor{ + dir = 1; + name = "Justice Chamber"; + req_access_txt = "3" + }, +/obj/machinery/door/poddoor/preopen{ + id = "executionfireblast" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "fwY" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -29134,29 +27746,33 @@ /obj/structure/table/glass, /turf/open/floor/iron, /area/engine/break_room) -"fxZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"fyA" = ( +/obj/item/radio/intercom{ + pixel_x = -31; + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/camera/directional/west{ + c_tag = "Aft Primary Hallway - Middle" + }, +/obj/structure/disposalpipe/segment{ + dir = 1 }, +/turf/open/floor/iron, +/area/hallway/primary/aft) +"fyF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/maintenance/department/medical/central) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "fyG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -29279,42 +27895,6 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) -"fzL" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"fzP" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Auxillary Base Construction" - }, -/obj/machinery/button/door{ - id = "aux_base_shutters"; - name = "Public Shutters Control"; - pixel_y = -24; - req_one_access_txt = "72" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/construction/mining/aux_base) "fzR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29416,20 +27996,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) -"fBi" = ( -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal/tile/neutral, -/obj/item/radio/intercom{ - pixel_x = 3; - pixel_y = -28 - }, -/obj/machinery/light_switch{ - pixel_x = -10; - pixel_y = -23 - }, -/obj/machinery/light, -/turf/open/floor/iron, -/area/medical/break_room) "fBw" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -29503,6 +28069,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/medical/chemistry) +"fCE" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Research Division"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/science/research) "fCS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -29512,12 +28093,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"fDl" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/energy_gun, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "fDA" = ( /obj/structure/cable/white, /obj/machinery/power/emitter/welded, @@ -29541,31 +28116,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/wood, /area/crew_quarters/bar) -"fDO" = ( -/obj/structure/chair/stool, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Aft Port Solar Maintenance" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/turf/open/floor/iron, -/area/maintenance/solars/port/aft) "fDP" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) +"fDS" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Middle Arm - Far" + }, +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "fEk" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -29699,27 +28271,32 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"fFT" = ( +"fFI" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "2-4" }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 }, /turf/open/floor/iron, -/area/hallway/primary/fore) +/area/maintenance/fore) "fFY" = ( /obj/structure/cable/yellow{ icon_state = "2-4" }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/structure/closet/secure_closet/genpop, +/obj/effect/turf_decal/tile/dark_red{ + dir = 8 + }, +/turf/open/floor/iron/smooth_corner{ dir = 8 }, -/obj/structure/closet/secure_closet/genpop, -/turf/open/floor/iron, /area/security/prison) "fGh" = ( /obj/structure/table, @@ -29732,6 +28309,26 @@ }, /turf/open/floor/engine, /area/maintenance/department/science/xenobiology) +"fGk" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Exterior - Fore Starboard"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/aisat) "fGo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 @@ -29789,6 +28386,18 @@ }, /turf/open/floor/plating, /area/security/warden) +"fIj" = ( +/obj/structure/bed, +/obj/item/bedsheet/captain, +/obj/effect/landmark/start/captain, +/obj/machinery/camera/directional/east{ + c_tag = "Captain's Quarters" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain/private) "fIm" = ( /obj/item/candle, /obj/machinery/light_switch{ @@ -29824,10 +28433,10 @@ pixel_y = 2 }, /obj/item/healthanalyzer, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/red/half{ dir = 4 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/smooth_half, /area/security/brig) "fIB" = ( /turf/open/floor/circuit/telecomms, @@ -29864,6 +28473,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) +"fJp" = ( +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) "fJz" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -29931,6 +28544,18 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"fMd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "fMg" = ( /obj/structure/table/glass, /obj/effect/turf_decal/trimline/black/filled/line{ @@ -29969,28 +28594,28 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"fMB" = ( +"fMG" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plating, +/area/maintenance/department/medical/central) +"fMJ" = ( /obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 + icon_state = "2-4" }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 +/obj/structure/rack, +/obj/item/storage/box/flashes{ + pixel_x = 3 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/item/storage/box/teargas{ + pixel_x = 1; + pixel_y = -2 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/gun/grenadelauncher/security, +/obj/machinery/light_switch{ + pixel_x = -24 }, -/turf/open/floor/plating, -/area/maintenance/fore) -"fMG" = ( -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "fML" = ( /obj/machinery/door/airlock/grunge{ name = "Morgue"; @@ -30063,7 +28688,7 @@ /obj/structure/disposalpipe/segment{ dir = 6 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "fNF" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -30206,42 +28831,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"fPB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/table, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo Bay - Starboard" - }, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 6 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/quartermaster/storage) -"fPG" = ( -/obj/item/radio/intercom{ - dir = 4; - pixel_x = 27 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "fPP" = ( /obj/machinery/door/airlock/maintenance{ req_one_access_txt = "12;27;37" @@ -30293,19 +28882,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"fQP" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/bed{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/grid/steel, -/area/medical/patients_rooms) "fQV" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -30478,24 +29054,6 @@ }, /turf/open/floor/iron, /area/medical/morgue) -"fSY" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Departure Lounge - Starboard Fore" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "fTa" = ( /obj/structure/table, /obj/item/stack/sheet/glass, @@ -30544,16 +29102,6 @@ /obj/effect/mapping_helpers/dead_body_placer, /turf/open/floor/iron, /area/medical/morgue) -"fTD" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/obj/structure/table, -/obj/item/hand_labeler, -/obj/item/clothing/gloves/color/latex, -/turf/open/floor/iron/dark, -/area/medical/morgue) "fTE" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -30602,12 +29150,39 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) +"fUp" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner, +/area/hallway/secondary/entry) "fUt" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/engine/engineering) +"fUu" = ( +/obj/machinery/light/small, +/obj/item/toy/dummy, +/obj/item/toy/mecha/honk{ + pixel_y = 12 + }, +/obj/structure/table/wood, +/obj/item/radio/intercom{ + pixel_y = -29 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "fUD" = ( /obj/structure/bed{ dir = 4 @@ -30636,6 +29211,20 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/carpet/red, /area/medical/exam_room) +"fVp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "fVx" = ( /obj/machinery/disposal/bin, /obj/machinery/firealarm{ @@ -30652,23 +29241,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/heads/hos) -"fVz" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/security/brig) -"fVC" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = 32 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "fWe" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -30727,6 +29299,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"fYf" = ( +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/checkpoint/customs) "fYo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -30739,27 +29318,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"fYC" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_y = 23 - }, -/obj/machinery/button/door{ - id = "psypriv"; - name = "Psycology Shutters Control"; - pixel_y = 37 - }, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/medical/exam_room) "fYF" = ( /obj/structure/chair/office{ dir = 4 @@ -30767,23 +29325,6 @@ /obj/effect/landmark/start/warden, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"fYH" = ( -/obj/machinery/camera/directional/north, -/obj/machinery/power/apc{ - areastring = "/area/quartermaster/qm"; - dir = 1; - name = "Quartermaster's Office APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/qm) "fYI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -31036,11 +29577,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/engine/engineering) -"gcX" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "gcZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/extinguisher_cabinet{ @@ -31048,6 +29584,21 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"gdb" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Office" + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/quartermaster/office) "gdi" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -31187,6 +29738,46 @@ /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"ghr" = ( +/obj/structure/table, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/clothing/head/cone{ + pixel_x = -4; + pixel_y = 4 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) +"ghA" = ( +/obj/structure/rack, +/obj/item/gun/energy/ionrifle, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/gun/energy/temperature/security, +/obj/item/clothing/suit/armor/laserproof, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/tech/grid, +/area/ai_monitored/security/armory) "ghF" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -31 @@ -31197,31 +29788,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/maintenance/disposal/incinerator) -"ghP" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Research Division Hallway - Robotics"; - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/research) -"gix" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Theatre - Backstage" - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/obj/structure/closet/crate/wooden/toy, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "giF" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -31267,6 +29833,30 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/hallway/primary/fore) +"gjC" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "gjK" = ( /obj/structure/sign/departments/minsky/research/research{ pixel_y = 32 @@ -31274,6 +29864,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/science/xenobiology) +"gjY" = ( +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/structure/table/wood, +/obj/item/radio/intercom{ + frequency = 1423; + name = "Interrogation Intercom"; + pixel_y = -31 + }, +/turf/open/floor/carpet/royalblack, +/area/security/main) "gka" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -31324,6 +29927,12 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"gkV" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/restraints/handcuffs, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "glg" = ( /obj/structure/table/wood/poker, /obj/item/reagent_containers/food/drinks/bottle/wine{ @@ -31498,6 +30107,18 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"goV" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Captain's Office - Emergency Escape" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/maintenance/central) "goW" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -31513,15 +30134,6 @@ }, /turf/open/floor/circuit/telecomms, /area/maintenance/department/science/xenobiology) -"gpg" = ( -/obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/medical/morgue) "gpL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -31624,6 +30236,11 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"grY" = ( +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/engine/engineering) "gsj" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -31633,15 +30250,27 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"gsL" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +"gsF" = ( +/mob/living/simple_animal/bot/secbot{ + arrest_type = 1; + health = 45; + icon_state = "secbot1"; + idcheck = 1; + name = "Sergeant-at-Armsky"; + weaponscheck = 1 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/iron, -/area/security/main) +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "gtt" = ( /obj/structure/table, /obj/structure/disposalpipe/segment, @@ -31690,6 +30319,22 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/crew_quarters/heads/cmo) +"guD" = ( +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/engine/atmos"; + dir = 1; + name = "Atmospherics APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Atmospherics - Entrance" + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/engine/atmos) "guR" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -31712,15 +30357,6 @@ /obj/machinery/light, /turf/open/floor/carpet/grimy, /area/hallway/primary/central) -"gvb" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron, -/area/security/brig) "gve" = ( /obj/structure/cable{ icon_state = "4-8" @@ -31755,49 +30391,12 @@ }, /turf/open/floor/catwalk_floor/iron, /area/engine/atmos) -"gvg" = ( -/obj/machinery/light/small, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/library) -"gvk" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "gvA" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, /turf/open/floor/iron, /area/medical/chemistry) -"gwA" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/item/radio/intercom{ - pixel_y = 26 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "gwC" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -31809,6 +30408,16 @@ }, /turf/open/floor/iron, /area/maintenance/aft) +"gxi" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Pen #4"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "gxF" = ( /obj/machinery/light/small, /obj/machinery/button/door{ @@ -31877,27 +30486,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/engine/break_room) -"gyr" = ( -/obj/machinery/door/airlock/security{ - aiControlDisabled = 1; - id_tag = "prisonereducation"; - name = "Prisoner Education Chamber"; - req_access_txt = "3" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/brig) "gyM" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -31908,10 +30496,40 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/aft) +"gyT" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "gzi" = ( /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/hydroponics) +"gzm" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_x = -4 + }, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "MedbayFoyer"; + name = "Medbay Doors Control"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = -2 + }, +/obj/machinery/light_switch{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/checkpoint/medical) "gzT" = ( /obj/structure/sign/warning/biohazard, /turf/closed/wall, @@ -31980,19 +30598,24 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"gCm" = ( +"gBY" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Aft Starboard Solar Maintenance" + }, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "1-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) -"gCn" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, /turf/open/floor/iron, -/area/security/brig) +/area/maintenance/solars/starboard/aft) "gCB" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -32013,6 +30636,22 @@ }, /turf/open/floor/iron/white/corner, /area/hallway/secondary/entry) +"gCN" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 5; + network = list("ss13","medbay") + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/iron/dark, +/area/security/prison) "gDg" = ( /obj/effect/turf_decal/stripes/red/line, /obj/effect/turf_decal/stripes/red/line{ @@ -32020,22 +30659,6 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"gDo" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Secure Gear Storage"; - req_access_txt = "3" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "gEg" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -32085,6 +30708,93 @@ }, /turf/open/floor/iron, /area/hallway/secondary/service) +"gEW" = ( +/obj/item/reagent_containers/glass/bottle/bromine{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/aluminium{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/chlorine{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/carbon{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/ethanol{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/copper{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/hydrogen{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/fluorine{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/water{ + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/lithium{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/iron{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/iodine{ + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/oxygen{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/phosphorus{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/nitrogen{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/mercury{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/radium{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/potassium{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/welding_fuel{ + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bottle/sacid{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/silicon{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/silver{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/sodium{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/sugar{ + pixel_x = 6 + }, +/obj/item/reagent_containers/glass/bottle/sulfur{ + pixel_x = -6 + }, +/obj/structure/closet/crate/medical, +/obj/effect/turf_decal/box, +/obj/item/circuitboard/machine/chem_heater, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/virology) "gEX" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/closet/crate{ @@ -32122,6 +30832,11 @@ /obj/structure/frame/machine, /turf/open/floor/plating, /area/maintenance/aft) +"gFs" = ( +/obj/machinery/holopad, +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) "gFK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 @@ -32134,13 +30849,21 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/wood, /area/vacant_room/office) -"gFV" = ( +"gFT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "gGd" = ( /obj/machinery/door/airlock/public/glass{ name = "Aft Primary Hallway" @@ -32243,6 +30966,14 @@ }, /turf/open/floor/iron/white, /area/medical/surgery) +"gIt" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 26 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/satellite) "gIz" = ( /turf/open/floor/glass/reinforced, /area/engine/break_room) @@ -32274,6 +31005,33 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmos) +"gJt" = ( +/obj/structure/table/glass, +/obj/item/folder/blue, +/obj/item/computer_hardware/hard_drive/role/medical{ + pixel_x = -3 + }, +/obj/item/computer_hardware/hard_drive/role/medical{ + pixel_x = 3 + }, +/obj/item/computer_hardware/hard_drive/role/chemistry{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/stamp/cmo{ + pixel_x = 10; + pixel_y = 12 + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/cmo) "gKc" = ( /obj/machinery/mineral/stacking_unit_console{ machinedir = 8; @@ -32294,37 +31052,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"gKp" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Crew Quarters Entrance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/crew_quarters/locker) -"gKq" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/port) "gKC" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor{ @@ -32350,21 +31077,37 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/iron/dark, /area/security/brig) -"gLC" = ( +"gLj" = ( +/obj/machinery/light_switch{ + pixel_x = 26 + }, /obj/structure/cable/yellow{ - icon_state = "0-4" + icon_state = "1-2" }, -/obj/structure/sign/departments/minsky/research/research{ - pixel_x = -32 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) +"gLs" = ( +/obj/machinery/status_display/evac{ + pixel_x = -32; + pixel_y = 32 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/chair/fancy/comfy, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/trimline/black/filled/line{ - dir = 9 +/obj/effect/turf_decal/siding/dark/corner, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) +"gLv" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 }, -/turf/open/floor/iron, -/area/maintenance/department/science) +/obj/item/pen, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/hallway/secondary/exit/departure_lounge) "gLM" = ( /obj/structure/closet/secure_closet/bar{ req_access_txt = "25" @@ -32397,6 +31140,14 @@ }, /turf/open/floor/iron, /area/crew_quarters/toilet/auxiliary) +"gMN" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Research Division Hallway - Starboard"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/trimline/purple/filled/line, +/turf/open/floor/iron/white, +/area/science/research) "gMO" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -32404,17 +31155,32 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/white, /area/medical/surgery) -"gNg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"gMS" = ( +/obj/machinery/status_display/evac{ + pixel_x = -32 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Starboard - Kitchen" }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) +"gNz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/gulag_item_reclaimer{ - pixel_y = 24 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/turf/open/floor/iron, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/smooth_large, /area/security/brig) "gNH" = ( /obj/structure/cable/yellow{ @@ -32550,17 +31316,6 @@ dir = 8 }, /area/chapel/main) -"gQi" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "gQm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32624,20 +31379,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"gRb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Bridge - Starboard Access" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/turf/open/floor/iron/dark, -/area/bridge) "gRe" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -32657,6 +31398,18 @@ }, /turf/open/floor/iron/dark, /area/aisat) +"gRp" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "gRq" = ( /obj/machinery/disposal/bin{ pixel_y = 1 @@ -32676,16 +31429,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/central) -"gRv" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/newscaster{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "gRz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -32717,6 +31460,16 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/techmaint, /area/science/shuttledock) +"gSM" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") + }, +/obj/structure/table, +/obj/item/hand_labeler, +/obj/item/clothing/gloves/color/latex, +/turf/open/floor/iron/dark, +/area/medical/morgue) "gST" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom{ @@ -32770,6 +31523,22 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) +"gTN" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/landmark/blobstart, +/obj/machinery/camera/directional/north{ + c_tag = "Evidence Storage" + }, +/obj/item/storage/secure/safe{ + name = "evidence safe"; + pixel_x = 6; + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig) "gTP" = ( /obj/machinery/vending/wardrobe/chap_wardrobe, /turf/open/floor/carpet/grimy, @@ -32960,25 +31729,6 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain/private) -"gWe" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "gWq" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -33019,47 +31769,31 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/science/xenobiology) -"gXb" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "gXh" = ( /obj/machinery/computer/holodeck/prison, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"gXl" = ( -/obj/structure/chair/stool{ - pixel_y = 8 +"gXq" = ( +/turf/open/space/basic, +/area/space/nearstation) +"gXw" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/light_switch{ - pixel_x = -24 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/fore) -"gXq" = ( -/turf/open/space/basic, -/area/space/nearstation) +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "gXM" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -33072,25 +31806,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"gXN" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "gYo" = ( /obj/machinery/light/small{ dir = 8 @@ -33131,6 +31846,12 @@ /obj/item/book/manual/wiki/sopcommand, /turf/open/floor/iron, /area/crew_quarters/heads/chief) +"gZs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/science/research) "gZB" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/pool/corner{ @@ -33141,19 +31862,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"gZS" = ( -/obj/machinery/button/door{ - id = "prisonereducation"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "hbi" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -33172,18 +31880,18 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"hby" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs, -/obj/item/radio/off, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"hbv" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/computer/cargo/request{ + dir = 1 }, -/turf/open/floor/iron, -/area/security/main) +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner, +/area/engine/storage_shared) "hbz" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -33206,10 +31914,12 @@ icon_state = "right"; name = "Infirmary" }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/white/smooth_half{ dir = 1 }, -/turf/open/floor/iron/white, /area/security/brig) "hbE" = ( /obj/structure/chair{ @@ -33313,20 +32023,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"hdM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) "hdT" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Supermatter Engine"; @@ -33365,24 +32061,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"hek" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/maintenance/fore) "heJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -33396,42 +32074,32 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"hfC" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, +"hfu" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/tile/red/half{ + dir = 8 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) +"hfF" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/iron, -/area/security/main) -"hfE" = ( -/obj/machinery/computer/secure_data{ - dir = 4 +/obj/machinery/camera/directional/east{ + c_tag = "Engineering Supermatter Port"; + network = list("ss13","engine") }, -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/machinery/airalarm/engine{ + dir = 4; + pixel_x = 24 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 8 }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) +/turf/open/floor/engine, +/area/engine/supermatter) "hfQ" = ( /obj/structure/sign/departments/minsky/research/robotics{ pixel_x = 32 @@ -33496,16 +32164,6 @@ }, /turf/open/floor/iron, /area/science/research) -"hgQ" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 32 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Gear Room" - }, -/obj/machinery/vending/wardrobe/sec_wardrobe, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "hhr" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -33521,24 +32179,26 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) -"hhY" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Fore" - }, -/turf/open/floor/iron, -/area/engine/engineering) -"hih" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 +"hig" = ( +/obj/machinery/power/apc{ + areastring = "/area/vacant_room/commissary"; + dir = 4; + name = "Vacant Commissary APC"; + pixel_x = 24 }, +/obj/structure/cable/yellow, +/obj/structure/rack, +/obj/item/wrench, +/obj/item/screwdriver, /obj/machinery/camera/directional/east{ - c_tag = "Security - Office - Starboard" + c_tag = "Vacant Commissary" }, -/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/security/main) +/area/vacant_room/commissary) "hii" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -33564,16 +32224,36 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"hiA" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Departure Lounge Security Post"; + req_access_txt = "63" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "hiN" = ( /obj/structure/closet/secure_closet/genpop, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, /obj/machinery/light{ dir = 8; light_color = "#e8eaff" }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/smooth_corner{ + dir = 4 + }, /area/security/prison) "hiS" = ( /obj/structure/cable/yellow{ @@ -33676,6 +32356,27 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"hke" = ( +/obj/item/storage/secure/safe{ + name = "armory safe A"; + pixel_x = 6; + pixel_y = 28 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "hkq" = ( /turf/open/floor/iron, /area/engine/storage_shared) @@ -33688,6 +32389,42 @@ }, /turf/open/floor/iron, /area/teleporter) +"hkK" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Break Room"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/iron, +/area/medical/break_room) +"hkO" = ( +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - External" + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/ai_monitored/security/armory) "hkS" = ( /obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" @@ -33700,32 +32437,25 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"hkU" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = -32 + }, +/obj/vehicle/ridden/secway, +/obj/item/key/security, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "hlb" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plating, /area/maintenance/port/fore) -"hlc" = ( -/obj/structure/filingcabinet{ - pixel_x = -7 - }, -/obj/structure/filingcabinet{ - pixel_x = 7 - }, -/obj/machinery/light_switch{ - pixel_x = 23 - }, -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 5 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Division - Server Room"; - network = list("ss13","rd"); - pixel_x = 22 - }, -/turf/open/floor/iron/dark, -/area/science/server) "hld" = ( /obj/item/radio/intercom/chapel{ pixel_x = 26 @@ -33748,6 +32478,16 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) +"hlC" = ( +/obj/structure/chair/fancy/comfy{ + dir = 4 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Arrivals - Lounge" + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet/grimy, +/area/hallway/primary/port) "hlT" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, @@ -33771,32 +32511,6 @@ }, /turf/open/floor/iron, /area/medical/medbay/aft) -"hmC" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/item/radio/intercom{ - pixel_y = -26 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Storage Wing" - }, -/obj/machinery/light, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/iron, -/area/construction/storage_wing) "hmU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -33824,13 +32538,21 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/department/medical/central) -"hnp" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/structure/cable/yellow{ - icon_state = "4-8" +"hnd" = ( +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) +/obj/item/pen, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Security Post - Cargo" + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/supply) "hnv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -33859,6 +32581,28 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/medical/surgery) +"hnT" = ( +/obj/structure/table, +/obj/item/computer_hardware/hard_drive/role/signal/toxins, +/obj/item/computer_hardware/hard_drive/role/signal/toxins{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/computer_hardware/hard_drive/role/signal/toxins{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Research Director's Office"; + network = list("ss13","rd") + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/black/opposingcorners{ + dir = 1 + }, +/obj/item/book/manual/wiki/sopcommand, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/hor) "hof" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -33885,6 +32629,24 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) +"hoE" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Primary Hallway - Tech Storage" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) +"hoI" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "hoT" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/extinguisher, @@ -33893,18 +32655,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"hoX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "hpf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -33956,18 +32706,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) -"hqq" = ( -/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/item/kirbyplants/random, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "hqu" = ( /obj/machinery/door/airlock/external{ name = "Supply Dock Airlock"; @@ -34021,6 +32759,26 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/iron, /area/maintenance/aft/secondary) +"hrl" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "MiniSat Exterior - Fore Port"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/aisat) "hrL" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -34069,18 +32827,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/crew_quarters/cryopods) -"hsT" = ( -/obj/structure/table/reinforced, -/obj/item/paper, -/obj/item/folder/red{ - pixel_x = 3 +"hsC" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "old sink"; + pixel_y = 28 }, -/obj/item/folder/blue{ - pixel_x = -2; - pixel_y = 3 +/obj/effect/turf_decal/tile/red/half{ + dir = 4 }, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "hsU" = ( /obj/machinery/igniter{ id = "atmos_incinerator_igniter" @@ -34094,6 +32851,16 @@ }, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) +"hsZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "htc" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -34164,26 +32931,6 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/maintenance/disposal/incinerator) -"hvh" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortType = 7 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/main) "hvP" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -34199,14 +32946,6 @@ }, /turf/open/floor/iron, /area/medical/surgery) -"hvV" = ( -/obj/structure/filingcabinet, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "hwd" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -34223,6 +32962,19 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"hwi" = ( +/obj/structure/filingcabinet/filingcabinet, +/obj/item/radio/intercom{ + pixel_y = -28 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo - Mailroom" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/white/corner, +/area/quartermaster/sorting) "hwu" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -34291,6 +33043,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"hxW" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/iron, +/area/maintenance/fore) "hyc" = ( /obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, @@ -34408,11 +33176,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/maintenance/aft) -"hzC" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "hzF" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -34461,23 +33224,6 @@ }, /turf/open/floor/iron, /area/quartermaster/office) -"hAt" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/security{ - name = "Detective's Office"; - req_access_txt = "4" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/detectives_office) "hAW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/curtain/directional{ @@ -34488,25 +33234,6 @@ }, /turf/open/floor/plating, /area/medical/surgery) -"hBl" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/iron, -/area/quartermaster/warehouse) "hBr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -34548,31 +33275,6 @@ }, /turf/open/floor/iron/dark, /area/medical/morgue) -"hCu" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/science/research) -"hCB" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "hCO" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -34614,6 +33316,28 @@ /obj/effect/turf_decal/stripes/closeup, /turf/open/floor/engine, /area/science/explab) +"hDi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"hDo" = ( +/obj/machinery/button/door{ + id = "prisonereducation"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "hDA" = ( /obj/structure/closet{ name = "Evidence Closet 5" @@ -34625,14 +33349,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/brig) -"hDN" = ( -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "hDO" = ( /obj/machinery/door/airlock/mining{ name = "Cargo Bay"; @@ -34669,6 +33385,22 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/crew_quarters/kitchen) +"hEu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/table/reinforced, +/obj/item/storage/firstaid/regular, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/turf/open/floor/iron/dark, +/area/science/explab) "hEL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -34725,6 +33457,19 @@ }, /turf/open/floor/iron/dark, /area/medical/virology) +"hEX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) "hFd" = ( /obj/structure/grille, /turf/open/floor/iron, @@ -34795,21 +33540,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"hGd" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Entrance" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/engineering) "hGg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34897,10 +33627,32 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"hHG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) +"hHC" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/customs"; + dir = 1; + name = "Customs APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) +"hIc" = ( +/obj/machinery/light, +/obj/structure/closet/secure_closet/brig{ + id = "medcell"; + name = "Medical Cell Locker" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/medical) "hIo" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line, @@ -34914,6 +33666,17 @@ }, /turf/open/floor/iron, /area/security/brig) +"hIx" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/north{ + c_tag = "Toxins - Mixing Area"; + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/science/mixing) "hIy" = ( /obj/machinery/light/small{ dir = 8 @@ -34935,6 +33698,15 @@ /obj/item/pen/blue, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"hIY" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "hJd" = ( /obj/item/storage/belt/medical{ pixel_y = 2 @@ -34975,6 +33747,20 @@ }, /turf/open/floor/iron, /area/storage/primary) +"hJA" = ( +/obj/structure/closet/secure_closet/hos, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/item/radio/intercom{ + pixel_x = -29; + pixel_y = 23 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "hJH" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -34995,6 +33781,21 @@ "hJO" = ( /turf/open/floor/iron, /area/maintenance/starboard) +"hJU" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Aft Primary Hallway - Aft" + }, +/obj/structure/sign/departments/evac{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white/corner, +/area/hallway/primary/aft) "hJY" = ( /obj/machinery/light, /obj/structure/cable/yellow{ @@ -35056,42 +33857,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/engine/engineering) -"hKw" = ( -/obj/structure/closet/crate/secure/weapon{ - desc = "A secure clothing crate."; - name = "formal uniform crate"; - req_access_txt = "3" - }, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/under/rank/security/officer/formal, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/suit/jacket/officer/blue, -/obj/item/clothing/under/rank/security/warden/formal, -/obj/item/clothing/suit/jacket/warden/tan, -/obj/item/clothing/under/rank/security/head_of_security/formal, -/obj/item/clothing/suit/jacket/hos/blue, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navyofficer, -/obj/item/clothing/head/beret/sec/navywarden, -/obj/item/clothing/head/beret/sec/navyhos, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "hKx" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35137,6 +33902,18 @@ /obj/effect/turf_decal/siding/dark_blue/corner, /turf/open/floor/iron/white, /area/medical/medbay/lobby) +"hLn" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/customs) "hLw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35155,6 +33932,16 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"hMd" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "hMe" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -35308,6 +34095,14 @@ }, /turf/open/floor/iron/stairs, /area/maintenance/department/science/xenobiology) +"hOO" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/item/clothing/under/suit/burgundy, +/turf/open/floor/carpet/orange, +/area/crew_quarters/dorms) "hPp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 @@ -35317,6 +34112,28 @@ }, /turf/open/floor/carpet/green, /area/library) +"hPF" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"hPH" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/security/main"; + dir = 4; + name = "Security Office APC"; + pixel_x = 24 + }, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "hPM" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35346,24 +34163,6 @@ }, /turf/open/floor/carpet/orange, /area/crew_quarters/dorms) -"hQd" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Port Primary Hallway - Middle" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/port) "hQy" = ( /obj/machinery/door/airlock/security{ name = "Evidence Storage"; @@ -35379,6 +34178,38 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/main) +"hQF" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division - Lobby"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) "hQP" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -35391,6 +34222,34 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) +"hRb" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/button/door{ + desc = "A remote control-switch for the engineering security doors."; + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_x = -24; + pixel_y = -6; + req_one_access_txt = "1;10" + }, +/obj/machinery/button/door{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_x = -24; + pixel_y = 5; + req_one_access_txt = "1;24" + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/checkpoint/engineering) "hRt" = ( /obj/structure/closet/athletic_mixed, /obj/item/pool/rubber_ring, @@ -35450,6 +34309,17 @@ }, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) +"hSA" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/main) "hSC" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -35503,45 +34373,27 @@ /obj/structure/sign/departments/minsky/medical/medical2, /turf/closed/wall, /area/medical/surgery) -"hTv" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/chair/stool/directional/west{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/prison, -/area/security/prison) -"hTC" = ( +"hTH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/landmark/blobstart, +/turf/open/floor/iron, +/area/maintenance/port/fore) +"hTW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 }, -/turf/open/floor/iron, +/turf/open/floor/iron/dark/textured, /area/security/main) -"hTH" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/landmark/blobstart, -/turf/open/floor/iron, -/area/maintenance/port/fore) "hTY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -35566,6 +34418,24 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"hUd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Detective's Office"; + req_access_txt = "4" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/detectives_office) "hUg" = ( /obj/machinery/computer/cloning{ dir = 1 @@ -35577,6 +34447,24 @@ }, /turf/open/floor/iron, /area/medical/genetics/cloning) +"hUm" = ( +/obj/structure/table/wood, +/obj/item/staff/broom, +/obj/item/wrench, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "hUo" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -35592,6 +34480,15 @@ }, /turf/open/floor/iron, /area/science/shuttledock) +"hUt" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/hallway/secondary/exit/departure_lounge) "hUx" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -35602,22 +34499,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/crew_quarters/locker) -"hUy" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -26 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "hUB" = ( /obj/machinery/airalarm/mixingchamber{ dir = 1; @@ -35629,13 +34510,6 @@ /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/science/mixing/chamber) -"hUN" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "hVo" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -6; @@ -35686,6 +34560,33 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) +"hWc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/engine/atmos) +"hWl" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Chapel - Funeral Parlour" + }, +/turf/open/floor/iron/dark, +/area/chapel/main) "hWI" = ( /obj/structure/sink{ dir = 8; @@ -35711,13 +34612,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"hXx" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/trimline/blue/filled/line, -/turf/open/floor/iron/white, -/area/medical/medbay/aft) "hXL" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -35727,6 +34621,21 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/white, /area/medical/virology) +"hYn" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Foyer - Shared Storage" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner, +/area/engine/storage_shared) "hYo" = ( /obj/structure/window/reinforced{ dir = 1; @@ -35752,16 +34661,21 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"hYN" = ( -/obj/item/radio/intercom{ - pixel_y = -28 +"hYQ" = ( +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 }, -/obj/item/kirbyplants/random, /obj/machinery/camera/directional/south{ - c_tag = "Kitchen Hatch" + c_tag = "Robotics - Aft"; + network = list("ss13","rd") }, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/bar) +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/science/robotics/lab) "hZd" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -35789,14 +34703,22 @@ }, /turf/open/floor/plating/airless, /area/solar/starboard/aft) -"hZP" = ( -/obj/structure/table, -/obj/item/flashlight/lamp, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +"hZt" = ( +/obj/effect/turf_decal/tile/red/half, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 }, -/turf/open/floor/iron/dark, -/area/security/brig) +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security Post - Research Division"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) "iaj" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -35850,6 +34772,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/crew_quarters/locker) +"ibw" = ( +/obj/structure/closet/secure_closet/miner, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/quartermaster/miningoffice) "ibD" = ( /obj/machinery/door/morgue{ name = "Study #2" @@ -36000,29 +34930,24 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"idg" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 +"idh" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/light/small{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "MiniSat Exterior - Port Aft"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/loading_area{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron/dark, -/area/aisat) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "idi" = ( /obj/machinery/power/apc{ areastring = "/area/quartermaster/miningoffice"; @@ -36064,6 +34989,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"ien" = ( +/mob/living/simple_animal/slime, +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #5"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "ieV" = ( /obj/machinery/cryopod, /obj/effect/turf_decal/stripes/line{ @@ -36174,16 +35110,6 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) -"iha" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/trimline/black/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/maintenance/department/science) "ihd" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/aft) @@ -36234,6 +35160,16 @@ }, /turf/open/floor/iron, /area/maintenance/port/fore) +"iiC" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "iiJ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -36282,29 +35218,12 @@ }, /turf/open/floor/iron, /area/medical/medbay/aft) -"iiQ" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Recovery Room"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/structure/table, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/item/clothing/glasses/blindfold, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/glasses/eyepatch, -/obj/item/radio/intercom{ - pixel_y = 29 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/medical/surgery) +"iji" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) "ijn" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -36321,19 +35240,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"ijx" = ( -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/structure/table/wood, -/obj/item/radio/intercom{ - frequency = 1423; - name = "Interrogation Intercom"; - pixel_y = -31 - }, -/turf/open/floor/carpet/grimy, -/area/security/main) "ijy" = ( /obj/structure/chair{ dir = 4; @@ -36394,6 +35300,18 @@ }, /turf/open/floor/iron/white, /area/medical/genetics) +"ikT" = ( +/obj/structure/table, +/obj/item/clothing/head/utility/hardhat/cakehat, +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/light, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) "ilc" = ( /turf/open/floor/engine, /area/maintenance/department/science/xenobiology) @@ -36425,15 +35343,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/storage/primary) -"imq" = ( -/obj/machinery/computer/message_monitor{ - dir = 4 +"ilG" = ( +/obj/machinery/light/small{ + dir = 1 }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 +/obj/structure/table/wood, +/obj/machinery/newscaster{ + pixel_y = 32 }, -/turf/open/floor/carpet/grimy, -/area/tcommsat/computer) +/obj/item/lighter, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"ims" = ( +/obj/machinery/camera/directional/west{ + active_power_usage = 0; + c_tag = "Turbine Vent"; + network = list("turbine"); + use_power = 0 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "imL" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -36453,6 +35384,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/bridge) +"imY" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/carpet/royalblack, +/area/security/main) "imZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -36468,6 +35405,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"inb" = ( +/obj/structure/closet/secure_closet/engineering_chief, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/chief) "inz" = ( /obj/machinery/holopad, /obj/structure/cable/yellow{ @@ -36477,6 +35425,34 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/aisat) +"inI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/secondary/exit/departure_lounge) +"inQ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/engineering{ + name = "Engine Room"; + req_access_txt = "10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron{ + dir = 1 + }, +/area/engine/engineering) "ioi" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 @@ -36507,17 +35483,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"iow" = ( -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "ioG" = ( /obj/machinery/status_display/supply{ pixel_y = 32 @@ -36601,6 +35566,23 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/central) +"ipo" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/engineering"; + dir = 8; + name = "Engineering Security APC"; + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/engineering) "ipr" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -36615,27 +35597,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/fore) -"iqA" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/door/window{ - name = "MiniSat Walkway Access" - }, -/obj/machinery/camera/directional/east{ - c_tag = "MiniSat Exterior - Aft Port"; - network = list("minisat") - }, -/obj/structure/window/reinforced{ - dir = 8 +"ipQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/aisat) +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/textured, +/area/security/main) "iqD" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -36651,19 +35622,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/maintenance/aft) -"iqN" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "iqS" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -36710,19 +35668,24 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/chapel/main) +"ird" = ( +/obj/item/storage/fancy/donut_box, +/obj/item/beacon/nettingportal, +/obj/effect/loot_jobscale/armoury/dragnet, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/structure/rack, +/obj/item/storage/fancy/donut_box, +/obj/item/beacon/nettingportal, +/obj/effect/loot_jobscale/armoury/dragnet, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "irf" = ( /obj/machinery/light, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/crew_quarters/locker) -"irj" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/iron/techmaint, -/area/science/shuttledock) "irt" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -36735,6 +35698,19 @@ }, /turf/open/floor/iron/dark, /area/storage/tcom) +"irx" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "irz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -36760,19 +35736,6 @@ }, /turf/open/floor/iron/white, /area/science/mixing) -"irT" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Secure Tech Storage" - }, -/obj/item/radio/intercom{ - pixel_x = 29 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/storage/tech) "isb" = ( /obj/structure/chair/office/light, /obj/effect/landmark/start/scientist, @@ -36788,6 +35751,13 @@ /obj/machinery/light/small, /turf/open/floor/iron, /area/maintenance/starboard) +"isg" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Dormitories - Fore" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "isj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -36795,6 +35765,10 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/central) +"isS" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "itb" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -36816,6 +35790,12 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) +"itu" = ( +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/main) "iue" = ( /obj/effect/spawner/randomvend/snack, /obj/effect/turf_decal/trimline/black/filled/line{ @@ -36828,6 +35808,18 @@ /obj/item/banner/medical/mundane, /turf/open/floor/plating, /area/maintenance/aft) +"iuq" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "iuw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -36867,26 +35859,29 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"ivh" = ( +/obj/structure/rack, +/obj/effect/loot_jobscale/armoury/energy_gun, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "ivo" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/medical/surgery) -"ivy" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"ivE" = ( +/obj/machinery/newscaster{ + pixel_x = -30 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +/turf/closed/wall, +/area/library) +"iwc" = ( +/obj/structure/closet/secure_closet/security/science, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/science/research) "iwf" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -36904,6 +35899,14 @@ }, /turf/open/floor/plating, /area/science/xenobiology) +"iwF" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/techmaint, +/area/security/main) "iwT" = ( /obj/structure/sign/warning/vacuum/external{ pixel_y = -32 @@ -37005,6 +36008,18 @@ }, /turf/open/floor/iron/dark, /area/science/nanite) +"izc" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/engine/engineering) "izO" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -37057,6 +36072,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) +"iAW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "iBa" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -37155,12 +36182,35 @@ /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /turf/open/floor/iron, /area/medical/surgery) +"iBR" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron, +/area/medical/break_room) "iCq" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/hats/tophat, /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/big, /area/crew_quarters/bar) +"iCy" = ( +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/machinery/firealarm/directional/north, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/medical) "iCQ" = ( /obj/effect/landmark/xeno_spawn, /obj/effect/decal/cleanable/dirt, @@ -37237,6 +36287,25 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"iDo" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/turf/open/floor/iron, +/area/hallway/primary/port) +"iDw" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/main) "iDy" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -37281,6 +36350,17 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/storage) +"iED" = ( +/mob/living/simple_animal/slime, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #3"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/science/xenobiology) "iEP" = ( /obj/structure/urinal{ pixel_y = 28 @@ -37289,6 +36369,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/medical/break_room) +"iFa" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/assembly/flash/handheld, +/obj/item/book/manual/wiki/sopsecurity, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "iFc" = ( /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, @@ -37305,13 +36392,6 @@ /obj/structure/bed/roller, /turf/open/floor/iron/white, /area/medical/surgery) -"iFn" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "iFu" = ( /obj/machinery/door/airlock/external, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -37407,15 +36487,6 @@ }, /turf/open/floor/iron/dark, /area/aisat) -"iHB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "iHF" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -37501,15 +36572,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"iJb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "iJg" = ( /obj/structure/table, /obj/machinery/fax/sci, @@ -37633,27 +36695,29 @@ }, /turf/open/floor/holofloor/plating, /area/holodeck/prison) +"iKp" = ( +/obj/machinery/vending/security, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "iKI" = ( /turf/closed/wall, /area/engine/break_room) -"iKR" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +"iKN" = ( +/obj/structure/bodycontainer/morgue{ + dir = 1 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/iron/dark, +/area/chapel/office) "iLv" = ( /obj/machinery/door/airlock/highsecurity{ name = "Secure Network Access"; @@ -37671,13 +36735,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload_foyer) -"iLI" = ( -/obj/structure/closet/secure_closet/contraband/armory, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/spawner/lootdrop/armory_contraband, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +"iLR" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/area/science/nanite) "iLU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -37756,18 +36823,6 @@ /obj/effect/mapping_helpers/make_non_slip, /turf/open/floor/iron, /area/engine/atmos) -"iNs" = ( -/obj/machinery/door/airlock/security{ - name = "Court Cell"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark, -/area/security/courtroom) "iNO" = ( /obj/machinery/advanced_airlock_controller{ dir = 8; @@ -37904,6 +36959,19 @@ }, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) +"iQH" = ( +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1447; + name = "Private AI Channel"; + pixel_y = -25 + }, +/obj/machinery/camera/motion/directional/south{ + c_tag = "AI Upload Chamber - Starboard"; + network = list("aiupload") + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai_upload) "iQN" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -37941,6 +37009,17 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"iRA" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "iRB" = ( /obj/docking_port/stationary{ dwidth = 2; @@ -38016,14 +37095,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) -"iSx" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/main) "iSU" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall/r_wall, @@ -38124,6 +37195,32 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"iTT" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Restrooms" + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/toilet/restrooms) +"iUh" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/aisat/foyer"; + name = "MiniSat Foyer APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow, +/obj/machinery/camera/motion/directional/east{ + c_tag = "MiniSat Foyer"; + network = list("minisat") + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/foyer) "iUk" = ( /turf/closed/wall/r_wall, /area/hallway/primary/aft) @@ -38182,19 +37279,10 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"iWE" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/modular_computer/console/preset/command, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/bridge) +"iWF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/medical) "iWT" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio3"; @@ -38219,17 +37307,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"iXf" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Secure Gear Storage" - }, -/obj/machinery/flasher/portable, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/main) "iXg" = ( /obj/machinery/door/airlock{ name = "Recreation Area" @@ -38302,21 +37379,6 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"iZn" = ( -/obj/item/storage/book/bible, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Chapel - Fore" - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/chapel/main) "iZN" = ( /obj/structure/table/reinforced, /obj/item/assembly/signaler{ @@ -38389,13 +37451,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"jai" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/bulletproof_vest, -/obj/effect/loot_jobscale/armoury/bulletproof_helmet, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "jaj" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -38444,21 +37499,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port/fore) -"jbZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "jcM" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -38494,19 +37534,6 @@ /obj/effect/landmark/carpspawn, /turf/open/space/basic, /area/space) -"jdY" = ( -/obj/machinery/light/small, -/obj/item/toy/dummy, -/obj/item/toy/prize/honk{ - pixel_y = 12 - }, -/obj/structure/table/wood, -/obj/item/radio/intercom{ - pixel_y = -29 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "jeD" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -38644,19 +37671,18 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"jgB" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Chapel Office - Backroom" +"jgG" = ( +/obj/effect/turf_decal/tile/red/half, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 }, -/obj/machinery/light/small{ - dir = 4 +/obj/machinery/camera/directional/east{ + c_tag = "Security - Office - Starboard" }, -/obj/machinery/light_switch{ - pixel_x = 25 +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron/dark, -/area/chapel/office) +/area/security/main) "jgH" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -38690,17 +37716,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"jho" = ( -/obj/structure/table, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/machinery/computer/med_data/laptop, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/security/brig) "jhu" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 4 @@ -38740,19 +37755,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"jit" = ( -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","medbay") - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "jiw" = ( /obj/structure/table/wood, /obj/machinery/newscaster{ @@ -38788,23 +37790,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/hallway/primary/central) -"jjw" = ( -/obj/structure/table, -/obj/item/pen, -/obj/item/paper/guides/jobs/security/labor_camp, -/obj/item/storage/box/prisoner, -/obj/item/razor{ - pixel_x = -6 +"jjz" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "Atmospherics Tank - N2O" +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/security/brig) +/turf/open/floor/iron/dark/textured, +/area/security/main) "jjZ" = ( /obj/machinery/light{ dir = 8 @@ -38816,6 +37815,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"jkc" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/closet/firecloset, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/science/research) "jke" = ( /obj/item/beacon, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -38823,17 +37833,6 @@ }, /turf/open/floor/iron, /area/security/courtroom) -"jkg" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/dark, -/area/engine/break_room) "jkj" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -38841,19 +37840,9 @@ }, /turf/open/space/basic, /area/solar/port/aft) -"jko" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Bridge - Starboard" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron/dark, -/area/bridge) +"jkx" = ( +/turf/open/floor/iron/smooth_large, +/area/security/brig) "jkz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -38874,6 +37863,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"jkQ" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Foyer - Starboard" + }, +/turf/open/floor/iron, +/area/engine/break_room) "jkU" = ( /mob/living/simple_animal/bot/cleanbot/medbay, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -38888,22 +37886,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"jli" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons from the safety of his office."; - dir = 8; - name = "Research Monitor"; - network = list("rd"); - pixel_x = 28; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "jlw" = ( /obj/effect/turf_decal/siding/yellow, /obj/machinery/light{ @@ -38912,38 +37894,15 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/engine/break_room) -"jmb" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/machinery/light_switch{ - pixel_y = 26 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) -"jmn" = ( -/obj/item/screwdriver{ - pixel_y = 10 +"jlX" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/item/radio/off, -/obj/machinery/light{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "jmN" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, @@ -38952,22 +37911,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"jmW" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) -"jnd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/hos) "jny" = ( /obj/structure/sign/warning/explosives, /turf/closed/wall, @@ -38990,24 +37933,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"jnM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/security/brig) -"job" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/brig) "jok" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -39018,18 +37943,33 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) -"joB" = ( +"joq" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Storage Wing Entrance" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/machinery/light_switch{ + pixel_x = 1; + pixel_y = -21 + }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, /turf/open/floor/iron, -/area/security/brig) +/area/construction/storage_wing) +"jor" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "joK" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/yellow{ @@ -39067,6 +38007,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"jpN" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Aft-Port" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "jqc" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -39109,6 +38058,40 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) +"jrH" = ( +/obj/structure/table, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/machinery/button/door{ + id = "Biohazard"; + name = "Biohazard Shutter Control"; + pixel_x = -7; + req_access_txt = "47" + }, +/obj/machinery/button/door{ + desc = "A remote control switch for the research division entryway."; + id = "ResearchExt"; + name = "Research Exterior Airlock"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = 7 + }, +/obj/machinery/button/door{ + desc = "A remote control switch for the research division entryway."; + id = "ResearchInt"; + name = "Research Interior Airlock"; + normaldoorcontrol = 1; + pixel_x = 7; + pixel_y = -2 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/science/research) "jrP" = ( /obj/machinery/door/airlock/research{ id_tag = "ResearchExt"; @@ -39135,6 +38118,12 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"jse" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/auxiliary) "jsh" = ( /obj/item/radio/intercom{ dir = 1; @@ -39143,6 +38132,26 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"jsn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/medical) "jsp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -39155,6 +38164,29 @@ }, /turf/open/floor/iron/white, /area/science/mixing) +"jsJ" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Recovery Room"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/structure/table, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/mask/muzzle, +/obj/item/clothing/glasses/blindfold, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/glasses/eyepatch, +/obj/item/radio/intercom{ + pixel_y = 29 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/medical/surgery) "jtl" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -39201,6 +38233,29 @@ }, /turf/open/floor/iron, /area/maintenance/aft) +"jtU" = ( +/obj/machinery/computer/security/labor{ + dir = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) +"jut" = ( +/obj/machinery/computer/cargo/request{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "juP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -39270,23 +38325,6 @@ }, /turf/open/floor/iron/white, /area/medical/surgery) -"jvL" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/maintenance/solars/port/fore) "jwy" = ( /turf/open/floor/iron/stairs{ dir = 1 @@ -39308,22 +38346,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/checker, /area/hydroponics) -"jwL" = ( -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 8; - pixel_x = 30 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "jwU" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -39341,6 +38363,22 @@ "jwW" = ( /turf/closed/wall/mineral/plastitanium, /area/crew_quarters/fitness/recreation) +"jxf" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "jxt" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -39376,40 +38414,19 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/medical/patients_rooms) -"jyc" = ( -/obj/item/radio/intercom{ - pixel_x = -31; - pixel_y = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Aft Primary Hallway - Middle" - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"jyj" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Holodeck" - }, -/obj/item/radio/intercom{ - pixel_y = -28 - }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"jyk" = ( +/obj/machinery/camera/directional/east{ + c_tag = "AI Chamber - Starboard"; + network = list("aicore") }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/showcase/cyborg/old{ + dir = 8; + pixel_x = 9; + pixel_y = 2 }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai) "jyn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -39503,6 +38520,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard) +"jzS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_one_access_txt = "1;4" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/main) "jzU" = ( /obj/effect/turf_decal/plaque{ icon_state = "L9" @@ -39511,29 +38543,9 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/central) -"jzZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) -"jAc" = ( -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) +"jAi" = ( +/turf/open/floor/iron/tech/grid, +/area/security/main) "jAj" = ( /obj/structure/rack, /obj/item/multitool{ @@ -39568,17 +38580,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft/secondary) -"jAw" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Central Primary Hallway - Fore - Starboard Corner" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "jAy" = ( /obj/machinery/firealarm{ dir = 1; @@ -39591,6 +38592,15 @@ }, /turf/open/floor/iron/dark, /area/science/storage) +"jAH" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "jAJ" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -39640,21 +38650,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"jBP" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +"jBt" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 }, -/obj/machinery/light{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/iron/dark, +/area/aisat) "jBX" = ( /obj/structure/table/wood, /obj/item/camera_film{ @@ -39673,27 +38678,6 @@ }, /turf/open/floor/wood, /area/library) -"jCb" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Research and Development"; - network = list("ss13","rd") - }, -/obj/machinery/light_switch{ - pixel_x = 27 - }, -/obj/structure/table, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/scanning_module{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/scanning_module, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/capacitor, -/turf/open/floor/iron, -/area/science/lab) "jCi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/white, @@ -39725,6 +38709,30 @@ }, /turf/open/floor/iron, /area/maintenance/central) +"jCA" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) +"jCF" = ( +/obj/machinery/meter, +/obj/machinery/door/window/westleft{ + dir = 1; + name = "gas ports" + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "jCR" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 8 @@ -39749,18 +38757,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"jDw" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain/private) "jDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39803,6 +38799,22 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"jEP" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Command Hallway - Central" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/secondary/command) "jFo" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -39862,6 +38874,23 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"jHb" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 26 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Brig - Hallway - Entrance" + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "jHp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -39880,20 +38909,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"jHy" = ( -/obj/machinery/door/airlock/security{ - name = "Interrogation Monitoring"; - req_one_access_txt = "1;4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/carpet/grimy, -/area/security/main) "jHE" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -39921,12 +38936,57 @@ }, /turf/open/floor/iron, /area/maintenance/port/fore) +"jIc" = ( +/obj/structure/rack, +/obj/item/storage/box/firingpins{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/firingpins, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/tech/grid, +/area/security/main) "jIy" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, /turf/open/floor/wood/big, /area/crew_quarters/bar) +"jJj" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Teleporter Room" + }, +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/teleporter) +"jJE" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/tcommsat/server"; + dir = 4; + name = "Telecomms Server Room APC"; + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Telecomms - Server Room - Aft-Starboard"; + network = list("ss13","tcomms") + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/dark/telecomms, +/area/tcommsat/server) "jJU" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -39956,32 +39016,6 @@ }, /turf/open/floor/iron/grid/steel, /area/science/shuttledock) -"jKa" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) -"jKj" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/white, -/area/medical/medbay/lobby) "jKl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -40016,19 +39050,6 @@ }, /turf/open/floor/iron/dark/corner, /area/engine/atmos) -"jLs" = ( -/obj/structure/closet/secure_closet/genpop, -/obj/machinery/camera/directional/north{ - network = list("minisat") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/prison) "jLJ" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -40064,6 +39085,14 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"jMd" = ( +/obj/machinery/light/small, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/maintenance/department/science) "jMi" = ( /obj/structure/window/reinforced{ dir = 4 @@ -40096,14 +39125,6 @@ }, /turf/open/floor/iron, /area/quartermaster/warehouse) -"jMA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "jMB" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -40123,6 +39144,12 @@ }, /turf/open/floor/iron, /area/security/brig) +"jME" = ( +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/science/research) "jMN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -40165,6 +39192,40 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"jMY" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/checkpoint/science/research) +"jNh" = ( +/obj/item/radio/intercom{ + dir = 4; + pixel_x = 27 + }, +/obj/machinery/computer/security/mining{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/supply) "jNv" = ( /obj/machinery/light{ dir = 4 @@ -40184,6 +39245,17 @@ }, /turf/open/floor/iron, /area/storage/tools) +"jNC" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "jND" = ( /obj/machinery/requests_console{ announcementConsole = 1; @@ -40293,16 +39365,6 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) -"jPY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/brig) "jQh" = ( /obj/machinery/firealarm{ dir = 8; @@ -40317,44 +39379,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"jQi" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/pen, -/obj/machinery/newscaster{ - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_x = -7; - pixel_y = 26 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) -"jQN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/department/science/central) "jQQ" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -40391,6 +39415,24 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/aft) +"jRr" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/secondary) +"jRs" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Theatre - Backstage" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/structure/closet/crate/wooden/toy, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "jRt" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -40480,6 +39522,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"jTg" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/library) "jTi" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -40497,18 +39548,44 @@ dir = 1 }, /area/engine/atmos) -"jTl" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/main) "jTx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 }, /turf/open/floor/iron, /area/engine/atmos) +"jTy" = ( +/obj/structure/closet/secure_closet/security/med, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/medical) +"jTz" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Gear Room"; + req_one_access_txt = "1;4" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/security/main) +"jTO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "jUc" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -40554,6 +39631,31 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/hor) +"jUI" = ( +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/science/research"; + dir = 1; + name = "Research Division APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division - Airlock"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/science/research) "jUK" = ( /obj/structure/closet/wardrobe/grey, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -40582,6 +39684,21 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/prison, /area/security/prison) +"jVK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "jVZ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -40609,6 +39726,14 @@ }, /turf/open/floor/iron/white, /area/science/mixing) +"jWm" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/textured_large, +/area/security/main) "jWG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -40617,17 +39742,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"jWO" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/north{ - c_tag = "Toxins - Mixing Area"; - network = list("ss13","rd") - }, -/turf/open/floor/iron, -/area/science/mixing) "jXr" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -40645,6 +39759,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"jXA" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/taperecorder, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1423; + listening = 0; + name = "Interrogation Intercom"; + pixel_y = -24 + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "jXI" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -40662,12 +39789,9 @@ }, /turf/closed/wall, /area/engine/break_room) -"jXZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) +"jXW" = ( +/turf/open/floor/iron/dark/textured, +/area/security/brig) "jYi" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -40711,6 +39835,14 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron/white, /area/science/research) +"jZE" = ( +/obj/structure/closet/secure_closet/contraband/armory, +/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/lootdrop/armory_contraband, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/tech/grid, +/area/ai_monitored/security/armory) "jZO" = ( /obj/item/radio/intercom{ pixel_y = 21 @@ -40746,24 +39878,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"jZZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "kac" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -40957,6 +40071,15 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/cmo) +"kcL" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "kcV" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -40966,6 +40089,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"kdo" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/port) "kdt" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/eastright{ @@ -41087,6 +40220,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/maintenance/department/science) +"kfm" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/item/clothing/under/suit/navy, +/turf/open/floor/carpet/blue, +/area/crew_quarters/dorms) "kfY" = ( /obj/structure/table/wood, /obj/structure/window/reinforced, @@ -41139,16 +40280,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"khk" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/security_officer, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "kho" = ( /obj/effect/spawner/randomvend/snack, /turf/open/floor/iron/dark, @@ -41320,32 +40451,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"kkq" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/button/door{ - desc = "A remote control-switch for the engineering security doors."; - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_x = -24; - pixel_y = -6; - req_one_access_txt = "1;10" - }, -/obj/machinery/button/door{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_x = -24; - pixel_y = 5; - req_one_access_txt = "1;24" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "kks" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -41357,6 +40462,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/bridge) +"kkt" = ( +/obj/structure/table{ + pixel_y = 1 + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -27; + pixel_y = 6 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/science/research) "kky" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -41374,23 +40498,6 @@ /obj/item/vending_refill/cigarette, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"kkC" = ( -/obj/structure/closet/secure_closet/detective, -/obj/effect/landmark/blobstart, -/obj/machinery/camera/directional/west{ - c_tag = "Detective's Office" - }, -/turf/open/floor/carpet/grimy, -/area/security/detectives_office) -"kkE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "klm" = ( /obj/structure/closet/secure_closet/miner, /obj/structure/extinguisher_cabinet{ @@ -41506,6 +40613,19 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/storage/primary) +"knj" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Auxiliary Tool Storage" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/storage/tools) "knz" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -41530,20 +40650,13 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"knR" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Gravity Generator Room" +"koh" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, -/area/engine/gravity_generator) -"knX" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/starboard/secondary) +/area/security/brig) "koB" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable/yellow{ @@ -41593,16 +40706,6 @@ }, /turf/open/floor/iron, /area/maintenance/port) -"koT" = ( -/obj/machinery/light_switch{ - pixel_x = -25 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Cryogenics Lounge"; - name = "recreation camera" - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) "koY" = ( /obj/structure/sign/warning/biohazard, /turf/closed/wall, @@ -41637,6 +40740,12 @@ }, /turf/open/floor/engine, /area/engine/engineering) +"kqh" = ( +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "kqm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -41668,20 +40777,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/locker) -"kqE" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Power Monitoring" - }, -/obj/machinery/modular_computer/console/preset/engineering, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/engine/engineering) "kqX" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -41760,6 +40855,17 @@ }, /turf/open/floor/iron, /area/construction/storage_wing) +"ksI" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "ksT" = ( /obj/structure/closet/boxinggloves, /obj/item/pool/rubber_ring, @@ -41817,6 +40923,12 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/cmo) +"kuo" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/iron/dark, +/area/engine/engineering) "kuC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, @@ -41841,21 +40953,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port/fore) -"kvA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "kvL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -42035,30 +41132,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/iron, /area/maintenance/aft/secondary) -"kxw" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/engineering{ - name = "Engine Room"; - req_access_txt = "10" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron{ - dir = 1 - }, -/area/engine/engineering) "kxS" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -42067,6 +41140,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/medical/morgue) +"kxT" = ( +/obj/structure/table, +/obj/item/paper_bin/construction, +/obj/item/airlock_painter, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron, +/area/storage/art) "kya" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -42090,34 +41172,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"kyr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) -"kys" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - areastring = "/area/hallway/secondary/service"; - dir = 1; - name = "Service Hall APC"; - pixel_y = 24 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/hallway/secondary/service) "kyt" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -42126,6 +41180,13 @@ /obj/effect/turf_decal/siding/purple/corner, /turf/open/floor/iron/white, /area/science/research) +"kyy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "kyV" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/blood/old, @@ -42142,6 +41203,27 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"kzD" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_y = 23 + }, +/obj/machinery/button/door{ + id = "psypriv"; + name = "Psycology Shutters Control"; + pixel_y = 37 + }, +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/medical/exam_room) "kzE" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -42213,6 +41295,27 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/security/courtroom) +"kAr" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "kAz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -42260,6 +41363,20 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) +"kBV" = ( +/obj/structure/sign/plaques/kiddie{ + pixel_y = 32 + }, +/obj/structure/table, +/obj/machinery/camera/directional/north{ + c_tag = "AI Upload Chamber - Fore"; + network = list("aiupload") + }, +/obj/item/kirbyplants/photosynthetic{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai_upload) "kCn" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -42440,6 +41557,16 @@ }, /turf/open/floor/iron/freezer, /area/security/prison) +"kFs" = ( +/obj/structure/rack, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/effect/loot_jobscale/armoury/riot_suit, +/obj/effect/loot_jobscale/armoury/riot_helmet, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "kFB" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -42468,18 +41595,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"kFN" = ( -/obj/structure/rack, -/obj/machinery/button/door{ - id = "armory"; - name = "Armory Shutters"; - pixel_x = 28; - req_access_txt = "3" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/riot_shield, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "kFS" = ( /obj/effect/landmark/start/scientist, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -42570,6 +41685,31 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/gateway) +"kHK" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Central Primary Hallway - Fore - Starboard Corner" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) +"kIb" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/science/research) "kId" = ( /obj/structure/table, /obj/item/book/manual/wiki/cooking_to_serve_man, @@ -42583,19 +41723,17 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"kIJ" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Brig - Hallway - Starboard" +"kIF" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/iron, -/area/security/brig) +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/cryopods) "kIQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -42727,6 +41865,13 @@ }, /turf/open/floor/plating, /area/security/brig) +"kKj" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "kKk" = ( /obj/structure/table, /obj/item/reagent_containers/glass/beaker{ @@ -42861,19 +42006,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/nuke_storage) -"kMt" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Auxiliary Tool Storage" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/storage/tools) "kMv" = ( /obj/machinery/door/airlock{ name = "Law Office"; @@ -42939,22 +42071,15 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"kNI" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, +"kNK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/turf/open/floor/engine, -/area/engine/engineering) +/turf/open/floor/iron/smooth_large, +/area/security/brig) "kNZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -42989,24 +42114,6 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"kOx" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Departure Lounge Security Post"; - req_access_txt = "63" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "kOE" = ( /obj/machinery/door/airlock/research{ id_tag = "ResearchInt"; @@ -43033,6 +42140,12 @@ }, /turf/open/floor/carpet/green, /area/library) +"kOM" = ( +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "kOP" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -43054,15 +42167,6 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) -"kPr" = ( -/obj/structure/rack, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/disabler, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "kPx" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -43070,6 +42174,19 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"kPV" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Arrivals - Middle Arm" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "kPZ" = ( /obj/structure/closet/emcloset, /obj/machinery/status_display/supply{ @@ -43089,16 +42206,6 @@ }, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"kQu" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/white, -/area/medical/medbay/aft) "kQN" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -43112,22 +42219,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"kRz" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/landmark/blobstart, -/obj/machinery/camera/directional/north{ - c_tag = "Evidence Storage" - }, -/obj/item/storage/secure/safe{ - name = "evidence safe"; - pixel_x = 6; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/brig) "kRA" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -43188,6 +42279,17 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"kTv" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "kTE" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -43208,10 +42310,12 @@ /obj/structure/extinguisher_cabinet{ pixel_x = -27 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/white/smooth_half{ dir = 1 }, -/turf/open/floor/iron/white, /area/security/brig) "kTP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -43294,24 +42398,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/toilet/auxiliary) -"kVI" = ( -/obj/structure/table/glass, -/obj/item/book/manual/wiki/medical_cloning{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/folder/white{ - pixel_x = -6 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/item/reagent_containers/spray/cleaner, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron, -/area/medical/genetics/cloning) "kVJ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -43336,45 +42422,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) -"kVZ" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/customs"; - dir = 1; - name = "Customs APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) -"kWm" = ( -/obj/item/seeds/wheat, -/obj/item/seeds/sugarcane, -/obj/item/seeds/potato, -/obj/item/seeds/apple, -/obj/item/grown/corncob, -/obj/item/food/grown/carrot, -/obj/item/food/grown/wheat, -/obj/item/food/grown/pumpkin{ - pixel_y = 5 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/structure/table/glass, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hydroponics) "kWr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -43403,6 +42450,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/engine/engineering) +"kWQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/customs) "kWV" = ( /obj/machinery/chem_master{ dir = 4 @@ -43446,6 +42508,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"kYI" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "kYZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -43508,21 +42579,32 @@ }, /turf/open/floor/prison, /area/security/prison) +"lad" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/central) "lal" = ( /obj/structure/closet, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"laI" = ( -/mob/living/simple_animal/slime, -/obj/machinery/light/small{ +"laG" = ( +/obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #1"; - network = list("ss13","rd","xeno") +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/engine, -/area/science/xenobiology) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "laO" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -43542,26 +42624,12 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"laV" = ( -/obj/structure/chair/stool{ - pixel_y = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) -"lbi" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera/directional/west{ - c_tag = "Captain's Office - Emergency Escape" +"lbd" = ( +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/maintenance/central) +/area/security/checkpoint/medical) "lby" = ( /obj/structure/chair/fancy/sofa/old/left{ color = "#596479"; @@ -43573,26 +42641,18 @@ }, /turf/open/floor/carpet/red, /area/medical/exam_room) -"lbR" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "lbU" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, /turf/open/floor/iron, /area/medical/patients_rooms) +"lcg" = ( +/obj/machinery/computer/card/minor/hos{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "lcl" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -43618,50 +42678,36 @@ }, /turf/open/floor/iron, /area/hydroponics/garden) -"lcR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"lep" = ( +/turf/open/floor/cult, +/area/library) +"ley" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/obj/machinery/camera/directional/west{ + c_tag = "Security - Office - Port" }, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/iron, -/area/gateway) -"ldm" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/turf/open/floor/iron/dark/smooth_half{ dir = 1 }, -/turf/open/floor/iron, -/area/security/brig) -"ldE" = ( -/obj/structure/table, -/obj/machinery/newscaster{ - pixel_x = 29; - pixel_y = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Departure Lounge - Security Post" - }, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = -4; - pixel_y = 4 +/area/security/main) +"leI" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Port to Filter" }, -/obj/item/taperecorder{ - pixel_x = 4 +/obj/machinery/light/small{ + dir = 8 }, -/obj/item/radio/intercom{ - pixel_y = -32 +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - Starboard" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) -"lep" = ( -/turf/open/floor/cult, -/area/library) +/area/engine/atmos) "leM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -43771,6 +42817,13 @@ /obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2, /turf/open/floor/catwalk_floor, /area/hallway/secondary/entry) +"lfV" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Interrogation room"; + network = list("interrogation") + }, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "lfZ" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/button/door{ @@ -43783,19 +42836,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/science/robotics/lab) -"lge" = ( -/obj/effect/spawner/randomarcade, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = 32 +"lgp" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/machinery/light{ + dir = 8 }, -/turf/open/floor/wood, -/area/crew_quarters/bar) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark, +/area/engine/break_room) "lhn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -43866,19 +42917,17 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"lig" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 +"lic" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Club - Aft" }, -/obj/machinery/camera/directional/east{ - c_tag = "Fore Primary Hallway Aft" +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -29 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron, -/area/hallway/primary/fore) +/obj/item/clothing/mask/cigarette/pipe, +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/crew_quarters/bar) "lik" = ( /obj/machinery/door/airlock/external, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -43892,6 +42941,18 @@ }, /turf/open/floor/plating, /area/science/shuttledock) +"liD" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/structure/chair/stool/directional/west, +/obj/effect/landmark/start/exploration, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, +/turf/open/floor/iron, +/area/science/shuttledock) "liG" = ( /obj/effect/turf_decal/tile/white/half/contrasted{ dir = 8 @@ -43917,8 +42978,24 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured_large, /area/security/brig) +"ljh" = ( +/obj/machinery/door/window{ + base_state = "rightsecure"; + dir = 4; + icon_state = "rightsecure"; + name = "Primary AI Core Access"; + obj_integrity = 300; + req_access_txt = "16" + }, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - Core"; + network = list("aicore") + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai) "ljm" = ( /obj/machinery/door/airlock{ name = "Toilet Unit" @@ -43938,6 +43015,13 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) +"ljB" = ( +/obj/machinery/camera/directional/south{ + c_tag = "AI Chamber - Aft"; + network = list("aicore") + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai) "ljM" = ( /obj/effect/turf_decal/plaque{ icon_state = "L14" @@ -43998,35 +43082,45 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"llr" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Break Room"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 +"llw" = ( +/obj/machinery/door/airlock/security{ + name = "Interrogation Monitoring"; + req_one_access_txt = "1;4" }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/disposalpipe/segment{ - dir = 6 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/machinery/door/firedoor, +/turf/open/floor/carpet/royalblack, +/area/security/main) +"llR" = ( +/obj/machinery/light{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - Port-Aft" }, -/obj/machinery/light{ +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ dir = 1 }, +/area/engine/atmos) +"lmt" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Fore" + }, /turf/open/floor/iron, -/area/medical/break_room) +/area/engine/engineering) "lmu" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 8 @@ -44041,25 +43135,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"lng" = ( -/obj/machinery/holopad, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/security/brig) "lnD" = ( /obj/item/folder/blue, /obj/structure/table/wood, @@ -44078,6 +43153,21 @@ }, /turf/open/floor/iron, /area/science/robotics/lab) +"lnH" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/medical) "lop" = ( /obj/machinery/doppler_array/research/science{ dir = 4 @@ -44090,6 +43180,36 @@ }, /turf/open/floor/iron/techmaint, /area/maintenance/department/science) +"loB" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/landmark/start/security_officer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) +"loH" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Office"; + req_one_access_txt = "1;4" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "loK" = ( /obj/structure/chair{ pixel_y = -2 @@ -44115,10 +43235,40 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"loN" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) +"loY" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "lpd" = ( /obj/structure/lattice/catwalk/over, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) +"lpe" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/turf/open/floor/prison, +/area/security/prison) "lpP" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -44196,6 +43346,31 @@ dir = 1 }, /area/engine/engineering) +"lrv" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division Hallway - Xenobiology Lab Access"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/science/research) "lrx" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44272,6 +43447,26 @@ }, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) +"ltc" = ( +/obj/machinery/photocopier{ + pixel_y = 3 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) +"ltz" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair/stool/directional/west{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/prison, +/area/security/prison) "ltF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -44296,15 +43491,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"ltV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "ltX" = ( /obj/structure/sign/warning/pods{ pixel_x = 30 @@ -44337,17 +43523,6 @@ }, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"lua" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "old sink"; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "lub" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -44383,18 +43558,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port/fore) -"luQ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "luX" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44461,6 +43624,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"lwb" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Gravity Generator Room" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron/dark, +/area/engine/gravity_generator) "lwd" = ( /obj/structure/sign/departments/minsky/research/robotics{ pixel_x = 32 @@ -44486,6 +43656,19 @@ /obj/structure/window/reinforced, /turf/open/floor/iron, /area/engine/engineering) +"lwp" = ( +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","medbay") + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "lwq" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -44551,6 +43734,18 @@ /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/maintenance/aft) +"lxO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "lxS" = ( /obj/structure/rack, /obj/machinery/firealarm{ @@ -44645,6 +43840,39 @@ }, /turf/open/floor/iron/dark/telecomms, /area/tcommsat/server) +"lzr" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/crew_quarters/locker) +"lzs" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "MiniSat Exterior - Aft"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/aisat) "lzt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -44675,6 +43903,16 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"lAn" = ( +/obj/item/radio/intercom{ + pixel_y = 20 + }, +/obj/machinery/computer/security, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "lAz" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -44722,6 +43960,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/heads/chief) +"lBy" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "lBQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44733,19 +43978,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/maintenance/port/fore) -"lCe" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Cargo - Foyer" - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/port) "lCi" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44764,22 +43996,6 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/white, /area/medical/surgery) -"lCP" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Middle Arm - Far" - }, -/obj/machinery/status_display/evac{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "lCQ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, @@ -44881,6 +44097,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/locker) +"lEp" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "lEI" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -44917,6 +44144,35 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"lFK" = ( +/obj/machinery/light_switch{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) +"lGm" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "MiniSat Exterior - Port Fore"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/aisat) "lGp" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -44966,41 +44222,66 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) -"lHx" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Departure Lounge - Port Aft" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 +"lHe" = ( +/obj/item/phone{ + desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; + pixel_x = -3; + pixel_y = 3 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/item/cigbutt/cigarbutt{ + pixel_x = 5; + pixel_y = -1 }, -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) -"lHH" = ( +/obj/structure/table/wood, /obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 + dir = 8; + pixel_x = 28 + }, +/turf/open/floor/carpet/royalblack, +/area/security/main) +"lHL" = ( +/obj/item/radio/intercom{ + pixel_y = -29 }, /obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway - Auxiliary Tool Storage" + c_tag = "Experimentation Lab"; + network = list("ss13","rd") }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/light, +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/iron/white, +/area/science/explab) +"lHU" = ( +/obj/machinery/computer/card, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Customs Checkpoint" + }, +/obj/effect/turf_decal/tile/red/half{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) +"lHV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "lIc" = ( /obj/machinery/door/airlock/command{ name = "Corporate Showroom"; @@ -45077,6 +44358,18 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"lJE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/medical) "lJI" = ( /obj/machinery/door/poddoor/preopen{ id = "xenobio4"; @@ -45113,6 +44406,19 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/medical/medbay/lobby) +"lKh" = ( +/obj/structure/filingcabinet/chestdrawer, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/item/radio/intercom{ + pixel_y = -29 + }, +/obj/effect/turf_decal/tile/black/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/hor) "lKk" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45235,14 +44541,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) -"lMe" = ( -/obj/structure/closet/secure_closet/miner, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/quartermaster/miningoffice) "lMf" = ( /obj/structure/chair{ dir = 8 @@ -45335,37 +44633,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"lMQ" = ( -/obj/machinery/light, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = -32 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) -"lMU" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/digital_clock/directional/east, -/turf/open/floor/iron, -/area/hallway/primary/port) "lMX" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -45436,18 +44703,6 @@ }, /turf/open/floor/iron/white, /area/science/explab) -"lNI" = ( -/obj/structure/table, -/obj/item/clothing/head/utility/hardhat/cakehat, -/obj/machinery/newscaster{ - pixel_x = -30 - }, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/light, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/bar) "lNP" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45476,6 +44731,17 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"lOo" = ( +/mob/living/simple_animal/slime, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #1"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/science/xenobiology) "lOA" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/effect/landmark/prisonspawn, @@ -45515,6 +44781,14 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"lPr" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/aft/secondary) "lPx" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -45559,18 +44833,12 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/plating, /area/maintenance/department/science) -"lQt" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "lQw" = ( /turf/closed/wall, /area/maintenance/starboard/aft) +"lQB" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/medical) "lQD" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -45593,25 +44861,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"lQV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/landmark/start/security_officer, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/main) "lQZ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Cargo Bay Bridge Access" @@ -45627,31 +44876,35 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"lRI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 +"lRs" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron, -/area/science/storage) -"lRV" = ( -/obj/structure/sign/poster/official/suit_sensors{ - pixel_x = -32; - pixel_y = 1 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/machinery/light{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"lRx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/computer/med_data{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"lRI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 }, -/turf/open/floor/iron/white, -/area/medical/medbay/central) +/turf/open/floor/iron, +/area/science/storage) "lSc" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -45680,6 +44933,41 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/quartermaster/miningoffice) +"lSj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Research Division Testing Range"; + network = list("ss13","rd") + }, +/obj/structure/chair/stool/directional/west, +/obj/structure/sign/poster/contraband/random{ + pixel_y = -32 + }, +/obj/effect/landmark/start/exploration, +/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, +/turf/open/floor/iron, +/area/science/shuttledock) +"lSu" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology Lab - Fore"; + network = list("ss13","rd") + }, +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/science/xenobiology"; + dir = 1; + name = "Xenobiology APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/science/xenobiology) "lSx" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45721,10 +45009,12 @@ layer = 3 }, /obj/structure/closet/secure_closet/brig_physician, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/white/smooth_half{ dir = 1 }, -/turf/open/floor/iron/white, /area/security/brig) "lTz" = ( /obj/structure/disposalpipe/segment, @@ -45737,6 +45027,22 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"lTC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/chair, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "lTL" = ( /obj/structure/sink{ dir = 8; @@ -45826,6 +45132,32 @@ }, /turf/open/floor/wood, /area/library) +"lVH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/light, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"lWP" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/red/anticorner, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/checkpoint/science/research) "lWY" = ( /obj/machinery/door/airlock/hatch{ name = "Telecomms Server Room" @@ -45911,21 +45243,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"lYb" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Engineering - Foyer - Shared Storage" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner, -/area/engine/storage_shared) "lYj" = ( /obj/machinery/door/airlock/medical/glass{ name = "Hydroponics"; @@ -46059,11 +45376,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) -"maZ" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "mba" = ( /obj/machinery/atmospherics/pipe/layer_manifold/visible, /obj/effect/turf_decal/tile/yellow{ @@ -46073,6 +45385,14 @@ dir = 1 }, /area/engine/atmos) +"mbZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "mcg" = ( /obj/machinery/light{ dir = 8 @@ -46188,21 +45508,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet/red, /area/medical/exam_room) -"mfc" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "mfz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -46251,6 +45556,15 @@ }, /turf/open/floor/iron, /area/hydroponics/garden) +"mgc" = ( +/obj/structure/table, +/obj/item/restraints/handcuffs, +/obj/item/radio/off, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "mgj" = ( /turf/open/floor/iron/dark, /area/maintenance/department/science/xenobiology) @@ -46309,18 +45623,17 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) -"mhE" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 +"mhG" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/item/pen, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/main) "mhI" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -46390,6 +45703,21 @@ }, /turf/open/floor/iron, /area/medical/surgery) +"mjH" = ( +/obj/structure/bed/roller, +/obj/machinery/vending/wallmed{ + pixel_x = -28 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Gateway - Atrium" + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/gateway) "mjJ" = ( /turf/closed/wall, /area/science/shuttledock) @@ -46419,6 +45747,24 @@ /obj/structure/window/spawner/north, /turf/open/floor/grass, /area/hallway/primary/central) +"mkN" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Departure Lounge - Starboard Fore" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "mla" = ( /obj/item/extinguisher, /turf/open/floor/iron, @@ -46492,6 +45838,15 @@ }, /turf/open/floor/iron/white, /area/medical/virology) +"mno" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "mny" = ( /obj/structure/window/reinforced, /obj/machinery/computer/atmos_control/tank/air_tank{ @@ -46559,6 +45914,12 @@ /obj/structure/chair, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"moM" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "moZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -46567,22 +45928,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/white, /area/medical/medbay/central) -"mpg" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "mpy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -46716,6 +46061,18 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"mqZ" = ( +/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/item/kirbyplants/random, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/hallway/secondary/exit/departure_lounge) "mrC" = ( /obj/machinery/light/small{ dir = 4 @@ -46735,12 +46092,32 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/quartermaster/office) -"mrU" = ( -/obj/structure/chair/office{ +"mrX" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) +"msa" = ( +/obj/structure/window/reinforced, +/obj/machinery/light/small, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Exterior - Fore"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, -/area/security/brig) +/area/aisat) "msp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -46751,13 +46128,48 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/white/side, /area/medical/medbay/lobby) -"mst" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"msz" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "2-8" }, -/turf/open/floor/iron/showroomfloor, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) +"msB" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/digital_clock/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/port) +"msG" = ( +/obj/machinery/seed_extractor, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/hydroponics/garden) +"msN" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/taperecorder{ + pixel_x = -4 + }, +/turf/open/floor/iron/dark/smooth_large, /area/security/main) "msY" = ( /obj/structure/cable/yellow{ @@ -46772,6 +46184,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) +"mtg" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "mtn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -46885,26 +46303,6 @@ }, /turf/open/floor/iron, /area/storage/primary) -"mui" = ( -/obj/machinery/door/airlock/security{ - name = "Armory"; - req_access_txt = "3"; - security_level = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/main) "mun" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -46958,31 +46356,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"mvp" = ( -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/structure/table/reinforced, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) -"mvz" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "mvP" = ( /obj/machinery/light{ dir = 8 @@ -47062,6 +46435,30 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"mxH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too."; + health = 45; + maxHealth = 45; + name = "Officer Beepsky" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "mxV" = ( /obj/machinery/light/small{ dir = 4 @@ -47081,6 +46478,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"mxY" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/customs) "myf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -47103,6 +46515,20 @@ }, /turf/open/floor/iron/white, /area/medical/genetics) +"myj" = ( +/obj/machinery/computer/security, +/obj/item/radio/intercom{ + pixel_x = 1; + pixel_y = 30 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/medical) "myk" = ( /obj/machinery/holopad, /obj/machinery/flasher{ @@ -47113,21 +46539,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"myw" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = -32; - pixel_y = -1 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/medical/genetics/cloning) "myO" = ( /obj/machinery/firealarm{ dir = 4; @@ -47193,11 +46604,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"mzO" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "mAd" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -47220,6 +46626,19 @@ }, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"mAq" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Secure Tech Storage" + }, +/obj/item/radio/intercom{ + pixel_x = 29 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/storage/tech) "mAw" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -47293,6 +46712,12 @@ }, /turf/open/floor/iron, /area/science/robotics/lab) +"mBr" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - Air" + }, +/turf/open/floor/engine/air, +/area/engine/atmos) "mBt" = ( /obj/structure/window/reinforced{ dir = 4 @@ -47319,16 +46744,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/engine/engineering) -"mCf" = ( -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/item/radio/off, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "mCA" = ( /obj/structure/sign/warning/vacuum{ pixel_x = 32 @@ -47370,6 +46785,16 @@ }, /turf/open/floor/prison, /area/security/prison) +"mDc" = ( +/obj/structure/chair, +/obj/machinery/camera/directional/north{ + c_tag = "Arrivals - Fore Arm - Far" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "mDg" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -47381,18 +46806,31 @@ luminosity = 2 }, /area/security/nuke_storage) -"mDp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"mDr" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/light_switch{ + pixel_x = -26 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/head/utility/welding{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/clothing/head/utility/welding{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "mDs" = ( /obj/effect/landmark/start/station_engineer, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -47467,6 +46905,24 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"mDN" = ( +/obj/structure/table/glass, +/obj/item/book/manual/wiki/medical_cloning{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/folder/white{ + pixel_x = -6 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/item/reagent_containers/spray/cleaner, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron, +/area/medical/genetics/cloning) "mDQ" = ( /obj/structure/window/reinforced{ dir = 1; @@ -47496,21 +46952,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"mEh" = ( -/obj/structure/rack, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/rubbershot, -/obj/item/storage/box/breacherslug, -/obj/item/storage/box/breacherslug, -/obj/item/storage/box/breacherslug, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/riot_shotgun, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "mEl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -47629,19 +47070,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"mFM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) "mFN" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -47688,21 +47116,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"mGx" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/fore) "mGT" = ( /obj/structure/bed/roller, /obj/machinery/door/window/eastleft{ @@ -47717,19 +47130,6 @@ /obj/structure/curtain, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"mGY" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Science Shuttle Dock"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/science/shuttledock) "mHa" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -47773,6 +47173,25 @@ }, /turf/open/floor/iron/dark, /area/maintenance/department/science/xenobiology) +"mHH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "mHT" = ( /obj/structure/chair/fancy/comfy{ color = "#666666"; @@ -47806,13 +47225,27 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"mJc" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +"mIk" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai_upload) +"mIU" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/science/research) "mJm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -47826,6 +47259,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/aft) +"mJJ" = ( +/obj/structure/closet/secure_closet/security/cargo, +/obj/machinery/light_switch{ + pixel_x = -25 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/supply) "mKs" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/machinery/light/small{ @@ -47841,23 +47287,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) -"mLd" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/directional/east{ - c_tag = "Incinerator"; - network = list("ss13","turbine") - }, -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 10 - }, -/turf/open/floor/iron/dark/smooth_large, -/area/maintenance/disposal/incinerator) "mLe" = ( /obj/structure/chair/office/light, /turf/open/floor/carpet/blue, @@ -47936,12 +47365,57 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"mLG" = ( +/obj/item/radio/intercom{ + pixel_x = 29 + }, +/obj/structure/closet/firecloset, +/obj/item/clothing/glasses/meson/engine, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/engine/engineering) "mLH" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"mLP" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/computer/bounty, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/qm) +"mLT" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "MiniSat Exterior - Port Aft"; + network = list("minisat") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/aisat) "mMn" = ( /obj/structure/rack, /obj/item/storage/firstaid/regular{ @@ -48046,6 +47520,20 @@ }, /turf/open/floor/iron, /area/storage/primary) +"mOf" = ( +/obj/item/radio/intercom{ + dir = 8; + pixel_x = -28 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Starboard - Art Storage" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "mOh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -48054,12 +47542,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"mOp" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "mOv" = ( /obj/effect/turf_decal/tile/neutral, /obj/structure/disposalpipe/segment{ @@ -48073,6 +47555,17 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) +"mOG" = ( +/obj/item/storage/secure/safe{ + pixel_x = 6; + pixel_y = 30 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Chief Engineer's Office" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/chief) "mOL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -48154,33 +47647,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) -"mQl" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Airlock"; - req_access_txt = "2" - }, -/obj/machinery/button/door{ - id = "prison release"; - name = "Labor Camp Shuttle Lockdown"; - pixel_y = -10; - req_access_txt = "2"; - pixel_x = -23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "mQS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -48292,18 +47758,6 @@ /obj/item/beacon, /turf/open/floor/engine, /area/maintenance/department/science/xenobiology) -"mTC" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "mTY" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -48322,6 +47776,19 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"mUb" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Cargo - Foyer" + }, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/hallway/primary/port) "mUc" = ( /obj/machinery/door/airlock/external{ name = "Supply Dock Airlock"; @@ -48363,32 +47830,45 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"mUv" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +"mVa" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ + dir = 4 + }, /turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) -"mUw" = ( +/area/science/server) +"mVf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/red/half{ dir = 8 }, -/turf/open/floor/iron, -/area/security/brig) -"mVa" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) +"mVB" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/trimline/dark_blue/filled/warning{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/science/server) +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/light, +/turf/open/floor/iron, +/area/hallway/primary/central) "mVG" = ( /obj/machinery/newscaster{ pixel_y = 32 @@ -48432,6 +47912,21 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"mVW" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = -32; + pixel_y = -1 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/medical/genetics/cloning) "mVY" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/delivery, @@ -48501,33 +47996,6 @@ }, /turf/open/floor/iron, /area/hydroponics) -"mXa" = ( -/obj/structure/table/glass, -/obj/item/folder/blue, -/obj/item/computer_hardware/hard_drive/role/medical{ - pixel_x = -3 - }, -/obj/item/computer_hardware/hard_drive/role/medical{ - pixel_x = 3 - }, -/obj/item/computer_hardware/hard_drive/role/chemistry{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/stamp/cmo{ - pixel_x = 10; - pixel_y = 12 - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/cmo) "mXd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -48539,14 +48007,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"mXm" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/landmark/start/scientist, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/mixing) "mXo" = ( /obj/machinery/door/firedoor, /obj/structure/cable/yellow{ @@ -48674,21 +48134,25 @@ }, /turf/open/floor/plating, /area/crew_quarters/toilet/auxiliary) -"mYl" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +"mYL" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/machinery/light{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo - Office" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/iron, -/area/quartermaster/office) +/obj/machinery/light{ + dir = 1; + light_color = "#c1caff" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "mYS" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -48727,17 +48191,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"mZH" = ( -/obj/item/radio/intercom{ - dir = 4; - pixel_x = 27 - }, -/obj/machinery/computer/security/mining{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "mZQ" = ( /turf/open/floor/engine, /area/science/explab) @@ -48831,19 +48284,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"nbQ" = ( -/obj/effect/turf_decal/tile/red, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/iron, -/area/security/brig) "ncc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 @@ -48853,19 +48293,6 @@ }, /turf/open/floor/catwalk_floor, /area/engine/atmos) -"ncG" = ( -/obj/item/radio/intercom{ - pixel_y = -29 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Experimentation Lab"; - network = list("ss13","rd") - }, -/obj/machinery/light, -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/iron/white, -/area/science/explab) "ncI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -48893,6 +48320,28 @@ }, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) +"ndt" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/eastleft{ + name = "First-Aid Supplies"; + red_alert_access = 1; + req_access_txt = "5" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/loot_jobscale/medical/medkits{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/effect/loot_jobscale/medical/medkits{ + pixel_x = 5 + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","medbay") + }, +/obj/item/book/manual/wiki/sopmedical, +/turf/open/floor/iron, +/area/medical/storage) "ndx" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -48969,20 +48418,6 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) -"neB" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/medical/genetics) "neO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -49061,6 +48496,23 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) +"ngb" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/engineering) "ngl" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -49071,6 +48523,26 @@ }, /turf/open/floor/iron, /area/storage/art) +"ngm" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/secondary/command) +"ngA" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "ngB" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -49086,17 +48558,6 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) -"ngE" = ( -/obj/structure/rack, -/obj/item/gun/energy/ionrifle, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/gun/energy/temperature/security, -/obj/item/clothing/suit/armor/laserproof, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "ngT" = ( /obj/machinery/sleeper{ dir = 1 @@ -49125,18 +48586,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/locker) -"nhI" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +"nhx" = ( +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/turret_protected/ai_upload"; + name = "Upload APC"; + pixel_y = -24 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "0-4" }, -/turf/open/floor/iron, -/area/security/brig) +/obj/machinery/camera/motion/directional/south{ + c_tag = "AI Upload Chamber - Port"; + network = list("aiupload") + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai_upload) "nhS" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -49194,6 +48658,25 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"njs" = ( +/obj/machinery/light/small, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Exterior Access"; + network = list("minisat") + }, +/obj/machinery/power/apc{ + areastring = "/area/aisat"; + name = "MiniSat Exterior APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/aisat) "njS" = ( /obj/machinery/shower{ dir = 8; @@ -49209,23 +48692,6 @@ /obj/effect/landmark/start/chaplain, /turf/open/floor/carpet/grimy, /area/chapel/office) -"nkb" = ( -/obj/structure/sign/warning/biohazard{ - pixel_x = -32 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Euthanization Chamber"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/circuit/telecomms, -/area/maintenance/department/science/xenobiology) -"nlh" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/brig) "nll" = ( /obj/structure/table/reinforced, /obj/item/folder/white{ @@ -49315,6 +48781,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"nmp" = ( +/obj/machinery/hydroponics/constructable, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hydroponics) "nmL" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -49335,6 +48811,21 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"nnt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) +"nnH" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/mixing) "nnO" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted, /obj/machinery/door/airlock/research/glass{ @@ -49358,31 +48849,21 @@ }, /turf/open/floor/prison, /area/security/prison) -"nnT" = ( -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/science/research"; +"noa" = ( +/obj/machinery/power/compressor{ + comp_id = "incineratorturbine"; dir = 1; - name = "Research Division APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Division - Airlock"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 + luminosity = 2 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13, engine") }, -/turf/open/floor/iron/white, -/area/science/research) +/obj/structure/cable, +/turf/open/floor/engine/vacuum, +/area/maintenance/disposal/incinerator) "nop" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -49404,21 +48885,19 @@ }, /turf/open/floor/iron/stairs, /area/science/mixing) -"noL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +"noD" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/textured_large, +/area/security/main) +"noO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, /turf/open/floor/iron, -/area/security/brig) +/area/janitor) "noP" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction, /obj/effect/spawner/structure/window/plasma/reinforced, @@ -49432,6 +48911,16 @@ }, /turf/open/floor/iron, /area/maintenance/aft) +"npg" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/structure/displaycase/trophy, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/library) "npF" = ( /obj/structure/table/glass, /obj/item/folder{ @@ -49443,6 +48932,12 @@ /obj/item/pen, /turf/open/floor/circuit/green/telecomms/mainframe, /area/tcommsat/server) +"npL" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/secondary/exit/departure_lounge) "npX" = ( /obj/item/reagent_containers/syringe/antiviral{ pixel_x = 7; @@ -49478,6 +48973,26 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"nqq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4; + name = "Connector Port (Air Supply)" + }, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster{ + pixel_x = -33; + pixel_y = 2 + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/patients_rooms) "nqG" = ( /obj/effect/turf_decal/tile/white{ dir = 1 @@ -49700,6 +49215,23 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"nwV" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - Fore Arm" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner, +/area/hallway/secondary/entry) "nwX" = ( /obj/structure/table/wood, /obj/item/gavelblock, @@ -49736,29 +49268,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"nxp" = ( -/obj/structure/table/wood, -/obj/item/lipstick{ - pixel_y = 5 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Theatre - Stage" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/item/instrument/guitar, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "nxv" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -49777,27 +49286,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"nxB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/south{ - c_tag = "Kitchen - Coldroom" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/kitchen_cold_room{ - pixel_y = -22 - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/kitchen) "nyc" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/decal/cleanable/dirt, @@ -49901,6 +49389,19 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"nzA" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/modular_computer/console/preset/command, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/bridge) "nzP" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -49967,6 +49468,16 @@ }, /turf/closed/wall, /area/medical/virology) +"nBe" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/dark, +/area/maintenance/department/science/xenobiology) "nBf" = ( /obj/machinery/door/airlock/research{ id_tag = "AuxGenetics"; @@ -50028,29 +49539,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"nCk" = ( -/obj/machinery/holopad, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) -"nCx" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/computer/bounty, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/qm) "nCF" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -50107,19 +49595,6 @@ }, /turf/open/floor/iron, /area/maintenance/department/science) -"nDe" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/crew_quarters/locker) "nDy" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -50133,11 +49608,8 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "nDE" = ( /obj/effect/turf_decal/stripes/line{ @@ -50255,12 +49727,45 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/fore) +"nGh" = ( +/obj/structure/table/wood, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Head of Security's Desk"; + departmentType = 5; + name = "Head of Security RC"; + pixel_y = 30 + }, +/obj/machinery/computer/med_data/laptop, +/obj/item/storage/secure/safe/HoS{ + pixel_x = 36; + pixel_y = 28 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Head of Security's Office" + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "nGk" = ( /obj/effect/turf_decal/trimline/dark_blue/filled/warning{ dir = 8 }, /turf/open/floor/iron/dark, /area/maintenance/department/science/xenobiology) +"nGw" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/machinery/light_switch{ + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/customs) "nGF" = ( /obj/docking_port/stationary{ dir = 4; @@ -50396,19 +49901,23 @@ }, /turf/open/floor/iron, /area/quartermaster/office) -"nIX" = ( -/obj/item/radio/intercom{ - pixel_y = 21 +"nIW" = ( +/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/machinery/camera/directional/north{ - c_tag = "Command Hallway - Starboard" + c_tag = "Atmospherics - Control Room" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/computer/station_alert, +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/turf/open/floor/iron, -/area/hallway/secondary/command) +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "nJv" = ( /obj/machinery/door/airlock/external{ name = "Auxiliary Escape Airlock" @@ -50468,6 +49977,29 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"nJY" = ( +/obj/machinery/door/airlock/security{ + name = "Armory"; + req_access_txt = "3"; + security_level = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/security/main) "nKe" = ( /obj/structure/disposalpipe/junction/flip{ dir = 2 @@ -50476,22 +50008,18 @@ /obj/machinery/fax/service, /turf/open/floor/iron, /area/hallway/secondary/service) -"nKi" = ( -/obj/structure/cable/white{ - icon_state = "4-8" +"nKu" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Chapel - Port" }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/chair/fancy/comfy{ + color = "#666666"; dir = 4 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/turf/open/floor/iron/chapel{ dir = 8 }, -/turf/open/floor/engine, -/area/engine/engineering) +/area/chapel/main) "nKz" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -50503,6 +50031,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/aft) +"nLq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/supply) "nLr" = ( /turf/open/floor/plating, /area/maintenance/disposal) @@ -50566,30 +50106,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/central) -"nLX" = ( -/obj/machinery/door/window/brigdoor{ - name = "Justice Chamber"; - req_access_txt = "3" - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/door/window/brigdoor{ - dir = 1; - name = "Justice Chamber"; - req_access_txt = "3" - }, -/obj/machinery/door/poddoor/preopen{ - id = "executionfireblast" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/execution/education) "nMk" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/extinguisher, @@ -50600,20 +50116,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/maintenance/disposal/incinerator) -"nMs" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Security Maintenance"; - req_one_access_txt = "1;4" +"nMn" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/item/stock_parts/cell/high{ + charge = 100; + maxcharge = 15000 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/mapping_helpers/airlock/abandoned, -/turf/open/floor/plating, -/area/maintenance/fore) +/turf/open/floor/iron/dark, +/area/storage/tech) "nMB" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/structure/window/reinforced{ @@ -50633,28 +50147,6 @@ /obj/machinery/digital_clock/directional, /turf/closed/wall, /area/hallway/secondary/exit/departure_lounge) -"nNB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Aft-Port Corner" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light, -/turf/open/floor/iron, -/area/hallway/primary/central) "nNC" = ( /obj/structure/rack, /obj/item/storage/box/chemimp{ @@ -50687,28 +50179,14 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"nNN" = ( -/obj/structure/table, -/obj/item/computer_hardware/hard_drive/role/signal/toxins, -/obj/item/computer_hardware/hard_drive/role/signal/toxins{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/computer_hardware/hard_drive/role/signal/toxins{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Research Director's Office"; - network = list("ss13","rd") - }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/black/opposingcorners{ - dir = 1 +"nNP" = ( +/obj/structure/chair/office, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/item/book/manual/wiki/sopcommand, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/hor) +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/supply) "nNU" = ( /obj/item/kirbyplants{ icon_state = "plant-08" @@ -50744,25 +50222,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/gateway) -"nOA" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/execution/education"; - dir = 1; - name = "Prisoner Education Chamber APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/closet/secure_closet/injection{ - name = "educational injections"; - pixel_x = 2 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "nOZ" = ( /obj/machinery/door/airlock/medical/glass{ id_tag = "MedbayFoyer"; @@ -50909,15 +50368,6 @@ }, /turf/open/floor/wood, /area/library) -"nQg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "nQq" = ( /obj/item/radio/intercom{ pixel_y = 20 @@ -50933,6 +50383,18 @@ }, /turf/open/floor/iron/white, /area/science/research) +"nQt" = ( +/obj/structure/chair/fancy/comfy{ + color = "#666666"; + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Chapel - Starboard" + }, +/turf/open/floor/iron/chapel{ + dir = 4 + }, +/area/chapel/main) "nQH" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -50981,30 +50443,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"nRr" = ( -/obj/structure/tank_dispenser, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins - Mixing Area"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/turf/open/floor/iron, -/area/science/mixing) -"nRP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/security/brig) "nRS" = ( /obj/structure/musician/piano, /obj/structure/window/reinforced{ @@ -51015,6 +50453,15 @@ }, /turf/open/floor/carpet, /area/crew_quarters/theatre) +"nSk" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "nSl" = ( /obj/structure/table, /obj/item/stack/package_wrap, @@ -51198,17 +50645,6 @@ }, /turf/open/floor/iron/dark/corner, /area/hallway/primary/starboard) -"nVb" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "nVo" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51220,6 +50656,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"nVt" = ( +/obj/machinery/computer/secure_data, +/obj/machinery/computer/security/telescreen{ + desc = "Used for monitoring medbay to ensure patient safety."; + dir = 4; + name = "Medbay Monitor"; + network = list("medbay"); + pixel_x = 1; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/medical) "nVu" = ( /obj/machinery/power/solar_control{ dir = 8; @@ -51242,21 +50693,6 @@ dir = 5 }, /area/science/research) -"nVz" = ( -/obj/structure/table/wood, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/computer/med_data/laptop{ - dir = 8; - pixel_y = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/wood, -/area/medical/exam_room) "nVZ" = ( /obj/structure/grille, /obj/effect/decal/cleanable/blood/old, @@ -51424,6 +50860,13 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"nYQ" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron/dark, +/area/bridge) "nZd" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -51457,6 +50900,19 @@ }, /turf/open/floor/iron, /area/medical/genetics/cloning) +"nZC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "nZE" = ( /obj/structure/cable/yellow, /obj/structure/cable/yellow{ @@ -51488,42 +50944,45 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"nZR" = ( -/obj/structure/filingcabinet, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) -"oaY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 +"oaG" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/tile/red/half{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 +/area/security/brig) +"oaH" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Transit Tube Access" }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark, +/area/engine/break_room) "obf" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /turf/open/floor/iron/white, /area/science/research) +"obn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) +"obs" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/trimline/blue/filled/line, +/turf/open/floor/iron/white, +/area/medical/medbay/aft) "obt" = ( /obj/machinery/computer/pandemic, /obj/effect/turf_decal/bot, @@ -51532,6 +50991,14 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"obN" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "obX" = ( /obj/docking_port/stationary{ dheight = 4; @@ -51587,6 +51054,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"ocv" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "ocx" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -51613,18 +51086,6 @@ }, /turf/open/floor/wood, /area/medical/exam_room) -"ocO" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/security/brig) "odl" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, @@ -51663,19 +51124,6 @@ /obj/structure/table/wood, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"odB" = ( -/obj/structure/closet/secure_closet/genpop, -/obj/machinery/power/apc/auto_name/directional/north{ - name = "Prison" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/prison) "odG" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -51794,6 +51242,11 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"ofM" = ( +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/trimline/red/line, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "ofQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -51935,6 +51388,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"oiM" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "ojf" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -52073,6 +51541,23 @@ }, /turf/open/floor/plating, /area/science/mixing) +"okJ" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/landmark/start/medical_doctor, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/medical/break_room) "okX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -52120,16 +51605,6 @@ }, /turf/open/floor/iron, /area/quartermaster/office) -"omg" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Pen #2"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "omo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/dark, @@ -52152,15 +51627,15 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"onb" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +"omU" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, /turf/open/floor/iron, -/area/security/brig) +/area/construction/mining/aux_base) "onc" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -52186,26 +51661,6 @@ /obj/item/stock_parts/matter_bin, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"onP" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "MiniSat Exterior - Port Fore"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/aisat) "onQ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -52306,6 +51761,17 @@ }, /turf/open/floor/engine/vacuum, /area/science/mixing/chamber) +"opt" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "opv" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52317,6 +51783,25 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/hallway/primary/starboard) +"opw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Engineering Supermatter Starboard"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"opy" = ( +/obj/machinery/telecomms/processor/preset_one, +/obj/machinery/camera/directional/north{ + c_tag = "Telecomms - Server Room - Fore-Port"; + network = list("ss13","tcomms") + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/tcommsat/server) "opX" = ( /obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" @@ -52533,6 +52018,19 @@ }, /turf/open/space, /area/solar/starboard/aft) +"osI" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "osY" = ( /obj/machinery/door/poddoor/preopen{ id = "bridge blast"; @@ -52566,17 +52064,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) -"otn" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/effect/turf_decal/delivery/red, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/storage) "otF" = ( /obj/machinery/light_switch{ pixel_x = 6; @@ -52591,20 +52078,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"otJ" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/delivery/red, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -31 - }, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/grid/steel, -/area/medical/virology) "otS" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -52734,6 +52207,15 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"owo" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/turf/open/floor/carpet/red, +/area/security/detectives_office) "owq" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52794,6 +52276,10 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron, /area/science/mixing) +"oxz" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/iron/dark/textured, +/area/security/brig) "oxF" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52803,52 +52289,24 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/white, /area/science/research) -"oxH" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Central Primary Hallway - Fore - AI Upload" - }, -/obj/structure/sign/warning/securearea{ - desc = "A warning sign which reads 'HIGH-POWER TURRETS AHEAD'."; - name = "\improper HIGH-POWER TURRETS AHEAD"; - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +"oxM" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/radio/intercom{ + pixel_x = -2; + pixel_y = -28 }, -/turf/open/floor/iron, -/area/hallway/primary/central) +/turf/open/floor/iron/white, +/area/medical/medbay/aft) "oxO" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) -"oxP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/maintenance/fore) "oxR" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -52921,12 +52379,41 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron, /area/maintenance/department/science) +"oyI" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Fore - Port Corner" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "oyW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /turf/open/floor/iron/dark, /area/chapel/main) +"oza" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/storage_shared) "ozb" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 @@ -52979,6 +52466,27 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"ozS" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/item/radio/intercom{ + pixel_y = 26 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "ozT" = ( /obj/machinery/status_display/evac{ pixel_y = 32 @@ -53023,6 +52531,14 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) +"oAX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "oBd" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, @@ -53062,6 +52578,23 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) +"oBw" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/landmark/start/security_officer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "oBL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -53075,20 +52608,11 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) -"oBW" = ( -/obj/machinery/light, -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway - Engineering" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) +"oBP" = ( +/obj/structure/rack, +/obj/effect/loot_jobscale/armoury/laser_gun, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "oBZ" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -53126,6 +52650,15 @@ }, /turf/open/floor/iron/white, /area/medical/genetics) +"oCJ" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname{ + dir = 6; + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/break_room) "oDd" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -53198,29 +52731,21 @@ }, /turf/open/floor/iron, /area/science/mixing) -"oEg" = ( -/obj/machinery/computer/crew, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - name = "Medbay RC"; - pixel_y = 31 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 32; - pixel_y = 31 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "oEj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark, /area/chapel/main) +"oEm" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "oEt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/white, @@ -53341,6 +52866,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/engine/engineering) +"oGa" = ( +/obj/item/storage/crayons, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/carpet/grimy, +/area/chapel/office) "oGb" = ( /obj/effect/landmark/start/chaplain, /turf/open/floor/iron/dark, @@ -53350,6 +52886,11 @@ /obj/effect/spawner/lootdrop/maintenance/eight, /turf/open/floor/plating, /area/maintenance/aft) +"oHa" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) "oHm" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -53408,34 +52949,46 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/medical/central) -"oIj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"oIa" = ( +/obj/machinery/holopad, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/plating, -/area/maintenance/department/medical/central) -"oIo" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/camera/directional/south{ - c_tag = "Central Primary Hallway - Aft-Starboard Corner" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"oIe" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 10; + pixel_y = 3 + }, +/turf/open/floor/iron/showroomfloor, +/area/security/warden) +"oIj" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/hallway/primary/central) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/central) "oIs" = ( /obj/effect/turf_decal/pool{ dir = 1 @@ -53624,18 +53177,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/science/robotics/lab) -"oKZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 +"oKU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/brig) "oLr" = ( /obj/machinery/light/small{ @@ -53816,6 +53362,19 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/science/robotics/lab) +"oPY" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Science Shuttle Dock"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/science/shuttledock) "oQk" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -53832,17 +53391,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"oQQ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "oQV" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -53901,6 +53449,29 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"oRI" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/door/window{ + base_state = "right"; + icon_state = "right"; + name = "MiniSat Walkway Access" + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Exterior - Aft Starboard"; + network = list("minisat") + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark, +/area/aisat) "oRL" = ( /obj/docking_port/stationary{ dir = 2; @@ -54027,6 +53598,13 @@ }, /turf/open/floor/iron/white, /area/medical/genetics/cloning) +"oUj" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/rnd/production/techfab/department/security, +/turf/open/floor/iron/showroomfloor, +/area/security/warden) "oUz" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -54054,6 +53632,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/quartermaster/sorting) +"oUK" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Bridge - Central" + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/fax/bridge, +/turf/open/floor/iron/dark, +/area/bridge) "oUN" = ( /obj/machinery/door/airlock/maintenance{ name = "Research Maintenance"; @@ -54075,11 +53667,6 @@ }, /turf/open/floor/iron, /area/hydroponics/garden) -"oVb" = ( -/obj/structure/closet/bombcloset/security, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/main) "oVx" = ( /obj/item/radio/intercom{ pixel_y = 21 @@ -54117,6 +53704,12 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/library) +"oVG" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "oVH" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -54164,6 +53757,16 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) +"oWX" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "oXu" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/structure/lattice, @@ -54198,6 +53801,20 @@ /obj/machinery/light, /turf/open/floor/iron, /area/hydroponics/garden) +"oYz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "oYA" = ( /obj/effect/spawner/randomvend/snack, /obj/structure/sign/map/right{ @@ -54208,6 +53825,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) +"oYY" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/obj/machinery/computer/security/telescreen/minisat{ + dir = 4; + pixel_x = -29 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/obj/structure/table, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/engineering) "oZK" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -54295,21 +53929,31 @@ }, /turf/open/floor/iron, /area/storage/primary) -"pbY" = ( -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 +"pcd" = ( +/obj/structure/table, +/obj/structure/sign/map/right{ + desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; + icon_state = "map-right-MS"; + pixel_y = 32 }, -/obj/item/pen, -/obj/structure/table/reinforced, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/sign/map/right{ + desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; + icon_state = "map-right-MS"; + pixel_y = 32 + }, +/turf/open/floor/iron/dark/smooth_corner{ dir = 8 }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) +/area/hallway/secondary/exit/departure_lounge) "pch" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -54321,6 +53965,21 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/maintenance/department/science) +"pcJ" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/hallway/secondary/exit/departure_lounge) "pda" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron, @@ -54445,17 +54104,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/port) -"pgL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "pgQ" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=13.2-Tcommstore"; @@ -54489,25 +54137,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/white, /area/medical/surgery) -"phu" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/rack, -/obj/item/storage/box/flashes{ - pixel_x = 3 - }, -/obj/item/storage/box/teargas{ - pixel_x = 1; - pixel_y = -2 - }, -/obj/item/gun/grenadelauncher/security, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "phx" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel{ @@ -54577,14 +54206,18 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"piP" = ( -/obj/structure/closet/l3closet/security, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 +"piK" = ( +/obj/machinery/door/airlock/external{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2" }, -/turf/open/floor/iron, -/area/security/main) +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/security/brig) "pkb" = ( /obj/machinery/computer/rdservercontrol, /obj/effect/turf_decal/trimline/dark_blue/filled/line{ @@ -54669,6 +54302,13 @@ }, /turf/open/floor/iron, /area/storage/tools) +"pll" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/medical) "plF" = ( /obj/structure/rack, /obj/item/clothing/shoes/sneakers/orange, @@ -54681,8 +54321,10 @@ /obj/item/clothing/under/rank/prisoner, /obj/item/clothing/under/rank/prisoner, /obj/item/clothing/under/rank/prisoner, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_red/half{ + dir = 8 + }, +/turf/open/floor/iron/smooth_half, /area/security/prison) "plM" = ( /obj/machinery/atmospherics/components/binary/valve{ @@ -54707,26 +54349,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/hallway/primary/central) -"pmc" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "MiniSat Exterior - Aft"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/aisat) "pmr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54739,6 +54361,21 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"pmt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "pmD" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -54800,15 +54437,46 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"pnZ" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 28 +"pnk" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/item/radio/intercom{ + pixel_x = -29 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Research Division - Nanite Lab"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark, +/area/science/nanite) +"pnl" = ( +/obj/item/radio/intercom{ + frequency = 1485; + name = "Station Intercom (Medbay)"; + pixel_y = -30 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Medbay Foyer"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/white, +/area/medical/medbay/lobby) "pou" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -54893,6 +54561,15 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"pqm" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/camera/directional/east{ + c_tag = "Toxins Storage"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark, +/area/science/storage) "pqo" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -54905,15 +54582,6 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron, /area/vacant_room/commissary) -"pqA" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/engine, -/area/science/explab) "pqE" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -54987,6 +54655,20 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/science/robotics/mechbay) +"psa" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/engine/engineering) "psm" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55067,13 +54749,6 @@ }, /turf/open/floor/iron, /area/maintenance/port/fore) -"psR" = ( -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/turf/open/floor/iron, -/area/security/brig) "psS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -55110,6 +54785,31 @@ /obj/machinery/fax/law, /turf/open/floor/carpet/green, /area/lawoffice) +"ptC" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Storage" + }, +/obj/machinery/suit_storage_unit/engine, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron{ + dir = 1 + }, +/area/engine/engineering) +"ptI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "pui" = ( /obj/machinery/button/door{ desc = "A remote control-switch for the engineering security doors."; @@ -55149,6 +54849,46 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"puN" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 32 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"pvg" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/landmark/start/botanist, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron, +/area/hydroponics) +"pvh" = ( +/obj/machinery/light/small, +/obj/item/folder, +/obj/item/folder, +/obj/machinery/camera/directional/south{ + c_tag = "Telecomms - Control Room"; + network = list("ss13","tcomms") + }, +/obj/structure/table/wood, +/obj/item/pen, +/obj/machinery/light_switch/tcomms{ + pixel_x = 9; + pixel_y = -24 + }, +/turf/open/floor/carpet/grimy, +/area/tcommsat/computer) "pvm" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -55248,6 +54988,41 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"pyl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/gulag_item_reclaimer{ + pixel_y = 24 + }, +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) +"pyq" = ( +/obj/item/radio/intercom{ + dir = 4; + pixel_x = 27 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Mining Office" + }, +/obj/machinery/vendor/mining, +/obj/effect/turf_decal/tile/brown/half/contrasted, +/turf/open/floor/iron, +/area/quartermaster/miningoffice) +"pyI" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Aft-Starboard" + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/hallway/primary/central) "pyU" = ( /obj/effect/spawner/randomvend/cola, /turf/open/floor/carpet, @@ -55264,6 +55039,14 @@ }, /turf/open/floor/iron, /area/science/shuttledock) +"pze" = ( +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/loot_jobscale/armoury/disabler, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "pzn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -55303,17 +55086,6 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/white, /area/science/research) -"pzG" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "pzJ" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -55382,11 +55154,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/crew_quarters/cryopods) -"pAX" = ( -/obj/machinery/rnd/production/techfab/department/security, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/main) "pBf" = ( /obj/effect/turf_decal/bot_white/right, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -55454,6 +55221,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) +"pCY" = ( +/obj/effect/turf_decal/siding/dark, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "pDo" = ( /obj/item/cigbutt, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -55464,6 +55238,19 @@ dir = 5 }, /area/science/research) +"pDy" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bed{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/grid/steel, +/area/medical/patients_rooms) "pDG" = ( /obj/structure/cable, /obj/machinery/power/solar{ @@ -55472,20 +55259,6 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/solar/starboard/fore) -"pDJ" = ( -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/crew_quarters/dorms) -"pDW" = ( -/obj/structure/chair/fancy/comfy{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Arrivals - Lounge" - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/grimy, -/area/hallway/primary/port) "pDY" = ( /obj/machinery/computer/atmos_alert, /obj/structure/sign/map/left{ @@ -55500,29 +55273,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/engineering) -"pDZ" = ( -/obj/item/storage/box, -/obj/structure/table, -/obj/item/storage/box, -/obj/item/storage/box, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/item/hand_labeler, -/obj/machinery/power/apc{ - areastring = "/area/quartermaster/sorting"; - dir = 4; - name = "Delivery Office APC"; - pixel_x = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white/corner, -/area/quartermaster/sorting) "pEb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -55551,55 +55301,34 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/storage/tcom) -"pEB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4; - name = "Connector Port (Air Supply)" - }, -/obj/effect/turf_decal/bot, -/obj/machinery/newscaster{ - pixel_x = -33; - pixel_y = 2 - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/medical/patients_rooms) "pEJ" = ( /obj/item/cigbutt, /obj/item/rack_parts, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"pEQ" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Exterior - Starboard Fore"; - network = list("minisat") +"pEK" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/aisat) +/area/security/main) "pER" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/iron/dark, /area/science/nanite) +"pEY" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/wood, +/area/crew_quarters/bar) "pFa" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55611,34 +55340,29 @@ }, /turf/open/floor/iron, /area/medical/chemistry) -"pFg" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/eastleft{ - name = "First-Aid Supplies"; - red_alert_access = 1; - req_access_txt = "5" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/loot_jobscale/medical/medkits{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/effect/loot_jobscale/medical/medkits{ - pixel_x = 5 - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","medbay") - }, -/obj/item/book/manual/wiki/sopmedical, -/turf/open/floor/iron, -/area/medical/storage) "pFn" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ dir = 9 }, /turf/open/floor/iron, /area/engine/atmos) +"pFB" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat - Antechamber"; + network = list("minisat") + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -22; + pixel_y = -8 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat_interior) "pFG" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -55685,6 +55409,24 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) +"pGU" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) +"pHo" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "pHJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -55724,6 +55466,15 @@ }, /turf/open/floor/iron/white, /area/science/lab) +"pIf" = ( +/obj/effect/turf_decal/siding/red{ + dir = 10 + }, +/obj/effect/turf_decal/siding/red/corner{ + dir = 4 + }, +/turf/open/floor/glass/reinforced, +/area/security/main) "pIh" = ( /obj/structure/bookcase/random/adult, /obj/effect/turf_decal/siding/wood{ @@ -55797,25 +55548,6 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/tcommsat/server) -"pJC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/light, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/brig) "pKq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -55828,6 +55560,12 @@ /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/plating, /area/maintenance/aft) +"pKL" = ( +/obj/effect/turf_decal/siding/red/end{ + dir = 1 + }, +/turf/open/floor/glass/reinforced, +/area/security/main) "pKQ" = ( /obj/machinery/light_switch{ pixel_x = 28 @@ -55874,41 +55612,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"pLx" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/medical/break_room) -"pLR" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Aft Primary Hallway - Aft" - }, -/obj/structure/sign/departments/evac{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white/corner, -/area/hallway/primary/aft) "pLY" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -55975,10 +55678,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"pNk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "pNs" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall, @@ -56033,6 +55732,26 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) +"pOf" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Secure Gear Storage"; + req_access_txt = "3" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 30 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/textured, +/area/security/main) "pOk" = ( /obj/effect/landmark/xeno_spawn, /obj/structure/cable/yellow{ @@ -56085,31 +55804,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"pPa" = ( -/obj/structure/table, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/machinery/light_switch{ - pixel_x = -26 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/clothing/head/utility/welding{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/clothing/head/utility/welding{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/clothing/gloves/color/yellow, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) "pPd" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -56126,24 +55820,23 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"pPR" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_one_access_txt = "1;4" +"pPY" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "pQr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -56256,23 +55949,6 @@ }, /turf/open/floor/iron/white/corner, /area/hallway/secondary/entry) -"pSj" = ( -/obj/structure/chair, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 1; - pixel_y = -30 - }, -/turf/open/floor/carpet/grimy, -/area/security/main) -"pSm" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "pSs" = ( /obj/structure/table, /obj/item/clipboard, @@ -56388,15 +56064,19 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"pUF" = ( +"pUE" = ( +/obj/effect/landmark/xeno_spawn, /obj/machinery/airalarm/directional/north{ pixel_y = 23 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/iron, -/area/science/mixing) +/turf/open/floor/wood, +/area/crew_quarters/dorms) "pUJ" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/bot_white, @@ -56446,17 +56126,30 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"pVB" = ( -/obj/machinery/holopad, -/obj/structure/disposalpipe/segment{ - dir = 6 +"pVz" = ( +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) +"pVA" = ( +/obj/item/radio/intercom{ + pixel_x = -30 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/clothing/mask/gas, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) +/obj/structure/table, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/effect/turf_decal/tile/yellow/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "pVJ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -56481,18 +56174,25 @@ }, /turf/open/floor/iron, /area/science/shuttledock) -"pVS" = ( -/obj/structure/chair{ - dir = 4 +"pVV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/light{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/turf/open/floor/iron/dark, -/area/security/brig) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) "pWd" = ( /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."; @@ -56512,31 +56212,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/ai_monitored/turret_protected/ai_upload) -"pWm" = ( -/obj/item/radio/intercom{ - frequency = 1485; - name = "Station Intercom (Medbay)"; - pixel_y = -30 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Medbay Foyer"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron/white, -/area/medical/medbay/lobby) "pWx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/junction{ @@ -56551,6 +56226,22 @@ }, /turf/open/floor/wood, /area/library) +"pXg" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/engineering) "pXl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -56579,6 +56270,24 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"pXt" = ( +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching the RD's goons from the safety of his office."; + dir = 8; + name = "Research Monitor"; + network = list("rd"); + pixel_x = 28; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) "pXu" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/pump, @@ -56607,18 +56316,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"pYm" = ( -/obj/structure/table/reinforced, -/obj/item/folder/red, -/obj/item/folder/red, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "pYp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -56673,7 +56370,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "pYW" = ( /obj/structure/table/wood, @@ -56697,6 +56394,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/secondary/command) +"pZw" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 26 + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/toilet/restrooms) "pZE" = ( /obj/effect/spawner/structure/window/reinforced/prison, /obj/machinery/door/poddoor/preopen{ @@ -56725,6 +56431,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"pZT" = ( +/obj/effect/turf_decal/siding/red{ + dir = 3 + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/turf/open/floor/glass/reinforced, +/area/security/main) "qan" = ( /obj/effect/turf_decal/trimline/black/filled/line{ dir = 4 @@ -56782,31 +56497,12 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"qaI" = ( -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/bar) -"qaJ" = ( -/obj/structure/table, -/obj/item/hand_tele, -/obj/item/beacon, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/teleporter) -"qaY" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"qaG" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - N2" }, -/turf/open/floor/iron, -/area/medical/break_room) +/turf/open/floor/engine/n2, +/area/engine/atmos) "qbq" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -56824,19 +56520,17 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/aft) -"qbu" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Central"; - network = list("ss13","rd") +"qby" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 +/obj/item/radio/intercom{ + dir = 1; + pixel_x = -31; + pixel_y = -3 }, -/turf/open/floor/iron/dark, -/area/science/xenobiology) +/turf/open/floor/iron/grid/steel, +/area/medical/patients_rooms) "qbD" = ( /obj/structure/window/reinforced, /obj/effect/turf_decal/stripes/line{ @@ -56848,16 +56542,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"qbQ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "qce" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56923,6 +56607,14 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"qcY" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "qda" = ( /obj/machinery/firealarm{ dir = 8; @@ -56960,6 +56652,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard) +"qdM" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/explab) "qdO" = ( /obj/machinery/power/solar_control{ id = "forestarboard"; @@ -57119,15 +56820,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"qgf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "qgs" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -57319,6 +57011,16 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/space/nearstation) +"qkp" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/white, +/area/medical/medbay/aft) "qkt" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -57348,26 +57050,24 @@ }, /turf/open/floor/iron/white, /area/science/explab) -"qkD" = ( -/obj/structure/table, -/obj/item/wirecutters, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 +"qkK" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/machinery/requests_console{ - department = "Tool Storage"; - pixel_x = 30 +/obj/machinery/camera/directional/west{ + c_tag = "Starboard Primary Hallway - Atmospherics" }, -/obj/machinery/light{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 4 }, -/obj/machinery/camera/directional/east{ - c_tag = "Tool Storage" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/storage/primary) +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) "qkS" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -57380,21 +57080,52 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"qla" = ( +/obj/structure/table, +/obj/item/book/manual/hydroponics_pod_people, +/obj/machinery/light, +/obj/item/paper/guides/jobs/hydroponics, +/obj/machinery/camera/directional/south{ + c_tag = "Hydroponics - Foyer" + }, +/obj/item/radio/intercom{ + pixel_y = -25 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/hallway/primary/central) "qlt" = ( /obj/machinery/firealarm/directional/east, /obj/item/kirbyplants/random, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"qlu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "qlB" = ( /obj/structure/closet/secure_closet/genpop, /obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +/obj/effect/turf_decal/tile/dark_red/half{ + dir = 4 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_half, /area/security/prison) +"qlJ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "qlX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -57433,6 +57164,24 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"qnn" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Port Primary Hallway - Middle" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/port) "qno" = ( /obj/structure/showcase/cyborg/old{ dir = 4; @@ -57449,6 +57198,16 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron/dark, /area/hallway/primary/central) +"qnw" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/trimline/black/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/maintenance/department/science) "qnO" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -57512,21 +57271,9 @@ }, /turf/open/floor/iron/dark, /area/science/server) -"qpa" = ( -/obj/item/radio/intercom{ - dir = 4; - pixel_x = 27 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Mining Office" - }, -/obj/machinery/vendor/mining, -/obj/effect/turf_decal/tile/brown/half/contrasted, -/turf/open/floor/iron, -/area/quartermaster/miningoffice) "qpd" = ( /obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured_large, /area/security/brig) "qpf" = ( /obj/effect/turf_decal/delivery, @@ -57543,21 +57290,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"qpp" = ( -/obj/machinery/light/small, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Exterior - Space Access"; - network = list("minisat") - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/aisat) "qpw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, @@ -57730,12 +57462,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/fore) -"qtW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"qtX" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "qua" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -57790,32 +57528,60 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"quO" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; +"qvb" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) +"qwe" = ( +/obj/machinery/door/airlock/security{ + aiControlDisabled = 1; + id_tag = "prisonereducation"; + name = "Prisoner Education Chamber"; + req_access_txt = "3" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"qwJ" = ( +/obj/machinery/power/apc{ + areastring = "/area/hydroponics/garden"; dir = 4; - name = "Medbay Monitor"; - network = list("medbay"); - pixel_x = 1; - pixel_y = 32 + name = "Garden APC"; + pixel_x = 24 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) -"qvu" = ( -/obj/item/storage/secure/safe{ - name = "armory safe A"; - pixel_x = 6; - pixel_y = 28 +/obj/machinery/disposal/bin, +/obj/machinery/camera/directional/east{ + c_tag = "Garden" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/hydroponics/garden) "qwQ" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -57842,15 +57608,15 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"qxk" = ( -/obj/machinery/light_switch{ - pixel_y = 26 +"qxo" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 }, -/turf/open/floor/iron, -/area/security/brig) +/area/security/checkpoint/medical) "qxs" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -57908,22 +57674,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"qye" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "qyx" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -58018,15 +57768,6 @@ "qAa" = ( /turf/closed/wall, /area/science/mixing) -"qAn" = ( -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","medbay") - }, -/obj/structure/table/reinforced, -/obj/item/storage/crayons, -/turf/open/floor/prison, -/area/security/prison) "qAu" = ( /obj/machinery/door/poddoor/preopen{ id = "Prisongate"; @@ -58188,9 +57929,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port) -"qCo" = ( -/turf/open/floor/iron, -/area/security/main) "qCp" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/light_switch{ @@ -58199,6 +57937,16 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) +"qCw" = ( +/obj/machinery/photocopier, +/obj/machinery/camera/directional/east{ + c_tag = "Law Office" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/lawoffice) "qCC" = ( /obj/machinery/dna_scannernew, /obj/effect/turf_decal/stripes/end, @@ -58218,6 +57966,16 @@ }, /turf/open/floor/iron, /area/medical/break_room) +"qCZ" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/grid/steel, +/area/medical/virology) "qDn" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -58249,23 +58007,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/solars/starboard/aft) -"qDN" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat - Antechamber"; - network = list("minisat") - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -22; - pixel_y = -8 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat_interior) "qDP" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=14-Starboard-Central"; @@ -58280,19 +58021,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"qEf" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/security_officer, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/main) -"qEq" = ( -/obj/structure/closet/secure_closet/lethalshots, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "qEw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -58346,24 +58074,6 @@ }, /turf/open/floor/grass, /area/science/xenobiology) -"qEV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/research) "qFC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58371,13 +58081,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"qFQ" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 +"qFH" = ( +/obj/machinery/disposal/bin, +/obj/machinery/light_switch{ + pixel_y = -26 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Fitness Room - Aft" + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, /area/crew_quarters/fitness/recreation) "qFY" = ( /obj/structure/cable/yellow{ @@ -58420,6 +58139,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port) +"qGu" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/shower{ + layer = 4; + name = "emergency shower"; + pixel_y = 7 + }, +/obj/effect/turf_decal/stripes/end, +/turf/open/floor/noslip/white, +/area/medical/patients_rooms) "qGx" = ( /obj/machinery/newscaster, /turf/closed/wall, @@ -58438,20 +58172,6 @@ }, /turf/open/floor/iron, /area/construction/mining/aux_base) -"qGM" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "qGT" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/closed/wall/r_wall, @@ -58460,6 +58180,14 @@ /obj/machinery/chem_dispenser, /turf/open/floor/iron, /area/medical/chemistry) +"qHn" = ( +/obj/structure/chair, +/obj/machinery/computer/security/telescreen/interrogation{ + dir = 1; + pixel_y = -30 + }, +/turf/open/floor/carpet/royalblack, +/area/security/main) "qHo" = ( /obj/machinery/porta_turret/ai, /obj/machinery/flasher{ @@ -58469,13 +58197,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai) -"qHw" = ( -/obj/structure/rack, -/obj/item/storage/box/sec_barricades, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/item/survivalcapsule/capsule_checkpoint, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "qHC" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -58515,6 +58236,25 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard) +"qIi" = ( +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Research Division Hallway - Central"; + network = list("ss13","rd") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/science/research) "qIv" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -58534,12 +58274,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"qIx" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "qIR" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -58624,27 +58358,21 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) -"qKX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" +"qKV" = ( +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/light{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/engine, +/area/engine/engineering) "qLa" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/machinery/meter, @@ -58684,22 +58412,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"qMo" = ( -/obj/effect/turf_decal/tile/white/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/medical/chemistry) "qMu" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ @@ -58757,15 +58469,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"qNj" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "qNn" = ( /obj/machinery/computer/station_alert, /obj/structure/sign/map/right{ @@ -58776,6 +58479,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/engineering) +"qNw" = ( +/obj/structure/filingcabinet/employment, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/lawoffice) "qNB" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -58795,6 +58508,22 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/hallway/primary/central) +"qNL" = ( +/obj/item/radio/intercom{ + dir = 4; + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) "qOu" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -58834,6 +58563,16 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"qOI" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/central) "qOU" = ( /obj/structure/table/reinforced, /obj/machinery/microwave{ @@ -58884,6 +58623,23 @@ }, /turf/open/floor/iron/white, /area/science/mixing) +"qPL" = ( +/obj/machinery/door/airlock/security{ + name = "Court Cell"; + req_access_txt = "63" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/courtroom) "qPP" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/closet, @@ -58904,6 +58660,19 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/medical/surgery) +"qPS" = ( +/obj/machinery/camera/directional/west{ + c_tag = "AI Chamber - Port"; + network = list("aicore") + }, +/obj/structure/showcase/cyborg/old{ + dir = 4; + pixel_x = -9; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai) "qQL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 @@ -58914,20 +58683,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"qQS" = ( -/obj/effect/landmark/start/cyborg, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "AI Upload Foyer"; - network = list("aiupload") - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 26 - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai_upload_foyer) "qRl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -59010,6 +58765,14 @@ dir = 1 }, /area/hallway/secondary/entry) +"qSK" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "qSX" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -59039,6 +58802,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/ai_monitored/storage/eva) +"qTf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4; + sortType = 7 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/main) "qTg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -59081,6 +58866,13 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/hor) +"qTJ" = ( +/obj/machinery/computer/shuttle_flight/labor{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "qTN" = ( /obj/machinery/computer/teleporter, /obj/machinery/firealarm{ @@ -59090,19 +58882,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"qUk" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/obj/item/storage/backpack/duffelbag/med/implant{ - pixel_y = 4 - }, -/turf/open/floor/iron/white, -/area/medical/surgery) "qUm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool, @@ -59120,6 +58899,18 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hydroponics) +"qUA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "qUD" = ( /obj/structure/cable{ icon_state = "1-4" @@ -59190,19 +58981,32 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/smooth_large, /area/maintenance/disposal/incinerator) -"qVS" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Middle Arm" +"qVZ" = ( +/obj/structure/closet/secure_closet/genpop, +/obj/machinery/camera/directional/north{ + network = list("minisat") }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/light{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/tile/dark_red/half{ dir = 4 }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) +/turf/open/floor/iron/smooth_half, +/area/security/prison) +"qWb" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table/reinforced, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "qWp" = ( /obj/machinery/holopad, /obj/machinery/flasher{ @@ -59223,21 +59027,6 @@ /obj/effect/spawner/randomvend/cola, /turf/open/floor/iron/dark, /area/bridge) -"qWR" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/brig) "qWU" = ( /obj/structure/chair/stool/bar, /obj/machinery/digital_clock/directional/east, @@ -59248,19 +59037,6 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit, /turf/open/floor/iron, /area/maintenance/starboard/fore) -"qXd" = ( -/obj/structure/table/wood, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/machinery/camera/directional/north{ - c_tag = "Bar - Backroom" - }, -/obj/structure/sink/kitchen{ - pixel_y = 28 - }, -/turf/open/floor/wood/big, -/area/crew_quarters/bar) "qXs" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -59308,36 +59084,40 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) -"qYh" = ( -/obj/machinery/airalarm/all_access{ - dir = 4; - pixel_x = 24 +"qYn" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 4 }, -/obj/structure/chair/stool{ - pixel_y = 8 +/obj/effect/turf_decal/siding/dark{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/iron/dark/smooth_large, -/area/maintenance/disposal/incinerator) +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) +"qYC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "qYD" = ( /obj/item/radio/intercom{ pixel_x = 26 }, /turf/closed/wall/r_wall, /area/security/main) -"qYG" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/storage/primary) "qYK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -59373,6 +59153,33 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"qZa" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"qZe" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Arrivals - Aft Arm" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner, +/area/hallway/secondary/entry) "qZh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -59401,6 +59208,27 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) +"qZr" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/main) "qZA" = ( /obj/item/assembly/prox_sensor, /obj/structure/cable/yellow{ @@ -59533,6 +59361,18 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/hallway/primary/central) +"rbu" = ( +/obj/structure/filingcabinet, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/checkpoint/supply) "rbC" = ( /obj/machinery/computer/security/telescreen/entertainment{ pixel_x = 30 @@ -59647,16 +59487,6 @@ /obj/effect/turf_decal/tile/green/anticorner/contrasted, /turf/open/floor/iron, /area/hydroponics) -"rcZ" = ( -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "rdt" = ( /obj/machinery/door/airlock/maintenance{ req_one_access_txt = "12;47" @@ -59675,25 +59505,20 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"rdN" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 +"rdB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 +/obj/machinery/camera/directional/west{ + c_tag = "Dormitories - Aft" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, /turf/open/floor/iron, -/area/security/checkpoint/science/research) +/area/crew_quarters/dorms) "rdQ" = ( /turf/closed/wall/r_wall, /area/security/checkpoint/medical) @@ -59708,10 +59533,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/central) -"rep" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/crew_quarters/bar) "reP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59728,22 +59549,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/medical/central) -"rfH" = ( -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/security/brig"; - name = "Brig APC"; - pixel_y = -24 +"rgC" = ( +/obj/structure/sign/poster/official/suit_sensors{ + pixel_x = -32; + pixel_y = 1 }, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/machinery/light{ dir = 8 }, -/turf/open/floor/iron, -/area/security/brig) -"rfN" = ( -/obj/structure/table, -/turf/open/floor/iron/dark, -/area/security/brig) +/obj/machinery/computer/med_data{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/medical/medbay/central) "rgM" = ( /obj/machinery/door/airlock/maintenance{ name = "Cargo Bay Maintenance"; @@ -59760,6 +59584,23 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"rhj" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/white, +/area/medical/medbay/lobby) "rhq" = ( /obj/structure/table/wood, /obj/item/storage/crayons{ @@ -59793,34 +59634,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"rhP" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_one_access_txt = "1;4" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron, -/area/security/brig) -"rhX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/brig) "rih" = ( /obj/structure/railing{ dir = 4 @@ -59843,26 +59656,31 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/starboard/secondary) -"riC" = ( -/obj/item/storage/secure/briefcase, -/obj/item/storage/firstaid/regular, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/machinery/airalarm/directional/west, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/cmo) "rjv" = ( /obj/effect/turf_decal/numbers/two_nine, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"rjy" = ( +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) +"rjz" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Engineering - Entrance" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/engine/engineering) "rjC" = ( /obj/machinery/microwave{ pixel_y = 4 @@ -59878,22 +59696,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"rjH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Research Division Testing Range"; - network = list("ss13","rd") - }, -/obj/structure/chair/stool/directional/west, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/obj/effect/landmark/start/exploration, -/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, -/turf/open/floor/iron, -/area/science/shuttledock) "rjI" = ( /obj/machinery/light{ dir = 4 @@ -59904,6 +59706,16 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/hallway/primary/aft) +"rjO" = ( +/obj/item/folder, +/obj/item/folder, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/table/wood, +/obj/item/taperecorder, +/obj/item/tape, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/library) "rkd" = ( /obj/machinery/light/small{ dir = 4 @@ -60004,22 +59816,6 @@ }, /turf/open/floor/iron, /area/science/mixing) -"rma" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/white, -/area/medical/medbay/central) "rmb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -60035,17 +59831,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"rmt" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/security/main"; - dir = 4; - name = "Security Office APC"; - pixel_x = 24 - }, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/main) "rmK" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -60079,34 +59864,6 @@ /obj/structure/bodycontainer/morgue, /turf/open/floor/plating, /area/medical/morgue) -"rnE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/security/main) -"rop" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "MiniSat Exterior - Fore Port"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/aisat) "ror" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -60130,13 +59887,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) -"roF" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "roJ" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -60151,56 +59901,29 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"rph" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Research Division Hallway - Mech Bay"; - network = list("ss13","rd") - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/science/research) "rpu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /turf/open/floor/iron, /area/science/storage) -"rpT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +"rpv" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/iron, +/turf/open/floor/iron/dark/smooth_large, /area/security/brig) -"rqb" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/item/book/manual/hydroponics_pod_people, -/obj/item/paper/guides/jobs/hydroponics, -/obj/machinery/requests_console{ - department = "Hydroponics"; - departmentType = 2; - pixel_x = -31; - pixel_y = -2 +"rpG" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/obj/structure/table/glass, -/obj/item/wrench, -/obj/effect/turf_decal/tile/green/fourcorners/contrasted, -/turf/open/floor/iron, -/area/hydroponics) +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/hallway/primary/starboard) "rqt" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -60222,23 +59945,6 @@ }, /turf/open/floor/iron, /area/science/robotics/lab) -"rqv" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "rqQ" = ( /obj/structure/reflector/box/anchored{ dir = 8 @@ -60490,23 +60196,27 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"ruO" = ( +/obj/machinery/vending/wallmed{ + pixel_x = -1; + pixel_y = -32 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/checkpoint/medical) "ruP" = ( /obj/effect/turf_decal/siding/white{ dir = 1 }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"rvd" = ( -/obj/item/storage/crayons, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/carpet/grimy, -/area/chapel/office) "rvh" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -60617,14 +60327,6 @@ }, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) -"rxn" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/engine/break_room) "rxo" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance, @@ -60689,6 +60391,9 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/department/science) +"ryP" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "ryZ" = ( /obj/effect/turf_decal/tile/neutral, /obj/structure/extinguisher_cabinet{ @@ -60746,6 +60451,26 @@ /obj/machinery/light/small, /turf/open/floor/iron, /area/medical/medbay/central) +"rAS" = ( +/obj/structure/table, +/obj/item/radio/intercom{ + dir = 4; + pixel_y = 29 + }, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/engineering) +"rBa" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "rBi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -60770,19 +60495,6 @@ }, /turf/open/floor/iron/dark, /area/engine/gravity_generator) -"rBF" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/maintenance/fore) "rBG" = ( /obj/effect/landmark/start/randommaint/psychiatrist, /turf/open/floor/carpet/red, @@ -60816,6 +60528,21 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/aisat) +"rCU" = ( +/obj/machinery/light/small, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Exterior - Space Access"; + network = list("minisat") + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/aisat) "rDe" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -60864,14 +60591,18 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) -"rDW" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 +"rDV" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/security/brig) +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "rDY" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/closed/wall, @@ -60917,10 +60648,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"rEE" = ( -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "rEG" = ( /obj/machinery/light/small{ brightness = 3; @@ -60928,6 +60655,18 @@ }, /turf/open/floor/iron/freezer, /area/security/prison) +"rEI" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Council Chamber" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/status_display/ai{ + pixel_y = 32 + }, +/turf/open/floor/iron/dark, +/area/bridge) "rEJ" = ( /mob/living/carbon/monkey, /obj/structure/window/reinforced{ @@ -60987,6 +60726,13 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/hop) +"rFe" = ( +/obj/machinery/light/small, +/obj/machinery/camera/directional/west{ + c_tag = "Auxilary Restrooms" + }, +/turf/open/floor/plating, +/area/crew_quarters/toilet/auxiliary) "rFh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -61022,6 +60768,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"rFL" = ( +/obj/machinery/computer/crew, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + name = "Medbay RC"; + pixel_y = 31 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 32; + pixel_y = 31 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/checkpoint/medical) "rFX" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -61072,21 +60837,6 @@ }, /turf/open/floor/wood, /area/library) -"rHx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) "rHy" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -61101,6 +60851,23 @@ }, /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"rHN" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/security/brig) +"rIb" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Security - EVA Storage" + }, +/obj/machinery/light/small, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig) "rId" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -61203,6 +60970,18 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"rKg" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/holopad, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/iron, +/area/engine/gravity_generator) "rKA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/turf_decal/tile/green/half/contrasted, @@ -61299,19 +61078,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/medical/patients_rooms) -"rMk" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron, -/area/medical/break_room) "rMo" = ( /obj/structure/cable{ icon_state = "0-8" @@ -61322,10 +61088,19 @@ /obj/machinery/power/smes, /turf/open/floor/iron, /area/maintenance/solars/port/fore) -"rMU" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +"rMC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) +"rMU" = ( /obj/structure/bed/roller, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -61333,7 +61108,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/white/smooth_half, /area/security/brig) "rMV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -61342,21 +61120,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"rNi" = ( -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen, -/obj/structure/table/reinforced, -/obj/machinery/camera/directional/south{ - c_tag = "Security Post - Cargo" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) "rNl" = ( /obj/effect/landmark/blobstart, /turf/open/floor/iron, @@ -61382,6 +61145,21 @@ /mob/living/carbon/monkey, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"rOa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "rOy" = ( /obj/structure/rack, /obj/item/clothing/mask/gas/sechailer, @@ -61569,6 +61347,27 @@ }, /turf/open/floor/iron, /area/science/mixing) +"rQT" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/pen, +/obj/machinery/newscaster{ + pixel_x = 30 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 26 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/checkpoint/engineering) "rRr" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -61600,6 +61399,22 @@ }, /turf/open/floor/iron, /area/gateway) +"rRF" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "rRG" = ( /obj/machinery/announcement_system, /turf/open/floor/carpet/grimy, @@ -61670,19 +61485,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"rSX" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_x = -31; - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "rTo" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -61709,6 +61511,25 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) +"rTC" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/storage/secure/briefcase, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) +"rTE" = ( +/obj/machinery/light_switch{ + pixel_x = 28 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Chapel Office" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/carpet/grimy, +/area/chapel/office) "rTS" = ( /obj/machinery/power/terminal{ dir = 1 @@ -61748,10 +61569,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"rUd" = ( -/obj/structure/chair/stool/directional/south, -/turf/open/floor/iron, -/area/crew_quarters/locker) "rUe" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -61767,17 +61584,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"rUn" = ( -/obj/structure/closet/secure_closet/engineering_chief, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/chief) "rUo" = ( /obj/item/radio/intercom{ pixel_y = -29 @@ -61807,30 +61613,49 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port/fore) -"rUL" = ( -/obj/item/radio/intercom{ - pixel_y = 21 +"rUB" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/landmark/start/scientist, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, +/turf/open/floor/iron, +/area/science/mixing) +"rUK" = ( +/obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light{ - dir = 1 + icon_state = "1-2" }, -/obj/machinery/camera/directional/north{ - c_tag = "Club - Fore" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/engine/engineering) +"rVA" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Labor Camp Shuttle Airlock"; + req_access_txt = "2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 1 }, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ dir = 1 }, -/turf/open/floor/wood, -/area/crew_quarters/bar) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/security/brig) "rVC" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -61847,6 +61672,19 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/crew_quarters/dorms) +"rVN" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Central"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/xenobiology) "rVZ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -61873,10 +61711,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"rWg" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/security/main) +"rWf" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "rWA" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -61895,24 +61736,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"rWC" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Courtroom" - }, -/obj/structure/chair/fancy{ - name = "Judge" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/courtroom) "rWG" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -61986,18 +61809,6 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/tcommsat/server) -"rXp" = ( -/obj/machinery/button/flasher{ - id = "holdingflash"; - pixel_y = -26; - req_access_txt = "1" - }, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "rXW" = ( /obj/machinery/door/airlock/maintenance{ name = "Crematorium Maintenance"; @@ -62037,6 +61848,23 @@ }, /turf/open/floor/iron/dark/corner, /area/engine/storage_shared) +"rYo" = ( +/obj/machinery/camera/motion/directional/east{ + c_tag = "E.V.A. Storage" + }, +/obj/machinery/requests_console{ + department = "EVA"; + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/iron, +/area/ai_monitored/storage/eva) "rYM" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -62096,6 +61924,18 @@ }, /turf/open/floor/circuit/telecomms, /area/maintenance/department/science/xenobiology) +"sag" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "sah" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -62137,37 +61977,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"saH" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/structure/rack, -/obj/item/storage/fancy/donut_box, -/obj/item/beacon/nettingportal, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/dragnet, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) -"sbc" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/structure/closet/secure_closet/personal, -/obj/item/storage/secure/briefcase, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/vacant_room/commissary) -"sbf" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "sbE" = ( /obj/machinery/power/apc{ areastring = "/area/hallway/primary/port"; @@ -62213,29 +62022,32 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"sbY" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/maintenance/aft) -"scy" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/security/warden"; - dir = 8; - name = "Brig Control APC"; - pixel_x = -1; - pixel_y = 24 +"sbW" = ( +/obj/item/tank/internals/oxygen/red{ + pixel_x = -4; + pixel_y = -1 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/item/tank/internals/oxygen/red{ + pixel_x = 4; + pixel_y = -1 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/item/tank/internals/anesthetic{ + pixel_x = 2 }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/structure/closet/crate{ + opened = 1 }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) +/obj/item/wrench, +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) +"sbY" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating, +/area/maintenance/aft) "scT" = ( /obj/machinery/door/poddoor{ id = "toxinsdriver"; @@ -62274,21 +62086,6 @@ }, /turf/open/floor/iron, /area/science/robotics/mechbay) -"sdg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "sdi" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/turf_decal/trimline/black/filled/line{ @@ -62303,6 +62100,20 @@ /obj/machinery/processor, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) +"sdu" = ( +/obj/item/radio/intercom{ + pixel_x = -28 + }, +/obj/structure/table, +/obj/item/clothing/mask/balaclava, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 5 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "sdw" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62346,6 +62157,33 @@ }, /turf/open/floor/iron/showroomfloor, /area/security/warden) +"seq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/iron/techmaint, +/area/science/shuttledock) +"sex" = ( +/obj/machinery/light_switch{ + pixel_y = 24 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/clothing/shoes/laceup, +/obj/item/clothing/under/suit/black_really, +/obj/item/clothing/glasses/sunglasses/advanced, +/obj/machinery/camera/directional/north{ + c_tag = "Corporate Showroom" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/bridge/showroom/corporate) "sez" = ( /obj/machinery/light{ dir = 1 @@ -62472,6 +62310,32 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) +"shp" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/science/research) +"shq" = ( +/obj/machinery/light/small, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/library) "shr" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron, @@ -62489,19 +62353,6 @@ }, /turf/open/floor/iron/dark, /area/aisat) -"shH" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_y = 32 - }, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "sic" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -62588,6 +62439,27 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"sjl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Crew Quarters Entrance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/crew_quarters/locker) "sjr" = ( /obj/machinery/space_heater, /turf/open/floor/iron, @@ -62601,12 +62473,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/medical/morgue) +"sjA" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/prison, +/area/security/prison) "sjC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/engine/engineering) +"skh" = ( +/obj/structure/table, +/obj/item/analyzer, +/obj/item/healthanalyzer, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light_switch{ + pixel_y = -28 + }, +/turf/open/floor/iron/dark, +/area/storage/tech) "skB" = ( /obj/item/radio/intercom{ pixel_x = 29 @@ -62616,21 +62502,13 @@ }, /turf/open/floor/iron/dark, /area/science/server) -"slo" = ( -/mob/living/simple_animal/bot/secbot{ - arrest_type = 1; - health = 45; - icon_state = "secbot1"; - idcheck = 1; - name = "Sergeant-at-Armsky"; - weaponscheck = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +"slj" = ( +/obj/structure/chair/fancy/comfy{ + color = "#666666" }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/siding/dark, /turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +/area/crew_quarters/heads/hos) "slq" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -62640,6 +62518,15 @@ }, /turf/open/floor/iron, /area/science/mixing) +"slu" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/toilet/restrooms) "slv" = ( /obj/machinery/advanced_airlock_controller{ dir = 4; @@ -62680,25 +62567,11 @@ }, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"smq" = ( -/obj/machinery/computer/security/labor, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "smt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/storage/primary) -"smA" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "smE" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -62732,6 +62605,29 @@ }, /turf/open/floor/iron, /area/maintenance/department/science) +"sny" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) +"snz" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Aft Primary Hallway - Fore" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/aft) "snA" = ( /obj/machinery/status_display/supply{ pixel_y = 32 @@ -62764,30 +62660,36 @@ /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) -"sos" = ( -/obj/item/radio/intercom{ - pixel_x = -28 - }, +"sop" = ( /obj/structure/table, -/obj/item/clothing/mask/balaclava, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 5 +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/machinery/computer/med_data/laptop, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/white/smooth_half, +/area/security/brig) +"soM" = ( +/obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/iron/dark, -/area/security/execution/education) -"soL" = ( -/obj/structure/rack, -/obj/item/storage/box/firingpins{ - pixel_x = 3; - pixel_y = 3 +/obj/item/clothing/mask/horsehead, +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/obj/item/storage/box/firingpins, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/main) +/obj/structure/sign/poster/contraband/random{ + pixel_x = -32 + }, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/clothing/mask/fakemoustache, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "soT" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -62806,17 +62708,6 @@ }, /turf/open/floor/iron, /area/medical/chemistry) -"spo" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "spp" = ( /obj/structure/table/reinforced, /obj/item/paper_bin{ @@ -62911,20 +62802,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"sqE" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/light, -/turf/open/floor/iron, -/area/hallway/primary/central) "sqH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/grille/broken, @@ -62943,6 +62820,9 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"sqU" = ( +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/science/research) "sqY" = ( /obj/structure/lattice/catwalk, /obj/structure/cable/cyan{ @@ -62970,13 +62850,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/port/fore) -"srF" = ( -/obj/effect/spawner/randomvend/snack, -/obj/machinery/newscaster{ - pixel_x = -30 - }, -/turf/open/floor/iron/dark, -/area/hallway/primary/central) "srT" = ( /obj/item/food/grown/wheat, /obj/item/food/grown/watermelon, @@ -63083,20 +62956,51 @@ }, /turf/open/floor/iron, /area/maintenance/port/fore) +"ssL" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"ssU" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/supply) +"ssX" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/turf/open/floor/iron/dark/textured, +/area/security/main) "sth" = ( /obj/structure/bed/dogbed/vector, /mob/living/simple_animal/pet/hamster/vector, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"stz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/iron, -/area/security/brig) "stH" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -63137,13 +63041,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/maintenance/fore) -"sub" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/aft) "sux" = ( /obj/structure/table/reinforced, /obj/effect/spawner/lootdrop/maintenance, @@ -63190,37 +63087,6 @@ "svj" = ( /turf/closed/wall, /area/science/storage) -"svv" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/medical) -"svG" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "It's Officer Beepsky! Powered by a potato and a shot of whiskey, and with a sturdier reinforced chassis, too."; - health = 45; - maxHealth = 45; - name = "Officer Beepsky" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "svP" = ( /obj/structure/chair{ dir = 4; @@ -63282,6 +63148,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/secondary) +"sxb" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 27 + }, +/obj/machinery/light/small{ + brightness = 3; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/security/brig) "sxu" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -63338,19 +63221,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/teleporter) -"syg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "syh" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -63401,15 +63271,24 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/storage) -"syN" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13","medbay") +"syD" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Auxillary Base Construction" + }, +/obj/machinery/button/door{ + id = "aux_base_shutters"; + name = "Public Shutters Control"; + pixel_y = -24; + req_one_access_txt = "72" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 }, /turf/open/floor/iron, -/area/medical/break_room) +/area/construction/mining/aux_base) "syT" = ( /obj/machinery/computer/med_data/laptop{ dir = 1; @@ -63547,19 +63426,19 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/hor) -"sCl" = ( -/obj/structure/closet/secure_closet/security/cargo, -/obj/machinery/light_switch{ - pixel_x = -25 +"sCo" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +/obj/machinery/camera/directional/south{ + c_tag = "Brig - Hallway - Starboard" }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "sCq" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 27 @@ -63634,23 +63513,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"sEq" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/engine/engineering) "sEw" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -63675,28 +63537,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/fore) -"sFk" = ( -/obj/effect/turf_decal/tile/red{ - dir = 1 +"sFE" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, /turf/open/floor/iron, -/area/security/brig) -"sFB" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +/area/hallway/primary/port) +"sGb" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/item/radio/intercom{ + pixel_y = -26 }, -/obj/structure/closet, -/obj/item/crowbar, -/obj/item/assembly/flash/handheld, -/obj/item/radio, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - Central" }, /turf/open/floor/iron, -/area/security/checkpoint/customs) +/area/engine/atmos) "sGm" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -63745,18 +63604,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) -"sGK" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/iron/showroomfloor, -/area/crew_quarters/cryopods) "sGO" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -63800,6 +63647,13 @@ /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) +"sHC" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/engineering, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/engineering) "sIb" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -63813,9 +63667,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, -/obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/disposalpipe/segment, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) "sIi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -63902,12 +63755,6 @@ }, /turf/open/floor/iron, /area/science/research) -"sJj" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "sJB" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -63918,6 +63765,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"sJM" = ( +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/item/radio/off, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/supply) "sJW" = ( /turf/closed/wall/mineral/plastitanium, /area/engine/break_room) @@ -63934,24 +63800,18 @@ /obj/effect/mapping_helpers/make_non_slip, /turf/open/floor/iron, /area/engine/engineering) -"sKu" = ( +"sKv" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 + icon_state = "4-8" }, -/obj/machinery/camera/directional/east{ - c_tag = "Arrivals - Aft Arm" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/open/floor/iron/white/corner, -/area/hallway/secondary/entry) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "sKK" = ( /obj/structure/closet{ name = "Evidence Closet 4" @@ -63959,6 +63819,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/brig) +"sKS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "sLu" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -64023,34 +63895,17 @@ luminosity = 2 }, /area/security/nuke_storage) -"sMr" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8 +"sMo" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Mech Bay"; + network = list("ss13","rd") }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/circuit/green, +/area/science/robotics/mechbay) "sMw" = ( /obj/structure/reagent_dispensers/watertank/high, /turf/open/floor/iron, /area/maintenance/starboard/secondary) -"sMC" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/showroomfloor, -/area/security/main) -"sML" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Secure Pen"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/maintenance/department/science/xenobiology) "sMS" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/siding/dark, @@ -64127,6 +63982,19 @@ }, /turf/open/floor/iron/white, /area/science/research) +"sNH" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "sNI" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -64203,25 +64071,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"sQx" = ( -/obj/machinery/door/airlock/security{ - name = "Interrogation"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "sQP" = ( /obj/effect/turf_decal/tile/white/half/contrasted{ dir = 1 @@ -64385,15 +64234,30 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"sSD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +"sSA" = ( +/obj/structure/closet/bombcloset/security, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/tech/grid, +/area/security/main) +"sSS" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/kitchen"; + name = "Kitchen APC"; + pixel_y = -24 }, -/turf/open/floor/iron, -/area/security/brig) +/obj/structure/cable/yellow, +/obj/structure/rack, +/obj/item/storage/box/donkpockets, +/obj/item/stack/package_wrap, +/obj/item/book/manual/chef_recipes{ + pixel_x = 2; + pixel_y = 6 + }, +/turf/open/floor/iron/checker, +/area/crew_quarters/kitchen) "sST" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -64406,19 +64270,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"sTu" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/neutral, +"sTy" = ( /obj/structure/disposalpipe/segment{ - dir = 2 + dir = 6 }, -/obj/machinery/light{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/turf/open/floor/iron, -/area/hallway/primary/aft) +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "sTS" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -64443,6 +64303,12 @@ broken = 1 }, /area/maintenance/port) +"sUk" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai) "sUv" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -64469,6 +64335,25 @@ /obj/machinery/light/small, /turf/open/floor/iron, /area/medical/break_room) +"sUD" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Aft-Starboard Corner" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/hallway/primary/central) "sUJ" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -64487,17 +64372,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"sUO" = ( -/mob/living/simple_animal/slime, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #3"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/science/xenobiology) "sVr" = ( /obj/machinery/button/door{ id = "kitchen"; @@ -64519,20 +64393,13 @@ }, /turf/open/floor/iron/checker, /area/crew_quarters/kitchen) -"sVA" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/obj/item/radio/intercom{ - pixel_x = -2; - pixel_y = -28 +"sVu" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/turf/open/floor/iron/white, -/area/medical/medbay/aft) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron/dark/smooth_large, +/area/security/checkpoint/engineering) "sVF" = ( /obj/item/clothing/gloves/color/latex, /obj/item/clothing/suit/apron/surgical, @@ -64569,15 +64436,32 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) -"sVZ" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"sVU" = ( +/obj/effect/turf_decal/tile/white/half/contrasted{ dir = 1 }, -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/machinery/firealarm/directional/north, -/obj/item/radio/off, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay") + }, /turf/open/floor/iron, +/area/medical/chemistry) +"sWe" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark/smooth_half, /area/security/checkpoint/medical) "sWU" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -64585,16 +64469,6 @@ }, /turf/open/floor/iron/techmaint, /area/science/shuttledock) -"sXr" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/chair/stool/directional/west{ - pixel_x = 7; - pixel_y = 6 - }, -/turf/open/floor/prison, -/area/security/prison) "sXs" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -64619,6 +64493,19 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"sYg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/hallway/primary/aft) "sYm" = ( /obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" @@ -64638,6 +64525,19 @@ }, /turf/open/floor/iron, /area/storage/primary) +"sYr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/main) "sYS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -64646,6 +64546,56 @@ }, /turf/open/floor/iron/white, /area/science/research) +"sYW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Recovery Room"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = 32 + }, +/turf/open/floor/iron/white, +/area/medical/medbay/aft) +"sZi" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/science/research"; + dir = 8; + name = "Security Post - Research Division APC"; + pixel_x = -24 + }, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/checkpoint/science/research) +"sZq" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/iron, +/area/medical/break_room) +"sZI" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/medical/surgery) "sZM" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -64659,40 +64609,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"tab" = ( -/obj/structure/table, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_y = 30 - }, -/obj/machinery/button/door{ - id = "Biohazard"; - name = "Biohazard Shutter Control"; - pixel_x = -7; - req_access_txt = "47" - }, -/obj/machinery/button/door{ - desc = "A remote control switch for the research division entryway."; - id = "ResearchExt"; - name = "Research Exterior Airlock"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = 7 - }, -/obj/machinery/button/door{ - desc = "A remote control switch for the research division entryway."; - id = "ResearchInt"; - name = "Research Interior Airlock"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "taC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -64714,6 +64630,19 @@ }, /turf/open/floor/iron/white, /area/science/mixing) +"taY" = ( +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - Fore"; + network = list("aicore") + }, +/obj/structure/showcase/cyborg/old{ + pixel_y = 20 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/ai) "taZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -64730,82 +64659,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"tbu" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) -"tbE" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/reagent_containers/glass/bottle/chloralhydrate, -/obj/item/reagent_containers/glass/bottle/toxin{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/glass/bottle/facid{ - name = "fluorosulfuric acid bottle"; - pixel_x = -3; - pixel_y = 6 - }, -/obj/item/reagent_containers/syringe{ - pixel_y = 5 - }, -/obj/item/reagent_containers/dropper, -/obj/machinery/airalarm/all_access{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/button/ignition{ - id = "executionburn"; - name = "Justice Ignition Switch"; - pixel_x = -25; - pixel_y = 36 - }, -/obj/machinery/button/door{ - id = "executionfireblast"; - name = "Justice Area Lockdown"; - pixel_x = -25; - pixel_y = 26; - req_access_txt = "2" - }, -/obj/item/assembly/signaler{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/machinery/button/flasher{ - id = "justiceflash"; - name = "Justice Flash Control"; - pixel_x = -36; - pixel_y = 36; - req_access_txt = "1" - }, -/obj/machinery/button/door{ - id = "SecJusticeChamber"; - layer = 4; - name = "Justice Vent Control"; - pixel_x = -36; - pixel_y = 26; - req_access_txt = "3" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "tbL" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -64834,21 +64687,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"tbZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "tcZ" = ( /obj/structure/sign/warning/vacuum{ pixel_x = -32 @@ -64870,6 +64708,22 @@ /obj/effect/spawner/structure/window/reinforced, /turf/closed/wall, /area/science/server) +"tdj" = ( +/obj/machinery/power/apc/highcap/ten_k{ + areastring = "/area/bridge"; + dir = 8; + name = "Bridge APC"; + pixel_x = -24 + }, +/obj/structure/cable/yellow, +/obj/machinery/camera/directional/west{ + c_tag = "Bridge - Port" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/bridge) "tdp" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -64879,15 +64733,19 @@ }, /turf/open/floor/iron, /area/ai_monitored/storage/eva) -"tdu" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"tdx" = ( +/obj/structure/closet/secure_closet/lethalshots, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/tech/grid, +/area/ai_monitored/security/armory) +"teA" = ( +/obj/machinery/door/airlock{ + id_tag = "FitnessShower"; + name = "Fitness Room Shower" }, /turf/open/floor/iron, -/area/engine/engineering) +/area/crew_quarters/fitness/recreation) "tfc" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -64897,21 +64755,28 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/starboard) -"tft" = ( +"tfu" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Aft-Port Corner" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light, /turf/open/floor/iron, -/area/security/main) +/area/hallway/primary/central) "tfz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -65000,6 +64865,22 @@ }, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) +"tge" = ( +/obj/item/storage/secure/briefcase, +/obj/item/storage/firstaid/regular, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/cmo) "tgi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -65022,6 +64903,13 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/hallway/primary/port) +"tgp" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/storage/fancy/cigarettes, +/obj/item/clothing/mask/gas/sechailer, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "tgr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65127,10 +65015,23 @@ }, /turf/open/floor/iron/dark/corner, /area/engine/storage_shared) +"tiy" = ( +/obj/structure/rack, +/obj/effect/loot_jobscale/armoury/bulletproof_vest, +/obj/effect/loot_jobscale/armoury/bulletproof_helmet, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "tiS" = ( /obj/machinery/smartfridge/chemistry, /turf/closed/wall/r_wall, /area/medical/chemistry) +"tjh" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) "tjn" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -65187,16 +65088,27 @@ }, /turf/open/floor/prison, /area/security/prison) +"tjG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "tjJ" = ( /turf/open/floor/iron, /area/maintenance/aft) -"tjM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 +"tjU" = ( +/obj/structure/table, +/obj/item/storage/belt/utility, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/item/storage/box/lights/mixed, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 }, /turf/open/floor/iron, -/area/security/brig) +/area/storage/primary) "tjY" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -65210,6 +65122,10 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"tkd" = ( +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/bar) "tkf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -65260,6 +65176,15 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) +"tkK" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_edge{ + dir = 1 + }, +/area/security/brig) "tkT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -65310,17 +65235,12 @@ }, /turf/open/floor/iron/white/corner, /area/hallway/secondary/entry) -"tlO" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = -32 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +"tln" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - CO2" }, -/obj/vehicle/ridden/secway, -/obj/item/key/security, -/turf/open/floor/iron, -/area/security/main) +/turf/open/floor/engine/co2, +/area/engine/atmos) "tlP" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -65434,21 +65354,22 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) -"tnh" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 +"tnk" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Central Primary Hallway - Fore" }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/machinery/shower{ - layer = 4; - name = "emergency shower"; - pixel_y = 7 +/turf/open/floor/iron, +/area/hallway/primary/central) +"tnp" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 }, -/obj/effect/turf_decal/stripes/end, -/turf/open/floor/noslip/white, -/area/medical/patients_rooms) +/area/security/checkpoint/medical) "tnr" = ( /obj/machinery/light_switch{ pixel_y = -28 @@ -65534,6 +65455,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"toq" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/mob/living/simple_animal/bot/floorbot, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat_interior) "toL" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -65572,8 +65506,10 @@ /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "tpo" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/white/smooth_half{ + dir = 1 + }, /area/security/brig) "tpp" = ( /obj/machinery/suit_storage_unit/cmo, @@ -65648,6 +65584,33 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/maintenance/aft) +"tqF" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) +"tqG" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Departure Lounge - Starboard Aft" + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 29 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "tqQ" = ( /obj/structure/closet/secure_closet/evidence, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -65702,6 +65665,16 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) +"trE" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/techmaint, +/area/security/main) "trH" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -65730,19 +65703,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"tsr" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security E.V.A. Storage"; - req_access_txt = "3" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "tsu" = ( /obj/effect/landmark/xeno_spawn, /obj/structure/disposalpipe/segment{ @@ -65750,6 +65710,18 @@ }, /turf/open/floor/wood/big, /area/crew_quarters/bar) +"tsT" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "ttA" = ( /obj/structure/window/reinforced, /obj/machinery/computer/cargo/request{ @@ -65760,6 +65732,18 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) +"ttB" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "ttF" = ( /obj/structure/flora/ausbushes/leafybush, /obj/structure/flora/ausbushes/fullgrass, @@ -65795,6 +65779,18 @@ /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"tub" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "tuc" = ( /obj/machinery/status_display/ai{ pixel_y = 32 @@ -65854,6 +65850,22 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"tvA" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) "tvF" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -65909,6 +65921,14 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"twM" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/tech/grid, +/area/security/main) "twN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65942,22 +65962,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/central) -"txa" = ( -/obj/machinery/door/airlock/security{ - name = "Court Cell"; - req_access_txt = "63" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/poddoor/preopen{ - id = "Secure Gate"; - name = "brig shutters" - }, -/turf/open/floor/iron/dark, -/area/security/brig) "txe" = ( /obj/machinery/door/airlock{ id_tag = "Cabin2"; @@ -66038,6 +66042,18 @@ }, /turf/open/floor/iron, /area/engine/break_room) +"tyL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "tyV" = ( /obj/machinery/firealarm{ dir = 4; @@ -66068,6 +66084,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/fore) +"tzA" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Gateway - Access" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/gateway) "tzE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66086,6 +66112,25 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"tAv" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/execution/education"; + dir = 1; + name = "Prisoner Education Chamber APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/closet/secure_closet/injection{ + name = "educational injections"; + pixel_x = 2 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "tAR" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -66120,6 +66165,16 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/tcommsat/server) +"tBm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/iron, +/area/gateway) "tBB" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -66218,6 +66273,25 @@ }, /turf/open/floor/engine, /area/engine/supermatter) +"tEk" = ( +/obj/machinery/door/airlock/security{ + name = "Court Cell"; + req_access_txt = "63" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "tEl" = ( /obj/effect/turf_decal/stripes/line{ dir = 4; @@ -66241,6 +66315,20 @@ }, /turf/open/floor/iron, /area/quartermaster/office) +"tEr" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west{ + name = "Test Chamber APC"; + pixel_x = -24 + }, +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/floor/iron/dark, +/area/maintenance/department/science/xenobiology) "tEy" = ( /obj/item/instrument/violin, /obj/structure/table/wood, @@ -66289,19 +66377,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"tGf" = ( -/obj/machinery/light/small{ - dir = 8 +"tFV" = ( +/obj/structure/closet/secure_closet/genpop, +/obj/machinery/power/apc/auto_name/directional/north{ + name = "Prison" }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/mob/living/simple_animal/bot/floorbot, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/effect/turf_decal/tile/dark_red{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/iron/smooth_corner{ + dir = 1 + }, +/area/security/prison) "tGg" = ( /obj/machinery/door/airlock/command{ name = "Council Chamber"; @@ -66355,6 +66445,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/brig) +"tGU" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 1 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = 30 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/checkpoint/engineering) "tHf" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -66397,18 +66500,6 @@ "tHn" = ( /turf/closed/wall/r_wall, /area/science/mixing/chamber) -"tHo" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "tHs" = ( /obj/machinery/door/airlock/maintenance{ req_one_access_txt = "12;35;47;49" @@ -66526,23 +66617,26 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/carpet/green, /area/library) -"tJG" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +"tJt" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 }, -/turf/open/floor/iron, -/area/security/main) +/obj/item/clothing/under/misc/assistantformal, +/turf/open/floor/wood, +/area/crew_quarters/dorms) "tKB" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plating, /area/maintenance/disposal) +"tKG" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron, +/area/engine/break_room) "tKV" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -66577,14 +66671,15 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"tLB" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"tLn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/obj/effect/landmark/start/security_officer, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "tLJ" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/condiment/saltshaker{ @@ -66647,6 +66742,19 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"tMw" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/obj/item/storage/backpack/duffelbag/med/implant{ + pixel_y = 4 + }, +/turf/open/floor/iron/white, +/area/medical/surgery) "tMC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -66665,6 +66773,24 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"tMV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "tMX" = ( /obj/machinery/light/small{ dir = 4 @@ -66677,6 +66803,32 @@ }, /turf/open/floor/carpet/grimy, /area/chapel/office) +"tNq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner, +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/security/main) "tNz" = ( /obj/effect/turf_decal/stripes/line{ dir = 4; @@ -66776,21 +66928,59 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"tOL" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/pen, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "tOZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/crew_quarters/locker) -"tPv" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/showroomfloor, -/area/security/main) -"tQi" = ( -/obj/structure/chair, -/turf/open/floor/carpet/grimy, -/area/security/main) +"tPc" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Central Primary Hallway - Fore - AI Upload" + }, +/obj/structure/sign/warning/securearea{ + desc = "A warning sign which reads 'HIGH-POWER TURRETS AHEAD'."; + name = "\improper HIGH-POWER TURRETS AHEAD"; + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) +"tPP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/directional/east{ + c_tag = "Incinerator"; + network = list("ss13","turbine") + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/maintenance/disposal/incinerator) "tQj" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -66955,11 +67145,6 @@ }, /turf/open/floor/iron/dark, /area/maintenance/department/science/xenobiology) -"tTh" = ( -/obj/structure/table/reinforced, -/obj/machinery/fax/sec, -/turf/open/floor/iron, -/area/security/main) "tTD" = ( /obj/effect/turf_decal/plaque{ icon_state = "L11" @@ -66972,6 +67157,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"tTJ" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/chair/stool/directional/west{ + pixel_x = 7; + pixel_y = 6 + }, +/turf/open/floor/prison, +/area/security/prison) "tUe" = ( /obj/machinery/light{ dir = 1 @@ -67089,6 +67284,37 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/shuttledock) +"tVS" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Departure Lounge - Port Fore" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, +/obj/item/kirbyplants/random, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) +"tVW" = ( +/obj/structure/table/wood, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/machinery/camera/directional/north{ + c_tag = "Bar - Backroom" + }, +/obj/structure/sink/kitchen{ + pixel_y = 28 + }, +/turf/open/floor/wood/big, +/area/crew_quarters/bar) "tVX" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -67096,6 +67322,15 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/science/explab) +"tWo" = ( +/obj/machinery/modular_fabricator/exosuit_fab, +/obj/machinery/camera/directional/north{ + c_tag = "Robotics - Fore"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/science/robotics/lab) "tWv" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/r_wall, @@ -67135,18 +67370,20 @@ }, /turf/open/floor/iron/white, /area/science/research) -"tXy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable/yellow{ - icon_state = "1-2" +"tWN" = ( +/obj/machinery/airalarm/server{ + dir = 4; + pixel_x = -22 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/light/small{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/engine/engineering) +/obj/machinery/camera/directional/west{ + c_tag = "Telecomms - Server Room - Aft-Port"; + network = list("ss13","tcomms") + }, +/turf/open/floor/iron/dark/telecomms, +/area/tcommsat/server) "tXE" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -67156,18 +67393,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) -"tXI" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "tYe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -67178,21 +67403,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"tYf" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "tYg" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/decal/cleanable/dirt, @@ -67209,6 +67419,21 @@ }, /turf/open/floor/iron, /area/medical/morgue) +"tYo" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "tYu" = ( /obj/structure/sign/departments/minsky/engineering/telecommmunications{ pixel_y = -32 @@ -67309,6 +67534,19 @@ }, /turf/open/floor/iron/white, /area/science/explab) +"uaJ" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Aft" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/storage) "ube" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -67342,6 +67580,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/hallway/primary/fore) +"ubO" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "ubQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -67363,6 +67610,23 @@ }, /turf/open/floor/iron/dark, /area/aisat) +"ucb" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/chair, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "uck" = ( /obj/effect/landmark/xeno_spawn, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -67383,6 +67647,34 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) +"ucv" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/item/clothing/under/suit/tan, +/turf/open/floor/carpet/purple, +/area/crew_quarters/dorms) +"ucy" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "ucE" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -67397,16 +67689,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) -"ucG" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/aisat) "ucX" = ( /obj/item/trash/candy, /obj/effect/decal/cleanable/dirt, @@ -67474,6 +67756,32 @@ }, /turf/open/floor/carpet/blue, /area/bridge) +"udL" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/item/radio/intercom{ + pixel_y = -26 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Storage Wing" + }, +/obj/machinery/light, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/iron, +/area/construction/storage_wing) "udY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -67490,6 +67798,28 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) +"ued" = ( +/obj/structure/table, +/obj/item/folder/red{ + pixel_x = 3 + }, +/obj/item/folder/white{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/restraints/handcuffs, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/off, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_x = 30 + }, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/secondary/exit/departure_lounge) "uee" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67657,10 +67987,6 @@ /obj/item/flashlight/lamp, /turf/open/floor/carpet/grimy, /area/tcommsat/computer) -"ugZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/dark, -/area/security/brig) "uhr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -67687,6 +68013,16 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) +"uhK" = ( +/obj/item/radio/intercom{ + pixel_y = -26 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Locker Room Port" + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/crew_quarters/locker) "uhL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -67870,6 +68206,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"ukL" = ( +/obj/machinery/newscaster{ + pixel_x = -30 + }, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/science/research) "ulc" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 1 @@ -67937,18 +68282,6 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) -"ulX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "uma" = ( /obj/structure/bookcase/random/religion, /obj/effect/turf_decal/siding/wood{ @@ -67977,6 +68310,18 @@ /obj/structure/closet/secure_closet/chemical, /turf/open/floor/iron, /area/medical/chemistry) +"umx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "umz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -68005,18 +68350,6 @@ /obj/structure/chair/fancy/comfy, /turf/open/floor/carpet/grimy, /area/hallway/primary/port) -"unp" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/engine/gravity_generator) "unw" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -68064,30 +68397,6 @@ dir = 5 }, /area/science/research) -"uop" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/brig) -"upk" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west{ - name = "Test Chamber APC"; - pixel_x = -24 - }, -/obj/machinery/portable_atmospherics/canister/bz, -/turf/open/floor/iron/dark, -/area/maintenance/department/science/xenobiology) "upm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68124,14 +68433,6 @@ }, /turf/open/floor/iron/dark/corner, /area/engine/storage_shared) -"uqm" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "uqu" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/sign/poster/official/bless_this_spess{ @@ -68166,6 +68467,18 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/medical/surgery) +"uqY" = ( +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/smooth_large, +/area/security/brig) +"ura" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "urk" = ( /obj/structure/cable/white{ icon_state = "0-2" @@ -68183,11 +68496,34 @@ }, /turf/open/floor/iron, /area/construction/mining/aux_base) +"urs" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "usp" = ( /obj/machinery/space_heater, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plating, /area/maintenance/port/fore) +"usz" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain/private) "usA" = ( /obj/structure/cable{ icon_state = "4-8" @@ -68198,6 +68534,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/engine/gravity_generator) +"usB" = ( +/obj/structure/reagent_dispensers/peppertank{ + pixel_x = 32 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Gear Room" + }, +/obj/machinery/vending/wardrobe/sec_wardrobe, +/turf/open/floor/iron/techmaint, +/area/security/main) "usJ" = ( /obj/machinery/computer/cargo/request, /obj/effect/turf_decal/delivery, @@ -68251,23 +68597,6 @@ /obj/machinery/telecomms/processor/preset_exploration, /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) -"utJ" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/landmark/start/medical_doctor, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/medical/break_room) "utL" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/structure/lattice, @@ -68323,15 +68652,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/disposalpipe/segment{ dir = 9 }, -/turf/open/floor/iron, +/turf/open/floor/iron/smooth_large, /area/security/prison) -"uut" = ( -/turf/open/floor/carpet/grimy, -/area/security/main) "uuF" = ( /obj/machinery/door/poddoor/preopen{ id = "transittube"; @@ -68368,6 +68693,21 @@ }, /turf/closed/wall/r_wall, /area/engine/break_room) +"uvC" = ( +/obj/machinery/power/apc{ + areastring = "/area/security/checkpoint/supply"; + dir = 1; + name = "Security Post - Cargo Bay APC"; + pixel_y = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/supply) "uvD" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -68378,6 +68718,20 @@ }, /turf/open/floor/prison, /area/security/prison) +"uvP" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "uwh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -68478,6 +68832,19 @@ }, /turf/open/floor/iron, /area/maintenance/disposal) +"uxF" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Fore Primary Hallway Aft" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron, +/area/hallway/primary/fore) "uxG" = ( /obj/structure/closet/crate/rcd{ pixel_y = 4 @@ -68499,6 +68866,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) +"uyb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "uyf" = ( /obj/structure/window/reinforced{ dir = 4 @@ -68508,22 +68884,6 @@ dir = 1 }, /area/science/robotics/lab) -"uyg" = ( -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/ai_monitored/security/armory"; - name = "Armory APC"; - pixel_y = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - Internal" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "uyh" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -68616,25 +68976,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/execution/education) -"uAk" = ( -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Research Division Hallway - Central"; - network = list("ss13","rd") - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/science/research) "uAI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -68731,19 +69072,22 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard) -"uBV" = ( -/turf/open/space, -/area/space/nearstation) -"uCb" = ( -/obj/machinery/photocopier, -/obj/machinery/camera/directional/east{ - c_tag = "Law Office" +"uBG" = ( +/obj/effect/spawner/randomarcade, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = 32 }, /obj/effect/turf_decal/siding/wood{ - dir = 4 + dir = 5 }, /turf/open/floor/wood, -/area/lawoffice) +/area/crew_quarters/bar) +"uBV" = ( +/turf/open/space, +/area/space/nearstation) "uCg" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -68878,6 +69222,18 @@ }, /turf/open/floor/iron/techmaint, /area/science/shuttledock) +"uFw" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "uFK" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 27 @@ -68887,19 +69243,6 @@ }, /turf/open/floor/iron, /area/science/shuttledock) -"uFU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/prison, -/area/security/prison) "uFV" = ( /obj/structure/cable{ icon_state = "0-8" @@ -68918,6 +69261,41 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/carpet/green, /area/library) +"uGC" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) +"uGR" = ( +/obj/effect/turf_decal/siding/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/ai_monitored/security/armory"; + name = "Armory APC"; + pixel_y = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - Internal" + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) "uHp" = ( /obj/machinery/light_switch{ pixel_x = 23; @@ -68944,10 +69322,37 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/aft) +"uHE" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/brig) "uHI" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) +"uHS" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/item/storage/secure/safe{ + pixel_x = 5; + pixel_y = -31 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/cmo) "uIp" = ( /obj/structure/closet, /obj/item/storage/box/donkpockets, @@ -68962,6 +69367,25 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/maintenance/department/science) +"uIM" = ( +/obj/structure/chair/stool, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/camera/directional/west{ + c_tag = "Aft Port Solar Maintenance" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/turf/open/floor/iron, +/area/maintenance/solars/port/aft) "uIQ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Cargo Bay Bridge Access" @@ -69089,15 +69513,35 @@ /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /turf/open/floor/iron, /area/hydroponics) -"uKD" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" +"uKH" = ( +/obj/machinery/light_switch{ + pixel_x = -25 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/camera/directional/west{ + c_tag = "Cryogenics Lounge"; + name = "recreation camera" }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/iron/showroomfloor, +/area/crew_quarters/cryopods) +"uKI" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/item/glove_box{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/medical/morgue) "uKR" = ( /obj/machinery/firealarm{ dir = 1; @@ -69120,19 +69564,6 @@ /obj/effect/spawner/room/threexthree, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"uLA" = ( -/obj/machinery/vending/wallmed{ - pixel_x = -1; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "uLK" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 @@ -69153,6 +69584,35 @@ /obj/machinery/light/small, /turf/open/floor/iron/dark, /area/science/storage) +"uMh" = ( +/obj/structure/closet/secure_closet/detective, +/obj/effect/landmark/blobstart, +/obj/machinery/camera/directional/west{ + c_tag = "Detective's Office" + }, +/turf/open/floor/carpet/grimy, +/area/security/detectives_office) +"uMm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/structure/bed/roller, +/turf/open/floor/iron/dark, +/area/medical/morgue) +"uMn" = ( +/obj/machinery/light/small, +/obj/machinery/camera/directional/south{ + c_tag = "Telecomms - Server Room - Aft"; + network = list("ss13","tcomms") + }, +/obj/machinery/ntnet_relay, +/turf/open/floor/iron/dark/telecomms, +/area/tcommsat/server) "uMx" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -69236,6 +69696,18 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron/cafeteria_red, /area/crew_quarters/bar) +"uOd" = ( +/obj/machinery/airalarm/all_access{ + dir = 4; + pixel_x = 24 + }, +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/iron/dark/smooth_large, +/area/maintenance/disposal/incinerator) "uOe" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -69289,6 +69761,21 @@ }, /turf/open/floor/iron, /area/medical/genetics/cloning) +"uOP" = ( +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/hallway/primary/aft) "uOQ" = ( /obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior, /obj/effect/turf_decal/stripes/line{ @@ -69465,10 +69952,10 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"uSn" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/prison, -/area/security/prison) +"uSp" = ( +/obj/structure/chair, +/turf/open/floor/carpet/royalblack, +/area/security/main) "uSr" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -69516,6 +70003,17 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"uTX" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/monkey_recycler, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/white, +/area/science/xenobiology) "uUA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -69604,12 +70102,21 @@ }, /turf/open/floor/iron, /area/medical/genetics) -"uWw" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 +"uWp" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/sign/departments/minsky/research/research{ + pixel_x = -32 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/chair/fancy/comfy, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/trimline/black/filled/line{ + dir = 9 }, /turf/open/floor/iron, -/area/security/brig) +/area/maintenance/department/science) "uWN" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -69623,30 +70130,19 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"uXD" = ( -/obj/structure/chair/office, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"uXL" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) -"uXG" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Toxins - Launch Area"; - network = list("ss13","rd") +/obj/machinery/camera/directional/west{ + c_tag = "Port Primary Hallway - Port" }, -/obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/bot{ dir = 1 }, -/turf/open/floor/iron/techmaint, -/area/maintenance/department/science) +/turf/open/floor/iron/dark, +/area/hallway/primary/port) "uXM" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -69663,6 +70159,16 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/medical/exam_room) +"uXO" = ( +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/light, +/obj/machinery/camera/directional/south{ + c_tag = "Courtroom - Gallery" + }, +/turf/open/floor/iron/dark, +/area/security/courtroom) "uYi" = ( /obj/machinery/door/airlock{ name = "Dormitories" @@ -69680,7 +70186,7 @@ "uYl" = ( /obj/effect/landmark/start/brig_physician, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured_large, /area/security/brig) "uYo" = ( /obj/effect/decal/cleanable/dirt, @@ -69698,6 +70204,24 @@ }, /turf/open/floor/iron, /area/maintenance/aft) +"uYP" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo Bay - Fore" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/storage) "uYQ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -69744,19 +70268,6 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/medical/genetics) -"uZz" = ( -/obj/effect/landmark/xeno_spawn, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/dorms) "uZB" = ( /obj/item/radio/intercom{ pixel_y = -25 @@ -69773,6 +70284,14 @@ }, /turf/open/floor/iron, /area/storage/primary) +"vaC" = ( +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "vaF" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/rglass{ @@ -69806,13 +70325,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) -"vba" = ( -/obj/structure/closet/secure_closet/security/science, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "vbp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -69849,6 +70361,49 @@ }, /turf/open/floor/iron/dark, /area/science/storage) +"vbM" = ( +/obj/item/storage/secure/safe{ + name = "armory safe B"; + pixel_x = 6; + pixel_y = 28 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/corner, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) +"vbQ" = ( +/obj/item/radio/intercom{ + pixel_y = 21 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Club - Fore" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/bar) "vcc" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -69901,23 +70456,24 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"vdl" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/machinery/ecto_sniffer, +/turf/open/floor/iron, +/area/science/robotics/lab) "vdt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"vdv" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = -31; - pixel_y = -3 - }, -/turf/open/floor/iron/grid/steel, -/area/medical/patients_rooms) "vdF" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 @@ -69954,18 +70510,21 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) -"vdX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +"vei" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/item/book/manual/hydroponics_pod_people, +/obj/item/paper/guides/jobs/hydroponics, +/obj/machinery/requests_console{ + department = "Hydroponics"; + departmentType = 2; + pixel_x = -31; + pixel_y = -2 }, +/obj/structure/table/glass, +/obj/item/wrench, +/obj/effect/turf_decal/tile/green/fourcorners/contrasted, /turf/open/floor/iron, -/area/security/brig) +/area/hydroponics) "vey" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -69976,6 +70535,47 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"veC" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/iron, +/area/crew_quarters/dorms) +"veD" = ( +/obj/structure/closet/crate/secure/weapon{ + desc = "A secure clothing crate."; + name = "formal uniform crate"; + req_access_txt = "3" + }, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/under/rank/security/officer/formal, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/suit/jacket/officer/blue, +/obj/item/clothing/under/rank/security/warden/formal, +/obj/item/clothing/suit/jacket/warden/tan, +/obj/item/clothing/under/rank/security/head_of_security/formal, +/obj/item/clothing/suit/jacket/hos/blue, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navyofficer, +/obj/item/clothing/head/beret/sec/navywarden, +/obj/item/clothing/head/beret/sec/navyhos, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/iron/tech/grid, +/area/security/main) "veK" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -69987,15 +70587,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/secondary/entry) -"veX" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Captain's Office" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain/private) "veY" = ( /obj/structure/closet/secure_closet/quartermaster, /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ @@ -70034,20 +70625,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) -"vfz" = ( -/obj/machinery/light_switch{ - pixel_x = 26 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "vfA" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -70060,6 +70637,13 @@ }, /turf/open/floor/iron, /area/crew_quarters/locker) +"vfC" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/aft) "vfN" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -70093,22 +70677,18 @@ }, /turf/open/floor/engine/cult, /area/library) -"vgl" = ( -/obj/machinery/door/window{ - base_state = "rightsecure"; - dir = 4; - icon_state = "rightsecure"; - name = "Primary AI Core Access"; - obj_integrity = 300; - req_access_txt = "16" +"vgn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - Core"; - network = list("aicore") +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/ai) +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "vgq" = ( /obj/machinery/vending/hydronutrients, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -70128,6 +70708,15 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"vgT" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security E.V.A. Storage"; + req_access_txt = "3" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig) "vhl" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -70190,18 +70779,38 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"vij" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +"vid" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Head of Personnel's Office" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/table/wood, +/obj/item/storage/box/PDAs{ + pixel_x = 4; + pixel_y = 4 }, +/obj/item/storage/box/silver_ids, +/obj/item/storage/box/ids, +/obj/machinery/light, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) +"viw" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/iron, -/area/security/brig) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore) "viA" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -70292,6 +70901,19 @@ }, /turf/open/floor/iron, /area/maintenance/solars/starboard/fore) +"vko" = ( +/obj/item/paper, +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor{ + name = "Arrivals Security Checkpoint"; + pixel_y = -8; + req_access_txt = "1" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "vkr" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -70317,6 +70939,23 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/maintenance/disposal/incinerator) +"vkW" = ( +/obj/structure/chair/stool{ + pixel_y = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/maintenance/solars/port/fore) "vlu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70348,12 +70987,23 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) -"vlO" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +"vlT" = ( +/obj/structure/fireaxecabinet{ + pixel_x = -32 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Atmospherics - Port" + }, +/obj/machinery/light{ dir = 8 }, -/turf/open/floor/iron, -/area/security/brig) +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/engine/atmos) "vma" = ( /obj/machinery/vending/coffee, /obj/machinery/newscaster{ @@ -70398,6 +71048,15 @@ /obj/machinery/light, /turf/open/floor/iron, /area/medical/genetics) +"vmK" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/engine/engineering) "vmU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70419,26 +71078,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"vnu" = ( -/obj/machinery/power/apc{ - areastring = "/area/vacant_room/commissary"; - dir = 4; - name = "Vacant Commissary APC"; - pixel_x = 24 - }, -/obj/structure/cable/yellow, -/obj/structure/rack, -/obj/item/wrench, -/obj/item/screwdriver, -/obj/machinery/camera/directional/east{ - c_tag = "Vacant Commissary" - }, -/obj/effect/turf_decal/tile/brown/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/vacant_room/commissary) "vny" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -70451,16 +71090,6 @@ }, /turf/open/floor/iron, /area/construction/storage_wing) -"vnN" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) "vnZ" = ( /obj/machinery/firealarm{ dir = 1; @@ -70521,19 +71150,6 @@ }, /turf/open/space, /area/solar/starboard/aft) -"voO" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Aft" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/storage) "vpb" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 6 @@ -70647,19 +71263,22 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) -"vqK" = ( -/obj/structure/filingcabinet/employment, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 +"vqO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" }, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ dir = 4 }, -/turf/open/floor/wood, -/area/lawoffice) -"vqM" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, /area/security/main) "vqS" = ( /obj/machinery/holopad{ @@ -70691,17 +71310,6 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/solar/starboard/aft) -"vrF" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "vrI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -70755,17 +71363,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"vsG" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/main) "vsW" = ( /obj/effect/landmark/start/head_of_personnel, /obj/structure/chair/office{ @@ -70830,23 +71427,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"vtS" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/light_switch{ - pixel_x = -27; - pixel_y = 6 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "vtU" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -70858,24 +71438,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/secondary) -"vtV" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Head of Personnel's Office" - }, -/obj/structure/table/wood, -/obj/item/storage/box/PDAs{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/box/silver_ids, -/obj/item/storage/box/ids, -/obj/machinery/light, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "vuc" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -70889,6 +71451,18 @@ dir = 4 }, /area/science/research) +"vuD" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/storage/primary) "vuX" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -70896,12 +71470,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"vvr" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/carpet/grimy, -/area/security/main) "vvz" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -70922,22 +71490,6 @@ }, /turf/open/floor/iron, /area/quartermaster/miningoffice) -"vvN" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Bridge - Port Access" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/bridge) "vvS" = ( /obj/structure/lattice/catwalk, /obj/structure/window/reinforced{ @@ -71020,6 +71572,23 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"vwH" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Gravity Generator Foyer" + }, +/obj/structure/closet/radiation, +/obj/structure/sign/warning/radiation/rad_area{ + dir = 1; + pixel_y = 32 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/engine/gravity_generator) "vwX" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/machinery/disposal/bin, @@ -71033,20 +71602,6 @@ }, /turf/open/floor/iron/dark, /area/medical/morgue) -"vxd" = ( -/obj/structure/table, -/obj/item/book/manual/hydroponics_pod_people, -/obj/machinery/light, -/obj/item/paper/guides/jobs/hydroponics, -/obj/machinery/camera/directional/south{ - c_tag = "Hydroponics - Foyer" - }, -/obj/item/radio/intercom{ - pixel_y = -25 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/hallway/primary/central) "vxj" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -71055,10 +71610,8 @@ icon_state = "1-8" }, /obj/structure/chair/fancy/bench/right, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, +/obj/effect/turf_decal/tile/dark_red, +/turf/open/floor/iron/smooth_corner, /area/security/prison) "vxn" = ( /obj/structure/cable/yellow{ @@ -71124,47 +71677,6 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/dark/smooth_large, /area/maintenance/disposal/incinerator) -"vyk" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Arrivals - Aft Arm - Far" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/iron, -/area/hallway/secondary/entry) -"vyv" = ( -/obj/item/radio/intercom{ - pixel_x = -30 - }, -/obj/item/crowbar/red, -/obj/item/wrench, -/obj/item/clothing/mask/gas, -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/structure/table, -/obj/item/storage/box, -/obj/item/storage/box, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/engine/atmos) -"vzb" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/grid/steel, -/area/medical/virology) "vzh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -71204,6 +71716,23 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) +"vAF" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Atmos to Loop" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "vAG" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters"; @@ -71221,6 +71750,22 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"vAH" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Bridge - Port Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/bridge) "vAO" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -71230,40 +71775,21 @@ }, /turf/open/floor/iron, /area/construction/storage_wing) -"vAP" = ( -/obj/machinery/light/small, -/obj/item/folder, -/obj/item/folder, -/obj/machinery/camera/directional/south{ - c_tag = "Telecomms - Control Room"; - network = list("ss13","tcomms") - }, -/obj/structure/table/wood, -/obj/item/pen, -/obj/machinery/light_switch/tcomms{ - pixel_x = 9; - pixel_y = -24 - }, -/turf/open/floor/carpet/grimy, -/area/tcommsat/computer) "vAZ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, /turf/open/floor/iron, /area/hydroponics/garden) -"vBh" = ( -/obj/structure/table, -/obj/item/storage/belt/utility, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +"vBq" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/item/storage/box/lights/mixed, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/turf/open/floor/iron, -/area/storage/primary) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "vBz" = ( /turf/open/floor/iron, /area/medical/break_room) @@ -71284,20 +71810,6 @@ /obj/machinery/light/small, /turf/open/floor/iron/dark, /area/medical/surgery) -"vCn" = ( -/obj/structure/table, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "vCo" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -71324,19 +71836,15 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/iron, /area/maintenance/aft) -"vCK" = ( -/obj/structure/window/reinforced, -/obj/machinery/light/small, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Exterior - Fore"; - network = list("minisat") +"vCS" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/iron/dark, -/area/aisat) +/turf/open/floor/iron/smooth_large, +/area/security/brig) "vCX" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -71380,7 +71888,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured_large, /area/security/brig) "vDL" = ( /obj/structure/table, @@ -71414,19 +71922,28 @@ }, /turf/closed/wall, /area/maintenance/department/science) +"vEi" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Courtroom" + }, +/obj/structure/chair/fancy{ + name = "Judge" + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/security/courtroom) "vEu" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/department/science/central) -"vEH" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/main) "vEK" = ( /obj/structure/window/reinforced{ dir = 4 @@ -71463,13 +71980,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/crew_quarters/heads/chief) -"vFE" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/hallway/primary/aft) "vFH" = ( /obj/structure/rack, /obj/item/cane, @@ -71501,6 +72011,15 @@ }, /turf/open/floor/iron, /area/hallway/secondary/command) +"vGo" = ( +/obj/structure/table/glass, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/medical/morgue) "vGw" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/decal/cleanable/dirt, @@ -71537,15 +72056,14 @@ }, /turf/open/floor/iron/dark, /area/maintenance/department/science/xenobiology) -"vHc" = ( -/obj/structure/closet{ - name = "Evidence Closet 2" +"vHe" = ( +/obj/item/radio/intercom{ + pixel_y = 26 }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 +/obj/effect/turf_decal/tile/red/half{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, +/turf/open/floor/iron/dark/smooth_half, /area/security/brig) "vHl" = ( /obj/structure/chair/fancy/comfy{ @@ -71598,6 +72116,20 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/central) +"vId" = ( +/obj/machinery/camera/motion/directional/east{ + c_tag = "MiniSat Maintenance"; + network = list("minisat") + }, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/turf/open/floor/iron/dark, +/area/ai_monitored/storage/satellite) "vIl" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -71617,6 +72149,17 @@ /obj/machinery/newscaster, /turf/closed/wall, /area/security/main) +"vIU" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/corner, +/area/hallway/secondary/entry) "vJa" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -71674,10 +72217,12 @@ }, /turf/open/floor/iron, /area/construction/storage_wing) -"vJE" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, +"vJP" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/turf/open/floor/iron/techmaint, /area/security/main) "vJS" = ( /obj/machinery/disposal/bin, @@ -71692,6 +72237,25 @@ }, /turf/open/floor/iron, /area/storage/primary) +"vJT" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/iron, +/area/quartermaster/warehouse) "vJW" = ( /obj/structure/chair{ dir = 1 @@ -71720,6 +72284,23 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark/corner, /area/hallway/primary/starboard) +"vKP" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "vKV" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, @@ -71797,6 +72378,34 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"vLC" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/execution/education) +"vLS" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/red/line{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured, +/area/ai_monitored/security/armory) +"vLZ" = ( +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/primary/aft) "vMd" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -71823,15 +72432,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/aft) -"vMr" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "vMw" = ( /obj/effect/turf_decal/tile/white, /obj/effect/turf_decal/tile/yellow/opposingcorners{ @@ -71942,6 +72542,17 @@ /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/iron, /area/maintenance/aft) +"vNT" = ( +/obj/structure/table, +/obj/item/folder/red, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/sechailer, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/smooth_large, +/area/security/main) "vNW" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -71965,6 +72576,20 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/dark/telecomms, /area/tcommsat/server) +"vOg" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/delivery/red, +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -31 + }, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/grid/steel, +/area/medical/virology) "vOs" = ( /obj/machinery/status_display/evac{ pixel_x = -32 @@ -72007,34 +72632,6 @@ }, /turf/open/floor/iron, /area/storage/tools) -"vPm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/security/brig) -"vPy" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/computer/cargo/request{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner, -/area/engine/storage_shared) "vPH" = ( /obj/machinery/door/airlock/public/glass{ name = "Holodeck Door" @@ -72068,6 +72665,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"vQH" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Central Primary Hallway - Fore - Courtroom" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "vQI" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -72105,15 +72711,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) -"vQY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "vRc" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -72146,12 +72743,19 @@ }, /turf/open/floor/iron, /area/medical/patients_rooms) -"vRS" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/effect/loot_jobscale/armoury/laser_gun, -/turf/open/floor/iron/dark, -/area/ai_monitored/security/armory) +"vRE" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo Bay - Port" + }, +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) "vSf" = ( /obj/item/radio/intercom{ pixel_y = -28 @@ -72168,11 +72772,6 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) -"vTi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) "vTs" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -72209,18 +72808,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/maintenance/port) -"vTX" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/structure/chair/stool/directional/west, -/obj/effect/landmark/start/exploration, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, -/turf/open/floor/iron, -/area/science/shuttledock) "vUr" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72295,21 +72882,17 @@ }, /turf/open/floor/wood, /area/library) -"vVe" = ( -/obj/item/radio/intercom{ - pixel_y = 26 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Brig - Hallway - Entrance" +"vVl" = ( +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/south{ + c_tag = "Engineering Supermatter Aft"; + network = list("ss13","engine") }, -/turf/open/floor/iron, -/area/security/brig) +/turf/open/floor/engine, +/area/engine/engineering) "vVq" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, @@ -72328,6 +72911,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) +"vWk" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "vWl" = ( /obj/effect/turf_decal/tile/green/fourcorners/contrasted, /obj/machinery/door/firedoor, @@ -72352,12 +72952,6 @@ }, /turf/open/floor/iron/white, /area/medical/virology) -"vWI" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "vWU" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 @@ -72432,34 +73026,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"vYc" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Fore - Port Corner" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) -"vYh" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Bridge - Central" - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/structure/table, -/obj/machinery/fax/bridge, -/turf/open/floor/iron/dark, -/area/bridge) "vYt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -72470,20 +73036,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"vZa" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/holopad{ - pixel_x = 16; - pixel_y = -16 - }, +"vZf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/effect/turf_decal/siding/dark{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "vZn" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -72553,6 +73118,19 @@ }, /turf/open/floor/iron, /area/hydroponics) +"waE" = ( +/obj/item/radio/intercom{ + pixel_y = 21 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Command Hallway - Starboard" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/secondary/command) "waP" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -72627,20 +73205,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/solars/port/fore) -"wcH" = ( -/obj/machinery/light/small, -/obj/machinery/camera/directional/south{ - c_tag = "Security - EVA Storage" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/brig) "wde" = ( /obj/machinery/deepfryer, /turf/open/floor/iron/checker, @@ -72665,10 +73229,10 @@ /obj/item/clothing/gloves/color/latex, /obj/item/clothing/mask/surgical, /obj/item/reagent_containers/spray/cleaner, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ +/obj/effect/turf_decal/tile/red/anticorner{ dir = 1 }, -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/smooth_corner, /area/security/brig) "wdI" = ( /obj/structure/disposalpipe/segment, @@ -72780,20 +73344,6 @@ }, /turf/open/floor/iron, /area/maintenance/department/science) -"wfk" = ( -/obj/structure/reagent_dispensers/peppertank{ - pixel_x = 30 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security Post - Research Division"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) "wfx" = ( /obj/structure/closet/secure_closet/personal, /obj/machinery/light/small{ @@ -72857,27 +73407,6 @@ }, /turf/open/floor/iron, /area/medical/virology) -"wgC" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science/research) -"wgG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/iron, -/area/security/main) "wgH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -72888,25 +73417,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"wgX" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Xenobiology Lab - Fore"; - network = list("ss13","rd") - }, -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/science/xenobiology"; - dir = 1; - name = "Xenobiology APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/science/xenobiology) "whe" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -72946,6 +73456,29 @@ }, /turf/open/floor/iron, /area/storage/primary) +"wiL" = ( +/obj/structure/table/wood, +/obj/item/lipstick{ + pixel_y = 5 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Theatre - Stage" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/instrument/guitar, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "wjj" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -73008,46 +73541,6 @@ }, /turf/open/floor/iron, /area/science/mixing) -"wki" = ( -/obj/machinery/camera/motion/directional/east{ - c_tag = "E.V.A. Storage" - }, -/obj/machinery/requests_console{ - department = "EVA"; - pixel_x = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/ai_monitored/storage/eva) -"wkt" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 2.9 - }, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Exterior - Starboard Aft"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/aisat) "wkB" = ( /obj/machinery/status_display/supply{ pixel_y = 32 @@ -73130,9 +73623,6 @@ /obj/effect/turf_decal/trimline/purple/filled/corner, /turf/open/floor/iron/white, /area/science/research) -"wlO" = ( -/turf/open/floor/iron, -/area/security/checkpoint/medical) "wlP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -73205,6 +73695,27 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"wns" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Secure Pen"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/maintenance/department/science/xenobiology) +"wnv" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Power Monitoring" + }, +/obj/machinery/modular_computer/console/preset/engineering, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/engine/engineering) "wny" = ( /obj/structure/curtain, /obj/effect/spawner/structure/window, @@ -73225,15 +73736,6 @@ }, /turf/open/floor/iron, /area/engine/break_room) -"wnE" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/computer/cargo/request{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "wnH" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -73267,10 +73769,12 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 +/obj/effect/turf_decal/tile/dark_red{ + dir = 8 + }, +/turf/open/floor/iron/smooth_corner{ + dir = 8 }, -/turf/open/floor/iron, /area/security/prison) "wnW" = ( /obj/structure/cable/yellow{ @@ -73337,15 +73841,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/maintenance/aft) -"wpb" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins Storage"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark, -/area/science/storage) "wqa" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -73435,19 +73930,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"wrr" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "wrv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -73459,13 +73941,6 @@ }, /turf/open/floor/iron/dark, /area/science/xenobiology) -"wry" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "wrJ" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -73473,40 +73948,6 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron, /area/storage/tools) -"wsj" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/structure/table, -/obj/item/stack/sheet/plasteel{ - amount = 10 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/ai_monitored/storage/eva) -"wsA" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/customs) "wsB" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 @@ -73522,6 +73963,25 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"wsD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "wsV" = ( /turf/closed/wall/r_wall, /area/medical/chemistry) @@ -73581,14 +74041,6 @@ /obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"wuc" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/iron, -/area/medical/break_room) "wuf" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -73723,6 +74175,15 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) +"wwD" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/iron/chapel, +/area/chapel/main) "wwG" = ( /obj/item/storage/box/lights/mixed, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -73790,16 +74251,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"wxV" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4; - sortType = 8 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/main) "wyc" = ( /obj/structure/window/reinforced{ dir = 1 @@ -73851,42 +74302,16 @@ /obj/item/stack/package_wrap, /turf/open/floor/iron/dark, /area/medical/morgue) -"wyS" = ( -/obj/machinery/light_switch{ - pixel_x = 27 - }, -/obj/structure/reagent_dispensers/peppertank{ - pixel_y = 30 - }, -/obj/structure/closet/secure_closet/security, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) -"wzi" = ( -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/under/suit/black_really, -/obj/item/clothing/glasses/sunglasses/advanced, -/obj/machinery/camera/directional/north{ - c_tag = "Corporate Showroom" +"wyO" = ( +/obj/structure/closet{ + name = "Evidence Closet 2" }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 }, -/turf/open/floor/wood, -/area/bridge/showroom/corporate) +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/security/brig) "wzA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -73931,35 +74356,26 @@ }, /turf/open/floor/carpet/grimy, /area/security/detectives_office) -"wzI" = ( -/obj/effect/landmark/start/assistant, -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/bar) -"wzJ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/bed/roller, -/turf/open/floor/iron/dark, -/area/medical/morgue) "wzT" = ( /obj/effect/landmark/start/bartender, /turf/open/floor/wood/big, /area/crew_quarters/bar) -"wAn" = ( -/obj/machinery/light{ - dir = 8 +"wzX" = ( +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron, -/area/crew_quarters/fitness/recreation) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "wAq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -73981,6 +74397,16 @@ }, /turf/open/floor/iron/freezer, /area/crew_quarters/toilet/restrooms) +"wAt" = ( +/obj/machinery/shieldgen, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Secure Storage" + }, +/turf/open/floor/plating, +/area/engine/engineering) "wAD" = ( /obj/machinery/light_switch{ pixel_x = -20; @@ -73988,22 +74414,6 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"wAW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/table/reinforced, -/obj/item/storage/firstaid/regular, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 - }, -/turf/open/floor/iron/dark, -/area/science/explab) "wAX" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -74071,41 +74481,41 @@ }, /turf/open/floor/iron, /area/science/robotics/lab) -"wCx" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Aft Starboard Solar Maintenance" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, +"wCy" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/turf/open/floor/iron, +/area/medical/morgue) +"wCD" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Pen #2"; + network = list("ss13","rd","xeno") }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/light/small{ dir = 4 }, -/turf/open/floor/iron, -/area/maintenance/solars/starboard/aft) -"wCy" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/engine, +/area/science/xenobiology) +"wCG" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" + }, +/obj/item/bodypart/chest/robot{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/item/bodypart/head/robot{ + pixel_x = 3; + pixel_y = 2 }, -/turf/open/floor/iron, -/area/medical/morgue) -"wCI" = ( -/obj/item/folder, -/obj/item/folder, -/obj/machinery/camera/autoname/directional/south, /obj/structure/table/wood, -/obj/item/taperecorder, -/obj/item/tape, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/library) +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/carpet/blue, +/area/bridge/showroom/corporate) "wCN" = ( /obj/machinery/door/airlock/engineering{ name = "Telecomms Storage"; @@ -74143,6 +74553,10 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"wDn" = ( +/obj/structure/chair/stool/directional/south, +/turf/open/floor/iron, +/area/crew_quarters/locker) "wDx" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -74254,6 +74668,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"wFY" = ( +/obj/machinery/status_display/evac{ + pixel_x = 32; + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/dark/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/hos) "wFZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -74328,6 +74755,18 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"wHO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_edge, +/area/security/brig) "wIf" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -74386,23 +74825,6 @@ }, /turf/open/floor/iron/white, /area/medical/genetics/cloning) -"wJa" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Atmos to Loop" - }, -/turf/open/floor/engine, -/area/engine/engineering) "wJg" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -74585,15 +75007,6 @@ /obj/machinery/air_sensor/atmos/toxins_mixing_tank, /turf/open/floor/engine, /area/science/mixing/chamber) -"wMd" = ( -/obj/structure/bodycontainer/morgue{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/turf/open/floor/iron/dark, -/area/chapel/office) "wMy" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -74612,22 +75025,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"wMM" = ( -/obj/machinery/power/apc/highcap/ten_k{ - areastring = "/area/bridge"; - dir = 8; - name = "Bridge APC"; - pixel_x = -24 - }, -/obj/structure/cable/yellow, -/obj/machinery/camera/directional/west{ - c_tag = "Bridge - Port" - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/bridge) "wMZ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -74757,21 +75154,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft/secondary) -"wOJ" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/engineering"; - dir = 8; - name = "Engineering Security APC"; - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) "wOK" = ( /turf/open/floor/iron, /area/maintenance/starboard/fore) @@ -74903,24 +75285,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/dark, /area/science/shuttledock) -"wQW" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo Bay - Fore" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/storage) "wRm" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -74937,12 +75301,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"wSf" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/brig) "wSh" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -74961,6 +75319,13 @@ }, /turf/open/floor/iron/white, /area/science/research) +"wSv" = ( +/obj/machinery/atmospherics/pipe/simple/general/hidden, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "wSB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -74984,16 +75349,27 @@ }, /turf/open/space/basic, /area/solar/starboard/aft) +"wTv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) "wTx" = ( /obj/structure/punching_bag, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/black/fourcorners/contrasted, /turf/open/floor/prison, /area/security/prison) -"wTB" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/iron, -/area/crew_quarters/locker) "wTR" = ( /obj/structure/closet/wardrobe/green, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, @@ -75011,6 +75387,22 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4, /turf/open/floor/iron, /area/crew_quarters/locker) +"wUi" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/secondary/service"; + dir = 1; + name = "Service Hall APC"; + pixel_y = 24 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/hallway/secondary/service) "wUu" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -75075,29 +75467,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port) -"wVn" = ( -/obj/item/tank/internals/oxygen/red{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/item/tank/internals/oxygen/red{ - pixel_x = 4; - pixel_y = -1 +"wVp" = ( +/obj/structure/table/wood, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/computer/med_data/laptop{ + dir = 8; + pixel_y = 4 }, -/obj/item/tank/internals/anesthetic{ - pixel_x = 2 +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/structure/closet/crate{ - opened = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/obj/item/wrench, -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/execution/education) +/turf/open/floor/wood, +/area/medical/exam_room) "wVw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -75162,6 +75546,22 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/white, /area/science/xenobiology) +"wVZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "wWC" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -75268,21 +75668,6 @@ }, /turf/open/floor/wood, /area/library) -"wYc" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/secondary/exit/departure_lounge) "wYn" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -75346,6 +75731,35 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"wZV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Fitness Room - Fore" + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 24 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) +"xac" = ( +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/gulag_teleporter, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "xad" = ( /obj/machinery/light_switch{ pixel_x = 27 @@ -75381,6 +75795,29 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"xaQ" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/iron, +/area/crew_quarters/locker) +"xaR" = ( +/obj/structure/closet/secure_closet/medical2, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = 11 + }, +/obj/machinery/status_display/ai{ + pixel_y = -32 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Medbay - Surgery"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/turf/open/floor/iron/dark, +/area/medical/surgery) "xbd" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -75420,32 +75857,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"xcl" = ( -/obj/machinery/power/apc{ - areastring = "/area/hydroponics/garden"; - dir = 4; - name = "Garden APC"; - pixel_x = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/disposal/bin, -/obj/machinery/camera/directional/east{ - c_tag = "Garden" +"xcq" = ( +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/newscaster{ + pixel_y = -32 }, -/obj/structure/disposalpipe/trunk{ +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/half{ dir = 8 }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/hydroponics/garden) +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/supply) "xcx" = ( /obj/structure/filingcabinet, /obj/item/folder/documents, @@ -75453,19 +75875,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/nuke_storage) -"xcC" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Security - Office - Port" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -24; - pixel_y = 8 - }, -/turf/open/floor/iron, -/area/security/main) "xcE" = ( /obj/machinery/power/apc/highcap/five_k{ areastring = "/area/hallway/primary/fore"; @@ -75482,23 +75891,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"xdr" = ( -/obj/machinery/disposal/bin, -/obj/machinery/light_switch{ - pixel_y = -26 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Fitness Room - Aft" - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/crew_quarters/fitness/recreation) "xdC" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -75605,17 +75997,26 @@ /obj/machinery/door/window/westleft{ name = "Infirmary" }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/iron/white, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/white/smooth_corner{ + dir = 4 + }, /area/security/brig) +"xfu" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/carpet/green, +/area/library) "xfz" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -75629,19 +76030,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/storage/tech) -"xfN" = ( -/obj/machinery/light_switch{ - pixel_x = 28 - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Chapel Office" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/carpet/grimy, -/area/chapel/office) "xfP" = ( /obj/structure/chair{ dir = 1 @@ -75669,22 +76057,43 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/medical/medbay/central) +"xgq" = ( +/obj/machinery/flasher/portable, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/tech/grid, +/area/security/main) "xgB" = ( /obj/effect/turf_decal/siding/white{ dir = 8 }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"xgP" = ( -/obj/item/radio/intercom{ - pixel_y = 20 +"xgM" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 }, -/obj/machinery/computer/security, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/iron, -/area/security/checkpoint/customs) +/obj/machinery/camera/directional/north{ + c_tag = "Warden's Office" + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/storage/toolbox/emergency{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/wirecutters{ + pixel_y = 2 + }, +/turf/open/floor/iron/showroomfloor, +/area/security/warden) "xgR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -75695,19 +76104,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"xgV" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "xhg" = ( /obj/effect/turf_decal/delivery, /obj/item/soap/nanotrasen, @@ -75870,6 +76266,12 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"xiV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/techmaint, +/area/security/main) "xiW" = ( /obj/item/radio/intercom{ pixel_y = 21 @@ -75912,25 +76314,6 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) -"xjr" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/light_switch{ - pixel_x = 24; - pixel_y = 11 - }, -/obj/machinery/status_display/ai{ - pixel_y = -32 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Medbay - Surgery"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow, -/turf/open/floor/iron/dark, -/area/medical/surgery) "xjG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -75966,6 +76349,38 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hydroponics/garden) +"xjO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/maintenance/department/medical/central) +"xkm" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "xkr" = ( /obj/machinery/smartfridge/extract/preloaded, /obj/effect/turf_decal/tile/purple/half/contrasted{ @@ -76015,6 +76430,15 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/aft) +"xkT" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Port Primary Hallway - Starboard" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/port) "xlH" = ( /obj/structure/grille, /obj/structure/lattice, @@ -76053,29 +76477,26 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"xlX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "xlZ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/medical/medbay/aft) -"xml" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_x = -4 - }, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "MedbayFoyer"; - name = "Medbay Doors Control"; - normaldoorcontrol = 1; - pixel_x = 7; - pixel_y = -2 - }, -/obj/machinery/light_switch{ - pixel_x = 27 +"xmj" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Atmospherics Tank - N2O" }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) +/turf/open/floor/engine/n2o, +/area/engine/atmos) "xmw" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -76120,40 +76541,6 @@ }, /turf/open/floor/iron, /area/medical/chemistry) -"xng" = ( -/obj/machinery/power/apc{ - areastring = "/area/security/checkpoint/supply"; - dir = 1; - name = "Security Post - Cargo Bay APC"; - pixel_y = 24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/security/checkpoint/supply) -"xno" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/security/brig) "xns" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -76173,19 +76560,6 @@ /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark/smooth_large, /area/maintenance/disposal/incinerator) -"xnK" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/item/radio/intercom{ - pixel_y = -29 - }, -/obj/effect/turf_decal/tile/black/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/hor) "xnR" = ( /obj/structure/closet/secure_closet/personal/patient, /obj/effect/turf_decal/bot, @@ -76230,19 +76604,23 @@ }, /turf/open/floor/iron, /area/janitor) -"xoD" = ( -/obj/effect/landmark/start/captain, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 +"xoA" = ( +/obj/machinery/camera/directional/north, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/qm"; + dir = 1; + name = "Quartermaster's Office APC"; + pixel_y = 24 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 }, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain/private) +/turf/open/floor/iron, +/area/quartermaster/qm) "xoL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -76338,6 +76716,26 @@ }, /turf/open/floor/iron, /area/crew_quarters/fitness/recreation) +"xqw" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron, +/area/medical/break_room) "xqx" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -76350,14 +76748,18 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) -"xqS" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 +"xqI" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/machinery/camera/directional/north{ + c_tag = "Locker Room Starboard" }, -/obj/machinery/suit_storage_unit/security, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/security/brig) +/obj/structure/sign/warning/pods{ + pixel_y = 30 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/crew_quarters/locker) "xra" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -76401,17 +76803,17 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"xrH" = ( +"xrx" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/chair/stool/directional/west{ - pixel_x = 7; - pixel_y = 6 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/turf/open/floor/prison, -/area/security/prison) +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "xsb" = ( /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/carpet/grimy, @@ -76490,6 +76892,24 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/hallway/primary/central) +"xsN" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -26 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/brig) "xtd" = ( /obj/machinery/power/terminal, /obj/effect/turf_decal/stripes/line, @@ -76498,6 +76918,15 @@ }, /turf/open/floor/iron, /area/engine/gravity_generator) +"xtg" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "xts" = ( /obj/machinery/light/small{ dir = 1 @@ -76533,6 +76962,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) +"xuf" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "xuh" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -76562,23 +76997,37 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"xup" = ( -/obj/item/phone{ - desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; - pixel_x = -3; - pixel_y = 3 +"xur" = ( +/obj/structure/closet/secure_closet/security/engine, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 5; - pixel_y = -1 +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/red/anticorner, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/checkpoint/engineering) +"xus" = ( +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/structure/table/wood, /obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 + dir = 1; + pixel_y = -24 }, -/turf/open/floor/carpet/grimy, -/area/security/main) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) "xut" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -76591,6 +77040,24 @@ }, /turf/open/floor/iron, /area/science/robotics/mechbay) +"xuO" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "xuR" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -76614,19 +77081,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"xvv" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Bar" - }, -/obj/item/kirbyplants/random, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/big, -/area/crew_quarters/bar) "xvz" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -76696,14 +77150,26 @@ }, /turf/open/floor/iron/freezer, /area/crew_quarters/toilet/restrooms) -"xwX" = ( -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/bot, -/obj/structure/cable/yellow{ - icon_state = "4-8" +"xxc" = ( +/obj/effect/landmark/start/security_officer, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 }, -/turf/open/floor/iron/showroomfloor, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/dark/smooth_half, /area/security/main) +"xxx" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/airalarm/directional/east{ + pixel_x = 24 + }, +/turf/open/floor/iron, +/area/construction/storage_wing) "xxI" = ( /obj/item/soap/nanotrasen, /obj/machinery/light/small{ @@ -76756,22 +77222,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre) -"xyn" = ( -/obj/structure/bed{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13","medbay") - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/iron/dark, -/area/security/prison) "xyp" = ( /obj/docking_port/stationary{ dheight = 1; @@ -76793,25 +77243,19 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) -"xze" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 +"xzg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/firealarm/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/item/glove_box{ - pixel_x = -7; - pixel_y = 2 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","medbay") +/obj/machinery/light{ + dir = 4 }, -/turf/open/floor/iron/dark, -/area/medical/morgue) +/obj/effect/turf_decal/tile/red, +/turf/open/floor/iron/dark/smooth_corner, +/area/security/brig) "xzs" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/delivery, @@ -76866,6 +77310,21 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/crew_quarters/heads/captain/private) +"xzO" = ( +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen, +/obj/structure/table/reinforced, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/checkpoint/customs) "xzS" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/wood/poker, @@ -76982,6 +77441,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"xBP" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "xBY" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 @@ -77060,17 +77527,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/science/xenobiology) -"xCZ" = ( -/obj/machinery/airalarm/directional/north{ - pixel_y = 23 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/monkey_recycler, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron/white, -/area/science/xenobiology) "xDR" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -77108,6 +77564,12 @@ }, /turf/open/floor/wood, /area/bridge/showroom/corporate) +"xEq" = ( +/obj/structure/rack, +/obj/item/storage/box/sec_barricades, +/obj/item/survivalcapsule/capsule_checkpoint, +/turf/open/floor/iron/dark/smooth_large, +/area/ai_monitored/security/armory) "xER" = ( /obj/structure/window/reinforced{ dir = 4 @@ -77184,6 +77646,15 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"xFx" = ( +/obj/machinery/light_switch{ + pixel_x = -26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/crew_quarters/fitness/recreation) "xGa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -77207,6 +77678,20 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) +"xGs" = ( +/obj/structure/rack, +/obj/machinery/camera/directional/south{ + c_tag = "Brig - Infirmary" + }, +/obj/item/clothing/under/rank/medical/doctor/purple{ + pixel_y = -4 + }, +/obj/item/stack/medical/gauze, +/obj/effect/turf_decal/tile/red/half, +/turf/open/floor/iron/white/smooth_half{ + dir = 1 + }, +/area/security/brig) "xGC" = ( /obj/machinery/door/airlock/maintenance{ req_one_access_txt = "12;27;37;5" @@ -77228,14 +77713,6 @@ }, /turf/open/floor/iron, /area/maintenance/aft) -"xHc" = ( -/obj/machinery/light/small, -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/maintenance/department/science) "xHh" = ( /obj/structure/chair{ dir = 8 @@ -77257,6 +77734,18 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain/private) +"xHy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) "xHE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -77400,6 +77889,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/carpet/blue, /area/bridge) +"xJu" = ( +/obj/machinery/rnd/destructive_analyzer, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/science/lab) "xJw" = ( /obj/machinery/door/airlock/public/glass{ name = "space-bridge access" @@ -77461,6 +77960,18 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/patients_rooms) +"xLJ" = ( +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 4 + }, +/area/security/checkpoint/supply) "xLS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -77493,17 +78004,6 @@ }, /turf/open/floor/prison, /area/security/prison) -"xMC" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 27 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron, -/area/security/brig) "xMM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -77517,93 +78017,6 @@ /obj/effect/turf_decal/trimline/dark_blue/filled/line, /turf/open/floor/iron/dark, /area/science/server) -"xNp" = ( -/obj/item/reagent_containers/glass/bottle/bromine{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/aluminium{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/chlorine{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/carbon{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/ethanol{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/copper{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/hydrogen{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/fluorine{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/water{ - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/lithium{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/iron{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/iodine{ - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/oxygen{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/phosphorus{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/nitrogen{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/mercury{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/radium{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/potassium{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/welding_fuel{ - pixel_y = 8 - }, -/obj/item/reagent_containers/glass/bottle/sacid{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/silicon{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/silver{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/sodium{ - pixel_x = -6 - }, -/obj/item/reagent_containers/glass/bottle/sugar{ - pixel_x = 6 - }, -/obj/item/reagent_containers/glass/bottle/sulfur{ - pixel_x = -6 - }, -/obj/structure/closet/crate/medical, -/obj/effect/turf_decal/box, -/obj/item/circuitboard/machine/chem_heater, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/medical/virology) "xNr" = ( /obj/machinery/door/airlock/public/glass{ name = "Fore Primary Hallway" @@ -77633,6 +78046,21 @@ }, /turf/open/floor/iron, /area/science/robotics/mechbay) +"xNA" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_half{ + dir = 1 + }, +/area/security/checkpoint/science/research) "xNM" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -77775,26 +78203,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/quartermaster/storage) -"xPF" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Labor Camp Shuttle Airlock"; - req_access_txt = "2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/dark, -/area/security/brig) "xPP" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -77834,15 +78242,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/medical/break_room) -"xQu" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Fore Primary Hallway Cells" - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "xQQ" = ( /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/stripes/line{ @@ -77915,26 +78314,11 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"xRF" = ( -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Exterior - Fore Starboard"; - network = list("minisat") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/aisat) +"xSa" = ( +/obj/structure/closet/secure_closet/security/sec, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/techmaint, +/area/security/main) "xSc" = ( /obj/machinery/computer/turbine_computer{ dir = 1; @@ -77962,6 +78346,46 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) +"xSD" = ( +/obj/item/seeds/wheat, +/obj/item/seeds/sugarcane, +/obj/item/seeds/potato, +/obj/item/seeds/apple, +/obj/item/grown/corncob, +/obj/item/food/grown/carrot, +/obj/item/food/grown/wheat, +/obj/item/food/grown/pumpkin{ + pixel_y = 5 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/structure/table/glass, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hydroponics) +"xSE" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/white, +/area/medical/medbay/central) "xST" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; @@ -78017,6 +78441,23 @@ /obj/structure/pool_ladder, /turf/open/indestructible/sound/pool/end, /area/crew_quarters/fitness/recreation) +"xTL" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway - Auxiliary Tool Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "xTR" = ( /obj/machinery/computer/security{ name = "Medbay camera console"; @@ -78041,6 +78482,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/security/main) +"xUL" = ( +/obj/structure/table, +/obj/item/storage/box/prisoner{ + pixel_x = 5 + }, +/obj/item/razor{ + pixel_x = -6 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "xUQ" = ( /obj/item/cigbutt, /turf/open/floor/iron, @@ -78127,13 +78578,22 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) +"xWQ" = ( +/obj/machinery/computer/prisoner/gulag_teleporter_computer{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 1 + }, +/turf/open/floor/iron/smooth_large, +/area/security/brig) "xWX" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/structure/closet/crate, /turf/open/floor/plating, /area/maintenance/aft) "xXp" = ( -/turf/open/floor/iron/white, +/turf/open/floor/iron/white/textured_large, /area/security/brig) "xXw" = ( /obj/effect/turf_decal/tile/purple/half/contrasted, @@ -78200,17 +78660,6 @@ }, /turf/open/floor/iron/dark, /area/bridge) -"xYd" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/effect/landmark/start/botanist, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/iron, -/area/hydroponics) "xYl" = ( /obj/machinery/door/airlock/command/glass{ name = "Gravity Generator Area"; @@ -78254,6 +78703,24 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"xYQ" = ( +/obj/machinery/computer/security/telescreen/interrogation{ + dir = 8; + pixel_x = 30 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/tile/red/anticorner{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "xZj" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -78310,6 +78777,20 @@ }, /turf/open/floor/iron/white, /area/medical/chemistry) +"xZC" = ( +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom{ + pixel_x = 3; + pixel_y = -28 + }, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = -23 + }, +/obj/machinery/light, +/turf/open/floor/iron, +/area/medical/break_room) "yak" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -78319,6 +78800,21 @@ }, /turf/open/floor/iron/dark, /area/bridge) +"yaJ" = ( +/obj/item/storage/book/bible, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Chapel - Fore" + }, +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/chapel/main) "yaO" = ( /obj/item/radio/intercom{ pixel_y = -25 @@ -78347,6 +78843,32 @@ /obj/effect/landmark/blobstart, /turf/open/floor/engine/cult, /area/library) +"ybq" = ( +/obj/machinery/light, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_y = -32 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) +"ybr" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/siding/red{ + dir = 3 + }, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/turf/open/floor/glass/reinforced, +/area/security/main) "ybs" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -78359,6 +78881,12 @@ }, /turf/open/floor/wood, /area/library) +"ybL" = ( +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/brig) "ybO" = ( /obj/machinery/computer/security/telescreen{ desc = "Used for watching Prison Wing holding areas."; @@ -78377,25 +78905,37 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/port) +"ybU" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 8 + }, +/area/security/brig) "ybX" = ( /obj/machinery/shieldwallgen, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/teleporter) -"ycb" = ( -/obj/machinery/computer/secure_data{ - dir = 8 +"ycc" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the engine."; - dir = 8; - name = "Engine Monitor"; - network = list("engine"); - pixel_x = 32 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/tile/red/half/contrasted, -/turf/open/floor/iron, -/area/security/checkpoint/engineering) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/main) "ycq" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -78453,6 +78993,29 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/aft) +"ydR" = ( +/obj/item/storage/box, +/obj/structure/table, +/obj/item/storage/box, +/obj/item/storage/box, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/item/hand_labeler, +/obj/machinery/power/apc{ + areastring = "/area/quartermaster/sorting"; + dir = 4; + name = "Delivery Office APC"; + pixel_x = 24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/white/corner, +/area/quartermaster/sorting) "ydT" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, @@ -78490,35 +79053,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"yen" = ( -/obj/structure/table, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/folder/red, -/obj/item/restraints/handcuffs, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/clothing/head/cone{ - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/iron/showroomfloor, -/area/security/main) "yeq" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency{ @@ -78571,6 +79105,9 @@ }, /turf/open/floor/iron, /area/maintenance/port) +"yfv" = ( +/turf/open/floor/carpet/royalblack, +/area/security/main) "yfM" = ( /obj/machinery/vending/engivend, /obj/effect/turf_decal/delivery, @@ -78635,6 +79172,16 @@ /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /turf/open/floor/iron, /area/science/shuttledock) +"ygr" = ( +/obj/machinery/airalarm/directional/north{ + pixel_y = 23 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/central) "ygt" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -78687,6 +79234,13 @@ }, /turf/open/floor/plating, /area/maintenance/central) +"ygR" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/maintenance/fore) "ygW" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -78709,6 +79263,22 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/maintenance/starboard/secondary) +"yhi" = ( +/obj/structure/table, +/obj/item/folder/red{ + pixel_x = 3 + }, +/obj/item/taperecorder{ + pixel_x = -3 + }, +/obj/item/storage/fancy/cigarettes, +/obj/item/assembly/flash/handheld, +/obj/item/reagent_containers/peppercloud_deployer, +/obj/effect/turf_decal/tile/red/half{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/security/execution/education) "yhk" = ( /obj/machinery/computer/crew{ dir = 8; @@ -78782,6 +79352,46 @@ /obj/machinery/telecomms/bus/preset_exploration, /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) +"yix" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark/smooth_large, +/area/security/brig) +"yiI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/machinery/camera/directional/west{ + c_tag = "Custodial Closet" + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/janitor) +"yjd" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Captain's Office" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain/private) "yji" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable/yellow{ @@ -78925,6 +79535,17 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/engine/engineering) +"ykB" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron/dark/smooth_corner{ + dir = 1 + }, +/area/security/brig) "ykR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 @@ -78942,6 +79563,23 @@ }, /turf/open/floor/iron, /area/maintenance/aft) +"ykY" = ( +/obj/effect/landmark/start/captain, +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain/private) +"yld" = ( +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron/dark/smooth_large, +/area/hallway/primary/aft) "yle" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -89407,7 +90045,7 @@ aaa aaf aaf aRA -aVx +mDc aWU aVs aVs @@ -89680,7 +90318,7 @@ aRW pTW oTr jtl -lCP +fDS aRA aaa aaa @@ -89946,7 +90584,7 @@ aaa aaa aVs rSC -vyk +eeQ aRA aaa aaf @@ -90690,7 +91328,7 @@ aDa aDa cWK jqc -fzP +syD aDb qlX fGo @@ -91718,7 +92356,7 @@ aDa aDa cWK esH -dEO +omU aDb uQr aWU @@ -91736,7 +92374,7 @@ aVs aRA aVs aVu -qVS +kPV aRA ekG aVs @@ -92256,9 +92894,9 @@ ftt nSS xlJ mtn -btY +fUp lvM -sKu +qZe qyx alK sUg @@ -92502,8 +93140,8 @@ vnp biu vnp vnp -bnK -bqb +bha +loY vnp ufZ bvK @@ -92523,7 +93161,7 @@ wnW jwV bTn kOu -fDO +uIM its bTn bTn @@ -92749,8 +93387,8 @@ eDq pkz dne oVx -efR -fsh +nwV +vIU pSe hSJ wHy @@ -93267,9 +93905,9 @@ aaa dne rUw bbK -jmb -pYm -sFB +nGw +bhK +eQj bbK pgA xCK @@ -93524,18 +94162,18 @@ aaa dne eIK bbK -kVZ -beM -sJj +hHC +btZ +mtg biy evj xNM pYW -pDW +hlC yhx nNU evj -gKq +kdo bzx bzx bzx @@ -93781,9 +94419,9 @@ aaf dne tfz bbK -xgP -edO -pbY +lAn +hLn +xzO biz bfd rlN @@ -94038,9 +94676,9 @@ aaf aip tfz bbK -aER -uXD -dAU +lHU +aCV +vko biA bfd erh @@ -94295,9 +94933,9 @@ aaa aip dWF bbK -gRv -tbZ -mvp +aYo +kWQ +qWb biz bfd rlN @@ -94552,9 +95190,9 @@ aaa aip tfz bbK -wyS -wsA -maZ +drJ +mxY +fYf bbK jZO pGB @@ -94563,7 +95201,7 @@ iOK vHl kAA uqv -awv +iDo bzx bBi bCM @@ -95075,13 +95713,13 @@ hOi bnR oVC kho -btX +uXL evj eDa bzx bBk bNh -bNK +dql bBg dig bJx @@ -95303,7 +95941,7 @@ aaf ayj azk iWy -aBT +ccN ayi aaf aaf @@ -95367,11 +96005,11 @@ cia wZm hMK gaE -qUk +tMw sVF cia sSr -eHk +sZI cia wrk geN @@ -95594,7 +96232,7 @@ ddv pGB bvW mYj -bCP +rFe bvW bGl bHN @@ -96088,7 +96726,7 @@ fLK aQi aRH aRH -aUf +vRE aRH jeV uSr @@ -96367,7 +97005,7 @@ bzB bBn bCS bBn -bQN +jse dih bvW aob @@ -96396,7 +97034,7 @@ iCW ygH cLv clv -xjr +xaR cia pVg uHp @@ -96845,8 +97483,8 @@ eIK ayj yeq oci -qpa -lMe +pyq +ibw klm odl ayj @@ -96918,7 +97556,7 @@ cDL rNQ lzI mDQ -otJ +vOg qgI fti fsm @@ -97107,7 +97745,7 @@ ayj ayj ayj ayj -wQW +uYP aMv aKT aMv @@ -97126,11 +97764,11 @@ bdj dmF hQP dmT -bkk +hwi dmF -hQd +qnn bql -bsB +sFE alK lBu sfd @@ -97163,7 +97801,7 @@ vBz ljm lZZ cia -iiQ +jsJ qJD uRp iBM @@ -97599,7 +98237,7 @@ aee aee aee ckN -jvL +vkW hBw bbo vqq @@ -97640,7 +98278,7 @@ bdk dmF mpK biJ -pDZ +ydR dmF nDE bqq @@ -97890,7 +98528,7 @@ aSU aMv aNF aXj -voO +uaJ bat dmF dmF @@ -98128,7 +98766,7 @@ auJ tfQ dne ayl -hBl +vJT jMp fZj aDn @@ -98151,7 +98789,7 @@ kgo bau hAp tEq -mYl +gdb nIU baD ygL @@ -98163,9 +98801,9 @@ bue wKd oPv nPW -ffQ +npg wqd -cHU +eYe lKl ixj amb @@ -98198,14 +98836,14 @@ ehM oVL ehM ehM -sVA +oxM cDL tDh dle wEb npX rEg -xNp +gEW osp fKN dDz @@ -98398,7 +99036,7 @@ nZd xTo uly wJW -fPB +afr iKd ipa hKx @@ -98432,7 +99070,7 @@ bue kzX bzE bSy -bTx +eZd bue aob aob @@ -98442,9 +99080,9 @@ alK muG vja wGq -llr -pLx -utJ +hkK +xqw +okJ orR xsD uDF @@ -98689,7 +99327,7 @@ bOk bzE bRi bSz -bTy +jTg bue aob eWw @@ -98702,7 +99340,7 @@ rbM tRS oet nfo -fkb +doE pda gTZ adH @@ -98915,9 +99553,9 @@ eQm hlj nXV aSX -sCl -ivy -rcZ +mJJ +ssU +xLJ aSX bgD bbT @@ -98933,7 +99571,7 @@ tMI buh bwc bwc -bzF +xfu bwc bwc kOK @@ -98959,7 +99597,7 @@ wGq aAN qCE iiM -fBi +xZC dnJ flL flL @@ -98967,12 +99605,12 @@ flL aWC dnJ dnJ -kQu +qkp fPo qdC hEV qlt -vzb +qCZ nFv lzI edK @@ -98990,7 +99628,7 @@ gkv cLa cLa nNY -wMd +iKN cLa cPB cPZ @@ -99163,18 +99801,18 @@ dne dne dne qXH -eAc +joq dne hTH dne -fYH +xoA cXe tMm jPS aSX -xng -mTC -rNi +uvC +nLq +hnd aSX hLZ hbA @@ -99213,9 +99851,9 @@ alK ats rnn wGq -rMk -qaY -wuc +iBR +dTh +sZq gED dnJ kTa @@ -99424,14 +100062,14 @@ dxy dne gUI dne -nCx +mLP aPj aQs xBc aSX -jmn -gvk -eWC +sJM +nNP +xcq aSX bay jOE @@ -99455,7 +100093,7 @@ yby bHS bzE bLk -gvg +shq bue qiQ bzE @@ -99467,7 +100105,7 @@ alK alK alK alK -fxZ +xjO mpW wGq dog @@ -99475,7 +100113,7 @@ fiu vBz klT dnJ -fYC +kzD uXN rBG qtt @@ -99502,7 +100140,7 @@ ftn lxJ cLu cLa -jgB +bbI rJs cOF cLa @@ -99686,9 +100324,9 @@ aPk pSs eUh aSX -nZR -mZH -iFn +rbu +jNh +dmL aYS baz bbW @@ -99700,7 +100338,7 @@ ary bdw lhn tnN -bsH +xkT bue wXJ lep @@ -99712,7 +100350,7 @@ yby bHT bJA vMK -wCI +rjO bue rGU rbC @@ -99729,16 +100367,16 @@ ovJ wGq rDz nyD -syN +oCJ sXs dnJ -nVz +wVp ocx eYl ovI lby dnJ -dmb +sYW pmr xlZ iiO @@ -100016,7 +100654,7 @@ hzm cLa thW bhr -rvd +oGa gFf gTP cLa @@ -100243,11 +100881,11 @@ feW ycr rMj smE -pEB +nqq vNW bXK pXO -pFg +ndt gdn fIL jSs @@ -100261,7 +100899,7 @@ doj dvk xYM cCe -wzJ +uMm vGw goI oyE @@ -100279,7 +100917,7 @@ mnY cLa cPF uoc -djj +hWl cOP dxq cPA @@ -100440,7 +101078,7 @@ aqj aax aaa awW -ayq +edj eDK cPs imL @@ -100448,7 +101086,7 @@ kMr lIP hPM fCf -hmC +udL aJN aJN aJN @@ -100514,7 +101152,7 @@ pmr qdC nCO cCe -gpg +vGo oDd hCr cCe @@ -100700,7 +101338,7 @@ awW ayr azy mDg -aCg +eey aDs aEH aFS @@ -100708,7 +101346,7 @@ ksG aIy aJO whR -qYG +vuD aNT aPn aQu @@ -100718,8 +101356,8 @@ pbu aJN lhv dne -lMU -lCe +msB +mUb tgo bff bgY @@ -100760,7 +101398,7 @@ tQy vUv wLJ mdY -djh +eDN gmr cjV hpp @@ -100788,7 +101426,7 @@ cLa gES tMX gES -xfN +rTE jhu tmd ehx @@ -100943,7 +101581,7 @@ mHg lOA srs dAL -qAn +alD hlT dAL abe @@ -100971,7 +101609,7 @@ aMB aMB aRP aTb -vBh +tjU aJN uxg dne @@ -101002,7 +101640,7 @@ bue bue bue bue -srF +ivE bUY pqE bSS @@ -101037,9 +101675,9 @@ uVF nyc vsi hwG -fTD +gSM cCe -sub +vfC kbc cLa fLC @@ -101200,7 +101838,7 @@ fzl dAL srs dAL -uSn +sjA srs dAL abe @@ -101232,7 +101870,7 @@ mtX aJO piG gmp -vYc +oyI nTn cKI hMh @@ -101284,7 +101922,7 @@ xdK bAz qdC cCe -xze +uKI ojz deH cLY @@ -101475,7 +102113,7 @@ nWv gXq aaa aFN -aHt +xxx eEw aJO cQq @@ -101518,7 +102156,7 @@ baG baG bTE rFB -nNB +tfu bSS faV faV @@ -101531,9 +102169,9 @@ jsh lzX qLH tpz -tnh +qGu bPK -vdv +qby bhX uBe sMS @@ -101565,7 +102203,7 @@ cLa cPJ gPS qep -cRn +nKu cOS cMI aaa @@ -101717,9 +102355,9 @@ phD rsy stJ drI -xrH -xrH -hTv +eVE +eVE +ltz ftT arI aax @@ -101753,14 +102391,14 @@ bqA iAp bqA gar -bmn +qOI bqA bqA bqA nzn bqA pBP -bGw +blp bqA eXp xsF @@ -101770,7 +102408,7 @@ bJC mdo hRv sEw -bPY +hIY mEV mdo mdo @@ -101799,8 +102437,8 @@ nTo qdC bnS tlP -mXa -riC +gJt +tge ucE gus tpp @@ -101818,7 +102456,7 @@ fIm cOm bxe cOM -cPm +wwD cOM mFh cOM @@ -102071,7 +102709,7 @@ uNB gdi xGJ cMI -iZn +yaJ cOm cOj cON @@ -102231,9 +102869,9 @@ qOU tlg aqj srs -uSn -uSn -uSn +sjA +sjA +sjA xMk sxu sxu @@ -102283,13 +102921,13 @@ sgN xJM rvo uxG -wsj +dwd xJM xJM bGy bTH aYX -jzZ +gFT bSS bSS pNz @@ -102297,7 +102935,7 @@ cdw cdw cdw ycr -fQP +pDy cts nnn btB @@ -102509,7 +103147,7 @@ aJN vDL oho kmY -qkD +dug oXI pfB cLi @@ -102519,7 +103157,7 @@ iVn aYX eqw rrB -sbc +exU bfk mLh ndG @@ -102551,7 +103189,7 @@ mdP bSS bSS cdw -lRV +rgC tuo fWe fWX @@ -102572,7 +103210,7 @@ tCy xTR mLe syT -eYE +uHS cmu klZ cmu @@ -102736,11 +103374,11 @@ abx abV acm uAd -tbE +cmb adm -sos -aeg -cZX +sdu +iiC +qvb aaZ tjD xef @@ -102758,7 +103396,7 @@ aax aax aax aax -jit +lwp pZO aHx aIG @@ -102993,14 +103631,14 @@ aby vtj acn uAd -frb -dJM -sbf -aeh -wVn +yhi +vLC +rBa +jCF +sbW aaZ dhx -xyn +gCN aax ias ias @@ -103010,8 +103648,8 @@ phD phD phD phD -uFU -sXr +lpe +tTJ cXj thM sbU @@ -103036,14 +103674,14 @@ rrB fWB bfm bhd -vnu +hig bkz bkz bkz bkz btH ecC -vtV +vid bkz uSL bBB @@ -103053,7 +103691,7 @@ sJb jtK qTa lsn -wki +rYo tdp bQa bRr @@ -103081,7 +103719,7 @@ ycr ycr eGy oKC -hXx +obs iSU bnS bnS @@ -103249,12 +103887,12 @@ abg abz abX aco -nLX -egc -wry -smA -aei -dlt +fwU +wSv +kKj +rWf +cKB +cLN aaZ jCj tfT @@ -103288,7 +103926,7 @@ aUw aaS eUF aZb -baM +lad rrB rrB bfn @@ -103342,11 +103980,11 @@ qxs ehM ugc neX -kVI +mDN xpB vOs gYR -myw +mVW nWY cvt hSC @@ -103507,9 +104145,9 @@ aaZ aaZ aaZ aaZ -lua -ltV -gZS +hsC +bsD +hDo aaZ aaZ aaZ @@ -103525,12 +104163,12 @@ aax aax qEy oBL -aMX +dpi cXj thM aDC etq -fFT +sag aHx aaa aJS @@ -103562,7 +104200,7 @@ bxZ wvF bBB tOv -dnc +bHV bGy bId bId @@ -103620,7 +104258,7 @@ cMI cMI cPN cQl -cQI +nQt cZc cZd cMI @@ -103764,21 +104402,21 @@ lMJ lMJ lMJ aaZ -nOA -dEd -vfz -gyr -ocO -noL -qKX -sFk -alQ -alQ -apE -sMr -alQ -alQ -axm +tAv +pVV +gLj +qwe +lHV +sKS +idh +iRA +obN +obN +oaG +uFw +ryP +ybU +obN aax xef aXr @@ -103795,12 +104433,12 @@ aLu aMH aMH aPu -aQA +nhx aJS aJS aUx aUx -oxH +tPc kqx baO bch @@ -103821,7 +104459,7 @@ bBC mqU muR bGC -qaJ +biC wLf bLr bMW @@ -103842,7 +104480,7 @@ trD pOu pmD pmD -rma +xSE wVP utg wVP @@ -104025,17 +104663,17 @@ aaZ aaZ aaZ ajm -dqD -nQg -tHo -onb -cAs -qNj -iHB -cAs -cAs -cAs -dzw +ryP +uyb +yix +fcV +rpv +vBq +hPF +rpv +rpv +rpv +jTO aax qlB bLg @@ -104068,7 +104706,7 @@ bdG bcg bmu bkz -shH +puN dbe bsQ uhX @@ -104124,15 +104762,15 @@ mEl hdZ cPb gbn -cKv +mno tzR -cfM +tVS xrg bMv toX tLK vKe -lHx +ezw kJe tcZ clT @@ -104281,18 +104919,18 @@ lMJ lMJ lMJ ajm -uWw -alQ -csI -jBP -rDW -xMC -qGM -tbu -jMA -jMA -jMA -nbQ +ybL +ryP +jAH +xzg +obn +uHE +erL +fnD +iji +obn +xlX +sKv aax fdK acs @@ -104305,7 +104943,7 @@ odG aHx aaa aJS -aLs +kBV aMH aOc gGB @@ -104351,7 +104989,7 @@ frP gkC tMi rFh -pWm +pnl wsV wsV tOo @@ -104364,11 +105002,11 @@ jHp cga xwM rdQ -sVZ -gXb -iqN -rSX -uLA +iCy +jsn +lnH +dwe +ruO rdQ qGx ctB @@ -104538,9 +105176,9 @@ lMJ ajm ajm ajm -aws -aws -nQg +ybL +ryP +uyb ahx ahx ahx @@ -104548,10 +105186,10 @@ ahx dqh ahx ahx -wSf -vij +ybL +xHy aax -jLs +qVZ acs fNu dKF @@ -104562,14 +105200,14 @@ tvo aHx aaa aJS -aLt +mIk aMH aOd pNT aMH aRV aJS -qQS +drf aUx bDf aYX @@ -104579,9 +105217,9 @@ aaf aaf aaf biY -iWE +nzA ssl -wMM +tdj wtB ukf bor @@ -104595,7 +105233,7 @@ bGE kLU vaF sxK -cVL +jJj tVg kwD ybX @@ -104608,7 +105246,7 @@ msp wgH mgK uNs -jKj +rhj wsV fHf kir @@ -104621,11 +105259,11 @@ mov cga cMz rdQ -dPr -mDp -pNk -vWI -hzC +jTy +lJE +iWF +pll +tnp rdQ uWj kmr @@ -104800,15 +105438,15 @@ hbB xfg ahx pgq -vHc +wyO hyJ qDn tGF bTb -iJb -pJC +ykB +lVH aax -odB +tFV acs pYN vxj @@ -104823,7 +105461,7 @@ aLu aMH aMH aPu -aQC +iQH aJS aJS aUx @@ -104842,7 +105480,7 @@ bjc rJX ukf bjc -vvN +vAH lMs sNn daO @@ -104878,13 +105516,13 @@ vUr cNt fue rdQ -quO -qgf -wlO -spo +nVt +bLM +lQB +sWe rdQ rdQ -neB +euR myh iPO iHG @@ -105056,14 +105694,14 @@ qpd xXp rMU ahx -kRz +gTN ekb eRh dyc ybb hIo -wSf -lng +ryP +oIa wbN nDy sIb @@ -105084,7 +105722,7 @@ aQD aJS aaa aUv -aPT +ygr bOf aYX bqA @@ -105111,7 +105749,7 @@ aaf bLv bNa xEl -bQf +wCG bRw bSI mdo @@ -105135,10 +105773,10 @@ iBJ cga oIj rdQ -eic -vZa -wlO -bqW +myj +eGp +lQB +hIc rdQ tAW efl @@ -105307,7 +105945,7 @@ aaa aaa lMJ ajm -jho +sop uYl ljd vDB @@ -105319,8 +105957,8 @@ sKK vuc oul bTb -dKo -xno +tub +wVZ ajm rOE apH @@ -105374,7 +106012,7 @@ chw mdo aYX ukx -bXQ +jpN mdh leO tMi @@ -105385,17 +106023,17 @@ acB acB cXl sQP -qMo +sVU sQP nqG jMa cga oIj rdQ -oEg -hnp -svv -xml +rFL +qxo +lbd +gzm rdQ qRE oCH @@ -105567,7 +106205,7 @@ ajm rrR tpo dEf -cTU +xGs aqa aqa aqa @@ -105576,15 +106214,15 @@ aqa hQy aqa aqa -tjM -syg -uKD +kyy +nZC +hfu ajx apI ajz asp dkO -xQu +cMK jgH tIr aHy @@ -105826,16 +106464,16 @@ uNf aeq aeq aqa -piP -soL -hKw -iXf -eXc +buY +jIc +veD +fnW +ipQ nNC aqa -qxk -ulX -lQt +lFK +qUA +kYI adY ijI arb @@ -105855,14 +106493,14 @@ aHx aHx aIH aUB -aWd +tnk vhy aZh bqA bci aaf bfv -vYh +oUK bjc dCK qMY @@ -105906,9 +106544,9 @@ fla iUk pre wgn -bFd -aom -vFE +vLZ +yld +diO ctA ctB ctB @@ -106078,23 +106716,23 @@ aaa lMJ aaf aeq -agc -qHw -saH -phu +ofM +xEq +ird +fMJ atT -oVb -qCo -ciJ -hDN -hCB +sSA +jAi +xgq +twM +ssX rOy qmB -wSf -joB -lQt +fvA +lRx +kYI ajx -apK +oUj arc asr fHP @@ -106104,7 +106742,7 @@ ujn aJT aII aJT -aLy +gyT aMJ aJT aJT @@ -106125,7 +106763,7 @@ bjc pnh axg kFJ -bsW +cCj bsU bjc byf @@ -106163,12 +106801,12 @@ eYg ozq ycq otS -czo -czo -wrr +sYg +sYg +uOP oDS -fzL -jyc +ddI +fyA waq fyG rEz @@ -106335,23 +106973,23 @@ aaa lMJ aeq aeq -qvu -gFV -mUv -nVb -mui -rnE -rnE -iSx -qbQ -aEQ -iSx +hke +qYC +fVp +ucy +nJY +hTW +hTW +jjz +due +tNq +jjz uRw -oKZ -eVu -mUw +bIR +xrx +qtX adY -apL +xgM iSo nJM adY @@ -106591,24 +107229,24 @@ aaf aaa lMJ aeq -iLI -qtW -kPr -mEh -vnN +jZE +bob +pze +cQJ +ttB atT rub atT aqa aqa -gDo +pOf atT atX -wSf -kyr -mpg +loN +fMd +mHH adY -apM +oIe ioO nrF adY @@ -106621,7 +107259,7 @@ uCq toY gjx pXl -lig +uxF toY dTN toY @@ -106651,7 +107289,7 @@ vqG bGH bJO bLw -wzi +sex rId bQl bRC @@ -106665,11 +107303,11 @@ cdI cdI cdI cdI -cgc +ahi cyo cyo cyo -cly +snz rjI wLG wLG @@ -106677,7 +107315,7 @@ wLG crH onQ yjy -sTu +sNH sCq mOv kEM @@ -106692,17 +107330,17 @@ hfQ mOv mOv tmM -pLR +hJU hkS bUQ gdm -fSY +mkN pzs wOa jGR lMf dvF -dWV +tqG fNG mCA clT @@ -106846,24 +107484,24 @@ aaa aaa aaf aaf -evf +hkO aeq -ngE -bam -slo -egJ -uyg +ghA +ptI +gsF +cEF +uGR aqa -xwX -mzO -mzO -mzO -jXZ -mzO +jWm +noD +noD +noD +trE +noD aqa -vVe -kyr -jnM +jHb +fMd +aTM rQK cgM qqC @@ -106898,7 +107536,7 @@ box bqO kjq bsU -bwv +rEI taC bzY bBL @@ -106956,7 +107594,7 @@ yjD cPb cMZ cNP -kOx +hiA cPb cPv cPb @@ -107105,22 +107743,22 @@ aaf aaa lMJ aeq -qEq -agc -vRS -fDl -fsC +tdx +pCY +oBP +ivh +ehu aqa -scy -sMC -vQY -tPv -mst -dmW -fjh -cnN -jAc -svG +eIH +oWX +gRp +oEm +epG +ura +jTz +tLn +vaC +mxH fpC mxb cQU @@ -107161,7 +107799,7 @@ xJp bLT jwU wOO -bGL +jEP bIk xTV bLv @@ -107181,7 +107819,7 @@ goW qpE cgd chi -ciB +xJu cjX clz cgd @@ -107204,16 +107842,16 @@ cDa kdt cCq cGa -cGV +vdl cHP dNs gIE cCq jAk cPb -adf -hfE -oaY +edQ +uvP +baf cPb aaf aaa @@ -107363,21 +108001,21 @@ aaa lMJ aeq aeq -afX -agc -dBX -agc +vbM +qYn +mrX +vLS rQn -jXZ -hUN -vMr -mOp -nCk -xgV +xiV +vJP +ubO +ocv +ftI +irx atT -wSf -joB -lQt +loN +lRx +tjh eWD gXh fYF @@ -107414,7 +108052,7 @@ bsU buC bwx xXG -bzZ +nYQ bfv bDo pZe @@ -107430,7 +108068,7 @@ chw bUb aYX ukx -bXW +pyI bZk cFX lDD @@ -107446,7 +108084,7 @@ cnS cpd cqx cgd -jQN +dYR ctJ cuC cvH @@ -107464,13 +108102,13 @@ cGb cGb cHQ cIJ -cYc +hYQ cCq iZW cPb -pnZ -hHG -wYc +hUt +inI +pcJ cPc aaf aaf @@ -107621,20 +108259,20 @@ lMJ aaf aeq aeq -jai -eRX -kFN +tiy +kFs +bVQ qYD -jXZ -dkt -uqm -hgQ -mzO -yen +xiV +iKp +iwF +usB +xSa +ghr ajD -dZc -ulX -nRP +vHe +qUA +sny ahB ahB kGn @@ -107725,9 +108363,9 @@ cJJ cCq kxu cPb -hqq -cNR -mhE +mqZ +npL +gLv cPd aaa aaa @@ -107889,13 +108527,13 @@ ajD vIE atX ajD -jKa -ulX -awq -vlO +kTv +vKP +oVG +ryP jMB -uWw -hUy +rjy +xsN svW aDC tSN @@ -107909,7 +108547,7 @@ lcl aPB aQH iko -aTn +uXO aHD aHD kXR @@ -107926,7 +108564,7 @@ kks pXT sja uiI -gRb +eQc tQn dnb osY @@ -107965,8 +108603,8 @@ gnd cuE cvH bvk -cxG -cys +sMo +dCs mgN cAo cBi @@ -107982,9 +108620,9 @@ uyf cCq eXK cPb -fgd -bxi -ldE +pcd +ued +fqY cPb aaa aaa @@ -108139,26 +108777,26 @@ aaf aaf aiD cHd -fek -jTl -xcC -jTl -tlO -wnE +iDw +qSK +ley +jNC +hkU +jut ajD ajD -vPm -awq -gCn +egA +oVG +tkK aiq -aAa -dZO +rHN +wHO gtX aDC tSN aDC aHE -rWC +vEi nwX aLB aMN @@ -108178,7 +108816,7 @@ aaf aaf biY nlR -jko +fav iIg fpO nlp @@ -108192,8 +108830,8 @@ lKt bGN bIm bJT -bLy -bNm +eNY +mjH bOG nsU bRH @@ -108396,20 +109034,20 @@ agV adZ adZ dmi -iKR -vsG -eBm -lQV -eBm -mfc -pSm +xuO +hSA +oBw +dRr +oBw +vqO +mhG atT -jbZ -fVz -oQQ +pPY +lRs +oAX fwY -lbR -qye +rRF +tMV chy pqW juP @@ -108469,7 +109107,7 @@ chm ciG dAW fdd -jCb +aWH fTa rPW cqA @@ -108477,15 +109115,15 @@ crI eGR ctL cuF -cvJ +iLR cwK cxH cyt -czl +pnk cAp cBj cDi -cDf +tWo jDB cFh cFg @@ -108647,23 +109285,23 @@ aaf aaa adZ adZ -afi +hJA agf agW fVx adZ ajD -gwA -qIx -anw -hby -apS -gXN -tXI -atU -kvA -gvb -rfH +ozS +xuf +and +mgc +tgp +biv +sTy +jzS +crZ +ssL +eUr ahx ahx ahx @@ -108706,7 +109344,7 @@ lKt bGM xQY bJV -lcR +tBm pgs bOH hjB @@ -108753,7 +109391,7 @@ cFh cKH rOP wFH -cMk +lPr wtq wtq wtq @@ -108904,31 +109542,31 @@ aaf aaa adZ cXm -afj -agg -agX -jnd +gLs +msz +kcL +fpr aiE epn -tft -vJE -rEE -iow -apT -ayY -eJq -pPR -pgL -awo -gCn -txa -aGt -avk -avk -avk -avk -aGt -iNs +tYo +jor +pKL +pIf +gkV +loB +dNf +etT +qlJ +qZa +ryP +tEk +lEp +kOM +obN +kOM +obN +caO +qPL aIS mDE aIR @@ -108942,7 +109580,7 @@ uhY aTk mww dCE -baV +vQH bcj bdH jiw @@ -108986,7 +109624,7 @@ clF kOE cnY fKT -cqC +kIb cgo oRr ctL @@ -109161,23 +109799,23 @@ aaf aaa aea aeu -afk +pVz yhO lEI ahL aiF epn -tft -ami -tTh -gQi -apU -khk -sdg +tYo +ltc +fht +ybr +rTC +hMd +sYr atT -vdX -ldm -rXp +oYz +fyF +agp ayF ayF ayF @@ -109195,7 +109833,7 @@ aPB aQJ aIT aIT -aUJ +fwR aHD mww aYX @@ -109215,7 +109853,7 @@ sOp jac cHB bcj -nIX +waE xZj bGM bGM @@ -109231,10 +109869,10 @@ goB dcH bSS bZn -dwB +hQF rhM lMw -qEV +shp wqe hgy tWK @@ -109418,26 +110056,26 @@ aaf aaf aeb aev -afl +slj agi kdx wlG icT lKk -fqe -amj -hsT -pVB -gcX -gcX -lMQ +vWk +aON +dOT +pZT +cYf +eKj +ybq ajD -dPE -dmV -kIJ +iAW +jlX +sCo ayF wzG -kkC +uMh lPV ceF nZF @@ -109456,7 +110094,7 @@ aHD aHD qAw aZa -fkX +edn bcj bdJ ljX @@ -109494,7 +110132,7 @@ cdP bZo bZo chp -nnT +jUI ckg clH bZn @@ -109505,7 +110143,7 @@ fgQ xST lMo onc -rph +dLN mlO tmV dZH @@ -109515,7 +110153,7 @@ hnv dZe dpE hnv -ghP +akb dWj hnv sNv @@ -109525,7 +110163,7 @@ nxo nxo cQR bZn -eln +lrv txj fAX jWg @@ -109538,7 +110176,7 @@ uUA hcX oDZ svj -otn +cIB vzS oVZ ejo @@ -109675,23 +110313,23 @@ aaf aaa aec aew -afm +lBy gxU ssi ahN aiH epn -jZZ -amk -bnh -wgG -aCU -khk -luQ +ycc +lcg +msN +pZT +iFa +hMd +cnp atW -hoX -awq -gCn +rMC +oVG +ybU ayG qeM oNd @@ -109745,17 +110383,17 @@ aYX vrl hqx bZo -vtS -mCf -dTZ -wgC -eQO -cHJ +kkt +jCA +xNA +hEX +sZi +fCE sUv -ckh +jkc clI bZn -uAk +qIi cpo cwN wVw @@ -109931,25 +110569,25 @@ lMJ lMJ aaa adZ -afe -afn -agk -agX -fuV +nGh +wFY +rDV +tqF +vZf aiI epn -jZZ -mJc -gcX -tLB -bni -khk -gsL +ycc +eKj +pKL +eVh +aoD +hMd +bcc atX -mvz -job -vrF -hAt +vgn +qcY +xBP +hUd pwa fic xwi @@ -109981,12 +110619,12 @@ bjg eKa ssr eqj -veX +yjd dzq -jDw +usz vzH bcj -bDw +ngm lKt igA bGM @@ -109995,18 +110633,18 @@ eGM oEv kHk bQw -bRM +tzA bSO bTI wXy nVo wlL bZo -tab -ccm -jmW -ceW -vba +jrH +dSq +gZs +sqU +iwc chp cgo cgo @@ -110042,10 +110680,10 @@ bZn qHC niO fAX -pUF +nnH slq iZN -mXm +rUB dbK irK fhJ @@ -110195,17 +110833,17 @@ ahb ufT adZ ajD -hfC -ebc -anB -aoH -apY -khk -tJG +gjC +xxc +exg +vNT +tOL +urs +mVf ajD -hoX -aws -gCn +rMC +ryP +fJp ayG ozl aBn @@ -110259,11 +110897,11 @@ aYX aYT jAJ bZo -rdN -jli -wfk -fPG -hvV +jMY +pXt +hZt +qNL +lWP bZo xvg iGN @@ -110304,14 +110942,14 @@ iFW rlZ nII wkg -nRr +bXv jsp taH gBK svj vbF pXu -wpb +pqm jAy crR crR @@ -110444,7 +111082,7 @@ aaa aaa lMJ aaa -ajm +ahx adZ adZ agm @@ -110452,17 +111090,17 @@ agV adZ adZ xUp -hTC -wxV -qEf -qEf -qEf -rWg -vEH +gXw +pEK +frI +frI +frI +itu +pGU atT -jwL -jPY -nlh +xYQ +hDi +foz ayF azU aBo @@ -110487,15 +111125,15 @@ aYX bcl bcj hjl -eLE +fIj ozk gaU -xoD +ykY bjg vFH bcj ygM -lbi +goV jdr ree nhS @@ -110513,7 +111151,7 @@ vJi bSP nCH aZb -oIo +sUD bSS bZo bZo @@ -110543,15 +111181,15 @@ cFr cSd cSh cSn -laI +lOo cSd cSh cSn -sUO +iED cSd cSh cSn -cSy +ien cRi mJm lZQ @@ -110701,28 +111339,28 @@ aaa lMJ lMJ iRB -gKE +piK kKh -xPF -stz -aws -aws -aiD +rVA +kNK +moM +hoI +bTb ezU -gWe -hvh -rmt -vqM -hih -vqM -pAX +qZr +qTf +hPH +kqh +jgG +kqh +itu aqa ajm -sQx +dEQ ajm ayF azV -aBp +owo aCx xsb ayJ @@ -110730,11 +111368,11 @@ eDi aHH aIY gPy -uCb -vqK +qCw +qNw tnr aHG -gKp +sjl aOu aTA aUM @@ -110815,7 +111453,7 @@ blT dTM lMJ rkM -nkb +etm rZZ lMJ nKz @@ -110958,25 +111596,25 @@ aaa aaa aaa lMJ -ajo -ajo ahx -gNg -aws -aws +ajo +ajm +pyl +jkx +vCS ahx ahx ahx -rhP +cvW ajm aoJ aqa -jHy +llw aqa aqa -avk -kkE -avk +jXW +dGj +jXW ayJ ayJ ayJ @@ -111001,15 +111639,15 @@ ehJ baZ bcl drK -bfE +cUn bhA bjl bra uAJ -boJ +mOf bra xXz -buL +nSk drK byv bcl @@ -111019,7 +111657,7 @@ oip bUb bUb tHC -bLH +gMS mxW bOO bQz @@ -111027,7 +111665,7 @@ bRO bUb bUb aYX -sqE +mVB bSS bSS bSS @@ -111048,7 +111686,7 @@ ctb ctS cuO upm -nNN +hnT cSd cyB cSt @@ -111076,7 +111714,7 @@ fIB efc lMJ fAX -jWO +hIx kFS geE rtv @@ -111217,23 +111855,23 @@ aaa lMJ aaa aaa -ajo -sSD -aws -aws -psR -aws -aws -qWR +bTb +lTC +jkx +moM +xac +xWQ +pHo +oiM ajm aoK aqa -uut -tQi +yfv +uSp atZ -avk -pVS -axy +jXW +iuq +amm ahx azW vMO @@ -111457,7 +112095,7 @@ aaa aaa aaa aaa -aav +aaa aaa aaa aaa @@ -111472,25 +112110,25 @@ aaa aaa aaa lMJ -ajo ahx -ahx -csI -ayy -ayy -rhX -rhX -rhX -nhI -nMs -fMB +ajo +ajm +ucb +tyL +hsZ +umx +umx +lxO +aAf +ajm +amF ajD -uut -pSj +yfv +qHn atZ -ugZ -hZP -axz +oxz +bWn +jXA ahx oEY mLy @@ -111512,7 +112150,7 @@ aUM kTE imZ xYy -jAw +kHK eYm qXs wzA @@ -111545,18 +112183,18 @@ owq sic nmL eLG -vxd +qla bSS vcX cgo chs -ciN +ukL ckm clN bZn nQq cpu -cqK +gMN crQ ctd ctU @@ -111564,7 +112202,7 @@ qTx aDp xJb cSd -wgX +lSu tmW vbp ydw @@ -111730,24 +112368,24 @@ aaa aaa lMJ gKE -kKh -mQl -rpT -aws -aws -aws -aws -aws -bkV +sxb +fvX +qlu +oKU +jkx +jkx +jkx +nnt +wsD ajm -mGx +aje ajD -vvr -tQi +imY +uSp atZ -avk -awy -awy +jXW +deP +deP ahx dhz nrZ @@ -111764,7 +112402,7 @@ aOu aOv xOP fZy -aTw +uhK aUM ijF dnh @@ -111807,7 +112445,7 @@ bSS qiP cgo cht -ciO +jME ckn jxC oek @@ -111819,7 +112457,7 @@ cte jYt eHA jUG -xnK +lKh cSd cyE kgI @@ -111846,7 +112484,7 @@ sNl nGk mHF jbm -upk +tEr sgI dlV aaa @@ -111963,7 +112601,7 @@ aaa aaa aaa aaa -aac +jdU aaa aaa aaa @@ -111986,25 +112624,25 @@ aaa aaa aaa lMJ -ajo -ajo ahx -fVC -avk -avk -avk -ajm -ajm -tsr +ahx +ahx +xtg +cYA +xUL +jkx +jkx +jkx +cBe ajm -mGx +aje ajD -xup -ijx +lHe +gjY ajD -avk -awz -avk +jXW +lfV +jXW ahx tnS wdT @@ -112018,7 +112656,7 @@ axC lEk aMY aOv -wTB +xaQ nfW aOu irf @@ -112045,13 +112683,13 @@ eNK xTu kJK xTu -lNI +ikT bKe pMW tDj ici ukv -fpB +sSS bST bUe kwR @@ -112246,15 +112884,15 @@ lMJ aaa lMJ ajm -smq -mrU -avk -atL -ajm -emp -uop +jtU +qTJ +anQ +cNb +uqY +xkm +gNz ajm -oxP +ygR ajD ajD ajD @@ -112267,7 +112905,7 @@ aGE iax aCz aDR -aFc +iTT aFd nxf aFd @@ -112276,7 +112914,7 @@ aLK aMY aOw aPI -nDe +lzr aOu aTy aUM @@ -112298,11 +112936,11 @@ dLb qXD wzT cPp -qaI +tkd xTu kJK xTu -hYN +edP bKe sVr ujJ @@ -112313,7 +112951,7 @@ bST bUf vWU gpZ -rqb +vei oPg qkt ccs @@ -112323,7 +112961,7 @@ oUN nVx pDo kmH -foQ +fmL bZn lsk fjD @@ -112343,7 +112981,7 @@ dum voh kvV cVO -qbu +rVN pPJ kvV cVO @@ -112355,7 +112993,7 @@ cSd xCW kUV dlV -dvY +nBe qRv mgj vGV @@ -112500,18 +113138,18 @@ aaa aaa aaa lMJ -lMJ -lMJ +gXq +wLz ajm -aqZ -jjw -rfN -atK ajm -kCX -wcH ajm -hek +ahx +ahx +vgT +ahx +pmt +ajm +fFI cPz sEC vXq @@ -112532,7 +113170,7 @@ aKl aLL aMZ aOu -wTB +xaQ qYK aOu aTA @@ -112549,13 +113187,13 @@ giF smP bmM xad -brf +kxT bmO mLi udk rCi iCq -qaI +tkd xTu kJK xTu @@ -112580,7 +113218,7 @@ cgo diD vuv ckq -hCu +mIU bZn rRN rsX @@ -112756,143 +113394,214 @@ aaa aaa aaa aaa -aaf -aaa -wLz -wLz -wLz -wLz -agq -dWK -ajm -xqS -roF -ajm -rBF -agq -agq -agq -asQ -agq -agq -axC -axC -axC -axC -axC -aDS -rbZ -axC -axC -axC -axC -ndB -nPS -vxG -sSg -vfA -aSg -aTA -jUK -aUM -tjY -aZt -act -nJy -jNy -bfJ -bhO -bjp -vhT -bmO -bmO -bmO -bmO -buN -ltZ -dFf -sPq -crr -wmZ -uNZ -xTu -blf -ozj -ujJ -ujJ -tDH -qqj -ujJ -jwK -bUh -vWU -ulc -ulc -waD -sdw -ccu -bST -hMg -cgq -cgq -cgq -cgq -cgq -cgq -jny -dNT -cmP -thn -kac -xMM -cuW -qoZ -cvX -thn -xCZ -wVV -wFZ -kwA -cSd -hMB -wdl -iwl -cSd -uPK -lJI -wMy -cSd -cRW -cSv -cSc -cRi -lQw -tIh -dlV -oWN -wzB -twm -qaz -gTq -trl -nep -dlV -aaa -fwb -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aaf +aaa +wLz +bdU +uKH +iMM +ajm +emp +ybb +ahx +laG +ajm +hxW +agq +agq +agq +asQ +agq +agq +axC +axC +axC +axC +axC +aDS +rbZ +axC +axC +axC +axC +ndB +nPS +vxG +sSg +vfA +aSg +aTA +jUK +aUM +tjY +aZt +act +nJy +jNy +bfJ +bhO +bjp +vhT +bmO +bmO +bmO +bmO +buN +ltZ +dFf +sPq +gFs +wmZ +uNZ +xTu +blf +ozj +ujJ +ujJ +tDH +qqj +ujJ +jwK +bUh +vWU +ulc +ulc +waD +sdw +ccu +bST +hMg +cgq +cgq +cgq +cgq +cgq +cgq +jny +dNT +cmP +thn +kac +xMM +cuW +qoZ +cvX +thn +uTX +wVV +wFZ +kwA +cSd +hMB +wdl +iwl +cSd +uPK +lJI +wMy +cSd +cRW +cSv +cSc +cRi +lQw +tIh +dlV +oWN +wzB +twm +qaz +gTq +trl +nep +dlV +aaa +fwb +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +"} +(133,1,1) = {" +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa aaa aaa @@ -112940,92 +113649,21 @@ aaa aaa aaa aaa -"} -(133,1,1) = {" -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aav -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aaa aaa aaf aaa wLz -sGK -koT -iMM -agq -aje -ajm -ajm -ajm +fLl +hsl +sEA ajm -wdT +kCX +rIb +ahx +mYL +acF +viw agq aje aje @@ -113047,7 +113685,7 @@ kwK nPS neO aOu -wTB +xaQ aOv aTA dPP @@ -113055,7 +113693,7 @@ aUM gjc aZt qoH -kMt +knj wrJ aZt bhH @@ -113066,10 +113704,10 @@ gLM wen exs bmP -xvv +ear rCi xhO -qaI +tkd etb tBB xTu @@ -113079,7 +113717,7 @@ ujJ leM kId qqj -djR +eDs bUe bUi hzl @@ -113262,7 +113900,7 @@ aaa aaa aaa aaa -aav +aaa aaa aaa aaa @@ -113273,15 +113911,15 @@ aaa aaf aaa wLz -fLl -hsl -sEA -acP -aje -aje -aje -dgx -dWK +kIF +jRV +ieV +ajm +emp +koh +ahx +jkx +ajm wdT agq aje @@ -113290,7 +113928,7 @@ aje aje aje axC -ayL +pZw sID deG rTX @@ -113305,7 +113943,7 @@ mRy hUx suL aQW -rUd +wDn aTA hyz dtE @@ -113315,7 +113953,7 @@ aZt aZt aZt aZt -bhI +hoE vQP wnK bmP @@ -113326,7 +113964,7 @@ oNb kQe wzT fHk -wzI +oHa xTu kJK xTu @@ -113528,17 +114166,17 @@ aaf aaf aaf aaf -aaf +gXq wLz -dLG -jRV -ieV -acP -acP -ahU -acP -acP -acP +pAS +nPB +pAS +ajm +ajm +ajm +ajm +jkx +ajm dbu agq aje @@ -113551,7 +114189,7 @@ ayM fXe aBv axC -aDV +slu uKu aGF aHL @@ -113576,14 +114214,14 @@ bhO uRt wop bmP -qXd +tVW slG kky bmP ifc jIy tLJ -qaI +tkd xTu kJK foE @@ -113612,9 +114250,9 @@ hDh gOz jAj dKY -ncG +lHL thn -hlc +dPF skB tdh gap @@ -113627,15 +114265,15 @@ hoT cSd tpV cSn -omg +wCD cSd rIq cSn -bgO +gxi cSd tpV cSn -cSF +bhC cRi gEg tQq @@ -113786,16 +114424,16 @@ aaa aaa aaf aaa -wLz -pAS -nPB -pAS +acQ +wXb +rOa +tjG acP afs lTL -acP -eky -acP +ajm +loH +ajm vtN acP arB @@ -113814,12 +114452,12 @@ axC axC axC axC -aLQ +xqI aNc nfW dCv aQY -rUd +wDn aTA kqz aUM @@ -113858,11 +114496,11 @@ waD pKq kbD fgO -ccx +nmp bST hcQ cgq -pqA +qdM vkc dua uEf @@ -113899,7 +114537,7 @@ cKP dlV fyU ilc -sML +wns eyW bFk ilc @@ -114045,18 +114683,18 @@ aaf aaa acQ fUf -cIU -ahf -ags -ags -ahV -ais -alg -anF -eOh +jVK +tjG +acP +acP +teA +acP +tjG +xFx +mfz vZo arB -asT +ilG aud arB awC @@ -114064,10 +114702,10 @@ qdE arB ooc kNE -aGJ +eqr mWQ sXR -fbN +rdB gUB qpm rDe @@ -114075,7 +114713,7 @@ jtP vdW jab xVG -wTB +xaQ aOv aTz aUM @@ -114129,12 +114767,12 @@ nHL isb ezt cgq -knX +jRr fBQ sMw dzQ ovj -gLC +uWp fMg xWn nCY @@ -114302,27 +114940,27 @@ aaf aaa acQ nSE -tYf -vTi -eGV -qFQ -laV -wAn -vTi -vTi -pzG +kAr +mbZ +tsT +eXS +ngA +opt +mbZ +mbZ +uGC lyc arB -asU +tJt wws arB -awD +ucv taZ arB mNt wWC wNq -aDY +veC jXI aJf aJf @@ -114352,11 +114990,11 @@ kaZ bmP buP rPC -rep -rep +aXK +aXK byC byC -dQd +eJI byC cix bKe @@ -114383,7 +115021,7 @@ cgq oJn fBw uan -wAW +hEu oKt cgq lal @@ -114589,7 +115227,7 @@ aLT aNf aOF aPM -aRa +bvb aSi aTB iUW @@ -114614,7 +115252,7 @@ eXZ vey luX pou -bHd +pEY cWx mmn bKe @@ -114649,7 +115287,7 @@ nbv nbv ovj sdi -iha +qnw qfo pch aNS @@ -114816,7 +115454,7 @@ aaf aaf acP acP -cXV +wZV fon ahW amA @@ -114837,7 +115475,7 @@ arB kzQ aCF aEa -pDJ +dIq aCH dvh aJh @@ -114865,12 +115503,12 @@ cXI kCr bmP bmP -rUL +vbQ byE bAq gaC lMp -rep +aXK bwS kJq bKm @@ -114878,12 +115516,12 @@ bKe fwt rFZ rFZ -nxB +aoW bST bUo bVy bWU -kWm +xSD bZv lKE ccz @@ -115094,7 +115732,7 @@ fTl ijn aCG aEb -pDJ +dIq aCH eYL aJh @@ -115123,14 +115761,14 @@ qHT vfc guR hwd -byF -rep +aKM +aXK byC cTR byC bwS cWx -bKn +lic bKe bNF bOZ @@ -115350,7 +115988,7 @@ cYe sUJ aBA aCH -aFm +isS jgt aCH fBL @@ -115382,9 +116020,9 @@ pJi bwW byG byC -rep -bDI -rep +aXK +cyw +aXK bwS cWx bKo @@ -115424,9 +116062,9 @@ cyM fkl eZj lwJ -vTX +liD mjJ -uXG +cFB vCs vVq ryM @@ -115437,7 +116075,7 @@ oDB iFX ihd aSw -wCx +gBY okX ihd lMJ @@ -115601,7 +116239,7 @@ xYP ayP fRz avn -awF +isg fRz ayP rVC @@ -115624,18 +116262,18 @@ ltK hqK uWN aZw -irT +mAq oJH vvX aZw -bhN +aFj vQP -lHH +xTL alq boY khd bmP -lge +uBG jDS etX cii @@ -115654,7 +116292,7 @@ bSY bUq bKe diw -xYd +pvg sLD gba ccB @@ -115853,7 +116491,7 @@ amA amA oIs bnr -xdr +qFH arB arB iRu @@ -115869,7 +116507,7 @@ arB drD arB aJh -aKs +msG mhI aNi pdk @@ -115938,11 +116576,11 @@ mjJ mjJ wxi eMY -rjH +lSj mjJ cTi eqG -xHc +jMd ojg scT lQw @@ -116162,7 +116800,7 @@ byN byN ffN lUm -fgh +soM byN rPM tUh @@ -116369,18 +117007,18 @@ anL apa pGQ arB -atb +hOO gjm arB -asU +tJt ygo arB xlR arB -aCK +kfm oJO arB -uZz +pUE vBF aJh aKu @@ -116419,7 +117057,7 @@ qwQ dke rmK gmU -gix +jRs byN jzx tpF @@ -116643,7 +117281,7 @@ aJh aKv aLY aNl -xcl +qwJ aPR aRh aLY @@ -116654,7 +117292,7 @@ aYk vVX qfx xLS -beb +skh aWv tok bjz @@ -116676,17 +117314,17 @@ byN qsA bNJ olU -jdY +fUu byN uBx eaF xVl -kys +wUi cow xVl xmU bcd -eXY +yiI mQS aOp ojZ @@ -116922,10 +117560,10 @@ ixc alq boY byN -civ +hUm aVh kNC -nxp +wiL xyi xxI tEy @@ -117203,7 +117841,7 @@ bcd abt qUm umX -amB +noO bcd nbv nbv @@ -117425,7 +118063,7 @@ aYn aZB bbr bcD -bee +nMn aWv bhP jMW @@ -117477,7 +118115,7 @@ wUu ulC ojw rvY -mGY +oPY wAq hIy vRq @@ -117686,7 +118324,7 @@ aWw aWw bhQ xPx -oBW +elg bmU alq alq @@ -117737,7 +118375,7 @@ uct kPp bIi dUj -irj +seq mjJ aaa aaa @@ -117920,7 +118558,7 @@ dnz axY aBD aCN -aEh +izc aFp aGQ axY @@ -117949,16 +118587,16 @@ bpd bmV btx qcn -bwZ +rpG byP -eFP +qkK sps nMB xOr bHm tYu bKr -bLU +ffJ bNL bPh bKr @@ -117983,7 +118621,7 @@ ovj lMJ lMJ lMJ -ctl +ims aaa aaa tVz @@ -118217,7 +118855,7 @@ tqy wCN pEu irt -bPi +cvy bKr bNO bTf @@ -118438,12 +119076,12 @@ dTb aFr aGS axY -aJl +wAt aKx aJu aNo axY -kqE +wnv aRl mDu kJy @@ -118689,7 +119327,7 @@ dqu koE aMp axY -aBG +ptC dCk pNt aFr @@ -118706,7 +119344,7 @@ bVa aPX axY aWw -dtm +mOG yle vFz eWg @@ -118975,10 +119613,10 @@ wnz pmL jXT ktu -bep +oza xhN bxd -vyv +pVA bAB bCh bDO @@ -119007,7 +119645,7 @@ kRR mFX cmd hsU -cNw +noa cOa crf aaa @@ -119224,7 +119862,7 @@ cXG xsh vjn wOp -rUn +inb bfR gnJ xAw @@ -119255,10 +119893,10 @@ bXd apc bZE qVH -mLd +tPP ygn kGm -qYh +uOd xSc rDY ckF @@ -119460,7 +120098,7 @@ ihN dqT aAo aCO -tdu +vmK aEi kEN aEi @@ -119486,13 +120124,13 @@ aWw cPi fyT bjL -bnb +ecB owR vxB trq rYm bxd -byT +nIW bCi lXH fpx @@ -119704,7 +120342,7 @@ acP xpV aln amt -jyj +eha acP oce jza @@ -119766,7 +120404,7 @@ anM bAR pav jTi -bYv +llR bZF cbb ccQ @@ -119958,7 +120596,7 @@ aav aav aaa acP -ajX +dFo mYh kwe whi @@ -119972,7 +120610,7 @@ foK fka tfC dqT -hhY +lmt aCP qNc uhw @@ -119990,17 +120628,17 @@ oSS uxl kWW vfN -kxw -vfN -tXy -hdM +inQ +psa +fdu +rUK vfN ihR iDO eSY qVf gyj -rxn +tKG owR sao hkq @@ -120246,11 +120884,11 @@ aQa aTO dPe aTK -aVd +grY aBI -aYt +mLG toh -hGd +rjz dgz aBI hAo @@ -120517,22 +121155,22 @@ hVW bne owR owR -lYb -vPy +hYn +hbv bAR -pPa +mDr bAG bCn aLI bFL bHt bDS -bKv +ksI bMb bNP bPp bPp -bSg +vlT bDS bDS bVI @@ -120761,10 +121399,10 @@ deB qUD fOq cXA -fiL -egv -wOJ -kkq +tGU +oYY +ipo +hRb bfX wQo esQ @@ -120777,7 +121415,7 @@ owR owR owR bxd -byX +guD bAH bCo rKW @@ -120802,7 +121440,7 @@ ceh cfw cgA chP -cje +qaG cjc bAR aaf @@ -121011,17 +121649,17 @@ daW dBw aKF aMi -cpR +hfF dfi aQd dBA aSA -kNI +wzX cXA -aEy -bbC -gCm -rqv +rAS +sHC +sVu +ngb pST dRM kWr @@ -121253,7 +121891,7 @@ apl uDU lhx ajb -auw +vwH bPJ ajb axX @@ -121272,20 +121910,20 @@ dBy dlI aQe aRv -dfD -kNI +dMe +wzX cXA -jQi -vCn -ycb -bIn +rQT +pXg +aVF +xur bfX iTF kmW gIz gRe bjL -bng +jkQ iRz btD bvn @@ -121299,7 +121937,7 @@ csF lSI bIS bKy -bMe +sGb bxd bxd bQT @@ -121508,7 +122146,7 @@ bQv fIr xYl xiL -unp +rKg ajb ajb xbd @@ -121529,8 +122167,8 @@ mvZ dlI dfp dfp -mFM -nKi +osI +jxf cXA cXA cXA @@ -121560,7 +122198,7 @@ bMf bxd bPs bPs -bSh +hWc bxd bUC bVK @@ -121772,7 +122410,7 @@ tUi axY axZ lhF -dXZ +bZu gGD sSn opl @@ -121786,8 +122424,8 @@ dfb dfj dlI deD -rHx -wJa +qKV +vAF guq dgi mKs @@ -121818,7 +122456,7 @@ bNS bPt bQU bSi -bTk +leI bDW bFQ bXm @@ -121830,7 +122468,7 @@ ceh cfw cgA chS -cjh +eyN cjf bAR aaf @@ -122018,7 +122656,7 @@ aaf ajb ajZ alu -knR +lwb rHz apl aqx @@ -122041,10 +122679,10 @@ dbb aMk aNv dfk -dfq +aWq djt -dfG -sEq +wTv +xus axY cXZ cXI @@ -122058,8 +122696,8 @@ bie bhT oxc vDQ -jkg -dxP +lgp +oaH lwy bhT bzc @@ -122301,7 +122939,7 @@ dfk daY djx dfG -cXz +vVl axY atm alr @@ -122833,7 +123471,7 @@ aNC bhT bwl bhT -bzf +eaC bCi bCv bEa @@ -122858,7 +123496,7 @@ cei cfy cgC chV -cjk +mBr ckI bAR aaf @@ -123049,7 +123687,7 @@ alv apm alv qdO -gXl +tvA cbG apm dnS @@ -123065,7 +123703,7 @@ deu deI deN deI -deW +opw aMm dfd deN @@ -123367,7 +124005,7 @@ bMl bYB bKG bKG -ccV +dtD bAR aaf aaf @@ -124100,7 +124738,7 @@ ykz ykz mBY jDs -dfV +kuo axY dgg azd @@ -124893,19 +125531,19 @@ dhl bAR bCC bEe -bGb +acN bAR bJd bKJ -bMn +xmj bAR bPy bQZ -bSl +eSG bAR bUJ bVP -bXs +tln bAR aaf aMr @@ -130791,12 +131429,12 @@ anT anT aRy bkP -qpp +rCU tWv vUC oLr dLH -brQ +njs bKK anT anT @@ -131051,7 +131689,7 @@ nvB rCq aRy aRy -ucG +jBt gRf fpi aOX @@ -131560,7 +132198,7 @@ dXp dXp dXp dXp -onP +lGm aVk aOY aOY @@ -131810,7 +132448,7 @@ dXp dXp dXp dXp -rop +hrl aVk aOY aOY @@ -131828,14 +132466,14 @@ brU aOV aaa aMq -idg +mLT eKe eKe eKe eKe uqA uqA -iqA +anO uqA uqA uqA @@ -132336,7 +132974,7 @@ aRy aRy aRy qTN -bnw +eZe vji fzV aRy @@ -132852,14 +133490,14 @@ bjP fcq bny lub -brY +iUh btL btL btL btL btL bCD -bEf +opy bGc bHC bJg @@ -133098,7 +133736,7 @@ aRy aTV aVl aWL -doO +qPS myk qno bcP @@ -133113,7 +133751,7 @@ bjQ btL sSp rRG -imq +aul rjC bCD bEg @@ -133123,7 +133761,7 @@ bJm bNX bGd yih -bMo +tWN bOc aRy aaa @@ -133364,9 +134002,9 @@ oid bin bjQ tuc -qDN +pFB qZj -tGf +toq btL qfn kGe @@ -133616,9 +134254,9 @@ aTV xFe aTV aTV -beu +sUk apv -bio +ljB bjQ blF mif @@ -133861,7 +134499,7 @@ anT aMq aYd qTn -vCK +msa aOW aOW aRy @@ -133895,12 +134533,12 @@ dsr tBl qpw vKV -bNZ +uMn aRy bvt aOW bTm -pmc +lzs jda cmX bgn @@ -134124,10 +134762,10 @@ aaa aRy aRy aTX -aVp +taY aWP aTV -vgl +ljh aTV aTV bew @@ -134399,7 +135037,7 @@ btL ugW jFr mqb -vAP +pvh bCD bEj bGd @@ -134642,7 +135280,7 @@ aVr aWR oMG qWp -elv +jyk aWR aVr bgm @@ -134665,7 +135303,7 @@ bKN bOa bGd utH -bMs +jJE chn aRy aaa @@ -134915,7 +135553,7 @@ btL btL btL bCD -bEk +duh bGf bHG bJn @@ -135419,7 +136057,7 @@ aRy aRy aRy aRy -dml +gIt lhL hgr bsh @@ -135679,7 +136317,7 @@ aRy maL bnI kBS -bsi +vId aRy aaa aaa @@ -135922,7 +136560,7 @@ eKe eKe eKe eKe -xRF +fGk aOX aNw aNw @@ -135940,14 +136578,14 @@ aRy aRy aaa aMq -wkt +cVw eKe eKe eKe eKe eKe eKe -dPf +oRI uqA uqA uqA @@ -136186,7 +136824,7 @@ eKe eKe eKe eKe -pEQ +dOd bgn aaa aaa diff --git a/_maps/map_files/RadStation/RadStation.dmm b/_maps/map_files/RadStation/RadStation.dmm index 779d3f11488e4..e868e2ba67069 100644 --- a/_maps/map_files/RadStation/RadStation.dmm +++ b/_maps/map_files/RadStation/RadStation.dmm @@ -109,6 +109,24 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/captain/private) +"aaJ" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/obj/effect/turf_decal/bot, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science Requests Console"; + pixel_y = -30; + receive_ore_updates = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/processor/slime, +/turf/open/floor/iron/grid/steel, +/area/science/xenobiology) "aaM" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -431,29 +449,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/medical/morgue) -"agA" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/camera/directional/north{ - view_range = 12 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_y = 34 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/hallway/primary/central) "agF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -771,10 +766,6 @@ dir = 1 }, /area/hallway/secondary/exit/departure_lounge) -"amE" = ( -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "amY" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -918,6 +909,17 @@ }, /turf/open/floor/plating, /area/maintenance/department/bridge) +"aoX" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/o2, +/area/ai_monitored/turret_protected/ai) "apC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -1009,21 +1011,6 @@ }, /turf/open/floor/plating, /area/ai_monitored/storage/satellite) -"aqK" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/airalarm/engine{ - dir = 8; - pixel_x = -23 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Gas to Filter" - }, -/turf/open/floor/engine, -/area/engine/supermatter) "ard" = ( /obj/effect/turf_decal/guideline/guideline_out/brown{ dir = 8 @@ -1043,35 +1030,26 @@ }, /turf/open/floor/iron/techmaint, /area/maintenance/central) +"arv" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security") + }, +/obj/machinery/status_display/evac{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/guideline/guideline_edge/red{ + dir = 4 + }, +/obj/structure/closet/secure_closet/brig, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/security/brig/dock) "arz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/mapping_helpers/tile_breaker, /turf/open/floor/wood, /area/vacant_room/office) -"arJ" = ( -/obj/item/kirbyplants/random, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = -32; - pixel_y = 3 - }, -/obj/machinery/newscaster{ - pixel_x = -32; - pixel_y = 34 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = 12; - pixel_y = 22 - }, -/turf/open/floor/iron/white, -/area/medical/office) "arL" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1312,6 +1290,63 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre/backstage) +"auT" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/vending/tool, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster{ + pixel_y = 34 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron/dark, +/area/storage/primary) +"auW" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) +"ava" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/folder/yellow, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","cargo") + }, +/obj/item/toy/figure/qm{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/stamp/quartermaster{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/iron, +/area/quartermaster/qm) "avb" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -1417,23 +1452,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"axK" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") - }, -/obj/effect/turf_decal/guideline/guideline_edge/red, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = 1; - pixel_y = -36 - }, -/turf/open/floor/iron, -/area/security/main{ - name = "Security Viewing Hall" - }) "axV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1453,13 +1471,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) -"aya" = ( -/obj/structure/grille/broken, -/obj/structure/cable/yellow, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/port/central) "ayc" = ( /obj/structure/table, /obj/item/gps/mining/exploration, @@ -1629,14 +1640,6 @@ }, /turf/open/floor/iron/grid/steel, /area/hydroponics) -"aAn" = ( -/obj/structure/lattice, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - Internal"; - network = list("ss13","security") - }, -/turf/open/space/basic, -/area/space/nearstation) "aAF" = ( /obj/machinery/requests_console{ department = "Security"; @@ -1667,29 +1670,6 @@ }, /turf/open/floor/iron/dark, /area/teleporter) -"aAO" = ( -/obj/structure/chair/fancy/bench/right{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/iron/techmaint, -/area/security/prison/shielded) -"aAT" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/dark, -/area/quartermaster/exploration_prep) "aBd" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold4w/general/visible, @@ -1799,17 +1779,6 @@ /obj/structure/sign/departments/minsky/engineering/engineering, /turf/closed/wall, /area/vacant_room/commissary/commissary2) -"aDD" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, -/turf/open/floor/iron/grid/steel, -/area/hydroponics) "aDN" = ( /obj/structure/lattice, /turf/open/space, @@ -1985,6 +1954,14 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"aHT" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/southleft{ + name = "Engineering Delivery"; + req_access_txt = "24" + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "aHX" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -1998,20 +1975,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/bridge) -"aHZ" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ - alpha = 180; - color = "#DE3A3A" - }, -/turf/open/floor/iron/dark, -/area/security/main{ - name = "Security Locker Room" - }) "aIj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2024,16 +1987,6 @@ "aIw" = ( /turf/open/floor/iron/dark, /area/bridge/meeting_room) -"aIx" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/structure/sign/poster/random{ - pixel_x = -32 - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/hallway/primary/fore) "aIM" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -2238,15 +2191,6 @@ }, /turf/open/floor/plating, /area/engine/engine_room) -"aLk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/machinery/iv_drip, -/turf/open/floor/iron, -/area/security/brig/medbay) "aLm" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -2359,25 +2303,6 @@ "aNU" = ( /turf/closed/wall/r_wall, /area/ai_monitored/storage/satellite) -"aOc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/button/door{ - id = "hopshutter"; - name = "Privacy Shutter Control"; - pixel_x = -25; - req_access_txt = "57" - }, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/department/bridge) "aOm" = ( /obj/structure/table, /obj/item/food/spaghetti/meatballspaghetti{ @@ -2413,36 +2338,6 @@ }, /turf/open/floor/iron/dark, /area/engine/engine_room) -"aOz" = ( -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - color = "#267878"; - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - color = "#267878"; - dir = 10 - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ - color = "#267878"; - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_tri/blue{ - color = "#267878" - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "aOH" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -2488,14 +2383,6 @@ }, /turf/open/floor/engine, /area/science/explab) -"aOP" = ( -/obj/structure/grille/broken, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/maintenance/department/engine) "aOU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -2537,35 +2424,26 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, /area/maintenance/department/security) -"aPJ" = ( -/obj/structure/window/reinforced{ - dir = 1; - layer = 1 - }, -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/item/storage/box/monkeycubes{ - layer = 3.1; - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/storage/box/monkeycubes{ - layer = 3.1; - pixel_x = 2 +"aPL" = ( +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 5; + pixel_y = 30 }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "quarantineshutters"; - name = "isolation shutters" +/obj/machinery/camera/directional/north{ + c_tag = "Security Post - Medbay"; + network = list("ss13","medbay") }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 24; - pixel_y = -3 +/obj/machinery/light{ + dir = 1 }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay") +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 }, -/turf/open/floor/iron/grid/steel, -/area/medical/virology) +/obj/structure/closet/secure_closet/security/med, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "aPX" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -2573,16 +2451,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/miningdock) -"aQj" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/closet/crate/silvercrate, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/security/nuke_storage) "aQm" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -2590,6 +2458,21 @@ }, /turf/open/floor/iron/dark, /area/maintenance/department/medical/morgue) +"aQv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","security") + }, +/obj/effect/turf_decal/guideline/guideline_edge/purple, +/obj/structure/extinguisher_cabinet{ + pixel_y = -33 + }, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/science/research) "aQE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -2686,37 +2569,6 @@ /obj/structure/sign/warning/biohazard, /turf/closed/wall, /area/maintenance/starboard/aft) -"aSS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light, -/obj/structure/extinguisher_cabinet{ - pixel_x = -8; - pixel_y = -30 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/button/door{ - id = "Capoffice"; - id_tag = "cmoprivacy"; - name = "Captain blast door"; - pixel_x = 5; - pixel_y = -25 - }, -/obj/structure/rack, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/aicard, -/obj/item/storage/secure/briefcase, -/turf/open/floor/iron, -/area/bridge) "aST" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -2743,6 +2595,18 @@ }, /turf/open/floor/prison, /area/security/prison) +"aSY" = ( +/obj/machinery/power/smes{ + charge = 2e+007 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/iron/tech/grid, +/area/engine/gravity_generator) "aTs" = ( /obj/machinery/door/airlock/security{ aiControlDisabled = 1; @@ -2774,13 +2638,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"aTH" = ( -/obj/machinery/telecomms/processor/preset_exploration, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","rd") - }, -/turf/open/floor/circuit/green/telecomms/mainframe, -/area/quartermaster/exploration_prep) "aTS" = ( /obj/structure/table/wood, /obj/item/gavelblock{ @@ -2941,6 +2798,10 @@ }, /turf/open/floor/iron/dark, /area/chapel/main) +"aUW" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/carpet/royalblack, +/area/library) "aVh" = ( /obj/machinery/door/airlock{ id_tag = "sec Toilet 2"; @@ -3113,6 +2974,30 @@ /obj/structure/chair/wood/normal, /turf/open/floor/wood, /area/crew_quarters/theatre) +"aYi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/red{ + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/red, +/obj/effect/turf_decal/guideline/guideline_half_edge/red{ + dir = 5 + }, +/obj/effect/turf_decal/guideline/guideline_tri/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light, +/obj/item/radio/intercom{ + frequency = 1423; + name = "Interrogation Intercom"; + pixel_y = -35 + }, +/turf/open/floor/iron, +/area/security/brig) "aYr" = ( /obj/structure/sign/poster/random, /turf/closed/wall, @@ -3187,17 +3072,6 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/iron, /area/ai_monitored/security/armory) -"bad" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/camera/autoname/directional/west, -/turf/open/space/basic, -/area/solar/starboard/aft) "baf" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -3276,20 +3150,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"bbF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Air to Ports" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/fireaxecabinet{ - pixel_y = -32 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "bbP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -3462,6 +3322,15 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"bfq" = ( +/obj/effect/turf_decal/bot, +/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/dark, +/area/medical/morgue) "bfF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3630,6 +3499,41 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"bhP" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/rack, +/obj/item/computer_hardware/hard_drive/role/lawyer{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/folder/red{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/folder/blue{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/folder/yellow{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/storage/briefcase, +/obj/item/clothing/glasses/sunglasses/advanced/big{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/clothing/glasses/sunglasses/advanced{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/laser_pointer{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/structure/cable/yellow, +/turf/open/floor/wood, +/area/lawoffice) "bia" = ( /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/trunk{ @@ -3647,13 +3551,6 @@ }, /turf/open/floor/iron/white, /area/science/robotics) -"bjk" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "bjv" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -3665,19 +3562,6 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/engine, /area/engine/supermatter) -"bjB" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "bjP" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /turf/open/floor/prison, @@ -3737,17 +3621,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/storage) -"bly" = ( -/obj/machinery/suit_storage_unit/captain, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/status_display/evac{ - pixel_x = 33 - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/heads/captain/private) "blA" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -3882,17 +3755,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"bna" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/tech, -/area/engine/atmos) "bni" = ( /obj/effect/spawner/lootdrop/glowstick/lit, /turf/open/floor/plating, @@ -3919,12 +3781,6 @@ }, /turf/open/floor/iron/white, /area/security/brig/medbay) -"bnq" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/turf/open/floor/engine/n2, -/area/engine/atmos) "bnE" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/ntnet_relay, @@ -3990,6 +3846,27 @@ /mob/living/basic/cockroach, /turf/open/floor/iron/techmaint, /area/hallway/secondary/service) +"boB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/firealarm/directional/west{ + pixel_y = -2 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/button/flasher{ + id = "monkeypen"; + pixel_x = -22; + pixel_y = 10 + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","medbay") + }, +/turf/open/floor/iron/grid/steel, +/area/medical/virology) "boR" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/engine, @@ -4228,20 +4105,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/security/brig) -"bsB" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/engineering_welding{ - req_access = "0"; - req_access_txt = "24" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "bsF" = ( /obj/structure/table/wood, /obj/item/soap{ @@ -4365,19 +4228,27 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) -"buP" = ( -/obj/machinery/computer/card/minor/hos{ - dir = 4 +"buJ" = ( +/obj/machinery/light{ + light_color = "#7AC3FF" }, -/obj/effect/turf_decal/stripes/white/line{ +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Captain's Quarters" + }, +/turf/open/floor/carpet/royalblack, +/area/library) +"buX" = ( +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, +/obj/machinery/vending/assist, /obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","security") +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/iron/ridged/steel, -/area/crew_quarters/heads/hos) +/turf/open/floor/iron/dark, +/area/storage/primary) "bva" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -4514,6 +4385,16 @@ /obj/effect/landmark/start/cyborg, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/aisat/foyer) +"bxo" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) "bxs" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/royalblack, @@ -4567,6 +4448,14 @@ /area/security/main{ name = "Security Break Room" }) +"bzm" = ( +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/science/storage) "bzp" = ( /mob/living/basic/mothroach, /obj/structure/sign/poster/official/moth1{ @@ -4694,15 +4583,6 @@ dir = 4 }, /area/hallway/primary/central) -"bBv" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/kitchen_cold_room{ - dir = 1; - pixel_y = 24 - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/kitchen/coldroom) "bBG" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -4796,6 +4676,20 @@ /obj/effect/landmark/start/cyborg, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) +"bDw" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + view_range = 10 + }, +/obj/structure/sink{ + dir = 1; + pixel_y = 28 + }, +/turf/open/floor/iron, +/area/medical/sleeper) "bDH" = ( /obj/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -4917,6 +4811,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/hallway/primary/central) +"bHa" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/techmaint, +/area/engine/gravity_generator) "bHb" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -5066,6 +4965,18 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/ai_monitored/storage/satellite) +"bJz" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "bJV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -5157,34 +5068,6 @@ dir = 4 }, /area/science/lobby) -"bKW" = ( -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/storage/fancy/donut_box{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/book/manual/wiki/sopcommand, -/obj/item/book/manual/wiki/sopservice, -/obj/item/book/manual/wiki/sopsupply, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "bKZ" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -5200,14 +5083,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"bLe" = ( -/obj/structure/chair, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/north{ - c_tag = "Teleporter Room" - }, -/turf/open/floor/iron/dark, -/area/hallway/secondary/exit/departure_lounge) "bLf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5254,22 +5129,6 @@ }, /turf/open/floor/wood, /area/maintenance/central) -"bLS" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/closet/crate/wooden/toy, -/obj/machinery/camera/directional/north, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 12; - pixel_y = 22 - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre/backstage) "bMn" = ( /obj/structure/closet/crate/coffin, /turf/open/floor/iron/dark, @@ -5286,22 +5145,6 @@ /area/security/main{ name = "Security Viewing Hall" }) -"bMv" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Medbay - Break Room"; - name = "medbay camera"; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/effect/spawner/randomvend/snack, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/medical/break_room) "bMC" = ( /obj/structure/window/reinforced{ dir = 1 @@ -5361,6 +5204,24 @@ /obj/structure/girder, /turf/open/floor/iron, /area/maintenance/department/security) +"bNS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/motion{ + c_tag = "MiniSat Core Hallway 1"; + dir = 6; + network = list("minisat") + }, +/obj/structure/cable/yellow, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/aisat_interior) "bNY" = ( /obj/structure/table/wood, /obj/machinery/chem_dispenser/drinks{ @@ -5414,10 +5275,61 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/port/aft) +"bOW" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/chair/fancy/bench{ + pixel_y = 13 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/dark, +/area/gateway) +"bPc" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_tri/yellow{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/engineering) "bPo" = ( /obj/structure/sign/departments/minsky/research/dorms, /turf/closed/wall, /area/hydroponics) +"bPu" = ( +/obj/machinery/camera/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side, +/area/hallway/primary/central) "bPy" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -5467,6 +5379,16 @@ /obj/structure/sign/poster/random, /turf/closed/wall, /area/security/brig/medbay) +"bQq" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/iron/freezer, +/area/crew_quarters/kitchen/coldroom) "bQA" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -5490,6 +5412,18 @@ }, /turf/open/floor/iron/tech, /area/engine/atmos) +"bQH" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/maintenance/starboard/aft) "bQK" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -5505,23 +5439,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"bQL" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/radio/intercom{ - pixel_x = -31; - pixel_y = -2 - }, -/obj/structure/table/reinforced, -/obj/item/tank/internals/plasma, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/obj/item/pipe_dispenser, -/obj/item/pipe_dispenser, -/turf/open/floor/iron, -/area/engine/engine_room) "bRf" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -5677,6 +5594,18 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/miningdock) +"bTi" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/donkpockets, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/engine/storage) "bTm" = ( /obj/machinery/vending/job_disk, /obj/item/radio/intercom{ @@ -5686,6 +5615,28 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/hop) +"bTB" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/bed/dogbed/ian, +/obj/machinery/airalarm/directional/east{ + pixel_x = 22 + }, +/obj/item/toy/beach_ball/holoball/dodgeball{ + name = "dodgeball 3 of 5" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 40; + pixel_y = -1 + }, +/mob/living/simple_animal/pet/dog/corgi/Ian{ + density = 0; + dir = 1; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) "bTL" = ( /obj/structure/cable{ icon_state = "0-4" @@ -5704,6 +5655,14 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/quartermaster/exploration_prep) +"bUf" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/wood, +/area/security/prison) "bUn" = ( /obj/effect/turf_decal/delivery, /obj/machinery/light{ @@ -5901,18 +5860,19 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, /area/maintenance/port/central) -"bYC" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +"bYz" = ( +/obj/machinery/light, +/obj/machinery/suit_storage_unit/mining, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","cargo") }, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - color = "#267878"; - dir = 8 +/obj/item/radio/intercom{ + pixel_x = 2; + pixel_y = -31 }, -/obj/machinery/firealarm/directional/west, /turf/open/floor/iron, -/area/crew_quarters/cafeteria) +/area/quartermaster/miningdock) "bYM" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -6084,6 +6044,28 @@ "cbX" = ( /turf/closed/wall, /area/crew_quarters/heads/hos) +"cct" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/conveyor{ + dir = 8; + id = "MailConv" + }, +/obj/machinery/door/window/southleft{ + dir = 4; + icon_state = "right"; + id_tag = "Bountydoors"; + req_one_access_txt = "31;48" + }, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance/two, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/dark, +/area/quartermaster/office) "ccv" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ alpha = 180 @@ -6129,6 +6111,22 @@ }, /turf/open/floor/iron/dark/side, /area/hallway/secondary/exit/departure_lounge) +"cdN" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/sign/departments/minsky/medical/virology/virology1{ + pixel_y = -30 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/guideline/guideline_edge/green, +/obj/machinery/light, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/medical/medbay/central) "cdQ" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -6150,17 +6148,18 @@ }, /turf/open/floor/iron, /area/quartermaster/miningdock) -"ceq" = ( -/obj/structure/rack, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/firealarm/directional/east, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, +"ceu" = ( /obj/structure/cable/yellow{ - icon_state = "0-8" + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ai_monitored/storage/satellite) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "ceM" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -6279,6 +6278,18 @@ "cfA" = ( /turf/open/floor/iron/sepia, /area/quartermaster/storage) +"cfH" = ( +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/wood, +/area/crew_quarters/theatre/backstage) "cfN" = ( /obj/machinery/door/airlock/security{ name = "Detective's Office"; @@ -6458,18 +6469,32 @@ dir = 4 }, /area/hallway/primary/central) -"chY" = ( -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ +"cie" = ( +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/crew_quarters/theatre/backstage) +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/white, +/area/medical/chemistry) +"ciq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/camera/motion/directional/west{ + c_tag = "MiniSat Core Hallway 3"; + network = list("minisat") + }, +/obj/machinery/flasher{ + id = "aicore"; + pixel_x = 9; + pixel_y = -23 + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/aisat/foyer) "ciA" = ( /obj/item/stack/medical/gauze, /obj/structure/rack, @@ -6518,6 +6543,20 @@ }, /turf/open/floor/carpet/blue, /area/bridge/meeting_room) +"cjh" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/shower{ + dir = 8; + name = "emergency shower"; + pixel_x = -1; + pixel_y = -8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/noslip/white, +/area/medical/genetics/cloning) "cjK" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ @@ -6579,19 +6618,6 @@ }, /turf/open/floor/iron, /area/engine/engine_room) -"ckD" = ( -/obj/structure/displaycase/labcage, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, -/turf/open/floor/iron, -/area/crew_quarters/heads/hor) "ckF" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ alpha = 180; @@ -6706,6 +6732,10 @@ dir = 9 }, /area/science/research) +"clJ" = ( +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/wood, +/area/maintenance/port/aft) "cma" = ( /obj/machinery/computer/cargo, /obj/effect/turf_decal/stripes/line, @@ -6742,6 +6772,10 @@ /area/security/prison{ name = "Prison Processing" }) +"cmw" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/turf/closed/wall/r_wall, +/area/security/prison/shielded) "cnr" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/computer/slot_machine, @@ -6826,6 +6860,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/security/brig/dock) +"coe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + c_tag = "MiniSat Core Hallway 5"; + network = list("minisat") + }, +/turf/open/floor/circuit, +/area/ai_monitored/storage/satellite) "coj" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -6844,6 +6891,18 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) +"cow" = ( +/obj/effect/turf_decal/tile/neutral/half, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light_switch{ + pixel_x = -20; + pixel_y = -21 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/chapel/office) "coD" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow, @@ -6893,6 +6952,17 @@ }, /turf/open/floor/iron/dark, /area/medical/virology) +"coK" = ( +/obj/machinery/suit_storage_unit/captain, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/status_display/evac{ + pixel_x = 33 + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/heads/captain/private) "coY" = ( /obj/structure/table, /obj/machinery/door/window/eastright{ @@ -6903,12 +6973,6 @@ /obj/item/clothing/ears/earmuffs, /turf/open/floor/iron/dark, /area/science/misc_lab/range) -"cpa" = ( -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/tech, -/area/engine/atmos) "cpb" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -7141,16 +7205,6 @@ /area/security/main{ name = "Security Break Room" }) -"ctp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "ctt" = ( /turf/closed/wall, /area/quartermaster/office) @@ -7222,31 +7276,21 @@ }, /turf/open/floor/iron/white, /area/science/research) +"ctM" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/hallway/secondary/entry) "ctR" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/oxygen_input{ dir = 4 }, /turf/open/floor/engine/o2, /area/engine/atmos) -"cub" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_edge/brown{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/port) "cuj" = ( /obj/structure/lattice/catwalk, /obj/item/stack/cable_coil, @@ -7367,6 +7411,12 @@ /obj/structure/tank_dispenser/oxygen, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) +"cvT" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/airalarm/directional/east, +/obj/structure/closet/crate/coffin, +/turf/open/floor/iron/dark, +/area/chapel/main) "cwh" = ( /obj/structure/chair/fancy/corp{ dir = 1 @@ -7672,34 +7722,6 @@ /obj/machinery/field/generator, /turf/open/floor/iron/tech/grid, /area/engine/engineering) -"czm" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay"); - view_range = 10 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 28 - }, -/turf/open/floor/iron, -/area/medical/sleeper) -"czt" = ( -/obj/effect/turf_decal/stripes/closeup{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/iron/dark, -/area/quartermaster/storage) "czA" = ( /obj/structure/chair{ dir = 1 @@ -7712,6 +7734,13 @@ }, /turf/open/floor/iron/dark, /area/hallway/secondary/exit/departure_lounge) +"czC" = ( +/obj/structure/closet/secure_closet/RD, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/turf/open/floor/carpet/purple, +/area/crew_quarters/heads/hor) "czL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -7776,6 +7805,12 @@ /obj/structure/marker_beacon, /turf/open/space/basic, /area/space/nearstation) +"cAP" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/plasma, +/area/engine/atmos) "cAT" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4 @@ -7974,21 +8009,6 @@ "cFt" = ( /turf/open/floor/iron/tech/grid, /area/engine/engine_room) -"cFu" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/techstorage/security, -/obj/effect/spawner/lootdrop/techstorage/security, -/obj/machinery/requests_console{ - department = "Tech storage"; - name = "Tech Storage RC"; - pixel_x = -30 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","security") - }, -/turf/open/floor/iron/dark, -/area/storage/tech) "cFx" = ( /obj/structure/railing/corner{ dir = 4 @@ -8226,18 +8246,46 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/quartermaster/miningdock) -"cJy" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","cargo") +"cJj" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 }, -/obj/machinery/newscaster{ - pixel_y = 33 +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 }, -/turf/open/floor/iron/dark, -/area/quartermaster/miningdock) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) +"cJu" = ( +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/obj/machinery/camera/autoname{ + dir = 6; + network = list("ss13","prison") + }, +/obj/machinery/status_display/door_timer{ + id = "cell"; + name = "Solitary confinement timer"; + pixel_x = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/prison, +/area/security/prison{ + name = "Prison Visitation" + }) "cJD" = ( /obj/machinery/telecomms/bus/preset_three, /obj/effect/turf_decal/stripes/line{ @@ -8358,6 +8406,29 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"cLB" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -31 + }, +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/folder/red, +/obj/item/pen, +/obj/item/radio/off, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "cLD" = ( /obj/item/radio/intercom{ dir = 8; @@ -8486,20 +8557,6 @@ "cMI" = ( /turf/closed/wall/r_wall, /area/tcommsat/server) -"cML" = ( -/obj/structure/rack, -/obj/item/storage/briefcase{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/storage/briefcase{ - pixel_y = 1 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/wood, -/area/vacant_room/office) "cMR" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -8510,16 +8567,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"cMS" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - alpha = 180; - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Evac Security Checkpoint" - }, -/turf/open/floor/iron, -/area/security/checkpoint/escape) "cMV" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow{ @@ -8582,24 +8629,6 @@ /obj/item/storage/box/prisoner, /turf/open/floor/iron/dark, /area/security/brig/dock) -"cNP" = ( -/obj/effect/turf_decal/tile/red/half/contrasted, -/obj/structure/closet/secure_closet/genpop, -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/dark, -/area/security/prison{ - name = "Prison Processing" - }) -"cNU" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) "cOA" = ( /turf/closed/wall/rust, /area/maintenance/port/central) @@ -8683,20 +8712,6 @@ "cPB" = ( /turf/closed/wall/r_wall/rust, /area/science/misc_lab/range) -"cPD" = ( -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13","rd") - }, -/obj/structure/rack, -/obj/item/storage/firstaid/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/healthanalyzer, -/turf/open/floor/iron/white, -/area/science/explab) "cPU" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, @@ -8802,6 +8817,14 @@ dir = 4 }, /area/science/mixing) +"cRW" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/iron/tech, +/area/ai_monitored/storage/eva) "cSe" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -8836,15 +8859,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"cSC" = ( -/obj/machinery/light{ - light_color = "#7AC3FF" - }, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Captain's Quarters" - }, -/turf/open/floor/carpet/royalblack, -/area/library) "cSN" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/power/terminal{ @@ -9052,18 +9066,6 @@ }, /turf/open/floor/iron, /area/ai_monitored/security/armory) -"cWP" = ( -/obj/structure/chair/wood/normal, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/mapping_helpers/apc/discharged, -/turf/open/floor/wood, -/area/library) "cXb" = ( /obj/item/cardboard_cutout/adaptive/chess/queen, /turf/open/floor/plating/airless, @@ -9136,6 +9138,16 @@ /area/security/main{ name = "Security Viewing Hall" }) +"cYr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/spawner/randomarcade{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cafeteria) "cYG" = ( /obj/structure/lattice, /obj/item/stack/sheet/iron, @@ -9157,14 +9169,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/cafeteria, /area/crew_quarters/kitchen) -"cYV" = ( -/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/maintenance/port/aft) "cYW" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ alpha = 180; @@ -9255,6 +9259,36 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/maintenance/port/central) +"daR" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/tech, +/area/engine/atmos) +"dbb" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Science - Toxins Mixing Lab Burn Chamber"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/dark/side{ + dir = 5 + }, +/area/science/mixing/chamber) "dbc" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -9303,6 +9337,16 @@ /area/security/main{ name = "Security Viewing Hall" }) +"dbs" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/machinery/camera/directional/north{ + c_tag = "MiniSat Upload East"; + network = list("minisat","aiupload") + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/foyer) "dbB" = ( /obj/structure/dresser, /obj/item/bikehorn{ @@ -9652,6 +9696,18 @@ }, /turf/open/floor/iron/half, /area/hallway/primary/central) +"dgd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/sign/warning/securearea{ + pixel_y = 30 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/engine_room) "dgg" = ( /obj/structure/sign/poster/random, /turf/closed/wall/r_wall, @@ -9668,14 +9724,6 @@ dir = 1 }, /area/medical/surgery) -"dgq" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "dgT" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -9737,6 +9785,17 @@ /obj/effect/turf_decal/box, /turf/open/floor/engine/o2, /area/ai_monitored/turret_protected/ai) +"diq" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/medical/sleeper) "diB" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -9980,42 +10039,20 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"dlE" = ( +/obj/machinery/newscaster{ + pixel_y = 33 + }, +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/warrant, +/turf/open/floor/carpet/royalblack, +/area/lawoffice) "dlF" = ( /obj/effect/spawner/lootdrop/maintenance/two, /obj/structure/rack, /turf/open/floor/plating, /area/maintenance/department/engine) -"dlI" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","cargo") - }, -/obj/machinery/conveyor{ - dir = 8; - id = "MailConv" - }, -/obj/structure/closet/crate, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron/dark, -/area/quartermaster/office) -"dlR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/engine/atmos) "dlY" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/table, @@ -10023,6 +10060,33 @@ /obj/item/stack/sheet/wood/ten, /turf/open/floor/iron/dark, /area/vacant_room/commissary/commissary1) +"dmd" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + alpha = 180; + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/machinery/light, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Starbird Security Checkpoint" + }, +/obj/machinery/airalarm/directional/south, +/obj/item/radio/off, +/obj/item/restraints/handcuffs, +/obj/machinery/light_switch{ + pixel_x = -20; + pixel_y = -21 + }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/auxiliary) "dmn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 @@ -10042,18 +10106,6 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) -"dmx" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/vending/assist, -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/dark, -/area/storage/primary) "dmD" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ alpha = 180; @@ -10094,21 +10146,6 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) -"dnF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/catwalk_floor, -/area/maintenance/starboard/aft) "dnH" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -10346,6 +10383,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"drZ" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/engine/storage) "dst" = ( /obj/machinery/status_display/evac, /turf/closed/wall, @@ -10374,33 +10416,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"dtm" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - alpha = 180; - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/machinery/light, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Starbird Security Checkpoint" - }, -/obj/machinery/airalarm/directional/south, -/obj/item/radio/off, -/obj/item/restraints/handcuffs, -/obj/machinery/light_switch{ - pixel_x = -20; - pixel_y = -21 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary) "dtp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -10416,13 +10431,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/engine) -"dtY" = ( -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/tech, -/area/engine/atmos) "dum" = ( /obj/structure/cable/yellow{ icon_state = "0-2" @@ -10609,6 +10617,14 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) +"dvY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/cafeteria) "dwd" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/machinery/door/firedoor, @@ -10677,18 +10693,6 @@ dir = 8 }, /area/science/lobby) -"dwP" = ( -/obj/effect/turf_decal/tile/neutral/half, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light_switch{ - pixel_x = -20; - pixel_y = -21 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/chapel/office) "dwT" = ( /obj/machinery/computer/security/hos{ dir = 8 @@ -10899,36 +10903,6 @@ }, /turf/open/floor/carpet/grimy, /area/chapel/office) -"dAa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/sepia, -/area/maintenance/port/central) -"dAb" = ( -/obj/machinery/stasis{ - dir = 1 - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","security") - }, -/obj/machinery/defibrillator_mount{ - pixel_x = -32 - }, -/turf/open/floor/iron/white, -/area/security/brig/medbay) -"dAc" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","rd") - }, -/turf/open/floor/engine, -/area/science/mixing/chamber) "dAd" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -10994,16 +10968,6 @@ /obj/structure/window/reinforced, /turf/open/floor/engine, /area/science/xenobiology) -"dAT" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Core Hallway 4"; - network = list("minisat") - }, -/turf/open/floor/plating, -/area/ai_monitored/storage/satellite) "dAZ" = ( /obj/structure/bed, /obj/item/bedsheet/mime, @@ -11035,34 +10999,18 @@ /obj/structure/table/glass, /turf/open/floor/iron, /area/medical/cryo) -"dBw" = ( -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4 - }, +"dBn" = ( +/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/incinerator_vent_toxmix{ - pixel_x = -25; - pixel_y = 5 - }, -/obj/machinery/button/ignition/incinerator/toxmix{ - pixel_x = -25; - pixel_y = -5 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - pixel_x = -11; - pixel_y = 22 + dir = 8 }, -/turf/open/floor/iron/dark/side{ - dir = 9 +/obj/machinery/camera/autoname{ + c_tag = "Head of Personnel's Office"; + dir = 6 }, -/area/science/mixing/chamber) +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/grid/steel, +/area/hydroponics) "dBO" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -11071,12 +11019,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/tech, /area/engine/engine_room) -"dBS" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "dBX" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ alpha = 180 @@ -11168,6 +11110,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/carpet/royalblack, /area/library) +"dDB" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + c_tag = "MiniSat Upload West"; + network = list("minisat","aiupload") + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat/foyer) "dDD" = ( /obj/machinery/light/floor{ brightness = 15; @@ -11283,30 +11238,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/tech, /area/engine/engine_room) -"dEV" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/closet/secure_closet/atmospherics{ - anchored = 1 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) -"dEY" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "dFa" = ( /obj/structure/cable{ icon_state = "1-2" @@ -11376,6 +11307,22 @@ "dFC" = ( /turf/closed/wall, /area/maintenance/department/medical/morgue) +"dFG" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + color = "#267878"; + dir = 8 + }, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "dGa" = ( /obj/structure/reflector/box, /turf/open/floor/iron/tech/grid, @@ -11496,27 +11443,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/central) -"dHz" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/machinery/chem_dispenser/mutagensaltpetersmall, -/turf/open/floor/iron/grid/steel, -/area/hydroponics) -"dHC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "dHF" = ( /obj/structure/window/reinforced{ dir = 8; @@ -11665,6 +11591,13 @@ }, /turf/open/floor/wood, /area/library) +"dJN" = ( +/obj/structure/bodycontainer/morgue, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/dark, +/area/medical/morgue) "dJS" = ( /obj/structure/railing{ dir = 9 @@ -11691,6 +11624,13 @@ /obj/structure/closet/secure_closet/security/sec, /turf/open/floor/iron/dark, /area/security/checkpoint/auxiliary) +"dKo" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "dKs" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -11815,22 +11755,22 @@ }, /turf/open/floor/iron, /area/science/lab) -"dMi" = ( -/obj/structure/window/reinforced{ - dir = 4 +"dLz" = ( +/obj/structure/dresser, +/obj/item/camera{ + pixel_y = 6 }, -/obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv{ - pixel_x = 2; - pixel_y = 8 +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/machinery/firealarm/directional/south, -/obj/item/melee/chainofcommand{ - pixel_x = -8; - pixel_y = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/carpet/blue, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/wood, /area/crew_quarters/heads/captain) "dMr" = ( /obj/structure/sign/warning/radiation/rad_area, @@ -11882,6 +11822,19 @@ }, /turf/open/floor/iron, /area/ai_monitored/security/armory) +"dML" = ( +/obj/machinery/iv_drip, +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/tile/blue, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron, +/area/maintenance/department/medical) "dMN" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -11943,6 +11896,16 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"dNs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/effect/turf_decal/box/corners{ + pixel_x = -16; + pixel_y = 16 + }, +/turf/open/floor/iron/tech, +/area/engine/atmos) "dNu" = ( /obj/structure/table/reinforced, /obj/item/storage/firstaid/regular{ @@ -12063,23 +12026,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/maintenance/port/aft) -"dOL" = ( -/obj/machinery/computer/cargo/request{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, -/obj/machinery/newscaster{ - pixel_x = -31; - pixel_y = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science/lab) "dPd" = ( /obj/machinery/jukebox{ dept_req_for_free = 0; @@ -12138,20 +12084,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"dQf" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/shower{ - dir = 8; - name = "emergency shower"; - pixel_x = -1; - pixel_y = -8 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/noslip/white, -/area/medical/genetics/cloning) "dQv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -12225,6 +12157,14 @@ }, /turf/open/space/basic, /area/solar/starboard/fore) +"dSE" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/catwalk_floor/iron_dark, +/area/engine/engine_room) "dSJ" = ( /obj/structure/chair{ dir = 4 @@ -12249,30 +12189,14 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) -"dTi" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - c_tag = "Head of Personnel's Office"; - dir = 6 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/grid/steel, -/area/hydroponics) -"dTl" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners/contrasted{ - alpha = 230; - color = "#edaa0c" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") +"dTu" = ( +/obj/machinery/camera/motion/directional/east{ + c_tag = "MiniSat Exterior 2"; + network = list("minisat") }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/engine/engine_room) +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "dTz" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -12488,16 +12412,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/maintenance/department/security) -"dWi" = ( -/obj/machinery/airalarm/server{ - dir = 8; - pixel_x = -22 - }, -/turf/open/floor/engine{ - initial_gas_mix = "n2=100;TEMP=80"; - name = "mainframe floor" - }, -/area/tcommsat/server) "dWk" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -12693,19 +12607,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"dZl" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Incinerator"; - network = list("ss13","engine") - }, -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/turf_decal/bot, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -24 - }, -/turf/open/floor/iron, -/area/engine/atmospherics_engine) "dZm" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -12727,19 +12628,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/engine/atmos) -"eaw" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/catwalk_floor, -/area/maintenance/department/bridge) "eaz" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -13052,13 +12940,6 @@ /obj/item/stack/sheet/wood, /turf/open/floor/plating, /area/maintenance/port/aft) -"efN" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "efS" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/fourcorners/contrasted{ @@ -13146,6 +13027,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"ehp" = ( +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","cargo") + }, +/turf/open/floor/noslip/standard, +/area/quartermaster/storage) "ehV" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -13154,6 +13043,14 @@ dir = 5 }, /area/science/mixing) +"ehX" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + alpha = 180 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/engine/storage) "eik" = ( /obj/structure/rack, /obj/structure/cloth_pile{ @@ -13314,6 +13211,17 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/quartermaster/warehouse) +"ekq" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Incinerator"; + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "eku" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable/yellow{ @@ -13388,6 +13296,15 @@ }, /turf/open/floor/iron/dark, /area/security/checkpoint/auxiliary) +"elO" = ( +/obj/structure/bed, +/obj/item/bedsheet/purple{ + name = "Holy bedsheet" + }, +/obj/machinery/camera/directional/north, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood, +/area/chapel/office) "elX" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -13463,6 +13380,46 @@ }, /turf/open/floor/carpet, /area/library) +"enx" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/space_heater, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/security) +"enN" = ( +/obj/structure/grille/broken, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/engine) +"enQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/obj/machinery/button/door{ + desc = "A remote control switch for the medbay foyer."; + id = "RoboFoyer"; + name = "Robo Doors Control"; + normaldoorcontrol = 1; + pixel_x = -32; + pixel_y = 1 + }, +/turf/open/floor/iron, +/area/science/robotics) "eog" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -13500,6 +13457,14 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) +"eoO" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #2"; + network = list("ss13","rd","xeno") + }, +/obj/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) "eoQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -13647,6 +13612,28 @@ }, /turf/open/floor/iron/dark, /area/engine/engine_room) +"eqJ" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/light{ + bulb_colour = "#22bfa2"; + bulb_vacuum_colour = "#22bfa2"; + dir = 8; + nightshift_light_color = "#22bfa2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge/red, +/turf/open/floor/iron/dark, +/area/security/brig/dock) "eqS" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -13693,6 +13680,31 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) +"erx" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/taperecorder{ + layer = 2.9; + pixel_x = -5; + pixel_y = 4 + }, +/obj/machinery/recharger{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/carpet/red, +/area/crew_quarters/heads/hos) "erR" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/box/corners{ @@ -13892,17 +13904,6 @@ /obj/item/clothing/glasses/science, /turf/open/floor/iron, /area/maintenance/port/aft) -"evy" = ( -/obj/structure/plasticflaps/opaque, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=4"; - freq = 1400; - location = "Atmospherics" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/engine/atmos) "evI" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -13964,6 +13965,12 @@ }, /turf/closed/wall/r_wall, /area/engine/supermatter) +"ewy" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/light, +/turf/open/floor/iron, +/area/medical/cryo) "ewB" = ( /turf/closed/wall/r_wall, /area/space/nearstation) @@ -13986,41 +13993,16 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"exc" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/rack, -/obj/item/computer_hardware/hard_drive/role/lawyer{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/folder/red{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/folder/blue{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/folder/yellow{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/storage/briefcase, -/obj/item/clothing/glasses/sunglasses/advanced/big{ - pixel_x = -1; - pixel_y = 4 - }, -/obj/item/clothing/glasses/sunglasses/advanced{ - pixel_x = 3; - pixel_y = 8 - }, -/obj/item/laser_pointer{ - pixel_x = 3; - pixel_y = -3 +"ewX" = ( +/obj/structure/chair/office, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/structure/cable/yellow, +/obj/effect/mapping_helpers/apc/discharged, /turf/open/floor/wood, -/area/lawoffice) +/area/vacant_room/office) "exh" = ( /obj/machinery/gateway{ dir = 1 @@ -14071,11 +14053,6 @@ }, /turf/open/floor/iron, /area/science/robotics) -"eym" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/carpet/purple, -/area/chapel/main) "eyw" = ( /obj/structure/chair/fancy/bench{ dir = 8 @@ -14090,6 +14067,13 @@ }, /turf/open/space/basic, /area/ai_monitored/turret_protected/ai) +"eyD" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/cafeteria) "eyE" = ( /obj/machinery/door/window/northleft{ dir = 2; @@ -14128,6 +14112,16 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"eyU" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","cargo") + }, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/catwalk_floor/iron_dark, +/area/maintenance/disposal) "ezF" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1; @@ -14150,6 +14144,15 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"eAd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/machinery/iv_drip, +/turf/open/floor/iron, +/area/security/brig/medbay) "eAe" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/machinery/portable_atmospherics/pump, @@ -14292,14 +14295,6 @@ /obj/item/stack/cable_coil/cut, /turf/open/floor/iron, /area/maintenance/port/aft) -"eBS" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/suit_storage_unit/mining, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/quartermaster/miningdock) "eBV" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -14315,28 +14310,6 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/iron/cafeteria, /area/maintenance/port/aft) -"eCW" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/newscaster{ - pixel_x = -32; - pixel_y = 2 - }, -/obj/machinery/light_switch{ - pixel_x = -20 - }, -/obj/machinery/computer/secure_data{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ - alpha = 180; - color = "#DE3A3A" - }, -/turf/open/floor/iron/dark, -/area/bridge) "eDh" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -14430,23 +14403,6 @@ /obj/structure/bedsheetbin, /turf/open/floor/iron/dark, /area/medical/morgue) -"eDU" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "garbage" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/disposal) "eEf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -14469,13 +14425,6 @@ }, /turf/open/space/basic, /area/solar/port/fore) -"eED" = ( -/obj/structure/bodycontainer/morgue, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron/dark, -/area/medical/morgue) "eEJ" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/disposalpipe/segment{ @@ -14489,6 +14438,14 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/bridge) +"eEL" = ( +/obj/machinery/camera/motion/directional/west{ + c_tag = "MiniSat Exterior 4"; + network = list("minisat") + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "eEY" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -14498,30 +14455,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"eFf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/red{ - dir = 1 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/red, -/obj/effect/turf_decal/guideline/guideline_half_edge/red{ - dir = 5 - }, -/obj/effect/turf_decal/guideline/guideline_tri/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light, -/obj/item/radio/intercom{ - frequency = 1423; - name = "Interrogation Intercom"; - pixel_y = -35 - }, -/turf/open/floor/iron, -/area/security/brig) "eFu" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ alpha = 200; @@ -14619,22 +14552,6 @@ }, /turf/open/floor/carpet/royalblack, /area/library) -"eGP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light, -/obj/machinery/camera/motion/directional/west{ - c_tag = "MiniSat Core Hallway 3"; - network = list("minisat") - }, -/obj/machinery/flasher{ - id = "aicore"; - pixel_x = 9; - pixel_y = -23 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/aisat/foyer) "eHf" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/line{ @@ -14667,6 +14584,11 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) +"eHi" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/hallway/primary/aft) "eHp" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, @@ -14876,6 +14798,11 @@ /area/security/main{ name = "Security Viewing Hall" }) +"eJU" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/plating, +/area/maintenance/department/science) "eJV" = ( /turf/closed/wall/r_wall, /area/security/brig{ @@ -14965,25 +14892,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/quartermaster/miningdock) -"eLE" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -32 - }, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - color = "#267878"; - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "eLF" = ( /obj/effect/turf_decal/bot, /obj/structure/cable/yellow{ @@ -15006,17 +14914,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/department/security) -"eLP" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Incinerator"; - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "eLY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/turf_decal/stripes/line{ @@ -15200,21 +15097,19 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/sorting) -"ePp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +"ePm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark/corner{ - dir = 8 +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light, +/obj/machinery/requests_console{ + department = "Genetics"; + name = "Genetics Requests Console"; + pixel_y = -34 }, -/area/hallway/primary/central) +/turf/open/floor/iron/white, +/area/medical/genetics) "ePs" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/engine/air, @@ -15253,12 +15148,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/royalblack, /area/maintenance/port/aft) -"eQe" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") +"ePU" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/camera/autoname{ + dir = 5; + network = list("ss13","rd") }, -/turf/open/floor/engine/airless, -/area/engine/atmos) +/obj/structure/rack, +/obj/item/storage/firstaid/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/healthanalyzer, +/turf/open/floor/iron/white, +/area/science/explab) "eQf" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 @@ -15569,29 +15472,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"eUb" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/camera/autoname/directional/west{ - c_tag = "AI Core"; - network = list("aicore") - }, -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "aicore"; - pixel_x = -32; - pixel_y = 4 - }, -/obj/machinery/button/door{ - id = "AIwindows"; - name = "AI View Blast doors"; - pixel_x = -32; - pixel_y = -5; - req_access_txt = "19" - }, -/turf/open/floor/engine/o2, -/area/ai_monitored/turret_protected/ai) "eUs" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -15775,26 +15655,6 @@ /obj/effect/spawner/lootdrop/maintenance/eight, /turf/open/floor/iron, /area/maintenance/department/science) -"eWn" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1; - name = "Barman"; - sortType = 19 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - view_range = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/green{ - color = "#439C1E"; - dir = 4 - }, -/turf/open/floor/iron, -/area/crew_quarters/cafeteria) "eWu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15849,20 +15709,25 @@ "eXl" = ( /turf/closed/wall, /area/maintenance/port/central) +"eXB" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge/red, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","security") + }, +/obj/machinery/light_switch{ + pixel_y = -25 + }, +/turf/open/floor/iron, +/area/security/brig) "eXD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, /area/crew_quarters/kitchen) -"eXE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/tech, -/area/engine/atmos) "eXG" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -15997,46 +15862,12 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"eZm" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/box/corners{ - dir = 8; - pixel_x = 15; - pixel_y = 16 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron/tech, -/area/engine/atmos) "eZy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/engine, /area/engine/supermatter) -"eZA" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - alpha = 180; - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet/secure_closet/security/engine, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/obj/item/radio/intercom{ - pixel_x = -32; - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/engineering) "eZJ" = ( /obj/machinery/light{ dir = 1 @@ -16051,18 +15882,6 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/iron/dark, /area/engine/engineering) -"eZQ" = ( -/obj/structure/musician/piano{ - icon_state = "piano" - }, -/obj/machinery/light{ - light_color = "#7AC3FF" - }, -/obj/machinery/camera/autoname/directional/south{ - c_tag = "Captain's Quarters" - }, -/turf/open/floor/glass/reinforced, -/area/crew_quarters/cafeteria) "fan" = ( /obj/effect/landmark/start/cargo_technician, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -16111,6 +15930,14 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) +"faP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/sepia, +/area/maintenance/port/central) "faQ" = ( /obj/effect/spawner/lootdrop/ruinloot/medical, /obj/effect/decal/cleanable/glass{ @@ -16132,10 +15959,21 @@ }, /turf/open/space/basic, /area/solar/starboard/fore) -"fbI" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/carpet/royalblack, -/area/library) +"fbH" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm/engine{ + dir = 8; + pixel_x = -23 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "fbJ" = ( /obj/structure/bookcase/manuals/medical, /obj/machinery/light, @@ -16439,6 +16277,25 @@ }, /turf/open/floor/iron, /area/security/checkpoint/engineering) +"ffd" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -32 + }, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + color = "#267878"; + dir = 8 + }, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "ffm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, @@ -16451,6 +16308,16 @@ "fft" = ( /turf/closed/wall, /area/maintenance/disposal) +"ffL" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/hallway/primary/central) "fgd" = ( /obj/machinery/holopad{ pixel_y = 16 @@ -16460,6 +16327,27 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/heads/cmo) +"fhb" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","cargo") + }, +/obj/machinery/conveyor{ + dir = 8; + id = "MailConv" + }, +/obj/structure/closet/crate, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron/dark, +/area/quartermaster/office) "fhl" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -16601,6 +16489,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"fiW" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/recharge_station, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd") + }, +/obj/effect/landmark/start/cyborg, +/turf/open/floor/circuit, +/area/science/robotics/mechbay) "fjc" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -16717,21 +16617,10 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/item/pen/red{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/folder/red{ - pixel_x = 8 - }, /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/machinery/rnd/production/techfab/department/security, /turf/open/floor/iron/dark, /area/security/warden) "fkr" = ( @@ -17007,13 +16896,6 @@ lighting_overlay_colour = "#DDE6FF"; power_light = 0 }) -"fnz" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/security/prison) "fnD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -17028,6 +16910,33 @@ dir = 1 }, /area/science/mixing) +"fnK" = ( +/obj/machinery/airalarm/directional/east{ + pixel_x = 29; + pixel_y = 1 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/computer/security/mining{ + dir = 8; + network = list("vault","cargo") + }, +/turf/open/floor/carpet/orange, +/area/quartermaster/qm) +"fnU" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/turf/open/floor/iron/tech, +/area/engine/atmos) "foe" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -17199,18 +17108,30 @@ /obj/machinery/power/tracker, /turf/open/space/basic, /area/solar/starboard/aft) +"fqL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/closet/secure_closet/atmospherics{ + anchored = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "fqN" = ( /obj/item/toy/figure/mime, /turf/open/floor/grass, /area/hallway/primary/central) -"fqP" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #2"; - network = list("ss13","rd","xeno") - }, -/obj/structure/window/reinforced, -/turf/open/floor/engine, -/area/science/xenobiology) "fqU" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -17288,6 +17209,18 @@ "fsy" = ( /turf/closed/wall/rust, /area/vacant_room/office) +"fsA" = ( +/obj/effect/turf_decal/tile/neutral/anticorner{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/hallway/secondary/service) "fsB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -17333,20 +17266,6 @@ }, /turf/open/space/basic, /area/solar/starboard/aft) -"ftb" = ( -/obj/machinery/airalarm/directional/east{ - pixel_x = 29; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 4 - }, -/obj/machinery/computer/security/mining{ - dir = 8; - network = list("vault","cargo") - }, -/turf/open/floor/carpet/orange, -/area/quartermaster/qm) "ftV" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -17392,14 +17311,6 @@ }, /turf/open/floor/wood, /area/security/prison) -"fuX" = ( -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd") - }, -/turf/open/floor/iron, -/area/science/storage) "fvp" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -32 @@ -17803,10 +17714,6 @@ }, /turf/open/floor/iron/grid/steel, /area/science/xenobiology) -"fBp" = ( -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) "fBx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -17903,17 +17810,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"fCU" = ( -/obj/machinery/computer/secure_data{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/checkpoint/science) "fDs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron/white, @@ -18060,16 +17956,6 @@ "fFP" = ( /turf/closed/wall/r_wall, /area/science/mixing/chamber) -"fGg" = ( -/obj/machinery/chem_master/condimaster, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "fGu" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted{ alpha = 200; @@ -18083,19 +17969,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"fGv" = ( -/obj/machinery/conveyor{ - id = "MailConv" - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","cargo") - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -32 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/office) "fGz" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -18134,16 +18007,6 @@ /obj/structure/sign/poster/random, /turf/closed/wall, /area/medical/genetics) -"fHi" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/freezer, -/area/crew_quarters/kitchen/coldroom) "fHs" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -18206,21 +18069,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/heads/hop) -"fIu" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/box, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","medbay") - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/grid/steel, -/area/medical/virology) "fIv" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -18266,6 +18114,14 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/chief) +"fIM" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/carpet/grimy, +/area/maintenance/port/aft) "fJf" = ( /obj/structure/sign/departments/minsky/supply/hydroponics2, /turf/closed/wall, @@ -18298,13 +18154,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"fJY" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/teleporter) "fKa" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -18322,14 +18171,20 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"fKj" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") +"fKg" = ( +/obj/machinery/door/window/northleft{ + name = "Kitchen Delivery"; + req_access_txt = "28" }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/catwalk_floor/iron_dark, -/area/engine/engine_room) +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/kitchen/coldroom) "fKo" = ( /turf/open/floor/iron, /area/science/mixing) @@ -18381,18 +18236,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"fLg" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/engine/storage) "fLs" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -18517,6 +18360,20 @@ }, /turf/open/floor/iron, /area/engine/engine_room) +"fMJ" = ( +/obj/machinery/power/solar_control, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) "fMW" = ( /obj/machinery/door/airlock/security{ name = "Interrogation"; @@ -18573,6 +18430,21 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) +"fNt" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security") + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "fNB" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -18595,6 +18467,16 @@ }, /turf/open/floor/iron/techmaint, /area/chapel/office) +"fNW" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron, +/area/science/robotics) "fOb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -18604,23 +18486,6 @@ /obj/effect/turf_decal/stripes/closeup, /turf/open/floor/iron, /area/ai_monitored/security/armory) -"fOg" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "fOj" = ( /obj/effect/turf_decal/caution{ dir = 1 @@ -18669,6 +18534,18 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) +"fOR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Teleporter Room" + }, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement, +/turf/open/floor/carpet/royalblack, +/area/library) "fPe" = ( /obj/effect/landmark/xeno_spawn, /obj/machinery/light_switch{ @@ -18942,20 +18819,6 @@ /obj/structure/window/reinforced, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"fSY" = ( -/obj/item/radio/intercom{ - pixel_y = 35 - }, -/obj/structure/table/wood, -/obj/machinery/light_switch{ - pixel_x = 23 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) "fTb" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -18969,6 +18832,20 @@ }, /turf/open/floor/iron/dark, /area/engine/engineering) +"fTc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) "fTn" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -19094,6 +18971,15 @@ }, /turf/open/floor/iron, /area/security/brig) +"fWj" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = -2; + pixel_y = 10 + }, +/turf/open/floor/iron/dark, +/area/security/execution/education) "fWm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/structure/disposalpipe/segment{ @@ -19138,6 +19024,17 @@ "fXJ" = ( /turf/closed/wall/r_wall/rust, /area/engine/engine_room) +"fYk" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/hallway/primary/fore) "fYn" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency{ @@ -19157,6 +19054,17 @@ }, /turf/open/floor/noslip/standard, /area/quartermaster/miningdock) +"fYo" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/mixingchamber{ + dir = 8; + pixel_x = -24 + }, +/turf/open/floor/iron/dark/side{ + dir = 10 + }, +/area/science/mixing/chamber) "fYr" = ( /turf/open/floor/catwalk_floor/iron_dark, /area/maintenance/disposal) @@ -19285,6 +19193,36 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) +"fZM" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine"); + view_range = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ + dir = 6 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_tri/yellow{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/engineering) "fZQ" = ( /obj/structure/bookcase/random/religion, /obj/structure/cable/yellow{ @@ -19363,38 +19301,6 @@ }, /turf/open/floor/iron, /area/security/brig) -"gaX" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/clothing/suit/armor/bulletproof{ - pixel_y = 7 - }, -/obj/item/clothing/head/helmet/alt{ - layer = 3.00001; - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/clothing/head/helmet/alt{ - layer = 3.00001; - pixel_y = 1 - }, -/obj/machinery/light, -/obj/structure/extinguisher_cabinet{ - pixel_y = -33 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - Internal"; - network = list("ss13","security") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/ai_monitored/security/armory) "gaY" = ( /obj/machinery/button/door{ id = "Cabin_1"; @@ -19537,15 +19443,6 @@ "gci" = ( /turf/closed/wall/r_wall, /area/science/mixing) -"gcp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow, -/obj/machinery/suit_storage_unit/standard_unit, -/turf/open/floor/iron/tech, -/area/ai_monitored/storage/eva) "gde" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ alpha = 180; @@ -19561,50 +19458,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"gdi" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/taperecorder{ - layer = 2.9; - pixel_x = -5; - pixel_y = 4 - }, -/obj/machinery/recharger{ - pixel_x = 7; - pixel_y = 3 - }, -/turf/open/floor/carpet/red, -/area/crew_quarters/heads/hos) -"gdt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","xeno") - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/white, -/area/science/xenobiology) "gdB" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ @@ -19697,20 +19550,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"gfp" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Xenobiology Lab - Pen #7"; - network = list("ss13","rd","xeno") - }, -/obj/machinery/sparker{ - id = "Xenobio"; - pixel_x = 25 - }, -/turf/open/floor/engine, -/area/science/xenobiology) "gfq" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -19852,18 +19691,6 @@ "ggJ" = ( /turf/closed/wall, /area/science/lab) -"ggN" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "ggO" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -19878,13 +19705,6 @@ /obj/effect/turf_decal/stripes, /turf/open/floor/iron, /area/medical/medbay/lobby) -"gha" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/engine/atmos) "ghe" = ( /obj/machinery/computer/message_monitor, /obj/effect/turf_decal/stripes/line{ @@ -20024,6 +19844,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, /area/science/xenobiology) +"gjq" = ( +/obj/structure/plasticflaps/opaque, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=4"; + freq = 1400; + location = "Atmospherics" + }, +/turf/open/floor/plating, +/area/engine/atmos) "gju" = ( /obj/structure/cable{ icon_state = "1-8" @@ -20069,16 +19898,6 @@ /obj/item/crowbar/red, /turf/open/floor/iron/tech, /area/engine/atmos) -"gjJ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "gjN" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/guideline/guideline_edge/red{ @@ -20089,6 +19908,15 @@ }, /turf/open/floor/iron, /area/security/brig) +"gjS" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/chief) "gjW" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -20102,17 +19930,19 @@ }, /turf/open/space/basic, /area/solar/starboard/aft) -"gks" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "gky" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/grass, /area/hallway/primary/central) +"gkB" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "gkK" = ( /obj/machinery/door/poddoor/shutters{ id = "atmosshutters"; @@ -20124,16 +19954,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/engine/atmos) -"gli" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/chair/fancy/bench/pew/left{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/glass/reinforced, -/area/chapel/main) "glm" = ( /obj/structure/lattice/catwalk, /obj/structure/chair/fancy/plastic{ @@ -20247,15 +20067,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"gmc" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "gme" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -20346,6 +20157,12 @@ }, /turf/closed/wall, /area/engine/engineering) +"gnx" = ( +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/holodeck/rec_center) "gnz" = ( /obj/structure/filingcabinet/filingcabinet{ pixel_x = -7 @@ -20416,24 +20233,6 @@ /obj/item/ammo_casing/c46x30mm, /turf/open/floor/iron, /area/maintenance/department/security) -"goh" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/fore) "goF" = ( /obj/machinery/light/small{ brightness = 3 @@ -20477,17 +20276,6 @@ "gpe" = ( /turf/open/floor/engine/n2o, /area/engine/atmos) -"gpf" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Engineering - Secure Storage"; - name = "engineering camera"; - network = list("ss13","engine") - }, -/obj/machinery/power/emitter{ - dir = 1 - }, -/turf/open/floor/iron/tech/grid, -/area/engine/engineering) "gpK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -20748,19 +20536,6 @@ name = "hyper-reinforced wall" }, /area/science/test_area) -"gtK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "gtQ" = ( /obj/structure/chair/fancy/sofa/old/right{ color = "#742925"; @@ -20775,6 +20550,26 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/red, /area/crew_quarters/cafeteria) +"gue" = ( +/obj/machinery/light, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/structure/chair/fancy/bench{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","security") + }, +/obj/effect/turf_decal/guideline/guideline_edge/red, +/obj/machinery/light_switch{ + pixel_x = 1; + pixel_y = -24 + }, +/turf/open/floor/iron, +/area/security/main{ + name = "Security Viewing Hall" + }) "guk" = ( /obj/effect/turf_decal/bot, /obj/machinery/light/small{ @@ -20869,6 +20664,17 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"gvA" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","cargo") + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/quartermaster/warehouse) "gvD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -20898,6 +20704,17 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating/airless, /area/science/test_area) +"gvZ" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/hallway/secondary/exit/departure_lounge) "gwd" = ( /obj/item/light/tube/broken{ pixel_y = 14 @@ -21099,21 +20916,28 @@ }, /turf/open/floor/iron/dark, /area/gateway) -"gAy" = ( -/obj/machinery/camera/autoname{ - c_tag = "Head of Personnel's Office"; - dir = 6; - pixel_y = 12 +"gAB" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8 }, /obj/machinery/newscaster{ - pixel_x = 28; + pixel_x = -32; pixel_y = 2 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/light_switch{ + pixel_x = -20 }, -/turf/open/floor/wood, -/area/crew_quarters/theatre) +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ + alpha = 180; + color = "#DE3A3A" + }, +/turf/open/floor/iron/dark, +/area/bridge) "gAE" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -21129,8 +20953,7 @@ dir = 1 }, /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/rnd/production/techfab/department/security, -/obj/effect/turf_decal/bot, +/obj/structure/table, /turf/open/floor/iron/dark, /area/security/main{ name = "Security Locker Room" @@ -21441,22 +21264,16 @@ }, /turf/open/floor/iron/white, /area/science/research) -"gFK" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/stripes/corner, -/obj/item/radio/intercom{ - pixel_x = 33; - pixel_y = -3 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +"gFU" = ( +/obj/machinery/newscaster{ + pixel_y = 34 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/machinery/camera/autoname{ + dir = 9; + network = list("ss13","security","court") }, -/turf/open/floor/iron, -/area/engine/atmos) +/turf/open/floor/wood, +/area/security/courtroom) "gFW" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -21522,26 +21339,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/tech, /area/engine/engine_room) -"gGF" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","security") - }, -/obj/machinery/newscaster{ - pixel_x = -38; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -23 - }, -/turf/open/floor/iron/dark, -/area/security/warden) "gGK" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -21664,6 +21461,24 @@ /area/security/prison{ name = "Prison Toilet" }) +"gIh" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/chair/fancy/bench/pew/left{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1; + pixel_y = -3 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/turf/open/floor/wood, +/area/security/courtroom) "gIQ" = ( /obj/structure/table, /obj/item/circuitboard/machine/paystand, @@ -21702,22 +21517,22 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) -"gJX" = ( -/obj/effect/turf_decal/tile/neutral/anticorner{ +"gJI" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + alpha = 180; dir = 1 }, -/obj/structure/closet, -/obj/item/clothing/head/chaplain/nun_hood, -/obj/item/clothing/suit/chaplainsuit/nun, -/obj/item/clothing/suit/chaplainsuit/holidaypriest, -/obj/item/storage/backpack/cultpack, -/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "0-4" }, -/obj/item/grown/log, /turf/open/floor/iron/dark, -/area/chapel/office) +/area/security/checkpoint/engineering) "gKd" = ( /obj/structure/filingcabinet, /obj/machinery/vending/wallmed{ @@ -21735,18 +21550,6 @@ }, /turf/open/floor/iron/dark, /area/medical/morgue) -"gKp" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/machinery/newscaster{ - pixel_x = 32; - pixel_y = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/turf/open/floor/iron/white, -/area/crew_quarters/kitchen) "gKr" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/machinery/computer/warrant, @@ -21755,21 +21558,6 @@ /area/security/main{ name = "Security Viewing Hall" }) -"gKw" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","security") - }, -/obj/machinery/status_display/evac{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/guideline/guideline_edge/red{ - dir = 4 - }, -/obj/structure/closet/secure_closet/brig, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/security/brig/dock) "gKy" = ( /turf/closed/wall, /area/quartermaster/warehouse) @@ -21790,6 +21578,18 @@ dir = 5 }, /area/medical/medbay/central) +"gKA" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","cargo") + }, +/obj/machinery/newscaster{ + pixel_y = 33 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/miningdock) "gKY" = ( /turf/open/floor/iron, /area/teleporter) @@ -21849,6 +21649,19 @@ /obj/item/stack/sheet/wood/ten, /turf/open/floor/wood, /area/library) +"gLp" = ( +/obj/structure/table/wood, +/obj/item/kirbyplants/random{ + layer = 3; + pixel_y = 18 + }, +/obj/item/candle/infinite{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/carpet/purple, +/area/chapel/main) "gLV" = ( /obj/effect/turf_decal/bot, /obj/machinery/computer/card/minor/ce{ @@ -21871,6 +21684,23 @@ /area/security/brig{ name = "Brig Evidence" }) +"gMc" = ( +/obj/structure/rack, +/obj/item/lighter, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/reagent_containers/pill/patch/silver_sulf, +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/carpet/royalblue, +/area/crew_quarters/heads/chief) "gMg" = ( /obj/effect/decal/cleanable/blood/old, /obj/structure/disposalpipe/segment{ @@ -22018,17 +21848,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron/white, /area/crew_quarters/heads/captain/private) -"gNL" = ( -/obj/machinery/vending/wardrobe/robo_wardrobe, -/obj/effect/turf_decal/stripes/line, -/obj/item/radio/intercom{ - pixel_y = 29 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark, -/area/science/robotics) "gNV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 @@ -22108,15 +21927,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/central) -"gOS" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","cargo") - }, -/turf/open/floor/noslip/standard, -/area/quartermaster/storage) "gPh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -22196,6 +22006,21 @@ }, /turf/open/floor/iron, /area/science/xenobiology) +"gQN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/science/xenobiology) "gQP" = ( /turf/closed/wall, /area/vacant_room/commissary/commissary1) @@ -22204,45 +22029,21 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/security/brig) -"gQY" = ( -/obj/structure/table/reinforced, -/obj/item/rcl/pre_loaded, -/obj/item/rcl/pre_loaded, -/obj/item/storage/box/lights/mixed{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/engine/engine_room) "gRs" = ( /obj/structure/sign/departments/minsky/research/research, /turf/closed/wall, /area/vacant_room/office) -"gRN" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +"gRA" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ +/obj/effect/turf_decal/guideline/guideline_edge/green, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/iron/white/side{ dir = 1 }, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - color = "#267878"; - dir = 8 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) +/area/medical/medbay/central) "gRY" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -22347,16 +22148,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/engine/atmos) -"gTz" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/guideline/guideline_edge/purple{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/port) "gTA" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box, @@ -22408,6 +22199,20 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engine/atmos) +"gUl" = ( +/obj/structure/rack, +/obj/item/storage/briefcase{ + pixel_x = 2; + pixel_y = 5 + }, +/obj/item/storage/briefcase{ + pixel_y = 1 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -23 + }, +/turf/open/floor/wood, +/area/vacant_room/office) "gUo" = ( /obj/structure/chair{ dir = 8 @@ -22454,25 +22259,6 @@ }, /turf/open/space/basic, /area/space) -"gUz" = ( -/obj/machinery/status_display/evac{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light, -/obj/machinery/camera/motion{ - c_tag = "MiniSat Upload Chamber"; - dir = 5; - network = list("aiupload") - }, -/obj/structure/cable, -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) "gUF" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -22565,13 +22351,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/prison, /area/security/prison) -"gVS" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #6"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/science/xenobiology) "gVT" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall, @@ -22604,6 +22383,18 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/catwalk_floor/iron_dark, /area/engine/engine_room) +"gXl" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/landmark/start/exploration, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/quartermaster/exploration_prep) "gXC" = ( /obj/structure/chair/office{ dir = 1 @@ -22654,15 +22445,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/medical/chemistry) -"gYR" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/hallway/secondary/entry) "gZc" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -22778,15 +22560,6 @@ /area/security/prison{ name = "Prison Visitation" }) -"haf" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/portable_atmospherics/canister/plasma, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/science/storage) "hay" = ( /obj/machinery/sleeper{ dir = 4 @@ -22842,24 +22615,21 @@ }, /turf/open/floor/iron/white, /area/security/brig/medbay) -"hbz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/smes{ - charge = 5e+006 +"hbw" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/light{ - dir = 4 +/obj/item/instrument/piano_synth, +/obj/machinery/camera/autoname{ + dir = 10 }, -/obj/machinery/camera/motion{ - c_tag = "MiniSat Core Hallway 1"; - dir = 6; - network = list("minisat") +/obj/machinery/light_switch{ + pixel_x = -23; + pixel_y = 1 }, -/obj/structure/cable/yellow, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/wood, +/area/library) "hbH" = ( /obj/structure/sign/departments/minsky/medical/virology/virology1{ pixel_x = 32; @@ -22897,28 +22667,6 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"hcp" = ( -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13","prison") - }, -/obj/machinery/status_display/door_timer{ - id = "cell"; - name = "Solitary confinement timer"; - pixel_x = 32 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/prison, -/area/security/prison{ - name = "Prison Visitation" - }) "hcr" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/effect/turf_decal/guideline/guideline_edge/blue{ @@ -23003,12 +22751,32 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/engine/engine_room) +"hdv" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #3"; + network = list("ss13","rd","xeno") + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) "hdz" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /turf/open/floor/iron, /area/engine/engine_room) +"hea" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/carpet/grimy, +/area/chapel/office) "hec" = ( /obj/machinery/light{ dir = 1 @@ -23020,6 +22788,21 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, /area/engine/atmos) +"hen" = ( +/obj/machinery/camera/autoname{ + c_tag = "Head of Personnel's Office"; + dir = 6; + pixel_y = 12 + }, +/obj/machinery/newscaster{ + pixel_x = 28; + pixel_y = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "heA" = ( /obj/machinery/door/airlock/public/glass{ name = "Primary Tool Storage" @@ -23147,16 +22930,6 @@ /area/security/main{ name = "Security Locker Room" }) -"hgn" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "hgw" = ( /obj/effect/turf_decal/tile/blue/half, /obj/machinery/atmospherics/pipe/manifold/general/visible{ @@ -23235,6 +23008,20 @@ }, /turf/open/space/basic, /area/space) +"hic" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Xenobiology Lab - Pen #7"; + network = list("ss13","rd","xeno") + }, +/obj/machinery/sparker{ + id = "Xenobio"; + pixel_x = 25 + }, +/turf/open/floor/engine, +/area/science/xenobiology) "hig" = ( /obj/item/reagent_containers/spray/cleaner{ pixel_x = -8; @@ -23373,37 +23160,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) -"hkj" = ( -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - dir = 10 - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_tri/blue, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay"); - view_range = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron/white/side{ - dir = 10 - }, -/area/medical/medbay/central) "hky" = ( /obj/structure/cable/yellow{ icon_state = "2-8" }, /turf/open/floor/catwalk_floor, /area/maintenance/department/medical/morgue) +"hkA" = ( +/obj/machinery/stasis{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","security") + }, +/obj/machinery/defibrillator_mount{ + pixel_x = -32 + }, +/turf/open/floor/iron/white, +/area/security/brig/medbay) "hkB" = ( /turf/closed/wall/rust, /area/gateway) @@ -23481,10 +23256,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/tech, /area/engine/engine_room) -"hlX" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/engine/n2, -/area/engine/atmos) "hmf" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -32 @@ -23527,6 +23298,18 @@ }, /turf/open/floor/iron, /area/crew_quarters/heads/hop) +"hmt" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + color = "#267878"; + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/crew_quarters/cafeteria) "hmO" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -23563,20 +23346,16 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/crew_quarters/kitchen) -"hnA" = ( -/obj/machinery/power/solar_control, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/light/small{ - dir = 1 +"hno" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 }, -/obj/machinery/camera/directional/north, -/obj/machinery/power/terminal{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/turf/open/floor/plating, -/area/maintenance/solars/starboard/fore) +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/port) "hnM" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -23653,6 +23432,17 @@ }, /turf/open/floor/plating, /area/construction/mining/aux_base) +"hpC" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Engineering - Secure Storage"; + name = "engineering camera"; + network = list("ss13","engine") + }, +/obj/machinery/power/emitter{ + dir = 1 + }, +/turf/open/floor/iron/tech/grid, +/area/engine/engineering) "hqd" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted{ alpha = 200; @@ -23699,22 +23489,6 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/maintenance/port/central) -"hqY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light, -/obj/machinery/flasher{ - id = "aicore"; - pixel_x = -10; - pixel_y = -23 - }, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Core Hallway 3"; - network = list("minisat") - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/aisat/foyer) "hrb" = ( /obj/machinery/door/airlock/mining{ name = "Auxiliary Base"; @@ -23761,6 +23535,22 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron, /area/maintenance/department/science) +"hsI" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Medbay - Break Room"; + name = "medbay camera"; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/effect/spawner/randomvend/snack, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/medical/break_room) "hsJ" = ( /obj/structure/railing/corner{ dir = 4 @@ -23832,6 +23622,16 @@ }, /turf/open/floor/iron/dark, /area/teleporter) +"htY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/camera/directional/north{ + c_tag = "Science - Toxins Mixing Lab Burn Chamber"; + name = "science camera"; + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab/range) "huh" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -23933,17 +23733,6 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) -"hvF" = ( -/obj/machinery/button/door{ - id = "Skynet_launch"; - name = "Mech Bay Door Control"; - pixel_x = -32 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark, -/area/science/robotics/mechbay) "hvH" = ( /obj/effect/turf_decal/tile/neutral, /obj/structure/rack, @@ -24032,12 +23821,6 @@ }, /turf/open/floor/iron/techmaint, /area/science/xenobiology) -"hxb" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/machinery/light, -/turf/open/floor/iron, -/area/medical/cryo) "hxw" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -24078,6 +23861,26 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/fore) +"hyk" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = "0"; + req_access_txt = "24" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "hyl" = ( /obj/machinery/newscaster{ pixel_y = -29 @@ -24303,6 +24106,18 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"hBR" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/vacant_room/commissary/commissary2) "hBT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -24467,18 +24282,6 @@ }, /turf/open/floor/iron/dark, /area/medical/medbay/central) -"hES" = ( -/obj/machinery/airalarm/unlocked{ - pixel_y = 22; - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/atmospherics, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/engine/atmospherics_engine) "hFc" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -24486,6 +24289,25 @@ }, /turf/open/floor/iron, /area/science/lobby) +"hFj" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_edge/brown{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/primary/port) "hFC" = ( /obj/effect/landmark/start/station_engineer, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -24552,28 +24374,6 @@ /obj/effect/spawner/room/fivexthree, /turf/open/floor/plating, /area/maintenance/port/central) -"hGt" = ( -/obj/effect/turf_decal/tile/red/fourcorners/contrasted, -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13","prison") - }, -/obj/item/radio/intercom{ - desc = "Talk through this. It looks like it has been modified to not broadcast."; - freerange = 1; - name = "Prison intercom"; - pixel_x = 25; - prison_radio = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/prison, -/area/security/prison) "hGy" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wideplating/dark, @@ -24581,12 +24381,6 @@ dir = 1 }, /area/hallway/primary/central) -"hGI" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "hGJ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -24658,6 +24452,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"hIn" = ( +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","prison") + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/tile/black/fourcorners, +/turf/open/floor/iron/techmaint, +/area/security/prison{ + name = "Prison Botany" + }) "hIs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -24689,13 +24500,6 @@ }, /turf/open/floor/iron/large, /area/hallway/primary/central) -"hJe" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/hallway/primary/central) "hJf" = ( /obj/effect/turf_decal/stripes/closeup{ dir = 1 @@ -24781,28 +24585,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/chapel/office) -"hKf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/tech, -/area/engine/atmos) -"hKt" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/mixingchamber{ - dir = 8; - pixel_x = -24 - }, -/turf/open/floor/iron/dark/side{ - dir = 10 - }, -/area/science/mixing/chamber) "hKx" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, @@ -25001,29 +24783,6 @@ dir = 4 }, /area/science/research) -"hMp" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - view_range = 12 - }, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/hallway/primary/central) "hMs" = ( /obj/structure/closet/secure_closet/security, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -25065,6 +24824,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/engine/atmospherics_engine) +"hMK" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd","xeno") + }, +/obj/machinery/shower{ + dir = 1; + name = "emergency shower" + }, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/noslip/white, +/area/science/xenobiology) "hMU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -25219,19 +24990,6 @@ }, /turf/open/floor/iron/grid/steel, /area/science/xenobiology) -"hPn" = ( -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "hPp" = ( /obj/structure/table/glass, /obj/item/storage/box/syringes{ @@ -25352,6 +25110,19 @@ /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /turf/open/floor/engine, /area/engine/atmos) +"hRN" = ( +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/structure/displaycase/captain, +/obj/machinery/light{ + bulb_colour = "#FFCEA6"; + nightshift_light_color = "#FFB16E" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/heads/captain/private) "hRZ" = ( /obj/machinery/status_display/door_timer{ id = "cell"; @@ -25415,38 +25186,12 @@ }, /turf/open/floor/iron, /area/security/checkpoint/escape) -"hTv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "hTD" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/effect/spawner/lootdrop/glowstick/lit, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/maintenance/department/medical/morgue) -"hTG" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/tool, -/obj/effect/turf_decal/bot, -/obj/machinery/newscaster{ - pixel_y = 34 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron/dark, -/area/storage/primary) "hTM" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/bot, @@ -25620,6 +25365,22 @@ /obj/machinery/space_heater, /turf/open/floor/plating, /area/maintenance/port/central) +"hYs" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/camera/directional/east{ + c_tag = "Interrogation room"; + network = list("interrogation") + }, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/dark, +/area/security/brig{ + name = "Brig Interrogation" + }) "hYv" = ( /obj/structure/closet/firecloset/full, /turf/open/floor/wood, @@ -25643,6 +25404,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"hYV" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","prison") + }, +/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ + alpha = 180; + color = "#DE3A3A" + }, +/turf/open/floor/iron, +/area/security/prison{ + name = "Prison Visitation" + }) "hYY" = ( /obj/machinery/vending/engivend, /obj/structure/railing{ @@ -25838,6 +25612,18 @@ "ibS" = ( /turf/closed/wall, /area/science/misc_lab) +"icl" = ( +/obj/machinery/airalarm/unlocked{ + pixel_y = 22; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/atmospherics, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/engine/atmospherics_engine) "icE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -25950,14 +25736,6 @@ /obj/structure/flora/ausbushes/sunnybush, /turf/open/floor/grass, /area/hallway/primary/central) -"ieD" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/quartermaster/sorting) "ieI" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -26011,6 +25789,14 @@ }, /turf/open/floor/noslip/standard, /area/engine/atmos) +"ifv" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/engine/engine_room) "ifC" = ( /turf/closed/wall/r_wall, /area/security/prison/shielded) @@ -26277,33 +26063,6 @@ }, /turf/open/floor/iron, /area/engine/engineering) -"ikV" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/disposalpipe/segment{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ - dir = 6 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_tri/yellow{ - dir = 1 - }, -/turf/open/floor/iron, -/area/engine/engineering) "ikY" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -26313,22 +26072,6 @@ }, /turf/open/floor/carpet/purple, /area/chapel/office) -"ilv" = ( -/obj/structure/bed, -/obj/item/bedsheet/purple{ - name = "Holy bedsheet" - }, -/obj/machinery/camera/directional/north, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/chapel/office) -"ilB" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/cafeteria) "ilD" = ( /obj/structure/window/reinforced{ dir = 8; @@ -26348,12 +26091,6 @@ /area/security/prison{ name = "Prison Visitation" }) -"ilM" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/construction/mining/aux_base) "ilS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -26423,6 +26160,22 @@ }, /turf/open/floor/plating, /area/science/xenobiology) +"inb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/flasher{ + id = "aicore"; + pixel_x = -10; + pixel_y = -23 + }, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Core Hallway 3"; + network = list("minisat") + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/aisat/foyer) "inc" = ( /obj/structure/railing/corner{ dir = 1 @@ -26460,6 +26213,22 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/wood, /area/crew_quarters/theatre) +"inN" = ( +/obj/structure/table/reinforced, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/wrench, +/obj/item/crowbar/red{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat_interior) "inZ" = ( /obj/effect/turf_decal/guideline/guideline_tri/purple{ dir = 8 @@ -26492,18 +26261,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/sepia, /area/quartermaster/office) -"ioD" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay") - }, -/obj/effect/decal/cleanable/blood/drip, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/medical/sleeper) "ioG" = ( /obj/effect/turf_decal/guideline/guideline_out/brown{ dir = 1 @@ -26655,22 +26412,14 @@ }, /turf/open/floor/iron/white, /area/medical/cryo) -"iqP" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/sign/departments/minsky/medical/virology/virology1{ - pixel_y = -30 - }, +"iqJ" = ( /obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/guideline/guideline_edge/green, -/obj/machinery/light, -/turf/open/floor/iron/white/side{ - dir = 1 + network = list("ss13","security") }, -/area/medical/medbay/central) +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/wood, +/area/security/detectives_office) "iqR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 @@ -26683,23 +26432,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) -"iqV" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/computer/slot_machine, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cafeteria) "iqW" = ( /obj/structure/sign/painting/library{ pixel_y = 32 @@ -26733,31 +26465,21 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"irA" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","cargo") - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment{ - dir = 4 +"irC" = ( +/obj/machinery/light{ + dir = 8 }, -/turf/open/floor/plating, -/area/quartermaster/warehouse) +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/bot, +/obj/machinery/deepfryer, +/turf/open/floor/iron/white, +/area/crew_quarters/kitchen) "irG" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port/aft) -"irQ" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #5"; - network = list("ss13","rd","xeno") - }, -/obj/structure/window/reinforced, -/turf/open/floor/engine, -/area/science/xenobiology) "isp" = ( /obj/machinery/door/poddoor/preopen{ id = "detectivewindows"; @@ -26930,20 +26652,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/catwalk_floor/iron_dark, /area/engine/engine_room) -"iwl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/science/robotics) "iwt" = ( /obj/machinery/gateway, /turf/open/floor/iron/techmaint, @@ -26985,6 +26693,20 @@ /obj/structure/girder, /turf/open/floor/iron, /area/maintenance/department/security) +"ixf" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/engine/engine_room) "ixk" = ( /obj/structure/closet/secure_closet/miner, /obj/machinery/requests_console{ @@ -27000,19 +26722,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/qm) -"ixu" = ( -/obj/machinery/light{ - bulb_colour = "#FFCEA6"; - dir = 4; - nightshift_light_color = "#FFB16E" - }, -/obj/machinery/camera/autoname{ - dir = 6; - pixel_y = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) "ixv" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -27116,21 +26825,21 @@ }, /turf/open/floor/plating, /area/ai_monitored/storage/satellite) -"iyR" = ( -/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, -/obj/machinery/camera/autoname/directional/west, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 5; - pixel_y = 8 +"iyT" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/structure/sign/painting/library{ - pixel_y = 32 +/obj/item/book/manual/wiki/xenoarchaeology, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/mask/gas, +/obj/item/multitool, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/grid/steel, -/area/hydroponics) +/turf/open/floor/iron, +/area/science/explab) "izg" = ( /obj/machinery/door/airlock/research{ name = "Genetics Lab"; @@ -27307,6 +27016,23 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"iCJ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "iDw" = ( /obj/effect/turf_decal/tile/neutral/anticorner{ dir = 5 @@ -27588,18 +27314,26 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) -"iJd" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +"iIZ" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + name = "Barman"; + sortType = 19 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay"); + view_range = 8 }, -/turf/open/floor/catwalk_floor, -/area/maintenance/starboard/aft) +/obj/effect/turf_decal/guideline/guideline_edge/green{ + color = "#439C1E"; + dir = 4 + }, +/turf/open/floor/iron, +/area/crew_quarters/cafeteria) "iJe" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -27632,6 +27366,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/engine/atmospherics_engine) +"iJR" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "iJV" = ( /obj/machinery/light{ dir = 1 @@ -27741,6 +27482,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"iLL" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = -32 + }, +/turf/open/floor/iron/tech, +/area/engine/engine_room) "iLW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -27765,6 +27516,13 @@ "iMw" = ( /turf/closed/wall/rust, /area/maintenance/central) +"iMA" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Xenobiology Lab - Pen #1"; + network = list("ss13","rd","xeno") + }, +/turf/open/floor/engine, +/area/science/xenobiology) "iMO" = ( /obj/machinery/light/small{ dir = 4 @@ -28113,6 +27871,26 @@ "iRY" = ( /turf/closed/wall/r_wall, /area/engine/atmos) +"iSf" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","security") + }, +/obj/machinery/newscaster{ + pixel_x = -38; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -23 + }, +/turf/open/floor/iron/dark, +/area/security/warden) "iSo" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -28161,6 +27939,19 @@ }, /turf/open/floor/iron, /area/engine/engine_room) +"iTQ" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + color = "#267878"; + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron, +/area/crew_quarters/cryopods) "iUg" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -28173,14 +27964,23 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"iUx" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 4 +"iUV" = ( +/obj/structure/window/reinforced{ + dir = 4; + layer = 3 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/security/prison) +/obj/structure/table, +/obj/item/paper/guides/jobs/engi/gravity_gen, +/obj/item/stack/sheet/mineral/plasma/fifty, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/tech/grid, +/area/engine/gravity_generator) "iUW" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -28228,20 +28028,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) -"iVk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/medical/surgery) "iVl" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -28295,21 +28081,15 @@ }, /turf/open/floor/carpet/grimy, /area/maintenance/central) -"iWI" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - alpha = 180; - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/computer/security{ - dir = 8 +"iWh" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/security/checkpoint/auxiliary) +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/carpet/blue, +/area/crew_quarters/cafeteria) "iXg" = ( /obj/structure/cable/yellow{ icon_state = "0-8" @@ -28395,12 +28175,6 @@ /obj/structure/table_frame, /turf/open/floor/plating/rust, /area/maintenance/starboard/aft) -"iYL" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") - }, -/turf/open/floor/engine/plasma, -/area/engine/atmos) "iZa" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -28586,6 +28360,22 @@ dir = 4 }, /area/quartermaster/exploration_prep) +"jaU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north, +/obj/machinery/washing_machine, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "jbe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -28685,6 +28475,22 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/engine/storage) +"jce" = ( +/obj/machinery/processor, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = 1; + pixel_y = 23 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Teleporter Room" + }, +/turf/open/floor/iron/white, +/area/crew_quarters/kitchen) "jcl" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -28710,6 +28516,18 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"jcv" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light, +/obj/structure/cable/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/turf/open/floor/circuit/telecomms/server, +/area/science/server) "jcy" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/extinguisher_cabinet{ @@ -28745,6 +28563,14 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"jcP" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #4"; + network = list("ss13","rd","xeno") + }, +/obj/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) "jcW" = ( /turf/closed/wall/r_wall, /area/engine/engine_room) @@ -28828,6 +28654,14 @@ }, /turf/open/floor/wood, /area/crew_quarters/dorms) +"jdT" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/wood, +/area/medical/exam_room) "jdV" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt/dust, @@ -29017,6 +28851,21 @@ }, /turf/open/floor/plating, /area/crew_quarters/kitchen/coldroom) +"jht" = ( +/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/grid/steel, +/area/hydroponics) "jhx" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 8 @@ -29051,6 +28900,23 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) +"jir" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/engine/atmos) "jiy" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -29064,6 +28930,19 @@ /obj/structure/sign/departments/holy, /turf/closed/wall, /area/chapel/main) +"jiS" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/catwalk_floor, +/area/maintenance/department/bridge) "jja" = ( /obj/effect/decal/cleanable/glass, /obj/effect/turf_decal/guideline/guideline_edge/purple{ @@ -29075,6 +28954,16 @@ dir = 8 }, /area/science/research) +"jje" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/security/prison) "jjo" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon, @@ -29268,6 +29157,10 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/miningdock) +"jnE" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/tech, +/area/engine/atmos) "jnG" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -29330,6 +29223,21 @@ }, /turf/open/floor/iron/white, /area/security/brig/medbay) +"joP" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + alpha = 180; + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/security/checkpoint/auxiliary) "joR" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -29547,18 +29455,6 @@ /obj/item/wirebrush, /turf/open/floor/wood, /area/maintenance/port/aft) -"jsd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Teleporter Room" - }, -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement, -/turf/open/floor/carpet/royalblack, -/area/library) "jsg" = ( /obj/structure/chair/office/light{ dir = 8; @@ -29599,17 +29495,6 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/iron, /area/maintenance/department/security) -"jsn" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("ss13","security") - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/crew_quarters/heads/hos) "jsp" = ( /obj/machinery/space_heater, /turf/open/floor/iron, @@ -29717,26 +29602,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/office) -"juv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/tank_dispenser{ - pixel_x = -1 - }, -/obj/machinery/requests_console{ - department = "Atmospherics"; - departmentType = 3; - name = "Atmos RC"; - pixel_x = -1; - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Incinerator"; - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "juy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -29907,22 +29772,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron/dark, /area/science/robotics) -"jxc" = ( -/obj/machinery/computer/security{ - pixel_y = -3 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") - }, -/obj/machinery/computer/security/telescreen{ - network = list("ss13"); - pixel_y = 25 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/security/detectives_office) "jxf" = ( /obj/structure/chair/office/light{ dir = 8 @@ -30177,6 +30026,28 @@ /obj/item/kirbyplants/random, /turf/open/floor/grass/no_border, /area/hallway/secondary/exit/departure_lounge) +"jBK" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) "jBO" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = -30 @@ -30295,26 +30166,6 @@ dir = 4 }, /area/science/lobby) -"jDk" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","prison","security") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "brigentrance"; - name = "Brig Lockdown Control"; - pixel_y = -25; - req_access_txt = "1" - }, -/turf/open/floor/iron/dark, -/area/security/prison{ - name = "Prison Processing" - }) "jDt" = ( /obj/structure/table/wood, /obj/machinery/microwave, @@ -30533,20 +30384,6 @@ }, /turf/open/floor/wood, /area/library) -"jGs" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/atmos) "jGx" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -30595,20 +30432,6 @@ /obj/structure/table/wood, /turf/open/floor/carpet/blue, /area/medical/exam_room) -"jGU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/soap/nanotrasen, -/obj/item/storage/belt/janitor{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/structure/table/wood, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/maintenance/central) "jGW" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -30702,6 +30525,17 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/construction/mining/aux_base) +"jIs" = ( +/obj/machinery/button/door{ + id = "Skynet_launch"; + name = "Mech Bay Door Control"; + pixel_x = -32 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark, +/area/science/robotics/mechbay) "jIv" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 6 @@ -30906,16 +30740,6 @@ /area/security/main{ name = "Security Viewing Hall" }) -"jMy" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","security","court") - }, -/turf/open/floor/wood, -/area/security/courtroom) "jMC" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/stripes/line{ @@ -31064,6 +30888,16 @@ /obj/structure/closet/secure_closet/freezer/cream_pie, /turf/open/floor/plating, /area/hallway/secondary/service) +"jPx" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "jPy" = ( /obj/machinery/modular_computer/console/preset/command, /obj/machinery/computer/security/telescreen/minisat{ @@ -31219,6 +31053,21 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/office) +"jRH" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "jRK" = ( /obj/effect/turf_decal/guideline/guideline_half_edge/purple{ dir = 8 @@ -31278,6 +31127,15 @@ /mob/living/simple_animal/parrot/Poly, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/chief) +"jSk" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/obj/effect/turf_decal/bot, +/obj/machinery/airalarm/kitchen_cold_room{ + dir = 1; + pixel_y = 24 + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/kitchen/coldroom) "jSp" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -31357,31 +31215,43 @@ }, /turf/open/floor/wood, /area/security/prison) -"jTQ" = ( -/obj/effect/turf_decal/loading_area{ +"jUc" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 +/turf/open/floor/iron, +/area/hallway/primary/fore) +"jUk" = ( +/obj/structure/table/glass, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","medbay") }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 +/obj/item/stack/sheet/mineral/plasma{ + pixel_x = -8; + pixel_y = 12 }, -/turf/open/floor/iron, -/area/engine/atmos) -"jTY" = ( -/obj/machinery/camera/motion/directional/south{ - c_tag = "Armory - Internal"; - network = list("ss13","security") +/obj/item/grenade/chem_grenade{ + pixel_x = 12; + pixel_y = 13 }, -/turf/open/space/basic, -/area/space) -"jUc" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 +/obj/item/grenade/chem_grenade{ + pixel_x = 12; + pixel_y = 7 }, +/obj/item/grenade/chem_grenade{ + pixel_x = 12 + }, +/obj/item/storage/box/beakers{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/storage/box/beakers{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/machinery/airalarm/directional/south, /turf/open/floor/iron, -/area/hallway/primary/fore) +/area/medical/apothecary) "jUq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -31470,6 +31340,20 @@ }, /turf/open/floor/prison, /area/security/prison) +"jWq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/soap/nanotrasen, +/obj/item/storage/belt/janitor{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/structure/table/wood, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/wood, +/area/maintenance/central) "jWx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -31607,13 +31491,6 @@ /area/security/brig{ name = "Brig Evidence" }) -"jZl" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/hallway/primary/central) "jZm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -31628,6 +31505,19 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) +"jZv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light_switch{ + pixel_x = -20; + pixel_y = 22 + }, +/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark, +/area/science/nanite) "jZA" = ( /obj/structure/grille, /turf/open/floor/plating/rust, @@ -31663,11 +31553,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/quartermaster/miningdock) -"jZM" = ( -/obj/effect/turf_decal/box/corners, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/engine, -/area/science/explab) "jZV" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -31753,19 +31638,6 @@ "kbH" = ( /turf/closed/wall/r_wall/rust, /area/science/mixing) -"kbM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13","security") - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/iron/dark, -/area/security/brig/dock{ - name = "Security E.V.A. Storage" - }) "kch" = ( /obj/machinery/door/poddoor/preopen{ id = "bridgewindows"; @@ -31824,20 +31696,6 @@ }, /turf/open/floor/iron, /area/hydroponics) -"kdE" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron, -/area/engine/engine_room) "keJ" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -31953,16 +31811,6 @@ }, /turf/open/floor/iron/dark, /area/engine/engine_room) -"kfW" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/science/robotics) "kgi" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32088,6 +31936,13 @@ }, /turf/open/floor/iron/white/side, /area/medical/medbay/central) +"khS" = ( +/obj/machinery/telecomms/processor/preset_exploration, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","rd") + }, +/turf/open/floor/circuit/green/telecomms/mainframe, +/area/quartermaster/exploration_prep) "khT" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -32192,6 +32047,23 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) +"kjm" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/computer/security/wooden_tv{ + pixel_x = 2; + pixel_y = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/melee/chainofcommand{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/carpet/blue, +/area/crew_quarters/heads/captain) "kjs" = ( /obj/machinery/light, /obj/effect/decal/cleanable/dirt/dust, @@ -32251,6 +32123,17 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"kkQ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/turf/open/floor/iron/grid/steel, +/area/hydroponics) "kkV" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ alpha = 180; @@ -32293,6 +32176,35 @@ }, /turf/open/floor/iron, /area/engine/engine_room) +"klt" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + color = "#267878"; + dir = 5 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + color = "#267878" + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ + color = "#267878"; + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_tri/blue{ + color = "#267878"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "klu" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 @@ -32397,6 +32309,14 @@ }, /turf/open/floor/circuit/telecomms/server, /area/science/server) +"kmL" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/blue/fourcorners/contrasted, +/obj/structure/cable/yellow, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white, +/area/medical/medbay/lobby) "kmS" = ( /obj/structure/table/reinforced, /obj/item/storage/box/disks_nanite{ @@ -32466,6 +32386,10 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/medical/virology) +"kok" = ( +/obj/structure/chair/stool/bar/directional/south, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) "kor" = ( /turf/closed/wall/r_wall/rust, /area/science/storage) @@ -32513,9 +32437,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, /turf/open/floor/iron/dark, /area/security/main{ name = "Security Locker Room" @@ -32745,6 +32666,13 @@ /obj/effect/mapping_helpers/tile_breaker, /turf/open/floor/wood, /area/maintenance/central) +"kuy" = ( +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/teleporter) "kuA" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ alpha = 180; @@ -32876,6 +32804,21 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/engine/engine_room) +"kvU" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "kwh" = ( /turf/closed/wall, /area/engine/engineering) @@ -32964,16 +32907,6 @@ }, /turf/open/floor/engine/airless, /area/engine/atmos) -"kxU" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/machinery/camera/directional/north{ - c_tag = "MiniSat Upload East"; - network = list("minisat","aiupload") - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "kyg" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -33250,6 +33183,19 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) +"kDT" = ( +/obj/structure/displaycase/labcage, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/crew_quarters/heads/hor) "kDV" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -33328,16 +33274,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/port/aft) -"kFI" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/engine{ - initial_gas_mix = "n2=100;TEMP=80"; - name = "mainframe floor" - }, -/area/tcommsat/server) "kFV" = ( /obj/structure/sign/warning/nosmoking, /turf/closed/wall, @@ -33477,6 +33413,23 @@ /area/security/prison{ name = "Prison Showers" }) +"kIi" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "kIj" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/turf_decal/box, @@ -33500,18 +33453,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) -"kII" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/effect/decal/cleanable/vomit, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/maintenance/starboard/aft) "kIJ" = ( /obj/effect/turf_decal/tile/brown/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -33715,6 +33656,23 @@ /obj/structure/cable/yellow, /turf/open/floor/catwalk_floor/iron_dark, /area/engine/engine_room) +"kKM" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/item/radio/intercom{ + pixel_x = -31; + pixel_y = -2 + }, +/obj/structure/table/reinforced, +/obj/item/tank/internals/plasma, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/turf/open/floor/iron, +/area/engine/engine_room) "kKQ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -33794,6 +33752,12 @@ }, /turf/open/floor/iron, /area/bridge) +"kMP" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) "kNl" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -33829,6 +33793,13 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/tech, /area/engine/engine_room) +"kOb" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/security/prison) "kOe" = ( /obj/docking_port/stationary{ dwidth = 3; @@ -33910,6 +33881,14 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) +"kPo" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/suit_storage_unit/mining, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/quartermaster/miningdock) "kPu" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -33994,19 +33973,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/tech, /area/engine/engine_room) -"kRf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - c_tag = "MiniSat Core Hallway 5"; - network = list("minisat") - }, -/turf/open/floor/circuit, -/area/ai_monitored/storage/satellite) "kRj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -34436,6 +34402,21 @@ }, /turf/open/floor/carpet/red, /area/security/detectives_office) +"kYk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/hallway/primary/central) "kYm" = ( /obj/item/radio/intercom{ pixel_y = -35 @@ -34454,6 +34435,18 @@ /obj/structure/sign/warning/nosmoking, /turf/closed/wall, /area/maintenance/port/aft) +"kYv" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/candle/infinite{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/dark, +/area/chapel/main) "kYx" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -34464,16 +34457,6 @@ }, /turf/open/floor/iron, /area/bridge) -"kYB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/tech, -/area/engine/atmos) "kYD" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/sign/painting/library{ @@ -34708,28 +34691,6 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) -"lbb" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/white, -/area/medical/chemistry) -"lbc" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd","xeno") - }, -/obj/machinery/shower{ - dir = 1; - name = "emergency shower" - }, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/noslip/white, -/area/science/xenobiology) "lbf" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -34818,6 +34779,13 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"lbX" = ( +/obj/machinery/gateway{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron/techmaint, +/area/gateway) "lbY" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -34890,39 +34858,6 @@ }, /turf/open/floor/carpet/blue, /area/crew_quarters/heads/captain) -"ldt" = ( -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/item/wrench, -/obj/item/crowbar/red{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat_interior) -"ldB" = ( -/obj/structure/rack, -/obj/item/lighter, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/reagent_containers/pill/patch/silver_sulf, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/carpet/royalblue, -/area/crew_quarters/heads/chief) "ldH" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -34960,16 +34895,34 @@ }, /turf/open/floor/catwalk_floor/iron_dark, /area/engine/engine_room) -"leq" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "24" +"lem" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/hallway/primary/central) +"leu" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "MailConv" }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "0-4" }, -/turf/open/floor/plating, -/area/engine/atmos) +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/iron/dark, +/area/quartermaster/storage) "leD" = ( /obj/effect/turf_decal/tile/purple/anticorner/contrasted{ dir = 1 @@ -35016,6 +34969,16 @@ }, /turf/open/floor/iron, /area/medical/apothecary) +"lfc" = ( +/obj/machinery/rnd/production/circuit_imprinter, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/north{ + c_tag = "Incinerator"; + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "lff" = ( /obj/machinery/light, /obj/effect/turf_decal/guideline/guideline_edge/purple, @@ -35116,17 +35079,6 @@ "lgK" = ( /turf/open/floor/glass/reinforced, /area/chapel/main) -"lgY" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/engine/atmos) "lhn" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/landmark/xeno_spawn, @@ -35418,18 +35370,13 @@ }, /turf/open/space/basic, /area/space/nearstation) -"lnr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/sign/warning/securearea{ - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") +"lmN" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, /turf/open/floor/iron/dark, -/area/engine/engine_room) +/area/ai_monitored/turret_protected/aisat/foyer) "lnu" = ( /obj/machinery/door/window/brigdoor{ dir = 8; @@ -35502,6 +35449,18 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/department/security) +"lok" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/security/main{ + name = "Security Locker Room" + }) "lon" = ( /obj/machinery/door/window/eastleft{ dir = 2; @@ -35654,24 +35613,6 @@ /obj/structure/sign/warning/nosmoking/circle, /turf/closed/wall, /area/science/robotics) -"lqD" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/chair/fancy/bench/pew/left{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1; - pixel_y = -3 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow, -/turf/open/floor/wood, -/area/security/courtroom) "lqK" = ( /obj/machinery/turretid{ control_area = "/area/ai_monitored/turret_protected/ai"; @@ -35835,6 +35776,20 @@ /obj/effect/spawner/room/fivexthree, /turf/open/floor/plating, /area/maintenance/port/central) +"lty" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -33 + }, +/obj/machinery/disposal/bin, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron, +/area/janitor) "ltF" = ( /obj/machinery/computer/bounty, /obj/effect/turf_decal/stripes/line, @@ -35883,6 +35838,16 @@ }, /turf/open/space/basic, /area/engine/engine_room) +"luc" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + alpha = 180; + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Evac Security Checkpoint" + }, +/turf/open/floor/iron, +/area/security/checkpoint/escape) "luk" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -36009,6 +35974,18 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"lvU" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/vomit, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/maintenance/starboard/aft) "lwh" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -36106,15 +36083,6 @@ dir = 1 }, /area/science/research) -"lxE" = ( -/obj/machinery/newscaster{ - pixel_y = 33 - }, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/warrant, -/turf/open/floor/carpet/royalblack, -/area/lawoffice) "lxG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36138,6 +36106,22 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"lyh" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + alpha = 180; + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/secure_closet/security/engine, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/obj/item/radio/intercom{ + pixel_x = -32; + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/security/checkpoint/engineering) "lys" = ( /obj/effect/turf_decal/tile/dark_green/anticorner/contrasted, /turf/open/floor/iron, @@ -36151,43 +36135,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"lyQ" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -4; - pixel_y = -3 - }, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/syringe/antiviral, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -4; - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/item/wallframe/defib_mount, -/obj/item/clothing/neck/stethoscope{ - pixel_y = 5 - }, -/turf/open/floor/iron, -/area/medical/sleeper) "lyT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair, @@ -36252,6 +36199,15 @@ }, /turf/open/floor/carpet/blue, /area/medical/exam_room) +"lAu" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Teleporter Room" + }, +/turf/open/floor/iron, +/area/hallway/primary/starboard) "lAP" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -36351,6 +36307,20 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"lBU" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/rnd, +/obj/effect/spawner/lootdrop/techstorage/rnd, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/dark, +/area/storage/tech) "lCa" = ( /obj/machinery/light{ dir = 4 @@ -36377,15 +36347,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/crew_quarters/dorms) -"lCk" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/structure/sign/painting/library{ - pixel_x = -32 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/hallway/secondary/exit/departure_lounge) "lCr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 @@ -36408,16 +36369,6 @@ }, /turf/open/space/basic, /area/solar/starboard/fore) -"lCR" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/obj/machinery/light, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/chief) "lDa" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -36484,6 +36435,22 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/hallway/primary/starboard) +"lEA" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/engine/atmos) "lEN" = ( /obj/machinery/shower{ layer = 4; @@ -36556,16 +36523,23 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/crew_quarters/kitchen) -"lGL" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/chair/fancy/bench{ - pixel_y = 13 +"lGH" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 }, /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "0-4" + }, +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ + alpha = 180; + color = "#DE3A3A" }, /turf/open/floor/iron/dark, -/area/gateway) +/area/bridge) "lGR" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/light, @@ -36602,14 +36576,6 @@ }, /turf/open/space/basic, /area/solar/starboard/aft) -"lHY" = ( -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/white, -/area/medical/genetics) "lIa" = ( /obj/machinery/conveyor{ dir = 8; @@ -36675,6 +36641,17 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/engine/atmos) +"lJP" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/engine/atmos) "lKh" = ( /turf/open/floor/engine/airless, /area/engine/atmos) @@ -36702,6 +36679,26 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"lKu" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/tank_dispenser{ + pixel_x = -1 + }, +/obj/machinery/requests_console{ + department = "Atmospherics"; + departmentType = 3; + name = "Atmos RC"; + pixel_x = -1; + pixel_y = 30 + }, +/obj/machinery/camera/directional/north{ + c_tag = "Incinerator"; + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "lKz" = ( /obj/machinery/newscaster{ pixel_y = 32 @@ -36798,23 +36795,6 @@ dir = 9 }, /area/medical/sleeper) -"lMa" = ( -/obj/structure/window/reinforced{ - dir = 4; - layer = 3 - }, -/obj/structure/table, -/obj/item/paper/guides/jobs/engi/gravity_gen, -/obj/item/stack/sheet/mineral/plasma/fifty, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/tech/grid, -/area/engine/gravity_generator) "lMu" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -37057,19 +37037,6 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/space/basic, /area/space/nearstation) -"lRN" = ( -/obj/machinery/light, -/obj/machinery/suit_storage_unit/mining, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","cargo") - }, -/obj/item/radio/intercom{ - pixel_x = 2; - pixel_y = -31 - }, -/turf/open/floor/iron, -/area/quartermaster/miningdock) "lSa" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -37092,28 +37059,10 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) -"lSC" = ( -/obj/machinery/camera/motion/directional/east{ - c_tag = "MiniSat Exterior 2"; - network = list("minisat") - }, -/obj/structure/lattice/catwalk, -/turf/open/space/basic, -/area/space/nearstation) "lSW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/entry) -"lSZ" = ( -/obj/structure/chair/office, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/mapping_helpers/apc/discharged, -/turf/open/floor/wood, -/area/vacant_room/office) "lTc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -37280,21 +37229,6 @@ /area/security/main{ name = "Security Locker Room" }) -"lVr" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/book/manual/wiki/xenoarchaeology, -/obj/item/clothing/neck/stethoscope, -/obj/item/clothing/mask/gas, -/obj/item/multitool, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron, -/area/science/explab) "lVx" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ @@ -37461,29 +37395,6 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/iron/dark, /area/engine/engine_room) -"lXU" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/structure/table/reinforced, -/obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/effect/spawner/lootdrop/aimodule_harmful, -/obj/structure/window/reinforced/spawner/east{ - dir = 8 - }, -/obj/machinery/door/window/brigdoor/northright{ - dir = 2; - name = "Security Boards"; - req_access_txt = "16" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/autoname{ - dir = 5; - network = list("aiupload") - }, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) "lYb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -37789,6 +37700,22 @@ }, /turf/open/floor/iron/white, /area/medical/virology) +"mbS" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "mbT" = ( /obj/effect/turf_decal/tile/blue/half{ dir = 8 @@ -38187,24 +38114,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"mkt" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red{ - alpha = 180; - color = "#DE3A3A"; - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/security/warden) "mky" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -38238,6 +38147,25 @@ /obj/effect/turf_decal/bot, /turf/open/floor/noslip/standard, /area/crew_quarters/toilet) +"mkH" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 8; + freerange = 1; + name = "Station Intercom (Captain)"; + pixel_x = 32; + pixel_y = -2 + }, +/obj/machinery/computer/med_data{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/bridge) "mkS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -38267,6 +38195,11 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"mlc" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/carpet/purple, +/area/chapel/main) "mlh" = ( /obj/structure/lattice/catwalk, /obj/effect/landmark/blobstart, @@ -38598,6 +38531,19 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"mqa" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/guideline/guideline_edge/darkblue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/hallway/primary/fore) "mqc" = ( /obj/structure/window/reinforced{ dir = 4; @@ -38676,16 +38622,16 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/engine) -"mqJ" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 +"mqL" = ( +/obj/structure/railing{ + dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/structure/chair/stool/directional/south, +/obj/effect/turf_decal{ + dir = 8 }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/toilet) +/turf/open/floor/prison, +/area/security/prison) "mqZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38709,16 +38655,6 @@ /obj/item/reagent_containers/glass/bottle/iodine, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"mrE" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/chair/stool/directional/south, -/obj/effect/turf_decal{ - dir = 8 - }, -/turf/open/floor/prison, -/area/security/prison) "mrF" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/brown/fourcorners/contrasted, @@ -38874,16 +38810,6 @@ /obj/structure/sign/warning/nosmoking/circle, /turf/closed/wall/r_wall, /area/engine/storage) -"mtE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/spawner/randomarcade{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/crew_quarters/cafeteria) "mtI" = ( /turf/open/floor/holofloor/plating, /area/holodeck/prison) @@ -38933,6 +38859,19 @@ }, /turf/open/floor/iron, /area/medical/storage) +"mui" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/sepia, +/area/quartermaster/warehouse) "muj" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/iron, @@ -38974,16 +38913,6 @@ dir = 1 }, /area/hallway/primary/central) -"muG" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","cargo") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/hallway/primary/port) "muH" = ( /turf/open/floor/iron/stairs/medium, /area/hallway/primary/central) @@ -39147,19 +39076,6 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) -"mxy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/hallway/primary/central) "mxA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/dark, @@ -39216,22 +39132,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) -"myN" = ( -/obj/machinery/disposal/bin, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_x = -15; - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/bridge/meeting_room) "myU" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Storage"; @@ -39343,6 +39243,18 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) +"mAH" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/teleporter) "mAO" = ( /obj/structure/sign/poster/random, /turf/closed/wall, @@ -39511,12 +39423,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/tech/grid, /area/engine/gravity_generator) -"mDe" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/turf/open/floor/engine/air, -/area/engine/atmos) "mDq" = ( /obj/machinery/holopad{ pixel_x = 16 @@ -40093,19 +39999,6 @@ broken = 1 }, /area/maintenance/port/aft) -"mKo" = ( -/obj/machinery/iv_drip, -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/blue, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron, -/area/maintenance/department/medical) "mKz" = ( /obj/structure/table/reinforced, /obj/item/aiModule/supplied/freeform, @@ -40165,6 +40058,50 @@ /obj/effect/turf_decal/box, /turf/open/floor/glass/reinforced, /area/chapel/main) +"mKZ" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Incinerator"; + network = list("ss13","engine") + }, +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/effect/turf_decal/bot, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/iron, +/area/engine/atmospherics_engine) +"mLg" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","prison") + }, +/obj/structure/rack, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/tile/black/fourcorners, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/sign/poster/official/random{ + pixel_x = -32 + }, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap, +/obj/item/prison_scanner, +/obj/item/prison_scanner, +/obj/item/prison_scanner, +/obj/item/prison_scanner, +/obj/item/prison_scanner, +/turf/open/floor/iron/techmaint, +/area/security/prison) "mLh" = ( /obj/effect/turf_decal/guideline/guideline_out/brown{ dir = 1 @@ -40244,6 +40181,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/security/brig) +"mLT" = ( +/obj/item/radio/intercom{ + pixel_y = 35 + }, +/obj/structure/table/wood, +/obj/machinery/light_switch{ + pixel_x = 23 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre) "mLU" = ( /obj/structure/toilet{ dir = 8 @@ -40332,6 +40283,18 @@ }, /turf/open/floor/plating, /area/quartermaster/warehouse) +"mNM" = ( +/obj/structure/table/reinforced, +/obj/item/aiModule/reset, +/obj/item/aiModule/reset/purge, +/obj/item/aiModule/core/full/asimov, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai_upload) "mOk" = ( /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/iron, @@ -40431,28 +40394,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/science) -"mRi" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/bed/dogbed/ian, -/obj/machinery/airalarm/directional/east{ - pixel_x = 22 - }, -/obj/item/toy/beach_ball/holoball/dodgeball{ - name = "dodgeball 3 of 5" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 40; - pixel_y = -1 - }, -/mob/living/simple_animal/pet/dog/corgi/Ian{ - density = 0; - dir = 1; - pixel_y = 4 +"mQZ" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 6 }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/dark, +/area/chapel/main) "mRk" = ( /turf/closed/wall, /area/science/server) @@ -40565,20 +40513,22 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/department/medical) -"mSJ" = ( -/obj/machinery/light{ - dir = 4 +"mSI" = ( +/obj/machinery/disposal/bin, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 2 }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = -15; + pixel_y = 28 }, -/turf/open/floor/iron, -/area/engine/atmos) +/turf/open/floor/iron/dark, +/area/bridge/meeting_room) "mSV" = ( /obj/structure/railing/corner{ dir = 4 @@ -40684,6 +40634,18 @@ }, /turf/open/floor/prison, /area/security/prison) +"mUA" = ( +/obj/effect/turf_decal/tile/red/half/contrasted, +/obj/structure/closet/secure_closet/genpop, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/dark, +/area/security/prison{ + name = "Prison Processing" + }) "mUD" = ( /obj/effect/turf_decal/tile/dark_green/half/contrasted{ dir = 8 @@ -40753,28 +40715,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/kitchen) -"mVA" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch/tcomms{ - pixel_x = 12; - pixel_y = -21 - }, -/obj/machinery/light_switch{ - name = "Control Room light switch"; - pixel_x = -10; - pixel_y = -21 - }, -/obj/machinery/light, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/dark/telecomms{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, -/area/engine/gravity_generator) "mVF" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -40852,6 +40792,19 @@ /obj/effect/turf_decal/stripes/closeup, /turf/open/floor/iron, /area/security/brig) +"mWE" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners/contrasted{ + alpha = 180 + }, +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/iron, +/area/engine/atmos) "mWK" = ( /obj/effect/turf_decal/siding/wideplating/dark, /obj/structure/cable/yellow{ @@ -40930,20 +40883,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"mXF" = ( -/obj/machinery/doppler_array/research/science{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","rd") - }, -/turf/open/floor/iron, -/area/science/misc_lab) "mXJ" = ( /obj/structure/sign/departments/minsky/security/evac{ pixel_x = 31; @@ -40984,12 +40923,32 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) -"mXU" = ( -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" +"mYF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/area/holodeck/rec_center) +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/guideline/guideline_half_edge/red{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/red{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/red{ + dir = 10 + }, +/obj/effect/turf_decal/guideline/guideline_tri/red, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron, +/area/security/brig) "mYL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -41008,12 +40967,6 @@ dir = 6 }, /area/medical/sleeper) -"mYR" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/turf/open/floor/engine/o2, -/area/engine/atmos) "mYT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -41043,6 +40996,23 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port/central) +"mZO" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/science/research) "mZZ" = ( /obj/effect/turf_decal/guideline/guideline_edge/neutral{ alpha = 255; @@ -41427,12 +41397,6 @@ dir = 4 }, /area/hallway/primary/central) -"ngd" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/airalarm/directional/east, -/obj/structure/closet/crate/coffin, -/turf/open/floor/iron/dark, -/area/chapel/main) "ngn" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -41593,6 +41557,20 @@ "nif" = ( /turf/closed/wall/r_wall, /area/science/test_area) +"nir" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/medical/surgery) "niE" = ( /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, @@ -41620,31 +41598,6 @@ /area/security/main{ name = "Security Break Room" }) -"niK" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/closet/crate/miningcar{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/stack/sheet/mineral/coal/five{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/stack/sheet/mineral/sandstone/twenty{ - pixel_x = -1; - pixel_y = 7 - }, -/obj/item/pickaxe{ - pixel_y = 2 - }, -/obj/machinery/light_switch{ - pixel_x = -20 - }, -/turf/open/floor/iron/dark, -/area/quartermaster/miningdock) "niP" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/bot{ @@ -42032,15 +41985,6 @@ /obj/effect/mapping_helpers/tile_breaker, /turf/open/floor/carpet, /area/library) -"nnt" = ( -/obj/effect/turf_decal/bot, -/obj/effect/mapping_helpers/dead_body_placer/medbay_morgue, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/dark, -/area/medical/morgue) "nnB" = ( /turf/closed/wall, /area/science/robotics) @@ -42116,13 +42060,24 @@ }, /turf/open/floor/iron/white, /area/medical/apothecary) -"non" = ( -/obj/structure/closet/secure_closet/RD, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") +"noo" = ( +/obj/effect/turf_decal/tile/blue/half{ + dir = 4 }, -/turf/open/floor/carpet/purple, -/area/crew_quarters/heads/hor) +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/iron/white, +/area/medical/office) "nou" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -42184,23 +42139,6 @@ }, /turf/open/floor/glass/reinforced, /area/chapel/main) -"nqJ" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd") - }, -/obj/machinery/requests_console{ - department = "Science"; - departmentType = 2; - name = "Science RC"; - pixel_y = 30; - receive_ore_updates = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/science/nanite) "nqQ" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -42822,6 +42760,29 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"nAd" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + view_range = 12 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/hallway/primary/central) "nAr" = ( /obj/machinery/vending/boozeomat, /turf/closed/wall, @@ -42840,6 +42801,22 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet/royalblack, /area/lawoffice) +"nAz" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/closet/crate/wooden/toy, +/obj/machinery/camera/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light_switch{ + pixel_x = 12; + pixel_y = 22 + }, +/turf/open/floor/wood, +/area/crew_quarters/theatre/backstage) "nAB" = ( /obj/effect/turf_decal/delivery, /obj/item/kirbyplants/random, @@ -42859,17 +42836,6 @@ }, /turf/open/floor/carpet/blue, /area/bridge/meeting_room) -"nAI" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "nAP" = ( /obj/machinery/nanite_chamber, /obj/effect/turf_decal/guideline/guideline_edge/purple{ @@ -42932,44 +42898,11 @@ }, /turf/open/floor/wood, /area/security/courtroom) -"nBJ" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/engine/atmos) "nBO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/department/security) -"nBX" = ( -/obj/machinery/power/smes{ - charge = 2e+007 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -23 - }, -/turf/open/floor/iron/tech/grid, -/area/engine/gravity_generator) "nBY" = ( /mob/living/basic/mothroach, /obj/item/flashlight/lantern/heirloom_moth{ @@ -43304,19 +43237,6 @@ }, /turf/open/floor/carpet/blue, /area/bridge/meeting_room) -"nHf" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/sepia, -/area/quartermaster/warehouse) "nHw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -43484,37 +43404,30 @@ /area/security/brig{ name = "Brig Interrogation" }) -"nKO" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","cargo") - }, -/turf/open/floor/noslip/standard, -/area/quartermaster/storage) "nLc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /turf/open/floor/iron/dark, /area/security/execution/education) -"nLo" = ( -/obj/machinery/vending/wallmed{ - pixel_x = -1; - pixel_y = 32 +"nLs" = ( +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/structure/table/glass, -/obj/item/book/manual/wiki/chemistry{ - pixel_x = -4; - pixel_y = 4 +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/compressor{ + comp_id = "incineratorturbine"; + dir = 8; + luminosity = 2 }, -/obj/item/book/manual/wiki/plumbing, -/obj/effect/turf_decal/stripes/line, /obj/machinery/camera/directional/north{ - network = list("ss13","medbay") + c_tag = "Turbine Chamber"; + network = list("turbine") }, -/turf/open/floor/iron, -/area/medical/chemistry) +/turf/open/floor/engine/vacuum, +/area/engine/atmospherics_engine) "nLv" = ( /obj/structure/sign/warning/nosmoking/circle, /turf/closed/wall/r_wall, @@ -43661,6 +43574,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/engine) +"nNR" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/engine/supermatter) "nNV" = ( /obj/machinery/light/small{ dir = 8 @@ -43771,21 +43693,6 @@ }, /turf/open/floor/glass/reinforced, /area/chapel/main) -"nPy" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/guideline/guideline_edge/red{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","security") - }, -/turf/open/floor/iron, -/area/security/brig) "nPJ" = ( /obj/effect/turf_decal/tile/blue/half{ dir = 4 @@ -43893,6 +43800,11 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/carpet/grimy, /area/maintenance/central) +"nQP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/tech, +/area/engine/atmos) "nQR" = ( /obj/machinery/light/very_dim/directional/west, /obj/effect/decal/cleanable/dirt, @@ -43900,16 +43812,6 @@ /obj/effect/landmark/prisonspawn, /turf/open/floor/iron/techmaint, /area/security/prison/shielded) -"nQV" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/hallway/primary/central) "nQW" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/reagent_dispensers/watertank, @@ -43964,6 +43866,17 @@ }, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"nRX" = ( +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + alpha = 180 + }, +/obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/turf/open/floor/iron, +/area/engine/storage) "nSe" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -43982,22 +43895,6 @@ "nSh" = ( /turf/open/floor/iron/tech, /area/engine/engine_room) -"nSj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/box/corners{ - pixel_x = -16; - pixel_y = 16 - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "nSr" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ alpha = 180; @@ -44044,10 +43941,6 @@ }, /turf/open/floor/iron, /area/quartermaster/sorting) -"nTv" = ( -/obj/structure/chair/stool/directional/west, -/turf/open/floor/wood, -/area/security/prison) "nTI" = ( /obj/structure/chair/wood/wings, /turf/open/floor/carpet/green, @@ -44237,20 +44130,6 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/quartermaster/qm) -"nXI" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/power/port_gen/pacman, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/engine/engine_room) "nXK" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -44272,17 +44151,42 @@ }, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/chief) -"nXS" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"nXR" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/bot, +/obj/item/food/meat/slab/penguin, +/obj/item/food/meat/slab/penguin, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/iron/tech, -/area/ai_monitored/storage/eva) +/turf/open/floor/iron/white, +/area/crew_quarters/kitchen) "nXU" = ( /turf/closed/wall, /area/hallway/secondary/exit/departure_lounge) +"nXV" = ( +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/structure/table/reinforced, +/obj/effect/spawner/lootdrop/aimodule_harmful, +/obj/effect/spawner/lootdrop/aimodule_harmful, +/obj/effect/spawner/lootdrop/aimodule_harmful, +/obj/structure/window/reinforced/spawner/east{ + dir = 8 + }, +/obj/machinery/door/window/brigdoor/northright{ + dir = 2; + name = "Security Boards"; + req_access_txt = "16" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/autoname/directional/east{ + network = list("aiupload") + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai_upload) "nYc" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -44327,6 +44231,29 @@ /obj/machinery/pipedispenser, /turf/open/floor/iron/dark, /area/engine/atmos) +"nYN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 9 + }, +/obj/machinery/requests_console{ + department = "Cargo Bay"; + departmentType = 2; + pixel_y = 29 + }, +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/carpet/orange, +/area/quartermaster/qm) "nZj" = ( /obj/structure/window/reinforced{ dir = 4; @@ -44339,18 +44266,6 @@ /mob/living/carbon/monkey, /turf/open/floor/vault, /area/medical/genetics) -"nZk" = ( -/obj/effect/turf_decal/tile/neutral/anticorner{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/hallway/secondary/service) "nZw" = ( /obj/machinery/portable_atmospherics/scrubber/huge, /obj/machinery/firealarm/directional/east, @@ -44401,6 +44316,20 @@ }, /turf/open/floor/iron, /area/science/xenobiology) +"oaL" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ + alpha = 180; + color = "#DE3A3A" + }, +/turf/open/floor/iron/dark, +/area/security/main{ + name = "Security Locker Room" + }) "oaO" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -44417,6 +44346,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/fore) +"oaT" = ( +/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/maintenance/port/aft) "oaZ" = ( /obj/machinery/computer/telecomms/monitor, /obj/effect/turf_decal/stripes/line, @@ -44456,21 +44393,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/medical/morgue) -"obZ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/instrument/piano_synth, -/obj/machinery/camera/autoname{ - dir = 10 - }, -/obj/machinery/light_switch{ - pixel_x = -23; - pixel_y = 1 - }, -/turf/open/floor/wood, -/area/library) "ocl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -44702,6 +44624,20 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"ofr" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/iron/dark, +/area/security/brig{ + name = "Brig Evidence" + }) "ofC" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -44792,6 +44728,18 @@ }, /turf/open/floor/iron/tech, /area/engine/atmos) +"ogw" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "ogV" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -44953,16 +44901,6 @@ /obj/structure/sign/poster/random, /turf/closed/wall/r_wall, /area/security/checkpoint/escape) -"ojt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "ojG" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 @@ -44990,22 +44928,6 @@ /obj/machinery/suit_storage_unit/exploration, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) -"ojR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north, -/obj/machinery/washing_machine, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/crew_quarters/dorms) "okb" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/pump, @@ -45033,10 +44955,6 @@ dir = 1 }, /area/medical/medbay/central) -"okR" = ( -/obj/structure/chair/stool/bar/directional/south, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) "ole" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -45047,21 +44965,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/bridge) -"olj" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +"olf" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #6"; + network = list("ss13","rd","xeno") }, -/turf/open/floor/iron, -/area/hallway/primary/fore) +/turf/open/floor/engine, +/area/science/xenobiology) "olk" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/mining_conscript{ @@ -45189,6 +45099,23 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/engine, /area/science/xenobiology) +"onU" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "garbage" + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/disposal) "onV" = ( /obj/structure/chair/fancy/comfy{ buildstackamount = 0; @@ -45334,18 +45261,6 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/science/robotics) -"oqv" = ( -/obj/effect/turf_decal/bot, -/obj/structure/closet/toolcloset, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/item/toy/beach_ball/holoball/dodgeball{ - name = "dodgeball 4 of 5" - }, -/turf/open/floor/iron, -/area/construction/mining/aux_base) "oqK" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -45403,25 +45318,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/secondary/entry) -"orl" = ( -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/item/storage/secure/safe{ - pixel_x = 6; - pixel_y = -31 - }, -/turf/open/floor/iron, -/area/quartermaster/qm) "orV" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -45453,6 +45349,17 @@ /obj/item/gun/grenadelauncher/security, /turf/open/floor/iron, /area/ai_monitored/security/armory) +"osf" = ( +/obj/machinery/vending/wardrobe/robo_wardrobe, +/obj/effect/turf_decal/stripes/line, +/obj/item/radio/intercom{ + pixel_y = 29 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd") + }, +/turf/open/floor/iron/dark, +/area/science/robotics) "osm" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/effect/decal/cleanable/dirt, @@ -45461,6 +45368,19 @@ }, /turf/open/floor/iron, /area/maintenance/department/science) +"oso" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/spawner/randomvend/cola, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron, +/area/engine/break_room) "osJ" = ( /obj/machinery/vending/wardrobe/medi_wardrobe, /obj/effect/turf_decal/bot, @@ -45621,6 +45541,16 @@ /obj/item/clothing/head/hats/hos/beret, /turf/open/floor/carpet/red, /area/crew_quarters/heads/hos) +"oub" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/dark, +/area/quartermaster/exploration_prep) "ouq" = ( /obj/effect/decal/cleanable/robot_debris, /obj/effect/decal/cleanable/dirt, @@ -45655,6 +45585,23 @@ /obj/effect/spawner/lootdrop/maintenance/three, /turf/open/floor/plating, /area/maintenance/port/aft) +"ouF" = ( +/obj/effect/turf_decal/guideline/guideline_edge/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security") + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/iron/dark, +/area/security/brig/dock) "ouQ" = ( /obj/structure/sign/departments/minsky/security/evac, /turf/closed/wall, @@ -45702,15 +45649,6 @@ /area/security/main{ name = "Security Viewing Hall" }) -"ovc" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/effect/turf_decal/bot, -/obj/machinery/deepfryer, -/turf/open/floor/iron/white, -/area/crew_quarters/kitchen) "ovj" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/navbeacon{ @@ -45784,16 +45722,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) -"owU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -32 - }, -/turf/open/floor/iron/tech, -/area/engine/engine_room) "owZ" = ( /obj/structure/table/wood, /obj/item/clipboard{ @@ -45880,47 +45808,12 @@ dir = 1 }, /area/medical/surgery) -"oyD" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 2 - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/science/research) "ozf" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /obj/effect/turf_decal/numbers/two_nine, /obj/effect/turf_decal/box, /turf/open/floor/iron, /area/maintenance/port/aft) -"ozn" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) -"ozp" = ( -/obj/structure/table/reinforced, -/obj/item/aiModule/reset, -/obj/item/aiModule/reset/purge, -/obj/item/aiModule/core/full/asimov, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/circuit, -/area/ai_monitored/turret_protected/ai_upload) "ozx" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/turf_decal/stripes/line{ @@ -45996,6 +45889,17 @@ /obj/structure/cable/yellow, /turf/open/floor/iron/tech, /area/engine/engine_room) +"oBk" = ( +/obj/item/kirbyplants/random{ + layer = 3.3 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + view_range = 8 + }, +/turf/open/floor/iron/white, +/area/medical/cryo) "oBr" = ( /obj/machinery/door/poddoor/preopen{ id = "xenosecure"; @@ -46004,19 +45908,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/xenobiology) -"oBw" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/white/side, -/area/science/lab) "oBx" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall, @@ -46046,6 +45937,18 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/crew_quarters/bar) +"oBS" = ( +/obj/effect/turf_decal/bot, +/obj/structure/closet/toolcloset, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/item/toy/beach_ball/holoball/dodgeball{ + name = "dodgeball 4 of 5" + }, +/turf/open/floor/iron, +/area/construction/mining/aux_base) "oCe" = ( /turf/open/floor/engine{ name = "Holodeck Projector Floor" @@ -46066,6 +45969,22 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"oCV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/stripes/corner, +/obj/item/radio/intercom{ + pixel_x = 33; + pixel_y = -3 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) "oCW" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -46084,17 +46003,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"oDF" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/techstorage/medical, -/obj/effect/spawner/lootdrop/techstorage/medical, -/obj/machinery/airalarm/directional/north{ - pixel_y = 22 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/storage/tech) "oDI" = ( /obj/machinery/announcement_system, /obj/effect/turf_decal/stripes/line{ @@ -46167,13 +46075,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"oEN" = ( -/obj/machinery/gateway{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/techmaint, -/area/gateway) "oER" = ( /obj/structure/window/reinforced{ dir = 4 @@ -46197,6 +46098,25 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/iron/sepia, /area/maintenance/port/central) +"oFo" = ( +/obj/structure/closet/secure_closet/CMO, +/obj/item/clothing/glasses/hud/health{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = 1; + pixel_y = 29 + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/cmo) "oFr" = ( /obj/structure/sign/departments/minsky/research/genetics, /turf/closed/wall, @@ -46250,6 +46170,20 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"oGG" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "oGJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -46311,18 +46245,6 @@ }, /turf/open/space/basic, /area/solar/port/fore) -"oHu" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/teleporter) "oHD" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -46409,6 +46331,13 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/central) +"oIr" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay") + }, +/obj/item/kirbyplants/random, +/turf/open/floor/carpet/blue, +/area/medical/exam_room) "oIs" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -46500,6 +46429,16 @@ }, /turf/open/floor/carpet/purple, /area/crew_quarters/heads/hor) +"oJQ" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/chair/fancy/bench/pew/left{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/glass/reinforced, +/area/chapel/main) "oJT" = ( /obj/machinery/door/airlock/maintenance{ name = "Disposal Access"; @@ -46556,6 +46495,23 @@ }, /turf/open/floor/iron/white/side, /area/medical/medbay/central) +"oLf" = ( +/obj/machinery/vending/wallmed{ + pixel_x = -1; + pixel_y = 32 + }, +/obj/structure/table/glass, +/obj/item/book/manual/wiki/chemistry{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/book/manual/wiki/plumbing, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/chemistry) "oLh" = ( /obj/machinery/door/airlock/wood, /obj/structure/barricade/wooden/crude, @@ -46572,28 +46528,6 @@ }, /turf/open/floor/carpet/purple, /area/chapel/main) -"oLz" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","cargo") - }, -/obj/item/toy/figure/qm{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/stamp/quartermaster{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/iron, -/area/quartermaster/qm) "oLA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/heat_exchanging/junction, @@ -46620,6 +46554,19 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/sepia, /area/maintenance/port/central) +"oLO" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/closet/radiation, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/turf/open/floor/noslip/standard, +/area/engine/engineering) "oLP" = ( /obj/structure/chair/office, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -46832,18 +46779,6 @@ "oOu" = ( /turf/closed/wall/r_wall, /area/teleporter) -"oOv" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/effect/landmark/start/exploration, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/quartermaster/exploration_prep) "oOw" = ( /obj/machinery/power/emitter/welded, /obj/structure/cable/yellow, @@ -46936,6 +46871,19 @@ /obj/item/reagent_containers/food/drinks/soda_cans/space_up, /turf/open/floor/iron, /area/maintenance/port/aft) +"oPx" = ( +/obj/structure/chair/fancy/bench/right{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/turf/open/floor/iron/techmaint, +/area/security/prison/shielded) "oPD" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -46943,26 +46891,10 @@ /obj/structure/table/wood, /turf/open/floor/carpet/red, /area/crew_quarters/cafeteria) -"oPL" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #4"; - network = list("ss13","rd","xeno") - }, -/obj/structure/window/reinforced, -/turf/open/floor/engine, -/area/science/xenobiology) "oPO" = ( /obj/structure/sign/departments/medbay/alt2, /turf/closed/wall, /area/medical/chemistry) -"oPW" = ( -/obj/machinery/camera/motion/directional/south{ - c_tag = "MiniSat Exterior 3"; - network = list("minisat") - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "oQi" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -47148,6 +47080,19 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/sorting) +"oSt" = ( +/obj/structure/closet/secure_closet/security/science, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","rd") + }, +/obj/item/radio/intercom{ + dir = 1; + pixel_y = -28 + }, +/turf/open/floor/iron, +/area/security/checkpoint/science) "oSy" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -47425,26 +47370,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/medical/morgue) -"oVP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark/side, -/area/hallway/primary/central) -"oWc" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/engine/supermatter) "oWe" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -47461,6 +47386,27 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"oWm" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/engine/atmos) "oWr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47783,6 +47729,22 @@ }, /turf/open/floor/iron, /area/hallway/primary/aft) +"paA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark/side, +/area/hallway/primary/central) +"paD" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/box, +/turf/open/floor/iron/tech, +/area/engine/atmos) "paM" = ( /obj/machinery/door/poddoor/preopen{ id = "brigentrance"; @@ -47951,29 +47913,6 @@ }, /turf/open/floor/iron, /area/maintenance/department/bridge) -"pcR" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/plating, -/area/maintenance/department/science) -"pdq" = ( -/obj/machinery/status_display/ai{ - pixel_y = -32 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light/small{ - brightness = 3 - }, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Technical Storage"; - name = "motion-sensitive Technical Storage"; - network = list("ss13","engine") - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/techmaint, -/area/storage/tech) "pdv" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -48005,6 +47944,17 @@ }, /turf/open/floor/iron, /area/security/brig) +"peg" = ( +/obj/machinery/computer/operating, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster{ + pixel_y = 34 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/surgery) "pep" = ( /obj/effect/turf_decal/tile/dark_blue{ alpha = 180 @@ -48030,11 +47980,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"peH" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/techmaint, -/area/engine/gravity_generator) "peP" = ( /obj/structure/chair/office/light{ dir = 1; @@ -48114,6 +48059,17 @@ /area/security/brig{ name = "Brig Interrogation" }) +"pgc" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/space/basic, +/area/solar/starboard/aft) "pgq" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -48393,17 +48349,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"pkk" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/carpet/grimy, -/area/chapel/office) "pkt" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, @@ -48685,6 +48630,16 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"poF" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/structure/sign/poster/random{ + pixel_x = -32 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/hallway/primary/fore) "poJ" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -48698,6 +48653,15 @@ }, /turf/open/floor/iron/white, /area/medical/sleeper) +"poL" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark, +/area/engine/engineering) "poQ" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -48910,6 +48874,47 @@ }, /turf/open/floor/iron/tech, /area/engine/atmos) +"psU" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","cargo") + }, +/obj/machinery/button/door{ + id = "QMLoaddoor2"; + layer = 4; + name = "Loading Doors"; + pixel_x = -25; + pixel_y = 4; + req_access_txt = "31" + }, +/obj/machinery/button/door{ + id = "QMLoaddoor"; + layer = 4; + name = "Loading Doors"; + pixel_x = -25; + pixel_y = -5; + req_access_txt = "31" + }, +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = -40; + pixel_y = -3 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron, +/area/quartermaster/storage) "psX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -48949,6 +48954,16 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) +"puk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/catwalk_floor, +/area/maintenance/department/bridge) "puq" = ( /obj/structure/chair{ dir = 4 @@ -49164,6 +49179,21 @@ "pxM" = ( /turf/closed/wall/r_wall, /area/medical/sleeper) +"pxP" = ( +/obj/structure/table/reinforced, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = -5 + }, +/obj/item/geiger_counter, +/obj/machinery/airalarm/engine{ + dir = 8; + pixel_x = -23 + }, +/turf/open/floor/iron, +/area/engine/engine_room) "pym" = ( /obj/effect/turf_decal/tile/red/fourcorners/contrasted, /mob/living/simple_animal/kalo{ @@ -49323,28 +49353,6 @@ /obj/machinery/processor, /turf/open/floor/iron/dark, /area/vacant_room/commissary/commissary2) -"pAW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/camera/autoname/directional/south{ - pixel_x = 2 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/airalarm/directional/south, -/obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/multitool, -/obj/item/wrench, -/obj/item/radio/off, -/turf/open/floor/iron, -/area/bridge) "pBa" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Chemistry Maintenance Hatch"; @@ -49505,6 +49513,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/stairs/medium, /area/chapel/main) +"pDE" = ( +/obj/effect/turf_decal/loading_area, +/turf/open/floor/iron/dark, +/area/engine/atmos) "pDO" = ( /obj/machinery/nanite_program_hub, /obj/effect/turf_decal/stripes/line{ @@ -49609,20 +49621,6 @@ dir = 4 }, /area/hallway/primary/central) -"pEB" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/techstorage/rnd, -/obj/effect/spawner/lootdrop/techstorage/rnd, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/dark, -/area/storage/tech) "pEC" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -49671,14 +49669,6 @@ }, /turf/open/floor/iron/white, /area/science/explab) -"pEZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/cafeteria) "pFb" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/effect/turf_decal/bot, @@ -49717,6 +49707,19 @@ /obj/structure/ore_box, /turf/open/floor/iron/dark, /area/quartermaster/miningdock) +"pFp" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/white/side, +/area/science/lab) "pFv" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -49837,16 +49840,6 @@ /obj/structure/closet/secure_closet/injection, /turf/open/floor/iron/dark, /area/security/execution/education) -"pHD" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/window/southleft{ - name = "Engineering Delivery"; - req_access_txt = "24" - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "pHE" = ( /turf/open/floor/plating, /area/ai_monitored/storage/satellite) @@ -49993,6 +49986,16 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/captain) +"pKx" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/freezer, +/area/crew_quarters/toilet) "pKz" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -50157,6 +50160,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/engine/engine_room) +"pMA" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay") + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + dir = 4 + }, +/turf/open/floor/iron/white/side{ + dir = 8 + }, +/area/medical/sleeper) "pMQ" = ( /obj/effect/turf_decal/box/white, /obj/machinery/atmospherics/pipe/simple/general/hidden, @@ -50221,19 +50236,6 @@ /obj/machinery/air_sensor/atmos/nitrogen_tank, /turf/open/floor/engine/n2, /area/engine/atmos) -"pOg" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/guideline/guideline_edge/darkblue{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/hallway/primary/fore) "pOj" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -50328,16 +50330,6 @@ }, /turf/open/floor/iron/dark, /area/chapel/office) -"pPo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/catwalk_floor, -/area/maintenance/department/bridge) "pPs" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/iron/white/side, @@ -50368,16 +50360,6 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/solar/starboard/aft) -"pQm" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/engine{ - initial_gas_mix = "n2=100;TEMP=80"; - name = "mainframe floor" - }, -/area/tcommsat/server) "pQu" = ( /obj/machinery/advanced_airlock_controller/directional/north, /obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ @@ -50747,6 +50729,17 @@ /obj/item/firing_pin/off_station{ pixel_y = 11 }, +/obj/item/folder/red{ + pixel_x = 8 + }, +/obj/item/paper_bin{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/pen/red{ + pixel_x = -5; + pixel_y = 5 + }, /turf/open/floor/iron/dark, /area/security/warden) "pVF" = ( @@ -50809,18 +50802,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/maintenance/department/science) -"pWj" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/recharge_station, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd") +"pWk" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") }, -/obj/effect/landmark/start/cyborg, -/turf/open/floor/circuit, -/area/science/robotics/mechbay) +/turf/open/floor/engine/n2o, +/area/engine/atmos) "pWo" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -50858,6 +50845,14 @@ }, /turf/open/floor/iron/white, /area/medical/apothecary) +"pXa" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/fore) "pXK" = ( /turf/closed/wall, /area/bridge) @@ -50911,6 +50906,19 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) +"pYp" = ( +/obj/machinery/computer/card/minor/hos{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","security") + }, +/turf/open/floor/iron/ridged/steel, +/area/crew_quarters/heads/hos) "pYw" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -51009,6 +51017,17 @@ }, /turf/open/floor/plating, /area/maintenance/department/security) +"pZd" = ( +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/machinery/camera/autoname{ + dir = 5; + network = list("ss13","security") + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/carpet/red, +/area/crew_quarters/heads/hos) "pZe" = ( /obj/machinery/light{ dir = 8 @@ -51087,6 +51106,28 @@ /obj/item/stack/sheet/mineral/plasma/fifty, /turf/open/floor/iron/dark, /area/engine/engine_room) +"pZX" = ( +/obj/structure/table, +/obj/item/gun/energy/laser/practice{ + pixel_y = 6 + }, +/obj/item/gun/energy/laser/practice{ + pixel_y = 3 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/dark, +/area/science/misc_lab/range) +"pZZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/maintenance/department/bridge) "qag" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -51096,19 +51137,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"qap" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/atmos) "qat" = ( /obj/structure/window/reinforced{ layer = 2 @@ -51147,6 +51175,20 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/crew_quarters/dorms) +"qaY" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/power/port_gen/pacman, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/engine/engine_room) "qbc" = ( /obj/machinery/computer/mecha{ dir = 8 @@ -51194,16 +51236,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/solar/port/fore) -"qbq" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/hallway/primary/port) "qbO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -51487,19 +51519,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"qhm" = ( -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/structure/cable/cyan{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - c_tag = "MiniSat Upload West"; - network = list("minisat","aiupload") - }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat/foyer) "qhN" = ( /obj/machinery/door/airlock/highsecurity{ name = "Emergency Access"; @@ -51579,21 +51598,6 @@ dir = 8 }, /area/medical/genetics/cloning) -"qjO" = ( -/obj/structure/table/reinforced, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 - }, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = -5 - }, -/obj/item/geiger_counter, -/obj/machinery/airalarm/engine{ - dir = 8; - pixel_x = -23 - }, -/turf/open/floor/iron, -/area/engine/engine_room) "qjY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -51642,6 +51646,19 @@ }, /turf/open/floor/iron/white, /area/medical/genetics) +"qkx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/atmos) "qkS" = ( /obj/effect/turf_decal/guideline/guideline_in/darkblue{ dir = 8 @@ -51788,6 +51805,48 @@ dir = 8 }, /area/science/mixing) +"qnR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd","xeno") + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron/white, +/area/science/xenobiology) +"qnW" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/camera/directional/north{ + view_range = 12 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_y = 34 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/hallway/primary/central) "qnY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -51800,6 +51859,14 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"qob" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron/dark, +/area/science/mixing) "qoc" = ( /obj/machinery/space_heater, /obj/effect/turf_decal/tile/yellow/anticorner, @@ -51938,6 +52005,12 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/iron/techmaint, /area/security/prison/shielded) +"qpr" = ( +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/airless, +/area/engine/atmos) "qpu" = ( /obj/structure/window/reinforced, /turf/open/floor/iron/dark/smooth_large, @@ -52056,6 +52129,12 @@ /obj/structure/flora/ausbushes/palebush, /turf/open/floor/grass, /area/hallway/primary/central) +"qsw" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/co2, +/area/engine/atmos) "qsz" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/structure/cable/yellow{ @@ -52070,6 +52149,26 @@ }, /turf/open/floor/iron/white, /area/science/research) +"qsE" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Toxins Mixers"; + name = "science camera"; + network = list("ss13","rd") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/item/radio/intercom{ + pixel_x = 32; + pixel_y = -3 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/science/mixing) "qsI" = ( /obj/structure/closet/secure_closet/bar, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -52244,17 +52343,6 @@ /obj/effect/turf_decal/guideline/guideline_in/blue, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"quK" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron, -/area/hallway/primary/fore) "qva" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -52321,6 +52409,28 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) +"qvV" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch/tcomms{ + pixel_x = 12; + pixel_y = -21 + }, +/obj/machinery/light_switch{ + name = "Control Room light switch"; + pixel_x = -10; + pixel_y = -21 + }, +/obj/machinery/light, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/dark/telecomms{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15" + }, +/area/engine/gravity_generator) "qwL" = ( /obj/structure/sign/poster/random, /turf/closed/wall, @@ -52439,6 +52549,16 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/wood, /area/vacant_room/office) +"qzm" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Core Hallway 4"; + network = list("minisat") + }, +/turf/open/floor/plating, +/area/ai_monitored/storage/satellite) "qzz" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -52464,6 +52584,19 @@ }, /turf/open/floor/iron, /area/science/robotics) +"qAr" = ( +/obj/machinery/light{ + bulb_colour = "#FFCEA6"; + dir = 4; + nightshift_light_color = "#FFB16E" + }, +/obj/machinery/camera/autoname{ + dir = 6; + pixel_y = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/wood, +/area/crew_quarters/heads/captain) "qAA" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -52665,21 +52798,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) -"qCu" = ( -/obj/machinery/door/airlock/atmos{ - name = "atmospherics Storage"; - req_access = "24" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/button{ - id = "atmosshutters"; - pixel_y = -25 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "qCD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc{ @@ -52706,23 +52824,6 @@ dir = 10 }, /area/science/mixing) -"qCN" = ( -/obj/machinery/camera/autoname{ - dir = 6; - network = list("ss13","prison") - }, -/obj/item/radio/intercom{ - desc = "Talk through this. It looks like it has been modified to not broadcast."; - freerange = 1; - name = "Prison intercom"; - pixel_x = 25; - prison_radio = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/prison) "qCQ" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ alpha = 180 @@ -52871,6 +52972,17 @@ }, /turf/open/floor/carpet/green, /area/hallway/secondary/exit/departure_lounge) +"qEQ" = ( +/obj/structure/rack, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/firealarm/directional/east, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ai_monitored/storage/satellite) "qET" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -52906,6 +53018,16 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) +"qFC" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_edge/purple{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/primary/port) "qFE" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -53180,20 +53302,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/eva) -"qKS" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","security") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/iron/dark, -/area/security/brig{ - name = "Brig Evidence" - }) "qKX" = ( /obj/structure/bed{ dir = 4 @@ -53229,14 +53337,6 @@ }, /turf/open/floor/iron, /area/science/shuttledock) -"qLC" = ( -/obj/machinery/camera/motion/directional/west{ - c_tag = "MiniSat Exterior 4"; - network = list("minisat") - }, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "qLL" = ( /obj/docking_port/stationary{ dir = 8; @@ -53383,6 +53483,18 @@ }, /turf/open/floor/iron, /area/engine/atmos) +"qOm" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/machinery/newscaster{ + pixel_x = 32; + pixel_y = 1 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/turf/open/floor/iron/white, +/area/crew_quarters/kitchen) "qOG" = ( /obj/effect/landmark/event_spawn, /obj/structure/cable/yellow{ @@ -53465,14 +53577,6 @@ /obj/structure/sign/warning/nosmoking/circle, /turf/closed/wall, /area/engine/engine_room) -"qPQ" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - alpha = 180 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron, -/area/engine/storage) "qPU" = ( /obj/machinery/light_switch{ pixel_y = -20 @@ -53622,13 +53726,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"qSv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/holopad, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/tech, -/area/engine/atmos) "qSE" = ( /obj/structure/table/reinforced, /obj/item/clothing/head/utility/welding{ @@ -53711,11 +53808,6 @@ }, /turf/open/floor/iron/white, /area/medical/cryo) -"qTs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/iron/tech, -/area/engine/atmos) "qTF" = ( /turf/closed/wall/r_wall, /area/engine/storage) @@ -53977,47 +54069,13 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/security/brig/medbay) -"qXd" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/iron, -/area/engine/atmos) -"qXr" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Science - Toxins Mixing Lab Burn Chamber"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 32 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +"qXs" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/side{ - dir = 5 + dir = 4 }, -/area/science/mixing/chamber) +/area/hallway/primary/central) "qXx" = ( /obj/effect/turf_decal/tile/dark_green/half/contrasted{ dir = 8 @@ -54030,6 +54088,11 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"qXB" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/tech, +/area/engine/atmos) "qXN" = ( /obj/machinery/flasher{ id = "monkeypen"; @@ -54081,18 +54144,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/engine) -"qYz" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/science/lobby) "qYC" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -54105,6 +54156,25 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/central) +"qYG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/button/door{ + id = "hopshutter"; + name = "Privacy Shutter Control"; + pixel_x = -25; + req_access_txt = "57" + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/bridge) "qYR" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -54118,6 +54188,25 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark, /area/science/server) +"qYY" = ( +/obj/machinery/microwave{ + desc = "Cooks and boils stuff, somehow."; + pixel_x = -3; + pixel_y = 5 + }, +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/item/storage/box/donkpockets, +/turf/open/floor/iron, +/area/medical/break_room) "qYZ" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible, /obj/machinery/atmospherics/pipe/simple/purple/visible{ @@ -54251,6 +54340,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark, /area/security/brig/dock) +"raT" = ( +/obj/structure/table/reinforced, +/obj/item/rcl/pre_loaded, +/obj/item/rcl/pre_loaded, +/obj/item/storage/box/lights/mixed{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/engine/engine_room) "rbi" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -54472,19 +54580,6 @@ dir = 4 }, /area/science/research) -"rdT" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/spawner/randomvend/cola, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/engine/break_room) "reb" = ( /obj/effect/decal/cleanable/glass{ dir = 1 @@ -54506,20 +54601,6 @@ burnt = 1 }, /area/hallway/secondary/service) -"reA" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"reC" = ( -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron, -/area/ai_monitored/security/armory) "reS" = ( /obj/effect/landmark/start/janitor, /turf/open/floor/iron, @@ -54747,6 +54828,22 @@ }, /turf/open/floor/iron/dark, /area/security/brig/medbay) +"rhU" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/obj/effect/turf_decal/guideline/guideline_edge/purple, +/obj/item/kirbyplants/random, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/science/research) "rie" = ( /obj/effect/turf_decal/stripes/closeup, /turf/open/floor/plating/airless, @@ -54957,6 +55054,20 @@ }, /turf/open/floor/plating, /area/medical/apothecary) +"rlT" = ( +/obj/machinery/doppler_array/research/science{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","rd") + }, +/turf/open/floor/iron, +/area/science/misc_lab) "rlV" = ( /turf/open/floor/iron/dark, /area/science/robotics/mechbay) @@ -55022,14 +55133,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/captain/private) -"rna" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/engine/engine_room) "rnw" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -55152,11 +55255,10 @@ }, /turf/open/floor/plating, /area/science/research) -"rpI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/royalblack, -/area/library) +"rpK" = ( +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) "rqd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -55227,6 +55329,12 @@ /obj/structure/chair/wood/normal, /turf/open/floor/carpet/green, /area/security/courtroom) +"rqA" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/air, +/area/engine/atmos) "rqC" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -55234,6 +55342,17 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron, /area/hallway/secondary/service) +"rqH" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/medical, +/obj/effect/spawner/lootdrop/techstorage/medical, +/obj/machinery/airalarm/directional/north{ + pixel_y = 22 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/storage/tech) "rqR" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -55291,33 +55410,6 @@ /obj/effect/turf_decal/guideline/guideline_edge/darkblue, /turf/open/floor/iron, /area/hallway/primary/fore) -"rrQ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/engine/atmos) -"rsh" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 4 - }, -/obj/item/radio/intercom{ - dir = 8; - freerange = 1; - name = "Station Intercom (Captain)"; - pixel_x = 32; - pixel_y = -2 - }, -/obj/machinery/computer/med_data{ - dir = 8 - }, -/obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, -/turf/open/floor/iron/dark, -/area/bridge) "rsw" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -55350,16 +55442,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"rsY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "rtj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 @@ -55477,17 +55559,6 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre/backstage) -"rvD" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/bot, -/obj/item/food/meat/slab/penguin, -/obj/item/food/meat/slab/penguin, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron/white, -/area/crew_quarters/kitchen) "rvH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -55540,23 +55611,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"rwA" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/computer/security{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ - alpha = 180; - color = "#DE3A3A" - }, -/turf/open/floor/iron/dark, -/area/bridge) "rwK" = ( /obj/machinery/power/port_gen/pacman, /obj/machinery/status_display/evac{ @@ -55630,6 +55684,18 @@ dir = 4 }, /area/hallway/primary/central) +"rxB" = ( +/obj/structure/musician/piano{ + icon_state = "piano" + }, +/obj/machinery/light{ + light_color = "#7AC3FF" + }, +/obj/machinery/camera/autoname/directional/south{ + c_tag = "Captain's Quarters" + }, +/turf/open/floor/glass/reinforced, +/area/crew_quarters/cafeteria) "rxH" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -55688,6 +55754,35 @@ }, /turf/open/floor/iron, /area/science/lobby) +"ryj" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/camera/motion{ + c_tag = "vault"; + dir = 10; + network = list("ss13","security","cargo"); + pixel_y = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -22 + }, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka{ + pixel_x = -7; + pixel_y = 17 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/security/nuke_storage) "ryr" = ( /obj/effect/turf_decal/guideline/guideline_edge/purple{ dir = 8 @@ -55919,6 +56014,19 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"rBz" = ( +/obj/machinery/rnd/production/techfab/department/medical, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/stripes/box, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + pixel_x = 12; + pixel_y = 22 + }, +/turf/open/floor/iron, +/area/medical/storage) "rBF" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance/two, @@ -56009,32 +56117,18 @@ }, /turf/open/floor/iron/grid/steel, /area/hydroponics) -"rCK" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") +"rCP" = ( +/obj/effect/turf_decal/stripes/closeup{ + dir = 1 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/guideline/guideline_half_edge/red{ +/obj/machinery/airalarm/directional/east, +/obj/machinery/light{ dir = 4 }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/red{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/red{ - dir = 10 - }, -/obj/effect/turf_decal/guideline/guideline_tri/red, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/security/brig) +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/iron/dark, +/area/quartermaster/storage) "rCR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -56084,6 +56178,16 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"rDE" = ( +/obj/machinery/airalarm/directional/east, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","security","court") + }, +/turf/open/floor/wood, +/area/security/courtroom) "rDS" = ( /obj/effect/turf_decal/siding/wideplating/dark, /obj/structure/extinguisher_cabinet{ @@ -56176,15 +56280,6 @@ name = "mainframe floor" }, /area/tcommsat/server) -"rEC" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/carpet/blue, -/area/crew_quarters/cafeteria) "rEE" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -56206,6 +56301,16 @@ dir = 8 }, /area/hallway/primary/central) +"rEW" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) "rFa" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -56253,6 +56358,24 @@ }, /turf/open/floor/iron/tech, /area/engine/atmos) +"rGp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow, +/obj/machinery/suit_storage_unit/standard_unit, +/turf/open/floor/iron/tech, +/area/ai_monitored/storage/eva) +"rGC" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","prison") + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/security/prison/shielded) "rGQ" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -56349,19 +56472,6 @@ }, /turf/open/floor/iron/white, /area/security/brig/medbay) -"rIH" = ( -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/airalarm/directional/south, -/obj/structure/displaycase/captain, -/obj/machinery/light{ - bulb_colour = "#FFCEA6"; - nightshift_light_color = "#FFB16E" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/heads/captain/private) "rIN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -56526,6 +56636,28 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, /area/engine/engine_room) +"rLX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light, +/obj/machinery/camera/autoname/directional/south{ + pixel_x = 2 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/rack, +/obj/item/storage/toolbox/emergency, +/obj/item/multitool, +/obj/item/wrench, +/obj/item/radio/off, +/turf/open/floor/iron, +/area/bridge) "rMN" = ( /obj/structure/aquarium, /obj/structure/cable/yellow{ @@ -56539,6 +56671,30 @@ }, /turf/open/floor/iron/tech/grid, /area/engine/engine_room) +"rNi" = ( +/obj/item/kirbyplants/random, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = -32; + pixel_y = 3 + }, +/obj/machinery/newscaster{ + pixel_x = -32; + pixel_y = 34 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_x = 12; + pixel_y = 22 + }, +/turf/open/floor/iron/white, +/area/medical/office) "rNr" = ( /turf/closed/wall, /area/chapel/office) @@ -56621,6 +56777,25 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"rON" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/spawner/randomvend/snack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, +/obj/item/radio/intercom{ + pixel_x = 1; + pixel_y = 30 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine") + }, +/turf/open/floor/iron, +/area/engine/break_room) "rPf" = ( /obj/machinery/atmospherics/pipe/manifold/green/visible{ dir = 1 @@ -56666,13 +56841,11 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/maintenance/department/medical/morgue) -"rQk" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/iron, -/area/hallway/primary/port) +"rQC" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/dark, +/area/bridge/meeting_room) "rQG" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/structure/reagent_dispensers/water_cooler, @@ -56759,6 +56932,12 @@ }, /turf/open/floor/iron/dark, /area/engine/engine_room) +"rSn" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/o2, +/area/engine/atmos) "rSL" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -56781,6 +56960,15 @@ }, /turf/open/floor/plating, /area/maintenance/department/bridge) +"rSN" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/structure/sign/painting/library{ + pixel_x = -32 + }, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/hallway/secondary/exit/departure_lounge) "rSS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, @@ -56832,15 +57020,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/storage/satellite) -"rTy" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Teleporter Room" - }, -/turf/open/floor/iron, -/area/hallway/primary/starboard) "rTK" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -56853,6 +57032,21 @@ }, /turf/open/floor/noslip/standard, /area/quartermaster/miningdock) +"rTS" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "rTU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -56956,6 +57150,20 @@ dir = 1 }, /area/hallway/primary/central) +"rVQ" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 1 + }, +/obj/machinery/light, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron/white, +/area/crew_quarters/heads/cmo) "rVX" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57141,19 +57349,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) -"rYF" = ( -/obj/structure/closet/secure_closet/security/science, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","rd") - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_y = -28 - }, -/turf/open/floor/iron, -/area/security/checkpoint/science) "rYG" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/under/color/jumpskirt/random, @@ -57224,6 +57419,28 @@ /obj/effect/decal/cleanable/insectguts, /turf/open/floor/plating, /area/maintenance/port/aft) +"saj" = ( +/obj/effect/turf_decal/tile/red/fourcorners/contrasted, +/obj/machinery/camera/autoname{ + dir = 6; + network = list("ss13","prison") + }, +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + freerange = 1; + name = "Prison intercom"; + pixel_x = 25; + prison_radio = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/prison, +/area/security/prison) "sal" = ( /obj/structure/railing{ dir = 1; @@ -57325,6 +57542,25 @@ }, /turf/open/floor/iron/dark, /area/science/nanite) +"sbt" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) +"sbZ" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/engine/vacuum, +/area/engine/atmos) "scb" = ( /turf/closed/wall/r_wall, /area/storage/tech) @@ -57417,22 +57653,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"sdZ" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = 1; - pixel_y = 23 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Teleporter Room" - }, -/turf/open/floor/iron/white, -/area/crew_quarters/kitchen) "sel" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/iron/tech, @@ -57479,14 +57699,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"ser" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/medical/exam_room) "ses" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow{ @@ -57499,28 +57711,6 @@ }, /turf/open/floor/plating, /area/bridge) -"sez" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/red, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") - }, -/obj/machinery/light_switch{ - pixel_y = -25 - }, -/turf/open/floor/iron, -/area/security/brig) -"seE" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/item/reagent_containers/glass/bucket{ - pixel_x = -2; - pixel_y = 10 - }, -/turf/open/floor/iron/dark, -/area/security/execution/education) "seK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -57590,24 +57780,16 @@ }, /turf/open/floor/iron, /area/hallway/primary/starboard) -"sfi" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/compressor{ - comp_id = "incineratorturbine"; - dir = 8; - luminosity = 2 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Turbine Chamber"; - network = list("turbine") +"sfh" = ( +/obj/structure/lattice, +/obj/machinery/camera/motion/directional/east{ + c_tag = "ion 2"; + name = "Ion 2"; + network = list("Ion"); + view_range = 8 }, -/turf/open/floor/engine/vacuum, -/area/engine/atmospherics_engine) +/turf/open/space/basic, +/area/space/nearstation) "sfq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -57864,19 +58046,23 @@ }, /turf/open/floor/plating, /area/quartermaster/sorting) -"sjV" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/turf/closed/wall/r_wall, -/area/security/prison/shielded) -"skr" = ( -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced{ - dir = 4; - layer = 1 +"skp" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") +/turf/open/floor/wood, +/area/security/prison) +"skt" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, /turf/open/floor/iron, /area/engine/atmos) @@ -57949,17 +58135,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/maintenance/solars/port/aft) -"sla" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/obj/structure/closet/secure_closet/chemical, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/item/storage/box/pillbottles, -/turf/open/floor/iron, -/area/medical/apothecary) "slj" = ( /obj/structure/lattice/catwalk, /obj/structure/table, @@ -58118,6 +58293,15 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/construction/mining/aux_base) +"snE" = ( +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/camera/directional/north, +/obj/vehicle/ridden/janicart, +/obj/item/key/janitor, +/turf/open/floor/iron, +/area/janitor) "snK" = ( /obj/effect/turf_decal/tile/dark_green/half/contrasted{ dir = 1 @@ -58130,6 +58314,18 @@ }, /turf/open/floor/carpet/purple, /area/crew_quarters/heads/hor) +"snY" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners/contrasted{ + alpha = 230; + color = "#edaa0c" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","engine") + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/engine/engine_room) "soi" = ( /obj/effect/landmark/start/geneticist, /turf/open/floor/iron/white, @@ -58349,6 +58545,36 @@ dir = 1 }, /area/hallway/primary/central) +"stJ" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron/white, +/area/science/research) +"stN" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","prison","security") + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/button/door{ + id = "brigentrance"; + name = "Brig Lockdown Control"; + pixel_y = -25; + req_access_txt = "1" + }, +/turf/open/floor/iron/dark, +/area/security/prison{ + name = "Prison Processing" + }) "sud" = ( /obj/machinery/computer/security/telescreen/entertainment{ network = list("thunder","court"); @@ -58380,6 +58606,17 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/security/brig) +"suI" = ( +/obj/machinery/computer/secure_data{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/security/checkpoint/science) "suJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58650,6 +58887,24 @@ /obj/machinery/power/port_gen/pacman, /turf/open/floor/iron/tech/grid, /area/engine/engineering) +"syI" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) +"syO" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay"); + view_range = 8 + }, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = 32; + pixel_y = -3 + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "syT" = ( /obj/machinery/light{ dir = 4 @@ -58675,21 +58930,17 @@ }, /turf/open/floor/iron/white, /area/medical/genetics) -"szH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/machinery/camera/directional/north{ - c_tag = "Science - Toxins Mixing Lab Burn Chamber"; - name = "science camera"; - network = list("ss13","rd") - }, -/turf/open/floor/iron/dark, -/area/science/misc_lab/range) "szJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/maintenance/port/aft) +"szP" = ( +/obj/structure/chair/stool/bar/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) "szX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 @@ -58717,22 +58968,6 @@ }, /turf/open/space/basic, /area/solar/port/aft) -"sBq" = ( -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/tile/red/half/contrasted{ - alpha = 180; - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron, -/area/security/checkpoint/escape) "sBs" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 @@ -58796,6 +59031,19 @@ }, /turf/open/floor/plating, /area/library) +"sCn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/camera/autoname{ + dir = 6; + network = list("ss13","security") + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/iron/dark, +/area/security/brig/dock{ + name = "Security E.V.A. Storage" + }) "sCJ" = ( /mob/living/simple_animal/slime{ name = "sycamore" @@ -58842,14 +59090,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/construction/mining/aux_base) -"sDs" = ( -/obj/structure/chair/stool/bar/directional/west, -/obj/machinery/light_switch{ - pixel_x = -11; - pixel_y = 23 - }, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) "sDt" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -59195,14 +59435,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"sIY" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/directional/south, -/turf/open/floor/carpet/grimy, -/area/maintenance/port/aft) "sJf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -59296,25 +59528,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/crew_quarters/cafeteria) -"sKs" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/space/nearstation) -"sKy" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/chair/stool/directional/west, -/obj/effect/landmark/start/assistant, -/obj/machinery/light_switch{ - pixel_x = 23; - pixel_y = -25 - }, -/turf/open/floor/glass/reinforced, -/area/crew_quarters/cafeteria) "sKG" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -59349,11 +59562,15 @@ }, /turf/open/floor/iron, /area/medical/storage) -"sLd" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/cafeteria_red, -/area/crew_quarters/cafeteria) +"sLe" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","rd") + }, +/turf/open/floor/engine, +/area/science/mixing/chamber) "sLf" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8; @@ -59454,19 +59671,6 @@ /obj/machinery/vending/snack/blue, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"sMw" = ( -/obj/structure/table/wood, -/obj/item/kirbyplants/random{ - layer = 3; - pixel_y = 18 - }, -/obj/item/candle/infinite{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/machinery/camera/directional/north, -/turf/open/floor/carpet/purple, -/area/chapel/main) "sMy" = ( /obj/structure/table/wood, /obj/item/stack/package_wrap, @@ -59577,25 +59781,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) -"sOf" = ( -/obj/structure/closet/secure_closet/CMO, -/obj/item/clothing/glasses/hud/health{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = 1; - pixel_y = 29 - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/cmo) "sOl" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -59688,22 +59873,6 @@ /area/security/prison{ name = "Prison Visitation" }) -"sPX" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - alpha = 180; - dir = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/dark, -/area/security/checkpoint/engineering) "sPZ" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot, @@ -59822,6 +59991,22 @@ "sSc" = ( /turf/closed/wall, /area/science/nanite) +"sSg" = ( +/obj/effect/turf_decal/tile/neutral/anticorner{ + dir = 1 + }, +/obj/structure/closet, +/obj/item/clothing/head/chaplain/nun_hood, +/obj/item/clothing/suit/chaplainsuit/nun, +/obj/item/clothing/suit/chaplainsuit/holidaypriest, +/obj/item/storage/backpack/cultpack, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/item/grown/log, +/turf/open/floor/iron/dark, +/area/chapel/office) "sSl" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/white/half/contrasted{ @@ -59868,6 +60053,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/ai_upload) +"sSF" = ( +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","cargo") + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/hallway/primary/port) "sSH" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/door/firedoor, @@ -59990,6 +60185,13 @@ dir = 8 }, /area/medical/surgery) +"sVd" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/port) "sVi" = ( /turf/open/floor/iron/dark/side{ dir = 4 @@ -60236,6 +60438,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/medical/chemistry) +"sZP" = ( +/obj/structure/grille/broken, +/obj/structure/cable/yellow, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/central) "sZS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -60306,19 +60515,6 @@ name = "mainframe floor" }, /area/tcommsat/server) -"tar" = ( -/obj/machinery/cryopod, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - color = "#267878"; - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/crew_quarters/cryopods) "taz" = ( /obj/machinery/requests_console{ department = "Security"; @@ -60368,6 +60564,24 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/captain) +"taU" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron, +/area/engine/atmos) "taY" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -60449,6 +60663,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron, /area/engine/atmospherics_engine) +"tcL" = ( +/obj/machinery/chem_master/condimaster, +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/crew_quarters/bar) "tda" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -60488,22 +60712,6 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) -"tdm" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/camera/directional/east{ - c_tag = "Interrogation room"; - network = list("interrogation") - }, -/obj/effect/turf_decal/box, -/turf/open/floor/iron/dark, -/area/security/brig{ - name = "Brig Interrogation" - }) "tdF" = ( /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 @@ -60566,20 +60774,34 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/iron, /area/maintenance/starboard/aft) -"teY" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -33 +"teR" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = 8; + pixel_y = 6 }, -/obj/machinery/disposal/bin, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ +/obj/item/storage/fancy/donut_box{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/machinery/light{ dir = 8 }, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/janitor) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/item/book/manual/wiki/sopcommand, +/obj/item/book/manual/wiki/sopservice, +/obj/item/book/manual/wiki/sopsupply, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) "tfd" = ( /obj/structure/chair/fancy/corp, /obj/effect/landmark/start/head_of_security, @@ -60615,13 +60837,6 @@ /obj/machinery/advanced_airlock_controller/directional/west, /turf/open/floor/plating, /area/hallway/secondary/entry) -"tfA" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) "tfC" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -60745,6 +60960,24 @@ }, /turf/open/floor/iron/half, /area/hallway/primary/central) +"thC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/maintenance/solars/starboard/fore) "thE" = ( /obj/effect/turf_decal/tile/dark_blue{ alpha = 180 @@ -60793,15 +61026,6 @@ }, /turf/open/floor/iron/tech, /area/ai_monitored/storage/eva) -"tiq" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","prison") - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/security/prison/shielded) "tiF" = ( /obj/machinery/firealarm/directional/south, /turf/open/floor/carpet/purple, @@ -60845,6 +61069,23 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plating, /area/hallway/secondary/entry) +"tiX" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/computer/slot_machine, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet, +/area/crew_quarters/cafeteria) "tjh" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -61053,47 +61294,6 @@ }, /turf/open/floor/plating, /area/science/research) -"tmw" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","cargo") - }, -/obj/machinery/button/door{ - id = "QMLoaddoor2"; - layer = 4; - name = "Loading Doors"; - pixel_x = -25; - pixel_y = 4; - req_access_txt = "31" - }, -/obj/machinery/button/door{ - id = "QMLoaddoor"; - layer = 4; - name = "Loading Doors"; - pixel_x = -25; - pixel_y = -5; - req_access_txt = "31" - }, -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = -40; - pixel_y = -3 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/iron, -/area/quartermaster/storage) "tmA" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -61472,19 +61672,6 @@ }, /turf/open/floor/iron, /area/engine/storage) -"tqM" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/closet/radiation, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/turf/open/floor/noslip/standard, -/area/engine/engineering) "tqN" = ( /obj/effect/turf_decal/bot/left, /turf/open/floor/iron/techmaint, @@ -61520,6 +61707,17 @@ }, /turf/open/floor/iron/white, /area/science/research) +"tqY" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/obj/machinery/chem_dispenser/mutagensaltpetersmall, +/turf/open/floor/iron/grid/steel, +/area/hydroponics) "trg" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -61600,23 +61798,6 @@ }, /turf/open/floor/glass/reinforced, /area/chapel/main) -"tsf" = ( -/obj/structure/dresser, -/obj/item/camera{ - pixel_y = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/wood, -/area/crew_quarters/heads/captain) "tsH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -61667,6 +61848,21 @@ "ttt" = ( /turf/closed/wall, /area/quartermaster/qm) +"ttJ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/techstorage/security, +/obj/effect/spawner/lootdrop/techstorage/security, +/obj/machinery/requests_console{ + department = "Tech storage"; + name = "Tech Storage RC"; + pixel_x = -30 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","security") + }, +/turf/open/floor/iron/dark, +/area/storage/tech) "ttK" = ( /obj/effect/turf_decal/guideline/guideline_in/darkblue{ dir = 8 @@ -61690,6 +61886,21 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"ttW" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/turf/open/floor/iron/dark, +/area/engine/engine_room) "tuq" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -61760,6 +61971,31 @@ }, /turf/open/floor/iron, /area/security/brig/dock) +"tvv" = ( +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + dir = 10 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_tri/blue, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + view_range = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/iron/white/side{ + dir = 10 + }, +/area/medical/medbay/central) "tvG" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -61784,24 +62020,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"twc" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") - }, -/obj/effect/turf_decal/bot, -/obj/machinery/requests_console{ - department = "Science"; - departmentType = 2; - name = "Science Requests Console"; - pixel_y = -30; - receive_ore_updates = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/processor/slime, -/turf/open/floor/iron/grid/steel, -/area/science/xenobiology) "twg" = ( /mob/living/simple_animal/slime{ name = "alizee" @@ -62007,25 +62225,6 @@ "tyx" = ( /turf/open/floor/engine, /area/science/xenobiology) -"tyz" = ( -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") - }, -/obj/effect/turf_decal/guideline/guideline_in/purple{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/science/shuttledock) "tyB" = ( /obj/structure/window/reinforced, /obj/effect/turf_decal/delivery, @@ -62039,36 +62238,28 @@ }, /turf/open/floor/iron, /area/medical/medbay/lobby) -"tyE" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" +"tyR" = ( +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/iron, -/area/hallway/primary/aft) -"tyK" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/conveyor{ - dir = 8; - id = "MailConv" +/obj/structure/sign/departments/minsky/research/robotics{ + pixel_x = 32; + pixel_y = 32 }, -/obj/machinery/door/window/southleft{ - dir = 4; - icon_state = "right"; - id_tag = "Bountydoors"; - req_one_access_txt = "31;48" +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable/yellow{ - icon_state = "0-8" + icon_state = "0-2" }, -/turf/open/floor/iron/dark, -/area/quartermaster/office) +/turf/open/floor/iron, +/area/science/lobby) "tzk" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -32 @@ -62083,19 +62274,6 @@ dir = 4 }, /area/medical/sleeper) -"tzp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/fourcorners/contrasted{ - alpha = 180 - }, -/obj/effect/landmark/start/atmospheric_technician, -/turf/open/floor/iron, -/area/engine/atmos) "tzD" = ( /obj/machinery/atmospherics/components/unary/cryo_cell{ dir = 4; @@ -62104,6 +62282,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/medical/cryo) +"tzI" = ( +/obj/machinery/conveyor{ + id = "MailConv" + }, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","cargo") + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -32 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/office) "tzQ" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -62115,6 +62306,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/quartermaster/miningdock) +"tzT" = ( +/obj/structure/chair/wood/normal, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/apc/discharged, +/turf/open/floor/wood, +/area/library) "tzV" = ( /obj/effect/spawner/structure/window, /obj/structure/curtain/directional{ @@ -62157,13 +62360,6 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/office) -"tAq" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/dark, -/area/chapel/main) "tAu" = ( /obj/machinery/newscaster{ pixel_x = 32; @@ -62383,30 +62579,6 @@ }, /turf/open/floor/iron/dark, /area/engine/atmos) -"tDd" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/item/radio/intercom{ - pixel_x = -30; - pixel_y = -35 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/machinery/light_switch{ - pixel_x = -20; - pixel_y = 11 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "tDg" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, @@ -62571,18 +62743,6 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) -"tFD" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/security/main{ - name = "Security Locker Room" - }) "tFE" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -62637,29 +62797,6 @@ /obj/machinery/light, /turf/open/floor/iron/dark, /area/science/shuttledock) -"tGL" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -31 - }, -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/folder/red, -/obj/item/pen, -/obj/item/radio/off, -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "tGT" = ( /turf/closed/wall, /area/janitor) @@ -62766,6 +62903,24 @@ }, /turf/open/floor/wood, /area/chapel/office) +"tJq" = ( +/obj/machinery/status_display/ai{ + pixel_y = -32 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/small{ + brightness = 3 + }, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Technical Storage"; + name = "motion-sensitive Technical Storage"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/iron/techmaint, +/area/storage/tech) "tJr" = ( /obj/effect/turf_decal/guideline/guideline_edge/blue{ dir = 8 @@ -62817,6 +62972,12 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) +"tKf" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","engine") + }, +/turf/open/floor/engine/n2, +/area/engine/atmos) "tKh" = ( /obj/effect/spawner/structure/window, /obj/structure/cable/yellow{ @@ -62888,49 +63049,11 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"tMf" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/spawner/randomvend/snack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/item/radio/intercom{ - pixel_x = 1; - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine") - }, -/turf/open/floor/iron, -/area/engine/break_room) -"tMy" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/engine/engineering) "tMI" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance/eight, /turf/open/floor/plating, /area/maintenance/department/engine) -"tMP" = ( -/obj/machinery/rnd/production/circuit_imprinter, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/directional/north{ - c_tag = "Incinerator"; - network = list("ss13","engine") - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "tMV" = ( /obj/item/trash/raisins, /obj/effect/decal/cleanable/glass, @@ -62973,6 +63096,30 @@ }, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"tNc" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/radio/intercom{ + pixel_x = -30; + pixel_y = -35 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/machinery/light_switch{ + pixel_x = -20; + pixel_y = 11 + }, +/turf/open/floor/iron, +/area/security/checkpoint/medical) "tNg" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -63041,6 +63188,18 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plating, /area/engine/atmos) +"tPx" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/hallway/primary/aft) "tPQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63108,13 +63267,6 @@ burnt = 1 }, /area/maintenance/department/medical/morgue) -"tQl" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Xenobiology Lab - Pen #1"; - network = list("ss13","rd","xeno") - }, -/turf/open/floor/engine, -/area/science/xenobiology) "tQo" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/bot, @@ -63257,19 +63409,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"tRX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - pixel_x = -20; - pixel_y = 22 - }, -/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/science/nanite) "tSg" = ( /obj/effect/turf_decal/tile/black/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -63357,20 +63496,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/tech, /area/engine/atmos) -"tTZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/curtain/directional, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/crew_quarters/heads/chief) "tUd" = ( /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/slime{ @@ -63450,6 +63575,24 @@ /obj/item/storage/box/bodybags, /turf/open/floor/iron/white, /area/science/robotics) +"tVv" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark_red{ + alpha = 180; + color = "#DE3A3A"; + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark, +/area/security/warden) "tVL" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ alpha = 180; @@ -63639,19 +63782,6 @@ }, /turf/open/floor/iron, /area/medical/genetics/cloning) -"tYM" = ( -/obj/machinery/rnd/production/techfab/department/medical, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/stripes/box, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_x = 12; - pixel_y = 22 - }, -/turf/open/floor/iron, -/area/medical/storage) "tYV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63694,16 +63824,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/engine/engine_room) -"tZn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "tZp" = ( /obj/structure/reflector/single/anchored{ dir = 5 @@ -63737,21 +63857,6 @@ }, /turf/open/floor/iron/white, /area/medical/sleeper) -"tZU" = ( -/obj/machinery/atmospherics/pipe/simple/dark/visible, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/engine/atmos) "ual" = ( /obj/structure/sign/poster/official/walk, /turf/closed/wall/r_wall, @@ -63834,6 +63939,15 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/crew_quarters/cafeteria) +"uci" = ( +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/ai_monitored/security/armory) "ucq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -63904,24 +64018,6 @@ /obj/effect/spawner/lootdrop/ruinloot/medical, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"udB" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -26; - pixel_y = 1 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/storage/toolbox/mechanical, -/obj/item/multitool, -/obj/item/stack/cable_coil/cyan, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat_interior) "udI" = ( /obj/structure/window/reinforced{ dir = 8; @@ -63994,11 +64090,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/crew_quarters/bar) -"ufa" = ( -/obj/machinery/atmospherics/pipe/manifold4w/green/visible, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "uff" = ( /obj/effect/turf_decal/bot, /obj/structure/cable/yellow{ @@ -64024,19 +64115,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/vacant_room/commissary/commissary1) -"ufy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light, -/obj/machinery/requests_console{ - department = "Genetics"; - name = "Genetics Requests Console"; - pixel_y = -34 - }, -/turf/open/floor/iron/white, -/area/medical/genetics) "ufK" = ( /obj/effect/turf_decal/tile/blue/half{ dir = 1 @@ -64233,6 +64311,23 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/storage) +"uim" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","security") + }, +/obj/effect/turf_decal/guideline/guideline_edge/red, +/obj/item/radio/intercom{ + dir = 1; + pixel_x = 1; + pixel_y = -36 + }, +/turf/open/floor/iron, +/area/security/main{ + name = "Security Viewing Hall" + }) "uin" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -64275,20 +64370,6 @@ /obj/machinery/air_sensor/atmos/nitrous_tank, /turf/open/floor/engine/n2o, /area/engine/atmos) -"uiU" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 1 - }, -/obj/machinery/light, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/white, -/area/crew_quarters/heads/cmo) "uiZ" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 8; @@ -64516,16 +64597,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/crew_quarters/cafeteria) -"unc" = ( -/obj/machinery/gateway{ - dir = 6 - }, -/obj/effect/turf_decal/box/corners, -/obj/machinery/airalarm/directional/east{ - pixel_x = 24 - }, -/turf/open/floor/iron/techmaint, -/area/gateway) "unq" = ( /obj/structure/tank_dispenser/oxygen, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -64605,13 +64676,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/wood, /area/maintenance/port/aft) -"uor" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "uox" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -64663,13 +64727,6 @@ }, /turf/open/floor/carpet/purple, /area/chapel/main) -"upx" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "upD" = ( /obj/structure/table, /obj/item/assembly/igniter{ @@ -64783,25 +64840,6 @@ }, /turf/open/floor/iron/dark, /area/science/robotics) -"usf" = ( -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -3; - pixel_y = 5 - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/item/storage/box/donkpockets, -/turf/open/floor/iron, -/area/medical/break_room) "usu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -64832,6 +64870,24 @@ /area/security/main{ name = "Security Break Room" }) +"utb" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "utc" = ( /obj/machinery/door/poddoor{ id = "toxinsdriver"; @@ -64993,19 +65049,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/port) -"uvp" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay"); - view_range = 8 - }, -/obj/item/radio/intercom{ - dir = 1; - pixel_x = 32; - pixel_y = -3 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/bar) "uvC" = ( /obj/effect/turf_decal/bot, /obj/structure/window/reinforced{ @@ -65049,11 +65092,6 @@ }, /turf/open/floor/iron, /area/security/brig) -"uwq" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark, -/area/bridge/meeting_room) "uwF" = ( /obj/structure/chair/office{ dir = 8 @@ -65100,13 +65138,6 @@ }, /turf/open/floor/iron, /area/maintenance/department/medical/morgue) -"uxt" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay") - }, -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/blue, -/area/medical/exam_room) "uxv" = ( /obj/machinery/conveyor{ dir = 8; @@ -65328,6 +65359,14 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/iron, /area/hallway/primary/aft) +"uAF" = ( +/obj/structure/window/reinforced, +/obj/structure/flora/ausbushes/fullgrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/fernybush, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/grass/no_border, +/area/hallway/secondary/exit/departure_lounge) "uAH" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced{ @@ -65370,26 +65409,6 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/exploration_prep) -"uBE" = ( -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 5; - pixel_y = 30 - }, -/obj/machinery/camera/directional/north{ - c_tag = "Security Post - Medbay"; - network = list("ss13","medbay") - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/structure/closet/secure_closet/security/med, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/security/checkpoint/medical) "uBW" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/modular_computer/console/preset/engineering, @@ -65434,15 +65453,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/grimy, /area/chapel/office) -"uCA" = ( -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 4 - }, -/obj/machinery/camera/directional/north, -/obj/vehicle/ridden/janicart, -/obj/item/key/janitor, -/turf/open/floor/iron, -/area/janitor) "uCC" = ( /turf/closed/wall, /area/maintenance/solars/starboard/fore) @@ -65513,6 +65523,17 @@ }, /turf/open/floor/iron, /area/crew_quarters/dorms) +"uDE" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/structure/closet/secure_closet/chemical, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/item/storage/box/pillbottles, +/turf/open/floor/iron, +/area/medical/apothecary) "uDJ" = ( /obj/effect/turf_decal/caution/stand_clear{ dir = 8 @@ -65553,11 +65574,6 @@ }, /turf/open/floor/iron, /area/quartermaster/qm) -"uDU" = ( -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/engine/storage) "uEa" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron/grid/steel, @@ -65647,28 +65663,6 @@ }, /turf/open/floor/iron/dark, /area/vacant_room/commissary/commissary1) -"uEO" = ( -/obj/structure/closet/secure_closet/hop, -/obj/item/modular_computer/tablet/pda, -/obj/item/modular_computer/tablet/pda, -/obj/item/modular_computer/tablet/pda, -/obj/item/modular_computer/tablet/pda, -/obj/item/modular_computer/tablet/pda, -/obj/machinery/newscaster{ - pixel_x = 1; - pixel_y = 33 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/crew_quarters/heads/hop) "uEP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -65714,16 +65708,6 @@ }, /turf/open/floor/plating, /area/engine/supermatter) -"uFQ" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/iron/tech, -/area/engine/atmos) "uFU" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/secure_closet/chemical, @@ -65742,6 +65726,19 @@ }, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/aisat/foyer) +"uGj" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/machinery/camera/motion/directional/east{ + c_tag = "ion 1"; + name = "Ion 1"; + network = list("Ion"); + view_range = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "uGm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -65824,6 +65821,22 @@ }, /turf/open/floor/iron, /area/medical/medbay/central) +"uIo" = ( +/obj/machinery/computer/security{ + pixel_y = -3 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","security") + }, +/obj/machinery/computer/security/telescreen{ + network = list("ss13"); + pixel_y = 25 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/red, +/area/security/detectives_office) "uIs" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -65892,6 +65905,14 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) +"uJy" = ( +/obj/structure/lattice, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - Internal"; + network = list("ss13","security") + }, +/turf/open/space/basic, +/area/space/nearstation) "uJB" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65923,6 +65944,20 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"uKc" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/science/robotics) "uKh" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ alpha = 180; @@ -66092,6 +66127,14 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/maintenance/central) +"uLK" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Xenobiology Lab - Pen #5"; + network = list("ss13","rd","xeno") + }, +/obj/structure/window/reinforced, +/turf/open/floor/engine, +/area/science/xenobiology) "uLR" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -66207,6 +66250,13 @@ /obj/effect/decal/cleanable/dirt, /turf/closed/wall, /area/maintenance/department/science) +"uOy" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/hallway/primary/central) "uOK" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/firealarm/directional/east, @@ -66225,6 +66275,22 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/sepia, /area/quartermaster/storage) +"uPj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/hallway/primary/central) "uPm" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/bot{ @@ -66306,18 +66372,6 @@ }, /turf/open/floor/iron/dark, /area/security/brig/dock) -"uQw" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/atmos) "uQx" = ( /obj/structure/fluff/paper/stack, /obj/structure/mopbucket, @@ -66342,6 +66396,16 @@ }, /turf/open/floor/iron/dark, /area/gateway) +"uRk" = ( +/obj/machinery/airalarm/directional/south{ + pixel_y = -22 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","cargo") + }, +/obj/structure/closet/crate/mail, +/turf/open/floor/iron, +/area/quartermaster/sorting) "uRo" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/manifold4w/cyan/visible, @@ -66369,6 +66433,11 @@ dir = 1 }, /area/medical/sleeper) +"uRO" = ( +/obj/effect/turf_decal/box/corners, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/engine, +/area/science/explab) "uSo" = ( /obj/effect/turf_decal/tile/black/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -66579,6 +66648,23 @@ /obj/structure/cable/yellow, /turf/open/floor/plating, /area/bridge/meeting_room) +"uWx" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd") + }, +/obj/machinery/requests_console{ + department = "Science"; + departmentType = 2; + name = "Science RC"; + pixel_y = 30; + receive_ore_updates = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple/fourcorners/contrasted, +/turf/open/floor/iron/dark, +/area/science/nanite) "uWy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -66672,17 +66758,6 @@ /obj/effect/decal/cleanable/generic, /turf/open/floor/plating/rust, /area/maintenance/starboard/aft) -"uXH" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/bot, -/obj/machinery/newscaster{ - pixel_y = 34 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") - }, -/turf/open/floor/iron, -/area/medical/surgery) "uXJ" = ( /obj/effect/turf_decal/tile/yellow/fourcorners/contrasted{ alpha = 230; @@ -66726,6 +66801,23 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) +"uXR" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/obj/item/radio/intercom{ + pixel_x = 33; + pixel_y = -2 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Chamber" + }, +/turf/open/floor/engine, +/area/engine/supermatter) "uYh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -66866,13 +66958,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/sepia, /area/maintenance/port/central) -"vat" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/turf/open/floor/wood, -/area/library) "vbc" = ( /obj/effect/turf_decal/tile/blue{ alpha = 200; @@ -66897,27 +66982,6 @@ "vbe" = ( /turf/closed/wall/r_wall, /area/maintenance/department/security) -"vbr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/firealarm/directional/west{ - pixel_y = -2 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/button/flasher{ - id = "monkeypen"; - pixel_x = -22; - pixel_y = 10 - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","medbay") - }, -/turf/open/floor/iron/grid/steel, -/area/medical/virology) "vbu" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 8 @@ -66966,14 +67030,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/maintenance/department/medical/morgue) -"vcc" = ( -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/fore) "vcw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -67005,6 +67061,19 @@ }, /turf/open/floor/iron/dark/side, /area/hallway/secondary/exit/departure_lounge) +"vcU" = ( +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","medbay"); + view_range = 8 + }, +/obj/effect/turf_decal/guideline/guideline_edge/neutral{ + alpha = 255; + dir = 8 + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/medical/medbay/central) "vcX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor{ @@ -67043,22 +67112,6 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/iron/tech, /area/engine/atmos) -"vdZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/hallway/primary/central) "vei" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/yellow, @@ -67124,6 +67177,14 @@ }, /turf/open/floor/plating, /area/crew_quarters/dorms) +"vfP" = ( +/obj/structure/chair/stool/bar/directional/west, +/obj/machinery/light_switch{ + pixel_x = -11; + pixel_y = 23 + }, +/turf/open/floor/iron/cafeteria_red, +/area/crew_quarters/cafeteria) "vfR" = ( /turf/open/floor/iron/grid/steel, /area/science/xenobiology) @@ -67136,13 +67197,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"vfW" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 9 - }, -/obj/structure/lattice/catwalk, -/turf/open/floor/plating, -/area/space/nearstation) "vfY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -67256,6 +67310,14 @@ dir = 8 }, /area/science/lobby) +"vid" = ( +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/white, +/area/medical/genetics) "vin" = ( /obj/machinery/door/airlock/public/glass{ name = "Holodeck Access" @@ -67266,36 +67328,6 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) -"viN" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","cargo") - }, -/obj/machinery/firealarm/directional/east, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/maintenance/disposal) -"viR" = ( -/obj/machinery/light, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/structure/chair/fancy/bench{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") - }, -/obj/effect/turf_decal/guideline/guideline_edge/red, -/obj/machinery/light_switch{ - pixel_x = 1; - pixel_y = -24 - }, -/turf/open/floor/iron, -/area/security/main{ - name = "Security Viewing Hall" - }) "viS" = ( /obj/structure/table/wood/fancy/black, /obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb{ @@ -67331,6 +67363,14 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"vjx" = ( +/obj/machinery/gateway{ + dir = 6 + }, +/obj/effect/turf_decal/box/corners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/techmaint, +/area/gateway) "vjz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -67387,6 +67427,14 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/warehouse) +"vki" = ( +/obj/structure/chair, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/north{ + c_tag = "Teleporter Room" + }, +/turf/open/floor/iron/dark, +/area/hallway/secondary/exit/departure_lounge) "vkj" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/landmark/xeno_spawn, @@ -67549,18 +67597,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/engine/atmospherics_engine) -"vma" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "vmg" = ( /obj/effect/turf_decal/tile/purple/half/contrasted{ dir = 1 @@ -67633,14 +67669,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat_interior) -"vnI" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/blue/fourcorners/contrasted, -/obj/structure/cable/yellow, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white, -/area/medical/medbay/lobby) "vnQ" = ( /obj/machinery/light_switch{ pixel_x = -9; @@ -67776,15 +67804,6 @@ }, /turf/open/floor/iron/white, /area/crew_quarters/kitchen) -"vpz" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Xenobiology Lab - Pen #3"; - network = list("ss13","rd","xeno") - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/window/reinforced, -/turf/open/floor/engine, -/area/science/xenobiology) "vpR" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -67822,15 +67841,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"vqJ" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/turf/open/floor/iron/dark, -/area/crew_quarters/heads/chief) "vqT" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, @@ -67838,23 +67848,6 @@ /obj/structure/rack, /turf/open/floor/iron, /area/maintenance/port/aft) -"vqY" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") - }, -/obj/item/radio/intercom{ - pixel_x = 33; - pixel_y = -2 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Gas to Chamber" - }, -/turf/open/floor/engine, -/area/engine/supermatter) "vrh" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/effect/decal/cleanable/dirt, @@ -67992,6 +67985,22 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"vuI" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "24" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engine/atmos) "vvd" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/shower{ @@ -68023,6 +68032,11 @@ }, /turf/open/floor/iron, /area/medical/cryo) +"vvC" = ( +/obj/machinery/atmospherics/pipe/manifold4w/green/visible, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "vvJ" = ( /obj/item/storage/secure/safe{ pixel_x = 37; @@ -68030,24 +68044,6 @@ }, /turf/open/floor/iron, /area/vacant_room/commissary/commissary2) -"vvP" = ( -/obj/effect/turf_decal/tile/blue/half{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") - }, -/obj/machinery/airalarm/directional/north{ - pixel_y = 28 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/iron/white, -/area/medical/office) "vvU" = ( /obj/item/chair{ dir = 1 @@ -68063,17 +68059,6 @@ }, /turf/open/floor/engine, /area/engine/supermatter) -"vwm" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/hallway/secondary/exit/departure_lounge) "vwo" = ( /obj/effect/turf_decal/guideline/guideline_in/darkblue{ dir = 8 @@ -68088,6 +68073,12 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) +"vwR" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/construction/mining/aux_base) "vwY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 @@ -68104,6 +68095,31 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/science/mixing) +"vxB" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/closet/crate/miningcar{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/stack/sheet/mineral/coal/five{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/stack/sheet/mineral/sandstone/twenty{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/item/pickaxe{ + pixel_y = 2 + }, +/obj/machinery/light_switch{ + pixel_x = -20 + }, +/turf/open/floor/iron/dark, +/area/quartermaster/miningdock) "vxY" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted, /obj/structure/disposalpipe/segment{ @@ -68189,20 +68205,6 @@ }, /turf/open/floor/iron/half, /area/hallway/primary/central) -"vzd" = ( -/obj/structure/table, -/obj/item/gun/energy/laser/practice{ - pixel_y = 6 - }, -/obj/item/gun/energy/laser/practice{ - pixel_y = 3 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/iron/dark, -/area/science/misc_lab/range) "vzg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -68308,6 +68310,43 @@ }, /turf/open/floor/carpet/purple, /area/crew_quarters/heads/hor) +"vAV" = ( +/obj/structure/table/glass, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/item/reagent_containers/glass/bottle/epinephrine{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/syringe/antiviral, +/obj/item/reagent_containers/glass/bottle/charcoal{ + pixel_x = -4; + pixel_y = -3 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/yellow, +/obj/item/wallframe/defib_mount, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 5 + }, +/turf/open/floor/iron, +/area/medical/sleeper) "vBo" = ( /obj/effect/turf_decal/guideline/guideline_edge/purple, /turf/open/floor/iron/white/side{ @@ -68432,6 +68471,25 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"vDf" = ( +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","rd") + }, +/obj/effect/turf_decal/guideline/guideline_in/purple{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/science/shuttledock) "vDj" = ( /obj/structure/cable{ icon_state = "2-4" @@ -68631,13 +68689,6 @@ }, /turf/open/floor/iron, /area/medical/medbay/lobby) -"vFW" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/cafeteria) "vGb" = ( /obj/machinery/light{ dir = 4 @@ -68679,21 +68730,6 @@ }, /turf/open/floor/iron/large, /area/hallway/primary/central) -"vGq" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","security") - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/iron, -/area/hallway/primary/aft) "vGx" = ( /turf/open/floor/carpet/royalblack, /area/maintenance/port/aft) @@ -68797,28 +68833,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) -"vIZ" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/light{ - bulb_colour = "#22bfa2"; - bulb_vacuum_colour = "#22bfa2"; - dir = 8; - nightshift_light_color = "#22bfa2" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/red, -/turf/open/floor/iron/dark, -/area/security/brig/dock) "vJf" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -68862,20 +68876,24 @@ }, /turf/open/floor/iron/dark, /area/science/server) +"vJz" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/guideline/guideline_edge/red{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 2 + }, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","security") + }, +/turf/open/floor/iron, +/area/security/brig) "vJE" = ( /turf/closed/wall, /area/construction/mining/aux_base) -"vJG" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/porta_turret/ai{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/engine/o2, -/area/ai_monitored/turret_protected/ai) "vJQ" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -69044,37 +69062,6 @@ }, /turf/open/floor/iron/grid/steel, /area/hydroponics) -"vMB" = ( -/obj/structure/table/glass, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","medbay") - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 12; - pixel_y = 13 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = 12 - }, -/obj/item/storage/box/beakers{ - pixel_x = -2; - pixel_y = 3 - }, -/obj/item/storage/box/beakers{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/medical/apothecary) "vMG" = ( /obj/structure/railing{ layer = 3.1 @@ -69087,16 +69074,6 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron/dark/side, /area/hallway/primary/central) -"vMK" = ( -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/yellow, -/turf/open/floor/iron/white, -/area/science/research) "vMO" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/machinery/chem_master/condimaster{ @@ -69305,35 +69282,6 @@ }, /turf/open/floor/iron/dark, /area/science/misc_lab) -"vPT" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/motion{ - c_tag = "vault"; - dir = 10; - network = list("ss13","security","cargo"); - pixel_y = 8 - }, -/obj/machinery/airalarm/directional/west{ - pixel_x = -22 - }, -/obj/structure/table/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 5; - pixel_y = 11 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka{ - pixel_x = -7; - pixel_y = 17 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/security/nuke_storage) "vPW" = ( /obj/machinery/door/airlock/external{ req_one_access_txt = "49;47" @@ -69386,6 +69334,38 @@ }, /turf/open/floor/carpet, /area/maintenance/port/aft) +"vQE" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/clothing/suit/armor/bulletproof{ + pixel_y = 7 + }, +/obj/item/clothing/head/helmet/alt{ + layer = 3.00001; + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/alt{ + layer = 3.00001; + pixel_y = 1 + }, +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_y = -33 + }, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - Internal"; + network = list("ss13","security") + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/ai_monitored/security/armory) "vQL" = ( /obj/effect/decal/cleanable/generic, /obj/structure/cable/yellow{ @@ -69499,18 +69479,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron/white, /area/medical/surgery) -"vSw" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/candle/infinite{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/dark, -/area/chapel/main) "vST" = ( /obj/effect/turf_decal/tile/blue/fourcorners/contrasted, /obj/structure/disposalpipe/segment{ @@ -69540,19 +69508,25 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"vTi" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","prison") +"vTe" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ - alpha = 180; - color = "#DE3A3A" +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, /turf/open/floor/iron, -/area/security/prison{ - name = "Prison Visitation" - }) +/area/engine/atmos) "vTx" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/old, @@ -69590,6 +69564,21 @@ }, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"vUx" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/catwalk_floor, +/area/maintenance/starboard/aft) "vUy" = ( /obj/machinery/light{ dir = 4 @@ -69728,6 +69717,16 @@ }, /turf/open/floor/iron, /area/hydroponics) +"vWq" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron, +/area/science/shuttledock) "vWs" = ( /obj/effect/landmark/blobstart, /turf/open/floor/iron, @@ -69746,6 +69745,25 @@ /obj/machinery/suit_storage_unit/standard_unit, /turf/open/floor/iron/tech, /area/ai_monitored/storage/eva) +"vWW" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/closet/secure_closet/atmospherics{ + anchored = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "vXn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -69890,14 +69908,6 @@ /obj/machinery/light, /turf/open/floor/iron/dark, /area/quartermaster/storage) -"vZp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/maintenance/department/bridge) "vZx" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -69915,12 +69925,6 @@ /obj/effect/spawner/structure/window/depleteduranium, /turf/open/floor/engine, /area/engine/atmospherics_engine) -"vZZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/loading_area, -/turf/open/floor/iron/dark, -/area/engine/atmos) "wae" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -70014,6 +70018,13 @@ }, /turf/open/space/basic, /area/solar/port/aft) +"wbU" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "wcq" = ( /obj/structure/closet/crate, /obj/item/storage/box, @@ -70182,6 +70193,15 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) +"wdN" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","cargo") + }, +/turf/open/floor/noslip/standard, +/area/quartermaster/storage) "wdS" = ( /obj/structure/chair/fancy/comfy{ buildstackamount = 0; @@ -70203,37 +70223,6 @@ }, /turf/open/floor/iron/dark, /area/medical/genetics) -"wel" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","prison") - }, -/obj/structure/rack, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/tile/black/fourcorners, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap, -/obj/item/prison_scanner, -/obj/item/prison_scanner, -/obj/item/prison_scanner, -/obj/item/prison_scanner, -/obj/item/prison_scanner, -/turf/open/floor/iron/techmaint, -/area/security/prison) "wer" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -70251,16 +70240,17 @@ }, /turf/open/space/basic, /area/solar/port/fore) -"wfr" = ( -/obj/machinery/porta_turret/ai{ - dir = 4 +"wfi" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Core Hallway 2"; - network = list("minisat") +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/turf/open/floor/iron/dark, -/area/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/plating, +/area/maintenance/solars/port/aft) "wfv" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 @@ -70333,35 +70323,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/central) -"wgp" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - color = "#267878"; - dir = 5 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ - color = "#267878" - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ - color = "#267878"; - dir = 1 - }, -/obj/effect/turf_decal/guideline/guideline_tri/blue{ - color = "#267878"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "wgH" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 6 @@ -70370,10 +70331,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/engine/engine_room) -"wgV" = ( -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/wood, -/area/maintenance/port/aft) "wgX" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -70437,15 +70394,6 @@ /obj/item/beacon, /turf/open/floor/engine, /area/science/explab) -"whX" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "wiv" = ( /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/segment{ @@ -70479,6 +70427,13 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/security/armory) +"wjt" = ( +/obj/machinery/atmospherics/pipe/simple/purple/visible{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "wjz" = ( /obj/structure/chair/fancy/bench{ dir = 1 @@ -70543,17 +70498,6 @@ }, /turf/open/floor/iron/grid/steel, /area/science/xenobiology) -"wkn" = ( -/obj/item/kirbyplants/random{ - layer = 3.3 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - view_range = 8 - }, -/turf/open/floor/iron/white, -/area/medical/cryo) "wks" = ( /obj/effect/turf_decal/tile/dark_green/anticorner/contrasted{ dir = 4 @@ -70668,6 +70612,17 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/maintenance/port/central) +"wlD" = ( +/obj/machinery/door/airlock/atmos{ + name = "atmospherics Storage"; + req_access = "24" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark, +/area/engine/atmos) "wlS" = ( /obj/structure/flora/ausbushes/fullgrass, /turf/open/floor/grass, @@ -70741,32 +70696,25 @@ }, /turf/open/floor/iron/dark, /area/science/shuttledock) -"wnH" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light, -/obj/structure/cable/yellow, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +"wnx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/circuit/telecomms/server, -/area/science/server) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/engine/atmos) "wnI" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating/airless, /area/science/test_area) -"wnJ" = ( -/obj/structure/chair/stool/directional/west, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/prison) "wnT" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/purple{ @@ -70980,6 +70928,48 @@ }, /turf/open/floor/iron, /area/hydroponics) +"wtO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + pixel_x = 15; + pixel_y = 16 + }, +/obj/effect/landmark/start/atmospheric_technician, +/turf/open/floor/iron/tech, +/area/engine/atmos) +"wtP" = ( +/obj/machinery/camera/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + color = "#267878"; + dir = 4 + }, +/obj/effect/turf_decal/guideline/guideline_half_edge/blue{ + color = "#267878"; + dir = 10 + }, +/obj/effect/turf_decal/guideline/guideline_edge_alt/blue{ + color = "#267878"; + dir = 8 + }, +/obj/effect/turf_decal/guideline/guideline_tri/blue{ + color = "#267878" + }, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/open/floor/iron, +/area/crew_quarters/dorms) "wtU" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -70996,23 +70986,6 @@ }, /turf/open/floor/iron/dark, /area/storage/primary) -"wuQ" = ( -/obj/effect/turf_decal/guideline/guideline_edge/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","security") - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/iron/dark, -/area/security/brig/dock) "wvm" = ( /obj/machinery/door/airlock/research{ name = "Toxins Storage"; @@ -71099,6 +71072,15 @@ dir = 4 }, /area/medical/sleeper) +"wwS" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/portable_atmospherics/canister/plasma, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/iron, +/area/science/storage) "wxk" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon, @@ -71129,13 +71111,6 @@ "wxS" = ( /turf/open/floor/carpet/royalblue, /area/crew_quarters/heads/chief) -"wyb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "wyg" = ( /obj/structure/chair/fancy/bench/pew/right{ dir = 8 @@ -71162,9 +71137,6 @@ }, /turf/open/floor/catwalk_floor, /area/maintenance/department/security) -"wyC" = ( -/turf/open/floor/glass/reinforced, -/area/engine/atmos) "wyJ" = ( /obj/effect/turf_decal/delivery, /obj/structure/curtain, @@ -71179,6 +71151,18 @@ /area/security/prison{ name = "Prison Showers" }) +"wyP" = ( +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced{ + dir = 4; + layer = 1 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/turf/open/floor/iron, +/area/engine/atmos) "wyV" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -71204,20 +71188,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/aft) -"wzd" = ( -/obj/machinery/camera/directional/north, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/dark/side, -/area/hallway/primary/central) "wzs" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/neutral{ @@ -71228,26 +71198,23 @@ }, /turf/open/floor/iron, /area/hallway/primary/port) -"wzt" = ( -/obj/machinery/computer/cargo/request, -/obj/machinery/status_display/evac{ - pixel_y = 32 - }, -/obj/effect/turf_decal/stripes/box, -/obj/machinery/light{ - dir = 1 +"wzE" = ( +/obj/machinery/camera/autoname{ + dir = 6; + network = list("ss13","prison") }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay") +/obj/item/radio/intercom{ + desc = "Talk through this. It looks like it has been modified to not broadcast."; + freerange = 1; + name = "Prison intercom"; + pixel_x = 25; + prison_radio = 1 }, -/turf/open/floor/iron, -/area/medical/storage) -"wzH" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine") +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/engine/co2, -/area/engine/atmos) +/turf/open/floor/wood, +/area/security/prison) "wzY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 @@ -71469,6 +71436,15 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/lawoffice) +"wCd" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/effect/turf_decal/guideline/guideline_edge/blue{ + color = "#267878"; + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "wCj" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -71538,19 +71514,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/maintenance/starboard/aft) -"wEq" = ( -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","medbay"); - view_range = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/neutral{ - alpha = 255; - dir = 8 - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/medical/medbay/central) "wEy" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -71642,14 +71605,74 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/dark/smooth_large, /area/hallway/primary/central) +"wFG" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/closet/secure_closet/atmospherics{ + anchored = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/engine/atmos) "wFR" = ( /obj/machinery/smartfridge/organ, /turf/closed/wall, /area/medical/morgue) +"wFT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light, +/obj/structure/extinguisher_cabinet{ + pixel_x = -8; + pixel_y = -30 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/button/door{ + id = "Capoffice"; + id_tag = "cmoprivacy"; + name = "Captain blast door"; + pixel_x = 5; + pixel_y = -25 + }, +/obj/structure/rack, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/aicard, +/obj/item/storage/secure/briefcase, +/turf/open/floor/iron, +/area/bridge) "wFU" = ( /obj/structure/closet/l3closet/virology, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"wGq" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/closet/crate/silvercrate, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron/dark, +/area/security/nuke_storage) "wGA" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted, /obj/effect/decal/cleanable/dirt, @@ -71767,6 +71790,14 @@ }, /turf/open/floor/iron/dark, /area/security/brig/medbay) +"wId" = ( +/obj/machinery/button/door/incinerator_vent_atmos_aux{ + pixel_y = 4; + id = "atmosshutters"; + name = "atmos storage shutters" + }, +/turf/closed/wall, +/area/engine/atmos) "wIm" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt, @@ -71950,16 +71981,6 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/office) -"wLs" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/science/shuttledock) "wLF" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -72069,12 +72090,40 @@ }, /turf/open/floor/iron, /area/hallway/secondary/entry) +"wMM" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west{ + pixel_x = -26; + pixel_y = 1 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/storage/toolbox/mechanical, +/obj/item/multitool, +/obj/item/stack/cable_coil/cyan, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat_interior) "wMN" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plating, /area/maintenance/department/science) +"wNh" = ( +/obj/machinery/airalarm/server{ + dir = 8; + pixel_x = -22 + }, +/turf/open/floor/engine{ + initial_gas_mix = "n2=100;TEMP=80"; + name = "mainframe floor" + }, +/area/tcommsat/server) "wNt" = ( /obj/machinery/door/window/northright{ name = "Library Desk Door"; @@ -72194,15 +72243,6 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/lobby) -"wPk" = ( -/obj/machinery/camera/autoname/directional/east, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - color = "#267878"; - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/secondary/entry) "wPw" = ( /obj/effect/decal/cleanable/ash, /obj/structure/cable/yellow{ @@ -72278,6 +72318,25 @@ /obj/item/clothing/head/utility/chefhat, /turf/open/floor/iron/techmaint, /area/security/prison) +"wRh" = ( +/obj/machinery/status_display/evac{ + pixel_y = -32 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light, +/obj/machinery/camera/motion{ + c_tag = "MiniSat Upload Chamber"; + dir = 5; + network = list("aiupload") + }, +/obj/structure/cable, +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/turf/open/floor/circuit, +/area/ai_monitored/turret_protected/ai_upload) "wRl" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -72312,6 +72371,20 @@ "wRO" = ( /turf/open/floor/iron, /area/quartermaster/sorting) +"wRT" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/iron, +/area/engine/atmos) "wSi" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/catwalk_floor, @@ -72447,17 +72520,6 @@ }, /turf/open/floor/iron/grid/steel, /area/hydroponics) -"wUj" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/machinery/space_heater, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/maintenance/department/security) "wUw" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/bottle/virusfood{ @@ -72531,16 +72593,6 @@ }, /turf/open/floor/glass/reinforced, /area/chapel/main) -"wVR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/white, -/area/science/xenobiology) "wVX" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -72583,50 +72635,6 @@ /area/security/brig/dock{ name = "Security E.V.A. Storage" }) -"wXb" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","engine"); - view_range = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ - dir = 6 - }, -/obj/effect/turf_decal/guideline/guideline_half_edge/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge_alt/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/guideline/guideline_tri/yellow{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/engine/engineering) -"wXc" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/light, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/closet/secure_closet/atmospherics{ - anchored = 1 - }, -/turf/open/floor/iron/dark, -/area/engine/atmos) "wXg" = ( /obj/structure/closet/crate, /obj/machinery/conveyor/inverted{ @@ -72697,6 +72705,34 @@ "wYg" = ( /turf/open/floor/plating, /area/maintenance/department/medical/morgue) +"wYB" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/incinerator_vent_toxmix{ + pixel_x = -25; + pixel_y = 5 + }, +/obj/machinery/button/ignition/incinerator/toxmix{ + pixel_x = -25; + pixel_y = -5 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + pixel_x = -11; + pixel_y = 22 + }, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/science/mixing/chamber) "wYG" = ( /obj/structure/disposalpipe/segment{ dir = 1 @@ -72744,29 +72780,6 @@ }, /turf/open/floor/iron/dark, /area/science/mixing) -"wZi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 9 - }, -/obj/machinery/requests_console{ - department = "Cargo Bay"; - departmentType = 2; - pixel_y = 29 - }, -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet/orange, -/area/quartermaster/qm) "wZj" = ( /obj/machinery/suit_storage_unit/mining/eva, /obj/effect/turf_decal/delivery/red, @@ -72859,6 +72872,25 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/iron, /area/hallway/primary/central) +"xaU" = ( +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/item/storage/secure/safe{ + pixel_x = 6; + pixel_y = -31 + }, +/turf/open/floor/iron, +/area/quartermaster/qm) "xbr" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/structure/cable/yellow{ @@ -73083,16 +73115,6 @@ }, /turf/open/floor/wood, /area/security/courtroom) -"xff" = ( -/obj/structure/lattice, -/obj/machinery/camera/motion/directional/east{ - c_tag = "ion 2"; - name = "Ion 2"; - network = list("Ion"); - view_range = 8 - }, -/turf/open/space/basic, -/area/space/nearstation) "xfs" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -73212,6 +73234,13 @@ }, /turf/open/floor/iron/techmaint, /area/hallway/secondary/service) +"xik" = ( +/obj/structure/chair/stool/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/blue, +/area/crew_quarters/cafeteria) "xip" = ( /obj/machinery/rnd/production/techfab/department/cargo, /obj/effect/turf_decal/stripes/box, @@ -73231,6 +73260,16 @@ }, /turf/open/floor/iron, /area/medical/genetics) +"xiu" = ( +/obj/machinery/porta_turret/ai{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Core Hallway 2"; + network = list("minisat") + }, +/turf/open/floor/iron/dark, +/area/ai_monitored/turret_protected/aisat_interior) "xiD" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -73722,16 +73761,6 @@ }, /turf/open/floor/plating/airless, /area/science/test_area) -"xoV" = ( -/obj/machinery/newscaster{ - pixel_y = 34 - }, -/obj/machinery/camera/autoname{ - dir = 9; - network = list("ss13","security","court") - }, -/turf/open/floor/wood, -/area/security/courtroom) "xoY" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -73740,6 +73769,20 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/hallway/primary/fore) +"xph" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/curtain/directional, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/crew_quarters/heads/chief) "xpx" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -73754,6 +73797,18 @@ }, /turf/open/floor/iron/sepia, /area/quartermaster/office) +"xpU" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/chair/stool/directional/west, +/obj/effect/landmark/start/assistant, +/obj/machinery/light_switch{ + pixel_x = 23; + pixel_y = -25 + }, +/turf/open/floor/glass/reinforced, +/area/crew_quarters/cafeteria) "xpW" = ( /obj/structure/reflector/double{ dir = 5 @@ -74017,23 +74072,6 @@ }, /turf/open/floor/iron, /area/science/storage) -"xuj" = ( -/obj/machinery/camera/autoname{ - dir = 10; - network = list("ss13","prison") - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/tile/black/fourcorners, -/turf/open/floor/iron/techmaint, -/area/security/prison{ - name = "Prison Botany" - }) "xux" = ( /obj/machinery/suit_storage_unit/security, /obj/structure/sign/warning/radiation_shelter{ @@ -74060,12 +74098,6 @@ }, /turf/open/floor/iron/white, /area/medical/sleeper) -"xuD" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","engine") - }, -/turf/open/floor/engine/n2o, -/area/engine/atmos) "xuJ" = ( /obj/structure/sign/departments/medbay/alt{ pixel_y = -32 @@ -74075,6 +74107,28 @@ }, /turf/closed/wall/r_wall, /area/crew_quarters/heads/cmo) +"xuM" = ( +/obj/structure/closet/secure_closet/hop, +/obj/item/modular_computer/tablet/pda, +/obj/item/modular_computer/tablet/pda, +/obj/item/modular_computer/tablet/pda, +/obj/item/modular_computer/tablet/pda, +/obj/item/modular_computer/tablet/pda, +/obj/machinery/newscaster{ + pixel_x = 1; + pixel_y = 33 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/wood, +/area/crew_quarters/heads/hop) "xuN" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /turf/open/floor/iron/tech, @@ -74157,6 +74211,11 @@ }, /turf/open/floor/grass/no_border, /area/crew_quarters/heads/hop) +"xvM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/south, +/turf/open/floor/carpet/royalblack, +/area/library) "xvS" = ( /obj/machinery/computer/cargo/request{ dir = 8 @@ -74263,31 +74322,12 @@ }, /turf/open/floor/iron/dark, /area/quartermaster/office) -"xwX" = ( -/obj/structure/window/reinforced, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/fernybush, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/grass/no_border, -/area/hallway/secondary/exit/departure_lounge) "xwY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/port/aft) -"xwZ" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - alpha = 180 - }, -/obj/structure/closet/secure_closet/engineering_electrical, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow, -/turf/open/floor/iron, -/area/engine/storage) "xxc" = ( /obj/effect/turf_decal/tile/dark_blue/fourcorners/contrasted{ alpha = 180 @@ -74432,6 +74472,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/maintenance/department/engine) +"xxS" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high/plus, +/obj/machinery/light, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/turf/open/floor/iron/dark, +/area/crew_quarters/heads/chief) "xya" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -74474,20 +74524,6 @@ }, /turf/open/floor/iron/white/side, /area/science/lab) -"xyu" = ( -/obj/machinery/door/window/northleft{ - name = "Kitchen Delivery"; - req_access_txt = "28" - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light_switch{ - pixel_x = -20 - }, -/turf/open/floor/iron/freezer, -/area/crew_quarters/kitchen/coldroom) "xyz" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -74673,6 +74709,13 @@ /obj/item/reagent_containers/spray/cleaner, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"xAP" = ( +/obj/machinery/camera/motion/directional/south{ + c_tag = "Armory - Internal"; + network = list("ss13","security") + }, +/turf/open/space/basic, +/area/space) "xAQ" = ( /turf/open/floor/iron/dark/corner, /area/hallway/primary/central) @@ -74683,16 +74726,6 @@ /obj/effect/mapping_helpers/tile_breaker, /turf/open/floor/wood, /area/maintenance/central) -"xBa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/engine/atmos) "xBb" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/cafeteria, @@ -74871,6 +74904,13 @@ }, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) +"xFe" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) "xFg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -75062,9 +75102,6 @@ /turf/open/floor/iron, /area/engine/atmos) "xIb" = ( -/obj/machinery/plumbing/pill_press{ - dir = 4 - }, /obj/effect/turf_decal/box, /obj/machinery/door/window/westleft{ dir = 1; @@ -75078,8 +75115,19 @@ red_alert_access = 1; req_one_access_txt = "5;33" }, +/obj/machinery/plumbing/output{ + dir = 4 + }, /turf/open/floor/iron/dark, /area/medical/chemistry) +"xIe" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable/yellow, +/turf/open/floor/iron, +/area/quartermaster/sorting) "xIf" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -75160,13 +75208,6 @@ }, /turf/open/floor/iron/grid/steel, /area/medical/virology) -"xJA" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/security/prison) "xJC" = ( /obj/effect/turf_decal/tile/dark_red/fourcorners/contrasted{ alpha = 180; @@ -75289,14 +75330,6 @@ }, /turf/open/floor/iron/white, /area/science/research) -"xLf" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/structure/cable/yellow, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron/dark, -/area/science/mixing) "xLL" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -75381,27 +75414,6 @@ }, /turf/open/floor/iron/dark, /area/ai_monitored/turret_protected/aisat/foyer) -"xNu" = ( -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/guideline/guideline_edge/blue{ - dir = 4 - }, -/turf/open/floor/iron/white/side{ - dir = 8 - }, -/area/medical/sleeper) -"xNC" = ( -/obj/machinery/airalarm/directional/south{ - pixel_y = -22 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","cargo") - }, -/obj/structure/closet/crate/mail, -/turf/open/floor/iron, -/area/quartermaster/sorting) "xNG" = ( /obj/structure/window/reinforced{ dir = 4; @@ -75425,21 +75437,6 @@ }, /turf/open/floor/iron, /area/hallway/primary/fore) -"xOl" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "MailConv" - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/iron/dark, -/area/quartermaster/storage) "xOr" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -75471,6 +75468,35 @@ dir = 8 }, /area/hallway/primary/central) +"xPh" = ( +/obj/structure/window/reinforced{ + dir = 1; + layer = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/item/storage/box/monkeycubes{ + layer = 3.1; + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/storage/box/monkeycubes{ + layer = 3.1; + pixel_x = 2 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "quarantineshutters"; + name = "isolation shutters" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = 24; + pixel_y = -3 + }, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron/grid/steel, +/area/medical/virology) "xPu" = ( /obj/effect/landmark/blobstart, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -75495,18 +75521,6 @@ "xPA" = ( /turf/closed/wall, /area/medical/break_room) -"xPE" = ( -/obj/structure/table, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/item/stack/cable_coil/random/five, -/obj/item/screwdriver, -/obj/item/wrench, -/obj/item/circuitboard/machine/paystand, -/turf/open/floor/iron/dark, -/area/vacant_room/commissary/commissary1) "xPG" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -75528,14 +75542,6 @@ }, /turf/open/floor/iron/tech, /area/engine/engine_room) -"xPT" = ( -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/wood, -/area/security/detectives_office) "xQy" = ( /obj/effect/turf_decal/guideline/guideline_edge/purple{ dir = 4 @@ -75550,6 +75556,13 @@ dir = 8 }, /area/science/research) +"xQT" = ( +/obj/structure/bookcase/random/fiction, +/obj/machinery/airalarm/directional/north{ + pixel_y = 28 + }, +/turf/open/floor/wood, +/area/library) "xRe" = ( /obj/effect/turf_decal/tile/dark_green/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -75581,6 +75594,10 @@ }, /turf/open/floor/iron, /area/science/mixing) +"xRm" = ( +/obj/structure/chair/stool/directional/west, +/turf/open/floor/wood, +/area/security/prison) "xRL" = ( /obj/structure/table/wood, /obj/structure/mirror{ @@ -75602,6 +75619,22 @@ }, /turf/open/floor/wood, /area/crew_quarters/theatre/backstage) +"xSd" = ( +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/red/half/contrasted{ + alpha = 180; + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/iron, +/area/security/checkpoint/escape) "xSH" = ( /obj/machinery/shower{ pixel_y = 12 @@ -75687,19 +75720,6 @@ }, /turf/open/floor/iron/white, /area/science/xenobiology) -"xUD" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/obj/machinery/camera/motion/directional/east{ - c_tag = "ion 1"; - name = "Ion 1"; - network = list("Ion"); - view_range = 10 - }, -/turf/open/space/basic, -/area/space/nearstation) "xUI" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -75719,6 +75739,18 @@ }, /turf/open/floor/iron/white, /area/medical/medbay/central) +"xUM" = ( +/obj/structure/table, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/item/stack/cable_coil/random/five, +/obj/item/screwdriver, +/obj/item/wrench, +/obj/item/circuitboard/machine/paystand, +/turf/open/floor/iron/dark, +/area/vacant_room/commissary/commissary1) "xUR" = ( /obj/effect/turf_decal/guideline/guideline_edge/red{ dir = 1 @@ -75835,6 +75867,14 @@ dir = 8 }, /area/science/research) +"xWC" = ( +/obj/machinery/camera/motion/directional/south{ + c_tag = "MiniSat Exterior 3"; + network = list("minisat") + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "xWL" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -75891,42 +75931,10 @@ }, /turf/open/floor/iron, /area/science/lobby) -"xXE" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/camera/autoname/directional/south, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/maintenance/solars/port/aft) "xXT" = ( /obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/iron/tech, /area/engine/atmos) -"xYi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/camera/autoname/directional/west{ - network = list("ss13","rd") - }, -/obj/machinery/button/door{ - desc = "A remote control switch for the medbay foyer."; - id = "RoboFoyer"; - name = "Robo Doors Control"; - normaldoorcontrol = 1; - pixel_x = -32; - pixel_y = 1 - }, -/turf/open/floor/iron, -/area/science/robotics) "xYn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -76022,6 +76030,20 @@ }, /turf/open/floor/iron/dark, /area/engine/atmospherics_engine) +"xZk" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Air to Ports" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/fireaxecabinet{ + pixel_y = -32 + }, +/obj/machinery/camera/autoname/directional/south{ + network = list("ss13","engine") + }, +/turf/open/floor/iron/tech, +/area/engine/atmos) "xZJ" = ( /obj/machinery/shieldwallgen, /obj/effect/turf_decal/bot, @@ -76169,17 +76191,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/vacant_room/commissary/commissary1) -"ybx" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/effect/turf_decal/guideline/guideline_edge/green, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/medical/medbay/central) "ybD" = ( /obj/structure/window/reinforced{ dir = 4; @@ -76196,6 +76207,21 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/hallway/primary/central) +"ybZ" = ( +/obj/machinery/power/apc/auto_name/directional/west{ + pixel_x = -24 + }, +/obj/structure/closet/secure_closet/personal, +/obj/effect/turf_decal/box, +/obj/machinery/camera/autoname{ + dir = 10; + network = list("ss13","medbay") + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/iron/grid/steel, +/area/medical/virology) "ycb" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt, @@ -76207,21 +76233,29 @@ }, /turf/open/floor/iron/tech/grid, /area/engine/engine_room) -"ycl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"ycm" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/autoname/directional/west{ + c_tag = "AI Core"; + network = list("aicore") }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","security") +/obj/machinery/porta_turret/ai{ + dir = 4 }, -/obj/effect/turf_decal/guideline/guideline_edge/purple, -/obj/structure/extinguisher_cabinet{ - pixel_y = -33 +/obj/machinery/button/flasher{ + id = "aicore"; + pixel_x = -32; + pixel_y = 4 }, -/turf/open/floor/iron/white/side{ - dir = 1 +/obj/machinery/button/door{ + id = "AIwindows"; + name = "AI View Blast doors"; + pixel_x = -32; + pixel_y = -5; + req_access_txt = "19" }, -/area/science/research) +/turf/open/floor/engine/o2, +/area/ai_monitored/turret_protected/ai) "ycs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -76405,6 +76439,20 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/engine/engine_room) +"yfv" = ( +/obj/machinery/computer/cargo/request, +/obj/machinery/status_display/evac{ + pixel_y = 32 + }, +/obj/effect/turf_decal/stripes/box, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay") + }, +/turf/open/floor/iron, +/area/medical/storage) "yfH" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, @@ -76424,28 +76472,6 @@ }, /turf/open/floor/iron/dark, /area/vacant_room/commissary/commissary1) -"yga" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/sign/departments/minsky/research/robotics{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/iron, -/area/science/lobby) "ygb" = ( /obj/effect/turf_decal/tile/purple/fourcorners/contrasted, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, @@ -76532,26 +76558,6 @@ "yil" = ( /turf/closed/wall, /area/security/brig/dock) -"yim" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Toxins Mixers"; - name = "science camera"; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/item/radio/intercom{ - pixel_x = 32; - pixel_y = -3 - }, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/science/mixing) "yiJ" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron, @@ -76606,21 +76612,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/port/central) -"yjR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","security") - }, -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/engine/engine_room) "yki" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -76631,6 +76622,23 @@ /obj/effect/spawner/lootdrop/maintenance/two, /turf/open/floor/iron, /area/maintenance/department/security) +"ykj" = ( +/obj/machinery/computer/cargo/request{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/autoname/directional/west{ + network = list("ss13","rd") + }, +/obj/machinery/newscaster{ + pixel_x = -31; + pixel_y = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science/lab) "ykl" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/easel, @@ -76744,18 +76752,18 @@ /area/security/main{ name = "Security Viewing Hall" }) -"ylv" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" +"ylw" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd") }, -/obj/machinery/power/apc/auto_name/directional/west{ - pixel_x = -24 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/light/small{ - dir = 8 +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, -/turf/open/floor/plating, -/area/vacant_room/commissary/commissary2) +/turf/open/floor/iron, +/area/science/lobby) "ylB" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/tree/jungle, @@ -76813,22 +76821,6 @@ /area/security/prison{ name = "Prison Processing" }) -"ylW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/south{ - network = list("ss13","rd") - }, -/obj/effect/turf_decal/guideline/guideline_edge/purple, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/science/research) "ymh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 @@ -97309,7 +97301,7 @@ gVn cCS ubU cMW -aAT +oub clu kcG hff @@ -97786,7 +97778,7 @@ jut bAQ eQu bAQ -fGv +tzI cxe gwI aui @@ -98025,7 +98017,7 @@ yeA yeA nEb xjm -vIZ +eqJ kSR jgQ iQP @@ -98087,7 +98079,7 @@ hOH hCg bOe jaQ -oOv +gXl aSA vmg vmg @@ -98290,7 +98282,7 @@ owK dAE cNI nEb -eDU +onU aaB gUF hEC @@ -98308,7 +98300,7 @@ mKI uql cfA xmU -tmw +psU ptJ uql cfA @@ -98560,7 +98552,7 @@ sLM cdQ hyw ctt -xOl +leu suJ haM tos @@ -98573,7 +98565,7 @@ kZM vZk krB mfp -cJy +gKA pFo kIo utS @@ -98596,7 +98588,7 @@ uZf cMW pCS wHX -aTH +khS ojN jWD frZ @@ -98608,13 +98600,13 @@ lQR ecY wKx rJD -tyz +vDf fSH gqI nFs gqI fFP -mXF +rlT qOG mfz hvo @@ -98807,7 +98799,7 @@ nEb oom wcV osV -viN +eyU oJT xwW fLS @@ -98817,7 +98809,7 @@ tQK kTN jSa ctt -gOS +wdN suJ haM haM @@ -98827,9 +98819,9 @@ fcO fdu fdu kZM -nKO +ehp krB -niK +vxB cbf cbf vzD @@ -99045,7 +99037,7 @@ gsA gsA emF pIC -kbM +sCn txn grt wBi @@ -99092,7 +99084,7 @@ aST rur bSZ xNU -lRN +bYz vJE vJE vYg @@ -99126,7 +99118,7 @@ fAX fSH kCg jsN -dAc +sLe ndC gxD kKf @@ -99309,13 +99301,13 @@ nEb pbb qFt bmx -wuQ +ouF wUE mEt pcI oLS cnZ -gKw +arv iZm nEb bzp @@ -99323,7 +99315,7 @@ nBY pSz ddp tXw -dlI +fhb oZB lMv jRA @@ -99349,7 +99341,7 @@ pVF gni xuZ kXS -eBS +kPo vJE gPy qAN @@ -99377,7 +99369,7 @@ cCS cCS cCS dCD -wLs +vWq kIX pYo fSH @@ -99388,7 +99380,7 @@ fFP jxU bwy nTZ -xLf +qob gci ylG neI @@ -99580,7 +99572,7 @@ bev xER oCu tXw -tyK +cct nAB ueg mnU @@ -99617,7 +99609,7 @@ psX hpy afH osm -pcR +eJU ggJ ggJ ggJ @@ -99638,10 +99630,10 @@ ais kHb tGu fSH -dBw +wYB eAT tQr -hKt +fYo jxU rrw xGh @@ -99812,7 +99804,7 @@ yeA gsA gsA cKl -qKS +ofr rDf jZk iGi @@ -99847,7 +99839,7 @@ kHp ctt ppA lvd -czt +rCP bsk oBB spv @@ -99865,9 +99857,9 @@ ixk uVW oZI vJE -oqv +oBS uCQ -ilM +vwR iVO fQw ujR @@ -99878,7 +99870,7 @@ nQZ ggJ dvu kPB -dOL +ykj dLu mGb ggJ @@ -100090,8 +100082,8 @@ gsA gsA eSK xkc -vPT -aQj +ryj +wGq eBH eSK wXg @@ -100133,12 +100125,12 @@ vEN tIR tIR ggJ -oBw +pFp nMl jxf rjY iqd -vMK +stJ kpo sXU aZg @@ -100152,7 +100144,7 @@ dCD aUi qLt fSH -qXr +dbb mrM oYr tNg @@ -100171,7 +100163,7 @@ wfM qZZ hkD lUw -sIY +fIM qPv gsA gsA @@ -100328,7 +100320,7 @@ rhT wIb uJB aCn -dAb +hkA wSw dNb rzL @@ -100341,7 +100333,7 @@ trr yaP asB qNP -seE +fWj bAj nmf nmf @@ -100371,7 +100363,7 @@ eUN fZg deg eUN -gTz +qFC nnR eUN iaP @@ -100404,7 +100396,7 @@ ajg ajg jUq ofJ -oyD +mZO aOK hyK pYx @@ -100677,7 +100669,7 @@ tWS gci wdC aEN -xXE +wfi neI qZZ dUZ @@ -100850,7 +100842,7 @@ bAo iqW arO saW -sez +eXB bAj pkt drf @@ -100869,7 +100861,7 @@ dTO wLN vSZ xHk -cub +hFj dzQ xHy aka @@ -101102,7 +101094,7 @@ bAo hbo bUQ tBN -aLk +eAd bAo oMT bsA @@ -101135,7 +101127,7 @@ xHY pqC ojG uHB -muG +sSF waw waw saf @@ -101155,7 +101147,7 @@ uKi qQY uKi kaN -qYz +ylw mBq kht vBo @@ -101184,7 +101176,7 @@ vxi saH fKo ehV -yim +qsE tNa cRQ ejW @@ -101347,11 +101339,11 @@ yeA yeA nCb kQM -gdi +erx iHF nCb obb -buP +pYp uCa nCb nCb @@ -101379,7 +101371,7 @@ eSK eSK eSK eSK -nHf +mui hBT jmm npB @@ -101387,7 +101379,7 @@ uDS pZR ftV jrO -orl +xaU ttt cwM aBx @@ -101402,7 +101394,7 @@ kml eXl utF abg -lGL +bOW dxU fBx gAf @@ -101410,7 +101402,7 @@ odP uKi mHk rlV -hvF +jIs iiM ryi llP @@ -101427,9 +101419,9 @@ fYu fwK hmW gCM -fCU +suI ygl -haf +wwS fTF pFb kTh @@ -101438,7 +101430,7 @@ pPA oON gci wcx -vzd +pZX mou cgV wcx @@ -101601,7 +101593,7 @@ yeA yeA yeA yeA -jTY +xAP nCb hjQ nRN @@ -101665,7 +101657,7 @@ pon iDV eMu uKi -pWj +fiW auK rlV iiM @@ -101862,7 +101854,7 @@ yeA doe sSb lye -jsn +pZd nCb pAC bHj @@ -101874,7 +101866,7 @@ kKx knW yku lls -nPy +vJz icK wgX mky @@ -101895,7 +101887,7 @@ flg mNL cFj ntY -irA +gvA ttt cma hzH @@ -101926,7 +101918,7 @@ fLx bEk dKJ uKi -yga +tyR uSu dzf ugX @@ -101952,7 +101944,7 @@ pPA xxw oit wcx -szH +htY iIL mou cPB @@ -102157,7 +102149,7 @@ ttt ltF khE fwR -oLz +ava vMP ttt pqC @@ -102198,9 +102190,9 @@ rIi lXA vFo goY -rYF +oSt ygl -fuX +bzm dNX nuU izG @@ -102225,9 +102217,9 @@ eTx wfM wfM sfR -wgV -wgV -wgV +clJ +clJ +clJ qZZ oPl vQr @@ -102417,7 +102409,7 @@ dcU miS ttt ttt -qbq +hno gpR vXq wyX @@ -102426,13 +102418,13 @@ nyM fiu fan eOI -xNC +uRk eXl utF hkB naW -oEN -unc +lbX +vjx hmr dfb uKi @@ -102669,7 +102661,7 @@ tUl wfJ vke ttt -wZi +nYN jlP xeN jBT @@ -102683,7 +102675,7 @@ fyK laG bWn wcR -ieD +xIe eXl ieI cOA @@ -102708,7 +102700,7 @@ lAQ wMI bqO ljt -ylW +rhU dEP vJq nXn @@ -102943,7 +102935,7 @@ hvB dZF cOA rPE -aya +sZP eXl jFD fRc @@ -102952,13 +102944,13 @@ aWV nnB jwV eyc -xYi -kfW +enQ +fNW tIQ ojh bId lEa -iwl +uKc nnB jcy nIi @@ -102973,7 +102965,7 @@ gCB lBo xfs fMa -wnH +jcv dEP kzq qZZ @@ -103167,7 +103159,7 @@ brc pYj fMW eFv -tdm +hYs wUI eJV jFM @@ -103185,7 +103177,7 @@ ssi ttt pRf vGb -ftb +fnK uWe ttt pqC @@ -103420,7 +103412,7 @@ hBA pqn bRp nrP -eFf +aYi fHK fHK fHK @@ -103464,7 +103456,7 @@ hkJ dHv bYw nnB -gNL +osf hSX cFQ clo @@ -103478,7 +103470,7 @@ cXM smX jRK xmC -lVr +iyT jYo gCl vRd @@ -103661,7 +103653,7 @@ gsA gsA gsA uYx -reC +uci wjp wjp cxX @@ -103692,7 +103684,7 @@ bkX gPD ksd jBw -wUj +enx wLZ qcF qRe @@ -103702,7 +103694,7 @@ ksd iAB dWa jBw -rQk +sVd mqZ gZQ gbm @@ -103739,7 +103731,7 @@ gFy jMN lpa uve -cPD +ePU uUA hob hnb @@ -103924,7 +103916,7 @@ mAB lQp nNv uYx -tFD +lok oXo oXo scv @@ -104021,7 +104013,7 @@ xWu fAH kKG xTh -fKj +dSE jtA lef rVg @@ -104173,7 +104165,7 @@ yeA gsA ewB gsA -aAn +uJy uYx glR wDS @@ -104183,7 +104175,7 @@ cWL qVx xvS jfL -aHZ +oaL vkp vLJ vLJ @@ -104195,12 +104187,12 @@ fVQ jlw rki cUa -jxc +uIo kkg pgT wdS kje -xPT +iqJ vbe aJB nBO @@ -104255,7 +104247,7 @@ jHo cLF wFq uUA -cYV +oaT ouD sag wHY @@ -104436,7 +104428,7 @@ bBH wDS rHv lQp -gaX +vQE uYx hBK hBK @@ -104737,7 +104729,7 @@ gbm oiI dMT tQR -cML +gUl elv niR fsy @@ -104753,11 +104745,11 @@ nnB nnB qie lGU -non +czC byb vYH wke -ckD +kDT gfD mtq voJ @@ -104771,19 +104763,19 @@ miw iEd tyx fwF -fqP +eoO boR dfe -vpz +hdv tyx dfe -oPL +jcP tyx fwF -irQ +uLK tyx dfe -gVS +olf iEd hcU lQJ @@ -104956,7 +104948,7 @@ imo gut kWP pZe -gGF +iSf iaG efl aaQ @@ -104992,7 +104984,7 @@ fYs gZQ ceW oiI -lSZ +ewX xYW ssN jLb @@ -105209,7 +105201,7 @@ eNe ips tBL uYx -mkt +tVv vMa dWk iQH @@ -105228,7 +105220,7 @@ hMu gUK ijs wTo -axK +uim ntc ntc djl @@ -105255,7 +105247,7 @@ oKM cwG sNq oiI -dAa +faP unH xGQ war @@ -105280,7 +105272,7 @@ uUA miw saA mFb -jZM +uRO miw iEd tyx @@ -105474,7 +105466,7 @@ tfC oWD fkq cej -rCK +mYF aTX fQj hZQ @@ -105559,7 +105551,7 @@ iEd cSe qtl jcW -gQY +raT uMP hwE xMx @@ -105731,7 +105723,7 @@ nFk bDs pVy ifC -sjV +cmw wkK ifC njd @@ -105744,7 +105736,7 @@ bXM jJB vMg ntc -xoV +gFU nUU jqL xkq @@ -105979,7 +105971,7 @@ mtI mtI mtI mtI -wel +mLg wBe pbr qLO @@ -106011,7 +106003,7 @@ sLs jQC jQC gQP -xPE +xUM cDX yfX gQP @@ -106239,14 +106231,14 @@ mtI lcp bjP bjP -xuj +hIn qVi uhp gEs ncP ifC prX -tiq +rGC ifC nic lMI @@ -106296,7 +106288,7 @@ eXl cOA eXl sSc -tRX +jZv sxf uBu nrU @@ -106305,7 +106297,7 @@ tuP bHp aIj iEd -tQl +iMA tyx tyx ajY @@ -106325,7 +106317,7 @@ tuq hhG uWy lOS -lbc +hMK iEd kZA slG @@ -106455,7 +106447,7 @@ gsA gsA jGx jGx -lSC +dTu gsA gsA yeA @@ -106508,7 +106500,7 @@ ifC wBP vMT bzb -jDk +stN njd njd vYA @@ -106560,14 +106552,14 @@ nHQ fsB sZU gYb -ycl +aQv iEd dRq dRq dRq dRq dRq -gdt +qnR oWT qMR iEd @@ -106743,7 +106735,7 @@ hhv hhv hhv hhv -pPo +puk qLO mtI mtI @@ -106777,20 +106769,20 @@ kxz eGa xeT nBG -jMy -lqD +rDE +gIh jQC bJY ntc ntc lYp rxA -nQV +ffL uTN hUK tpU xAQ -jZl +qXs dvH bBu oiI @@ -106810,7 +106802,7 @@ pMZ mZq oFg sSc -nqJ +uWx sbe wAA ffm @@ -106824,7 +106816,7 @@ iFD iim mFm ixy -wVR +gQN qnY oaH iEd @@ -106856,7 +106848,7 @@ jGx fJJ jsM fJJ -xUD +uGj vmj gsA vmj @@ -107246,7 +107238,7 @@ gsA gsA haY hsm -tsf +dLz aqv bzD sBs @@ -107255,7 +107247,7 @@ sHT qZB sJq eAl -rIH +hRN hhv euT qLO @@ -107268,9 +107260,9 @@ eDH wQT aDR iee -fnz -fnz -fnz +kOb +kOb +kOb fun fun ade @@ -107279,12 +107271,12 @@ gVP pVO qtD eSn -cNP +mUA pFk njd eJN tQh -viR +gue ntc ntc iNl @@ -107367,8 +107359,8 @@ uAb peX fos ckw -qjO -bQL +pxP +kKM uLf nCn xkg @@ -107484,7 +107476,7 @@ qSE hDo hlI rwK -udB +wMM vnu uuQ hoj @@ -107517,7 +107509,7 @@ hhv fCc qLO lTA -mrE +mqL mfP lWa mfP @@ -107529,7 +107521,7 @@ uZg dyS ldH wNH -nTv +xRm daa rCn hae @@ -107545,7 +107537,7 @@ wdB seT uXx ggO -exc +bhP seT gHo nQL @@ -107582,7 +107574,7 @@ wgf ykx vWU xnB -nXS +cRW tqq tGg ykx @@ -107602,7 +107594,7 @@ iEd fBK tyx tyx -gfp +hic gjo qks tyx @@ -107611,7 +107603,7 @@ iKS iEd iEd iKS -aOP +enN eEf qoc jcW @@ -107736,7 +107728,7 @@ odS mZi iPo wsM -ldt +inN mZi iPo jfG @@ -107744,7 +107736,7 @@ dNM mZi upL uuQ -efN +lmN udp vqC uuQ @@ -107757,35 +107749,35 @@ gsA lYb uyJ luu -eCW -rwA +gAB +lGH prv sZS bmN llh jJw -dMi +kjm hsm hsm eIK piE -bly +coK hhv fmg qLO gtD mOm tQy -hGt +saj soj dHL mUn gmF caA -xJA -wnJ -iUx -qCN +skp +jje +bUf +wzE jTr oiw pxh @@ -107841,7 +107833,7 @@ fcP mKM ewi itk -gcp +rGp ykx rUt nvJ @@ -108028,7 +108020,7 @@ hhv hhv hhv hhv -eaw +jiS qLO ifC ifC @@ -108086,7 +108078,7 @@ chV eXl bzO mcm -ylv +hBR cSY brj bzO @@ -108109,8 +108101,8 @@ peP vfR dVW iEd -oDF -cFu +rqH +ttJ jgF scb jkG @@ -108253,12 +108245,12 @@ wsM ilX fme idf -hbz +bNS fme fme ilX uuQ -qhm +dDB udp fku arN @@ -108314,7 +108306,7 @@ vYA jth swU seT -lxE +dlE cBp iis uZs @@ -108364,14 +108356,14 @@ iEd gtw vfR ghm -twc +aaJ iEd -pEB +lBU rlv bau uHl eRS -pdq +tJq scb mqE kwh @@ -108386,7 +108378,7 @@ mwr nNP xrM jcW -kdE +ixf rPp nSh ebv @@ -108403,7 +108395,7 @@ oOn lbK poW mKJ -lnr +dgd rVX hvL pBG @@ -108505,7 +108497,7 @@ wsM luJ tyh mZi -wfr +xiu uTv uTv uTv @@ -108533,7 +108525,7 @@ sZZ tiL tpC seW -ixu +qAr rYf uLj uWs @@ -108541,12 +108533,12 @@ hsm xFg oif tKJ -vZp +pZZ eEJ qLO aKq eyw -aAO +oPx ifC mRC uKh @@ -108561,11 +108553,11 @@ dhT kTx mOI hae -hcp +cJu aRF ilH awG -vTi +hYV hae vYA ova @@ -108583,7 +108575,7 @@ iek wlS wlS hXo -hMp +nAd hmg mSV uCH @@ -108656,7 +108648,7 @@ gSo uxA kCQ mKJ -oWc +nNR cDx wqf mKJ @@ -108767,7 +108759,7 @@ uTv dcd ahL vsb -eUb +ycm rsT ahL jNH @@ -108786,7 +108778,7 @@ pAD nyE ole bPV -aSS +wFT prv prv prv @@ -108833,7 +108825,7 @@ seT seT rwm seT -wzd +bPu qpu iDQ qKa @@ -108854,7 +108846,7 @@ cYH jgD tmM wFD -vdZ +uPj bzO aDC bzO @@ -109019,7 +109011,7 @@ vcX arN seq bDv -eGP +ciq uTv uTv hxB @@ -109060,7 +109052,7 @@ rqj bqY jUc jUc -vcc +pXa jUc jUc cJP @@ -109069,7 +109061,7 @@ jUc jUc jUc xoY -quK +fYk jUc jUc jUc @@ -109077,9 +109069,9 @@ dgT jUc jUc sRf -aIx +poF bRH -olj +jRH jUc nmM hMa @@ -109126,7 +109118,7 @@ wKA jcK jcK xbC -vma +tPx nFI lbh iJm @@ -109150,7 +109142,7 @@ mxA iIv oOt epc -tMy +poL ljW mwr xxF @@ -109168,7 +109160,7 @@ rSm sYP rPf hZz -aqK +fbH cyG eZy eZy @@ -109289,7 +109281,7 @@ bwl kDW xsD hZv -ozp +mNM dFs yeA gsA @@ -109417,11 +109409,11 @@ jcW gdB hdr isP -nXI +qaY iaC eNH peX -yjR +ttW ocl jsk uZu @@ -109435,7 +109427,7 @@ gZf ksT qol aSu -owU +iLL jcW gsA ewB @@ -109528,7 +109520,7 @@ yeA ewB yeA yeA -oPW +xWC vcX mMd gVH @@ -109546,7 +109538,7 @@ ndM fvW nnO pJr -gUz +wRh dFs yeA gsA @@ -109682,7 +109674,7 @@ kUF dVh uRo ucR -vqY +uXR ewu vwi vwi @@ -109821,7 +109813,7 @@ bPV mox jGN rlg -pOg +mqa rlg gOj bIG @@ -109901,15 +109893,15 @@ tBJ qsa cbk cbk -tyE +gkB sOr pjI -reA +eHi cbk xhi cbk oId -vGq +fNt eAe pSt xzV @@ -109921,8 +109913,8 @@ eog gde aJk efp -eZA -sPX +lyh +gJI qoQ fmy nKs @@ -110047,7 +110039,7 @@ vcX arN seq lqK -hqY +inb uTv uTv aii @@ -110057,7 +110049,7 @@ eyz mTR uTv uTv -lXU +nXV cLD ogV buw @@ -110071,7 +110063,7 @@ pRG kxb lZc bPV -pAW +rLX pXK jvB jvB @@ -110118,7 +110110,7 @@ oxQ oxQ rgh oxQ -oVP +paA bDH ahD smT @@ -110139,7 +110131,7 @@ tLv tmM jgD kxr -mxy +lem dFC dFC dFC @@ -110182,8 +110174,8 @@ cGw oan cYW esC -fLg -uDU +bTi +drZ nlR hFC jca @@ -110309,7 +110301,7 @@ uTv dcd ahL mhA -vJG +aoX wdq ahL jNH @@ -110332,7 +110324,7 @@ nlk pXK dbZ xjA -uwq +rQC ydT bqh wGM @@ -110343,7 +110335,7 @@ fkU hms nSx ckl -dWi +wNh yjH iQa fQT @@ -110355,7 +110347,7 @@ jeN ief kYm ebF -nBX +aSY cSN vDS uIX @@ -110382,7 +110374,7 @@ spz wlS wlS hXo -agA +qnW fjM fEz twT @@ -110405,8 +110397,8 @@ dFC tQk oIs eAC -tGL -tDd +cLB +tNc kxp qKZ srn @@ -110426,7 +110418,7 @@ ghq dHW vEd lPf -rdT +oso ckF iuj vlm @@ -110440,11 +110432,11 @@ oXS tQi fmy pLT -qPQ +ehX kaQ kaQ pAP -xwZ +nRX cPy otM tqL @@ -110459,7 +110451,7 @@ fOj glH xtK mKJ -lnr +dgd tQv crW rFw @@ -110561,7 +110553,7 @@ aNU chu dGu pHE -dAT +qzm uTv uTv uTv @@ -110612,19 +110604,19 @@ oaZ jHW pBi ebF -lMa +iUV eId sID qPU oOu -oHu +mAH jtr tGr htW voD dYG oxQ -hTG +auT dno chb xWL @@ -110662,7 +110654,7 @@ frW fEl oIs eAC -uBE +aPL kqw vVE lLy @@ -110823,12 +110815,12 @@ aNU sDt vqq vqq -kRf +coe vqq vqq sDt aNU -kxU +dbs udp fZV chA @@ -110850,8 +110842,8 @@ nAE esV agS sAc -uEO -bKW +xuM +teR eSu pKz aqh @@ -110867,7 +110859,7 @@ pYb iwO ghe kAi -mVA +qvV ebF oVd bsT @@ -110881,7 +110873,7 @@ rDh jED iKL oxQ -dmx +buX etl rJG fxh @@ -110890,7 +110882,7 @@ tGT tGT tGT tGT -ePp +kYk cTa rXp qsq @@ -110933,14 +110925,14 @@ rlQ aGl uyB bZF -vMB +jUk cKB dHW cMi eHp dHW lPf -tMf +rON gNA mmN efU @@ -110952,12 +110944,12 @@ xbt uFp azr jdG -ikV +bPc ldP gCQ hAD ueh -wXb +fZM jJS oiZ ulu @@ -111098,7 +111090,7 @@ gsA wHf nhH swK -rsh +mkH dVy pXK lKz @@ -111330,7 +111322,7 @@ ewB gsA aNU aNU -ceq +qEQ pHE nhf aNU @@ -111358,7 +111350,7 @@ ijC haY haY pXK -myN +mSI pow shB uex @@ -111371,10 +111363,10 @@ mIn wjm jLF jyv -kFI +bxo kQJ uSx -pQm +rEW cJD kPu xtz @@ -111384,13 +111376,13 @@ wfO lxG ebF tqN -peH +bHa oVd vKw oOu dCs kSP -fJY +kuy xZJ pdT dYG @@ -111433,7 +111425,7 @@ wwb wfL oIs fxR -arJ +rNi jGb jNG qZM @@ -111447,7 +111439,7 @@ pGh wiv huh pWY -sla +uDE cKB dHW cMi @@ -111473,14 +111465,14 @@ mgs wOk jGD jJS -tqM +oLO spa kZd wQc tki nfk lbs -rna +ifv iEK nCn jwj @@ -111624,7 +111616,7 @@ sAc bTm dvq lfi -mRi +bTB ujA cMI cMI @@ -111690,7 +111682,7 @@ bbf hTD oIs fxR -vvP +noo mbT ukp lvJ @@ -111913,11 +111905,11 @@ qth oQr sFS tGT -uCA +snE qWt iYw hFP -teY +lty tGT hdp czh @@ -111956,7 +111948,7 @@ xvs bPy mIQ neH -vnI +kmL ulM lwH leR @@ -111973,17 +111965,17 @@ uga sGZ vBI nGy -nAI +lJP nGy xaj -tzp -dEV +mWE +vWW kFd nXK wxS pSf cAn -vqJ +gjS kCO kwh fRu @@ -112108,7 +112100,7 @@ gsA gsA gsA gsA -qLC +eEL gsA gsA gsA @@ -112139,7 +112131,7 @@ dcQ oQI xKW rzO -aOc +qYG jKm gsA yeA @@ -112182,12 +112174,12 @@ hdp taf hJF mOQ -hJe +uOy rIQ jFh wAc hJF -hJe +uOy piC rVH dFC @@ -112233,8 +112225,8 @@ pYW tPl psH psH -eZm -dEV +wtO +wFG pEF gbh hSG @@ -112490,17 +112482,17 @@ dLc kWN eML gfH -bna -wXc -tTZ +qXB +fqL +xph pwh mNb fIz vhc vhc -lCR +xxS kwh -gpf +hpC tBi tBi tBi @@ -112747,8 +112739,8 @@ hRz gCj uMy lVx -bna -dEV +qXB +wFG hMU nIM wxS @@ -112916,12 +112908,12 @@ tJh gDg vkZ rNr -gJX +sSg mCE nOl qNS uCx -pkk +hea rNr rNr rNr @@ -112929,7 +112921,7 @@ aul yeA jGx efr -jGU +jWq fpB rcz iMw @@ -112978,7 +112970,7 @@ qqD wRL vvd bgl -ioD +pMA ujr oNF poJ @@ -112986,10 +112978,10 @@ lhV rZa req lLX -xNu +diq ujr tWQ -lyQ +vAV shZ ibc pfL @@ -113004,12 +112996,12 @@ dfI mVP bKk oGm -bna -bsB +qXB +hyk kFd jSd vro -ldB +gMc bia iaZ beq @@ -113023,7 +113015,7 @@ klq lpH rcU ofC -dTl +snY nSh dum uED @@ -113169,7 +113161,7 @@ uNj jGx jGx fHR -ilv +elO jyo oYk wHP @@ -113205,8 +113197,8 @@ nXc eLi fdq cnr -mtE -iqV +cYr +tiX dJr iFN xIf @@ -113216,7 +113208,7 @@ wPd wAl tJM dFC -tfA +xFe wYg uGX dFC @@ -113227,10 +113219,10 @@ wEe wEe jkr eGd -uXH +peg fDs aNb -iVk +nir vRP bvR bvR @@ -113261,8 +113253,8 @@ pTW pTW pTW pTW -hKf -gha +nQP +qkx drp drp drp @@ -113276,7 +113268,7 @@ iRY iRY iRY iRY -hlX +sbZ iRY iRY jcW @@ -113452,14 +113444,14 @@ mVN mVN mVN nXc -ggN +ogw oVz iOn oio izn uxW xHw -okR +kok ult hjM hjM @@ -113479,7 +113471,7 @@ jMh jBo qDc eGd -eED +dJN jdC pJi agj @@ -113493,7 +113485,7 @@ avO ycR sLc bvR -czm +bDw deZ poJ ppj @@ -113505,35 +113497,35 @@ nZj cLH uXK bWm -iJd -wyb -wyb -evy -pHD -vZZ -jGs -eXE -dtY -qTs -qSv -qTs -cpa -hGI -jTQ +bQH +dHW +dHW +gjq +aHT +pDE +xVm +eNK +daR +pTW +paD +pTW +tlL +jnE +cJj gUa sPZ sPZ iRY vgn -mDe +rqA vgn iRY lNN -bnq +tKf lNN iRY mwi -mYR +rSn mwi iRY yeA @@ -113689,7 +113681,7 @@ vks vtI iDw eYc -dwP +cow wIA hKc ikY @@ -113710,16 +113702,16 @@ yfb mVN nXc qsI -uvp +syO paW cTn -fGg +tcL cxF eWK -sLd +syI bLt -vFW -pEZ +eyD +dvY uEz dzj rfl @@ -113736,7 +113728,7 @@ dFC dFC dFC eGd -nnt +bfq fRl uff gKg @@ -113746,7 +113738,7 @@ vSu aBo dgm vRP -tYM +rBz cQG osJ qJC @@ -113760,7 +113752,7 @@ eTt gfq mya uiZ -lHY +vid bWm uYv iKk @@ -113775,8 +113767,8 @@ pTW pTW pTW pTW -kYB -hPn +jnE +auW mib mib eTm @@ -113942,7 +113934,7 @@ vtI wrO xVD jSt -gli +oJQ vtI rNr cwJ @@ -113973,7 +113965,7 @@ nXc coF soB vge -okR +kok bLt oJe fxG @@ -114003,7 +113995,7 @@ mYT dxV ncf vRP -wzt +yfv ykU sOl myU @@ -114024,16 +114016,16 @@ shZ tTE kfB iRY -juv +lKu wVX eNK pTW -wyC -wyC -wyC pTW -rsY -jTQ +pTW +pTW +pTW +jnE +cJj lOx lOx lOx @@ -114201,7 +114193,7 @@ wVK nPn lgK vtI -sMw +gLp upb rDS bUS @@ -114212,9 +114204,9 @@ btr qRV fwx qRV -tAq +mQZ vtI -nZk +fsA mLh lBL iMw @@ -114224,16 +114216,16 @@ mVN mVN oQE pFE -ovc +irC kDA nAr nSH cpx xIU -okR +kok bLt -ilB -rEC +xik +iWh qXx mWi ubo @@ -114274,7 +114266,7 @@ kFj xis szG nCo -ufy +ePm bWm ibc iBH @@ -114285,26 +114277,26 @@ tlT wVX eNK pTW -wyC -wyC -wyC pTW -kYB -hPn +pTW +pTW +pTW +jnE +auW pnv pnv -skr +wyP iRY gVl -hlX +sbZ csG iRY uLk -hlX +sbZ geq iRY uLk -hlX +sbZ geq iRY rKZ @@ -114469,7 +114461,7 @@ wjX vAN cyL vdf -eym +mlc vtI hvH xhM @@ -114546,8 +114538,8 @@ pTW pTW pTW pTW -rsY -lgY +jnE +iCJ ubG iQZ ogv @@ -114721,7 +114713,7 @@ pod bUS lkv sFx -vSw +kYv mfI sBD hIs @@ -114733,7 +114725,7 @@ xhM nzy jhr uEB -xyu +fKg mhZ fwL wbE @@ -114744,9 +114736,9 @@ jDB xbr swv uHQ -fBp -fBp -fBp +rpK +rpK +rpK wlr bmu mWi @@ -114803,8 +114795,8 @@ vdV gjB sOT tlL -tZn -dlR +jnE +mbS vcG ffa ift @@ -114989,7 +114981,7 @@ kXn rpu rev fwL -fHi +bQq crh qDa qFY @@ -115004,11 +114996,11 @@ pyP omR cqL jfn -okR +kok bZA mWi iyq -eZQ +rxB ovp iJe kgH @@ -115060,8 +115052,8 @@ pTW pTW pTW pTW -rsY -lgY +jnE +iCJ nYz eNK nIB @@ -115226,7 +115218,7 @@ jGx vtI vtI pAu -ngd +cvT bMn wII rYG @@ -115250,7 +115242,7 @@ mBT iXp epx fwL -rvD +nXR rbm vjD eKq @@ -115261,11 +115253,11 @@ umg hnl eXD joH -ozn +szP tdk lSp wVy -sKy +xpU ovp iJe kgH @@ -115304,7 +115296,7 @@ rOr eRx wdZ bWm -kII +lvU rAi uog ibc @@ -115313,12 +115305,12 @@ wAP wVX eNK pTW -wyC -wyC -wyC pTW -uFQ -dEY +pTW +pTW +pTW +jnE +kIi jzT eWu bqK @@ -115503,11 +115495,11 @@ jPq xhM mOk fwL -bBv +jSk mBT qPH fwL -sdZ +jce dVc vzi jHS @@ -115518,7 +115510,7 @@ xBb lwI ddl jkc -okR +kok bSd mWi bWF @@ -115541,13 +115533,13 @@ nwi xCe xCe xCe -mKo +dML wkX lph -sOf +oFo qIL fgd -uiU +rVQ xuJ pxM eSZ @@ -115570,12 +115562,12 @@ eHw wVX eNK pTW -wyC -wyC -wyC pTW -hTv -gmc +pTW +pTW +pTW +jnE +kvU dWN sKG lKC @@ -115597,7 +115589,7 @@ jGx jGx jGx bhN -xff +sfh gsA yeA ewB @@ -115775,7 +115767,7 @@ oNv jDu jKx qVc -okR +kok bSd mWi jmw @@ -115812,7 +115804,7 @@ jcm las xat tzD -wkn +oBk pQZ shi puJ @@ -115831,8 +115823,8 @@ pTW pTW pTW pTW -ctp -xBa +jnE +sbt eyT tdF rGd @@ -115848,7 +115840,7 @@ dwf gpK whd kyg -nBJ +oWm iRY jGx iRY @@ -116021,7 +116013,7 @@ mod mwJ kad fwL -gKp +qOm mVo oVm sIj @@ -116032,7 +116024,7 @@ eeJ vKD diN cCP -cNU +kMP bSd mWi vfq @@ -116041,7 +116033,7 @@ ajK iJe qEv wAl -hgn +jPx wAF wAF dli @@ -116064,7 +116056,7 @@ lZU eYn dqV jVS -hkj +tvv eUz nfh tYs @@ -116073,14 +116065,14 @@ hgw lWI iqx qTo -hxb +ewy xat oef ero dHW ibc oUC -tMP +lfc xVm eNK tlL @@ -116088,8 +116080,8 @@ pTW pTW pTW tlL -hTv -gmc +jnE +kvU dbF ifh twC @@ -116286,9 +116278,9 @@ eeJ mJD ibb pab -sDs -fBp -fBp +vfP +rpK +rpK dTf bSd mWi @@ -116345,17 +116337,17 @@ pTW pTW pTW pTW -gjJ -gtK +jnE +lEA sjI nDD xVo uVd eVa xYK -bbF +xZk drp -bjB +fnU jzF jzF qMD @@ -116365,10 +116357,10 @@ ott vSn vfY tNi -hlX +sbZ pxB sxn -wzH +qsw iRY gsA gsA @@ -116519,14 +116511,14 @@ dKs fsF tWL dKs -gRN +dFG aTw kSk rOL kkz dXw dYU -eLE +ffd jao ewP jao @@ -116534,7 +116526,7 @@ nff jao fjo kNl -bYC +hmt bXq iXm dye @@ -116602,8 +116594,8 @@ pTW pTW pTW pTW -hTv -whX +jnE +wnx oMq spg cpb @@ -116816,7 +116808,7 @@ rEE itg lZE dGE -dtm +dmd wAF pqL dOi @@ -116859,8 +116851,8 @@ pTW pTW pTW pTW -dHC -ojt +jnE +skt qOl qWi fRN @@ -117029,7 +117021,7 @@ yeA qFk lsJ wII -aOz +wtP rya lCa kzI @@ -117055,7 +117047,7 @@ fEv uDJ eXG kuU -eWn +iIZ mkW nJb pEl @@ -117071,7 +117063,7 @@ gMh wAl rEE sJr -iWI +joP elG adS wAF @@ -117106,18 +117098,18 @@ rJL kJH dkt maw -dnF -leq -dBS -qXd -uQw +vUx +vuI +ceu +jBK +taU eNK pTW pTW pTW pTW -hTv -gks +jnE +bJz mEP gwr tyd @@ -117340,7 +117332,7 @@ nXU bME nXU fHx -nLo +oLf ipJ mCQ mCQ @@ -117367,14 +117359,14 @@ cLj xHd iRY iRY -xVm +utb eUQ wkM wkM wkM wkM -nSj -gks +dNs +bJz jzT cLG jbo @@ -117543,12 +117535,12 @@ gsA lSW oCe oCe -mXU +gnx oCe oCe oCe oCe -mXU +gnx oCe oCe vfF @@ -117580,7 +117572,7 @@ wJS nYu gtQ fJf -rTy +lAu uWD wAl tpI @@ -117588,10 +117580,10 @@ ouQ qfC xCv vDU -vwm +gvZ cJN oXG -lCk +rSN sKO cJN rUg @@ -117608,10 +117600,10 @@ csY xIb jRT lYY -ybx +gRA lQB nml -dQf +cjh huE qBV tYL @@ -117624,18 +117616,18 @@ ibc dHW vEd iRY -qap -dgq -rrQ -fOg +vTe +fTc +wRT +jir jQt cMH -gFK -tZU +oCV +rTS gNi oRw pfw -mSJ +oGG dyo lRy nRI @@ -117891,8 +117883,8 @@ xtQ gkK qki xHa -qCu -drp +wlD +wId hcF htm htm @@ -118072,7 +118064,7 @@ nMY ylI awd grc -tar +iTQ sQJ iyo grc @@ -118117,7 +118109,7 @@ ipJ xTU pJe ipJ -lbb +cie iyG mMi gTQ @@ -118138,9 +118130,9 @@ cKR eHp dHW gLb -hES +icl amt -dZl +mKZ uKv rkn qCD @@ -118150,19 +118142,19 @@ mAx aXu jrm iRY -uor -sKs -ufa -vfW -bjk -amE -upx -amE -bjk -amE -upx -amE -amE +wjt +wbU +vvC +iJR +dUp +jGx +dKo +jGx +dUp +jGx +dKo +jGx +jGx jGx bhN gsA @@ -118323,7 +118315,7 @@ oCe oCe oCe wII -ojR +jaU iod mwN ylI @@ -118342,8 +118334,8 @@ vMz jAG kjs otE -fSY -gAy +mLT +hen inw xlS pKL @@ -118408,15 +118400,15 @@ lBr tfX iRY nQm -hlX +sbZ vVO iRY geq -hlX +sbZ vVO iRY geq -hlX +sbZ vVO iRY iRY @@ -118591,7 +118583,7 @@ ssS mkC mkC sxp -dHz +tqY nyJ jcl tpA @@ -118625,7 +118617,7 @@ qPp rij jda eiC -wEq +vcU sUd sUd sUd @@ -118846,9 +118838,9 @@ sxp uqR uKl uKl -mqJ +pKx sxp -aDD +kkQ bJj vft egv @@ -118862,7 +118854,7 @@ wsJ qXS lcG juC -obZ +hbw eXZ eqb cId @@ -118893,7 +118885,7 @@ wYG wYG bgH vjp -iqP +cdN tfq tfq tfq @@ -119108,13 +119100,13 @@ sxp fqh xtE tEB -dTi +dBn naP wUf dhI vMO otE -vat +xQT nnr acM fZQ @@ -119155,7 +119147,7 @@ iGW kal xJm kIj -fIu +ybZ edf iPs otP @@ -119174,20 +119166,20 @@ iJN apC niS niP -eLP +ekq lBr tfX iRY lKh -eQe +qpr lKh iRY gpe -xuD +pWk gpe iRY eiL -iYL +cAP eiL iRY gsA @@ -119381,8 +119373,8 @@ jvJ oMN pLG wNt -fbI -cSC +aUW +buJ eqb wLX ccG @@ -119619,11 +119611,11 @@ sxp lFd fjq sxp -iyR +jht nVS svm neh -chY +cfH lko xRL ndA @@ -119647,13 +119639,13 @@ nes gFW hwc bMC -xwX +uAF nXb xFS yie czA xPA -usf +qYY tFE nSe fCR @@ -119696,7 +119688,7 @@ egp egp egp egp -bad +pgc egp mGp bhN @@ -119880,7 +119872,7 @@ klS xok ycK neh -bLS +nAz hVv fmQ dQv @@ -119910,7 +119902,7 @@ qPp eHz kVX xPA -bMv +hsI nLw eBp lfZ @@ -120156,7 +120148,7 @@ bsF bxs oCq nXU -bLe +vki rmV bqW fFf @@ -120404,13 +120396,13 @@ rhh jJC jJC jJC -cWP +tzT tIJ uPJ xUI eqb -jsd -rpI +fOR +xvM lZw nXU jbn @@ -120430,7 +120422,7 @@ nzD fzo qeU kyR -ser +jdT qat rMN tkf @@ -120453,7 +120445,7 @@ dHW dHW gLb xtQ -sfi +nLs gLb gLb jGx @@ -120629,8 +120621,8 @@ rdD nIs mpK eaE -wgp -wPk +klt +wCd hcr hcr pLp @@ -120640,7 +120632,7 @@ fUT hcr hcr hcr -gYR +ctM uCC uCC oUl @@ -120685,7 +120677,7 @@ mGv nss iwS aMw -cMS +luc kyR gKd cPU @@ -120697,7 +120689,7 @@ tfq ktc hzd jlZ -vbr +boB luD mmz lyw @@ -120900,7 +120892,7 @@ lSW lkT uCC xUe -goh +thC uCC uCC uCC @@ -120940,7 +120932,7 @@ wBN hOB dFr kyR -sBq +xSd gnv hMs kpf @@ -121156,7 +121148,7 @@ gsA gsA gsA uCC -hnA +fMJ kIZ tfZ nhi @@ -121203,7 +121195,7 @@ fOw kyR qoI bnW -uxt +oIr jGO soP rKv @@ -121467,7 +121459,7 @@ ghC tfq hzd oWM -aPJ +xPh cxD coJ koC diff --git a/_maps/map_files/debug/multidir_sprite_debug.dmm b/_maps/map_files/debug/multidir_sprite_debug.dmm new file mode 100644 index 0000000000000..b1d4b2119b4c4 --- /dev/null +++ b/_maps/map_files/debug/multidir_sprite_debug.dmm @@ -0,0 +1,1152 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"w" = ( +/obj/structure/table/debug, +/turf/open/space/basic, +/area/space) +"y" = ( +/turf/open/floor/carpet/debug, +/area/space) +"z" = ( +/turf/open/floor/iron, +/area/space) +"A" = ( +/turf/closed/wall/debug, +/area/space) +"T" = ( +/turf/open/space/basic, +/area/space) + +(1,1,1) = {" +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +"} +(2,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(3,1,1) = {" +z +T +A +A +A +A +A +T +T +A +T +A +T +T +T +A +A +T +T +A +A +A +A +T +z +"} +(4,1,1) = {" +z +T +A +T +A +T +A +T +A +A +A +A +A +T +A +A +A +A +T +T +A +A +T +T +z +"} +(5,1,1) = {" +z +T +A +A +A +A +A +T +T +A +A +A +T +T +A +A +A +A +T +T +A +A +T +T +z +"} +(6,1,1) = {" +z +T +A +T +A +T +A +T +A +A +A +A +A +T +T +A +A +T +T +A +A +A +A +T +z +"} +(7,1,1) = {" +z +T +A +A +A +A +A +T +T +A +T +A +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(8,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +A +A +T +T +T +A +T +T +A +T +z +"} +(9,1,1) = {" +z +T +T +T +A +T +T +T +A +A +T +A +A +T +A +A +A +T +T +A +A +A +A +T +z +"} +(10,1,1) = {" +z +T +T +A +A +A +T +T +A +A +A +A +A +T +T +A +A +T +T +A +A +A +A +T +z +"} +(11,1,1) = {" +z +T +A +A +A +A +A +T +T +A +T +A +T +T +T +T +T +T +T +A +T +T +A +T +z +"} +(12,1,1) = {" +z +T +T +A +A +A +T +T +A +A +A +A +A +T +T +A +A +T +T +T +T +T +T +T +z +"} +(13,1,1) = {" +z +T +T +T +A +T +T +T +A +A +T +A +A +T +A +A +A +T +A +T +T +T +T +T +z +"} +(14,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +A +A +T +T +T +T +T +T +T +T +z +"} +(15,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(16,1,1) = {" +z +T +y +y +y +y +y +T +T +y +T +y +T +T +T +y +y +T +T +y +y +y +y +T +z +"} +(17,1,1) = {" +z +T +y +T +y +T +y +T +y +y +y +y +y +T +y +y +y +y +T +T +y +y +T +T +z +"} +(18,1,1) = {" +z +T +y +y +y +y +y +T +T +y +T +y +T +T +y +y +y +y +T +T +y +y +T +T +z +"} +(19,1,1) = {" +z +T +y +T +y +T +y +T +y +y +y +y +y +T +T +y +y +T +T +y +y +y +y +T +z +"} +(20,1,1) = {" +z +T +y +y +y +y +y +T +T +y +T +y +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(21,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +y +y +T +T +T +y +T +T +y +T +z +"} +(22,1,1) = {" +z +T +T +T +y +T +T +T +y +y +T +y +y +T +y +y +y +T +T +y +y +y +y +T +z +"} +(23,1,1) = {" +z +T +T +y +y +y +T +T +y +y +y +y +y +T +T +y +y +T +T +y +y +y +y +T +z +"} +(24,1,1) = {" +z +T +y +y +y +y +y +T +T +y +T +y +T +T +T +T +T +T +T +y +T +T +y +T +z +"} +(25,1,1) = {" +z +T +T +y +y +y +T +T +y +y +y +y +y +T +T +y +y +T +T +T +T +T +T +T +z +"} +(26,1,1) = {" +z +T +T +T +y +T +T +T +y +y +T +y +y +T +y +y +y +T +y +T +T +T +T +T +z +"} +(27,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +y +y +T +T +T +T +T +T +T +T +z +"} +(28,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(29,1,1) = {" +z +T +w +w +w +w +w +T +T +w +T +w +T +T +T +w +w +T +T +w +w +w +w +T +z +"} +(30,1,1) = {" +z +T +w +T +w +T +w +T +w +w +w +w +w +T +w +w +w +w +T +T +w +w +T +T +z +"} +(31,1,1) = {" +z +T +w +w +w +w +w +T +T +w +T +w +T +T +w +w +w +w +T +T +w +w +T +T +z +"} +(32,1,1) = {" +z +T +w +T +w +T +w +T +w +w +w +w +w +T +T +w +w +T +T +w +w +w +w +T +z +"} +(33,1,1) = {" +z +T +w +w +w +w +w +T +T +w +T +w +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(34,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +w +w +T +T +T +w +T +T +w +T +z +"} +(35,1,1) = {" +z +T +T +T +w +T +T +T +w +w +T +w +w +T +w +w +w +T +T +w +w +w +w +T +z +"} +(36,1,1) = {" +z +T +T +w +w +w +T +T +w +w +w +w +w +T +T +w +w +T +T +w +w +w +w +T +z +"} +(37,1,1) = {" +z +T +w +w +w +w +w +T +T +w +T +w +T +T +T +T +T +T +T +w +T +T +w +T +z +"} +(38,1,1) = {" +z +T +T +w +w +w +T +T +w +w +w +w +w +T +T +w +w +T +T +T +T +T +T +T +z +"} +(39,1,1) = {" +z +T +T +T +w +T +T +T +w +w +T +w +w +T +w +w +w +T +w +T +T +T +T +T +z +"} +(40,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +w +w +T +T +T +T +T +T +T +T +z +"} +(41,1,1) = {" +z +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +T +z +"} +(42,1,1) = {" +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +z +"} diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 2212caec61cf3..0388aed6c7f9e 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -65,16 +65,13 @@ pixel_y = 23; dir = 1 }, -/obj/machinery/power/apc{ - dir = 8; - pixel_x = -25 - }, /obj/structure/closet/secure_closet/engineering_electrical{ locked = 0 }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/engine/engineering) "aq" = ( @@ -111,11 +108,6 @@ /turf/open/floor/iron, /area/engine/gravity_generator) "at" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Gravity Generator APC"; - pixel_y = 23 - }, /obj/structure/cable{ icon_state = "0-8" }, @@ -126,6 +118,7 @@ dir = 5 }, /obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/engine/gravity_generator) "au" = ( @@ -142,20 +135,12 @@ /turf/open/floor/plating, /area/engine/atmos) "ax" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/engine/atmos) -"ay" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply/hidden, /turf/open/floor/plating, /area/engine/atmos) "az" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, /obj/machinery/meter, +/obj/effect/mapping_helpers/simple_pipes/supply/hidden, /turf/open/floor/plating, /area/engine/atmos) "aA" = ( @@ -198,13 +183,11 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/engineering) "aF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, /turf/open/floor/iron, @@ -229,6 +212,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron, /area/engine/gravity_generator) "aI" = ( @@ -236,27 +220,19 @@ /turf/open/floor/plating, /area/engine/gravity_generator) "aN" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/obj/effect/turf_decal/bot{ - dir = 2 +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 }, /turf/open/floor/iron{ dir = 2 }, /area/engine/atmos) "aO" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4 - }, +/obj/machinery/atmospherics/components/binary/pump/on, /turf/open/floor/iron, /area/engine/atmos) "aP" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plating, /area/engine/atmos) "aQ" = ( @@ -292,9 +268,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/engineering) "aU" = ( @@ -307,9 +281,7 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/gravity_generator) "aV" = ( @@ -319,9 +291,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/gravity_generator) "aW" = ( @@ -331,6 +301,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/gravity_generator) "aX" = ( @@ -349,24 +320,26 @@ /turf/open/floor/iron/dark, /area/engine/gravity_generator) "ba" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/engine/atmos) "bb" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 + dir = 1 }, -/obj/machinery/portable_atmospherics/canister, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/bot{ dir = 2 }, -/turf/open/floor/iron{ - dir = 2 - }, +/turf/open/floor/iron, /area/engine/atmos) "bc" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot{ + dir = 2 }, /turf/open/floor/iron, /area/engine/atmos) @@ -381,7 +354,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/engineering) "bf" = ( @@ -398,27 +371,28 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, /turf/open/floor/iron, /area/engine/gravity_generator) "bk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/door/airlock, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/engine/atmos) "bl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/meter, /turf/open/floor/plating, /area/engine/atmos) "bm" = ( -/obj/machinery/atmospherics/components/binary/valve/on{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plating, /area/engine/atmos) "bo" = ( @@ -458,13 +432,13 @@ /turf/open/floor/iron, /area/science) "bt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/cable{ icon_state = "2-4" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/science) "bu" = ( @@ -483,7 +457,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/engine/engineering) "by" = ( @@ -513,7 +487,7 @@ /turf/open/floor/iron, /area/science) "bH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/security/brig) "bI" = ( @@ -548,10 +522,6 @@ /obj/item/construction/rcd/combat, /turf/open/floor/iron, /area/bridge) -"bN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/iron, -/area/hallway/primary/central) "bO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -609,10 +579,10 @@ /turf/open/floor/iron, /area/science) "cb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-4" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/science) "cc" = ( @@ -635,9 +605,6 @@ /turf/open/floor/iron, /area/bridge) "ch" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -647,7 +614,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/security/brig) "cj" = ( @@ -688,7 +655,6 @@ /turf/open/floor/iron, /area/science) "cs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, @@ -712,7 +678,7 @@ /area/medical/medbay) "cw" = ( /obj/machinery/door/airlock, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/bridge) "cx" = ( @@ -723,22 +689,16 @@ /obj/effect/turf_decal/loading_area{ dir = 8 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/iron, /area/medical/medbay) "cz" = ( /obj/structure/fans/tiny, /turf/open/floor/plating, /area/medical/medbay) -"cA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "cB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/light{ dir = 1 }, @@ -748,24 +708,16 @@ /turf/open/floor/iron, /area/hallway/primary/central) "cE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/closed/wall/r_wall, /area/medical/chemistry) "cF" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/iron, /area/medical/chemistry) "cG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/medical/medbay) +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/hallway/secondary/exit/departure_lounge) "cI" = ( /obj/machinery/power/apc{ dir = 4; @@ -811,9 +763,12 @@ /turf/closed/wall/r_wall, /area/construction) "cP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/construction) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/atmos) "cQ" = ( /obj/machinery/airalarm/unlocked{ pixel_y = 23; @@ -839,19 +794,11 @@ /area/storage/primary) "cT" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/iron, /area/medical/chemistry) -"cU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "cV" = ( /obj/machinery/door/airlock/public/glass, /turf/open/floor/iron, @@ -870,12 +817,9 @@ /turf/open/floor/iron, /area/construction) "cX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron, -/area/construction) +/area/science) "cY" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -887,7 +831,6 @@ /turf/open/floor/iron, /area/construction) "da" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, @@ -928,7 +871,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/security/brig) "dg" = ( @@ -955,10 +898,8 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, /obj/effect/turf_decal/stripes/corner, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "dl" = ( @@ -1052,12 +993,10 @@ /turf/open/floor/iron, /area/construction) "dA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "dB" = ( @@ -1081,7 +1020,7 @@ /turf/open/floor/iron, /area/storage/primary) "dF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /turf/open/floor/iron, @@ -1092,6 +1031,7 @@ /area/storage/primary) "dH" = ( /obj/machinery/door/airlock, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/maintenance/department/bridge) "dI" = ( @@ -1230,7 +1170,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/security/brig) "eh" = ( @@ -1240,7 +1180,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "ej" = ( @@ -1250,11 +1190,10 @@ /turf/open/floor/iron, /area/hallway/secondary/entry) "ek" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/machinery/door/airlock/public/glass, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/storage/primary) "el" = ( /obj/docking_port/stationary/random{ id = "pod_lavaland1"; @@ -1283,18 +1222,14 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "eq" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "et" = ( @@ -1328,9 +1263,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -1347,7 +1279,7 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "eC" = ( @@ -1386,16 +1318,6 @@ }, /turf/open/floor/iron, /area/quartermaster/storage) -"eH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/storage/primary) "eJ" = ( /obj/docking_port/stationary{ dir = 4; @@ -1414,14 +1336,14 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "eL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "eM" = ( @@ -1453,9 +1375,6 @@ /turf/open/floor/iron, /area/quartermaster/storage) "eR" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, /obj/machinery/door/airlock/external{ name = "Supply Dock Airlock" }, @@ -1526,15 +1445,10 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/iron, /area/quartermaster/storage) "fa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron, /area/quartermaster/storage) "fb" = ( @@ -1557,11 +1471,11 @@ /turf/open/floor/plating, /area/quartermaster/storage) "fd" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/hallway/primary/central) "fe" = ( /obj/machinery/button/door{ dir = 2; @@ -1683,9 +1597,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/hallway/primary/central) "fu" = ( @@ -1695,23 +1607,19 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/primary/central) "fv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/hallway/primary/central) +/area/quartermaster/storage) "fw" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/corner, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fx" = ( @@ -1721,9 +1629,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/iron, /area/storage/primary) "fy" = ( @@ -1736,9 +1641,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/iron, /area/storage/primary) "fz" = ( @@ -1748,9 +1650,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/iron, /area/storage/primary) "fA" = ( @@ -1760,9 +1659,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fB" = ( @@ -1776,9 +1673,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fD" = ( @@ -1792,9 +1687,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fE" = ( @@ -1804,9 +1697,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fF" = ( @@ -1824,33 +1715,31 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/storage/primary) "fI" = ( /obj/machinery/door/airlock, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/maintenance/aft) "fK" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, /obj/structure/cable{ icon_state = "1-4" }, @@ -1863,10 +1752,10 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "2-8" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/medical/chemistry) "fM" = ( @@ -1890,9 +1779,6 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /turf/open/floor/plating, /area/storage/primary) "fO" = ( @@ -1905,6 +1791,7 @@ /obj/machinery/keycard_auth{ pixel_y = 28 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fQ" = ( @@ -1912,6 +1799,7 @@ /obj/machinery/status_display/evac{ pixel_y = 32 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fR" = ( @@ -1919,7 +1807,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/storage/primary) "fS" = ( @@ -1930,15 +1818,13 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/science) +/area/medical/chemistry) "fU" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1947,27 +1833,21 @@ pixel_y = 23; dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fV" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fW" = ( /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "fX" = ( @@ -1996,16 +1876,16 @@ /turf/open/floor/iron, /area/quartermaster/storage) "fZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/hallway/secondary/exit/departure_lounge) "ga" = ( /turf/closed/wall/r_wall, /area/hallway/secondary/exit/departure_lounge) "gb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /turf/open/floor/iron, @@ -2065,6 +1945,7 @@ pixel_x = 32; dir = 1 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/quartermaster/miningoffice) "gj" = ( @@ -2084,20 +1965,16 @@ /turf/closed/wall/r_wall, /area/hallway/secondary/exit/departure_lounge) "gl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /turf/open/floor/iron, /area/quartermaster/miningoffice) "gm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, +/obj/machinery/door/airlock/public/glass, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/quartermaster/miningoffice) +/area/medical/medbay) "gn" = ( /obj/machinery/camera/directional/north, /turf/open/floor/iron, @@ -2106,7 +1983,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/quartermaster/miningoffice) "gp" = ( @@ -2114,48 +1991,33 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/quartermaster/miningoffice) "gq" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron, /area/hallway/secondary/entry) "gr" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/medical/medbay) "gs" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/iron, -/area/hallway/secondary/entry) +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/plating, +/area/maintenance/department/bridge) "gt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/hallway/primary/central) "gu" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "2-8" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "gv" = ( @@ -2163,19 +2025,16 @@ /turf/open/floor/iron, /area/hallway/secondary/entry) "gw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, /obj/machinery/light, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/entry) "gx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/machinery/light, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/security/brig) "gy" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -2197,30 +2056,23 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/light{ dir = 1 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "gB" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, /turf/open/floor/iron, -/area/hallway/secondary/entry) +/area/medical/chemistry) "gC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/light{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/hallway/secondary/entry) "gD" = ( @@ -2229,6 +2081,7 @@ /area/quartermaster/miningoffice) "gE" = ( /obj/machinery/camera/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/iron, /area/hallway/secondary/entry) "gF" = ( @@ -2248,10 +2101,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/camera/directional/north, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/secondary/exit/departure_lounge) "gI" = ( @@ -2268,12 +2119,10 @@ /turf/open/floor/iron, /area/security/brig) "gY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/science) "hD" = ( @@ -2303,14 +2152,13 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/science) "jE" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/atmos) +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) "jU" = ( /obj/structure/table, /obj/item/melee/transforming/energy/axe, @@ -2333,9 +2181,6 @@ /turf/open/floor/iron, /area/bridge) "kQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, /obj/structure/cable{ icon_state = "0-8" }, @@ -2346,27 +2191,17 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/iron, /area/hallway/primary/central) "lg" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/engineering) -"lX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/iron, -/area/hallway/primary/central) "mm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, @@ -2396,9 +2231,6 @@ /turf/open/floor/iron, /area/storage/primary) "nw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, /obj/structure/table, /obj/item/gun/magic/wand/resurrection/debug, /obj/item/gun/magic/wand/death/debug{ @@ -2425,21 +2257,29 @@ }, /turf/open/floor/iron, /area/bridge) +"nM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/storage/primary) "ou" = ( /obj/machinery/airalarm/directional/west, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/engine/atmos) "oV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/iron, -/area/medical/chemistry) -"pA" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall/r_wall, -/area/science) +/area/security/brig) +"pC" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/bridge) "pI" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -2455,12 +2295,15 @@ /area/medical/chemistry) "qb" = ( /obj/machinery/door/airlock, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/engine/atmos) "qn" = ( /obj/structure/cable{ icon_state = "0-2" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/maintenance/department/bridge) "sE" = ( @@ -2468,16 +2311,24 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/space/nearstation) -"sT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +"tn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/central) +"tQ" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/primary/central) +"tX" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/storage/primary) "ut" = ( /obj/structure/closet/secure_closet/atmospherics{ locked = 0 @@ -2492,13 +2343,12 @@ /area/maintenance/aft) "vv" = ( /obj/machinery/door/airlock, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/storage/primary) "vP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/door/airlock/public/glass, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/medical/chemistry) "vY" = ( @@ -2506,6 +2356,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"wz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/medical/chemistry) +"wD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/science) "wO" = ( /obj/machinery/light, /obj/machinery/clonepod/prefilled, @@ -2515,15 +2381,18 @@ /turf/open/floor/iron/white/corner, /area/medical/medbay) "wS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/airalarm/unlocked{ pixel_y = 23; dir = 1 }, /turf/open/floor/iron, /area/hallway/primary/central) +"wY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "zo" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ @@ -2540,12 +2409,6 @@ }, /turf/open/floor/iron, /area/bridge) -"AP" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/iron, -/area/science) "AT" = ( /obj/machinery/airalarm/unlocked{ pixel_y = 23; @@ -2600,9 +2463,25 @@ dir = 1 }, /area/medical/medbay) +"BZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/hallway/primary/central) "Ce" = ( /turf/open/floor/iron, /area/medical/chemistry) +"Cr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/bridge) "Ct" = ( /obj/structure/closet/syndicate/resources/everything, /turf/open/floor/iron, @@ -2633,13 +2512,38 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/medical/chemistry) +"CZ" = ( +/obj/machinery/atmospherics/components/binary/valve/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/valve/on/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/atmos) "Dd" = ( /obj/machinery/modular_fabricator/component_printer, /turf/open/floor/iron, /area/medical/chemistry) +"Dv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/quartermaster/storage) +"DY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/medical/medbay) +"Eh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/iron, +/area/hallway/secondary/entry) "EG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -2650,12 +2554,10 @@ /turf/open/floor/iron, /area/construction) "ES" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/structure/cable{ icon_state = "1-8" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/hallway/primary/central) "EX" = ( @@ -2669,9 +2571,6 @@ /turf/open/floor/iron, /area/medical/chemistry) "Gp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/machinery/light{ dir = 1 }, @@ -2680,17 +2579,33 @@ }, /turf/open/floor/iron, /area/hallway/primary/central) +"Gt" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron/white/corner{ + dir = 1 + }, +/area/medical/medbay) "Ha" = ( /obj/effect/turf_decal/tile/neutral/fourcorners/contrasted, /turf/open/floor/iron/dark, /area/engine/gravity_generator) +"Hp" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/storage/primary) "If" = ( /obj/machinery/rnd/production/techfab/department, /turf/open/floor/iron, /area/science) "JF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, /turf/open/floor/iron, /area/medical/chemistry) @@ -2705,6 +2620,19 @@ /obj/machinery/chem_dispenser/chem_synthesizer, /turf/open/floor/iron/dark, /area/medical/chemistry) +"LD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/hallway/secondary/entry) +"LJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/turf/open/floor/iron, +/area/bridge) "MT" = ( /obj/structure/closet/secure_closet/captains{ locked = 0 @@ -2715,19 +2643,21 @@ /turf/open/floor/iron, /area/bridge) "MY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "2-4" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/engine/atmos) "NQ" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, /turf/open/floor/iron, -/area/hallway/primary/central) +/area/storage/primary) "NZ" = ( /obj/machinery/rnd/production/protolathe/department, /turf/open/floor/iron, @@ -2736,6 +2666,13 @@ /obj/item/disk/tech_disk/debug, /turf/open/floor/iron, /area/science) +"PC" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 8 + }, +/turf/open/space, +/area/space/nearstation) "PI" = ( /obj/structure/fans/tiny/invisible, /turf/open/space/basic, @@ -2747,11 +2684,18 @@ /obj/machinery/door/airlock/external/glass, /turf/open/floor/plating, /area/medical/medbay) +"Qz" = ( +/obj/effect/mapping_helpers/simple_pipes/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/department/bridge) "QO" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/bridge) "QV" = ( @@ -2781,6 +2725,7 @@ /turf/open/floor/iron/white/corner, /area/medical/medbay) "Tt" = ( +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/plating, /area/maintenance/aft) "Ut" = ( @@ -2790,6 +2735,12 @@ /obj/item/healthanalyzer/advanced, /turf/open/floor/iron, /area/medical/medbay) +"UG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/storage/primary) "Vg" = ( /obj/machinery/light, /turf/open/floor/iron, @@ -2798,6 +2749,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, /turf/open/floor/iron, /area/engine/engineering) "VA" = ( @@ -2807,6 +2761,11 @@ /obj/structure/fans/tiny, /turf/open/floor/iron, /area/engine/engineering) +"VF" = ( +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/hallway/primary/central) "Wh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -2845,14 +2804,15 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden, /turf/open/floor/iron, /area/science) "XR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 }, -/turf/open/floor/plating, -/area/engine/atmos) +/turf/open/floor/iron, +/area/hallway/primary/central) "XU" = ( /obj/machinery/atmospherics/components/unary/tank/air, /obj/machinery/light{ @@ -2883,15 +2843,21 @@ dir = 1 }, /area/medical/medbay) +"YN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/bridge) "ZD" = ( /obj/machinery/suit_storage_unit/ce, /turf/open/floor/iron, /area/engine/atmos) "ZW" = ( /obj/machinery/camera/directional/north, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, @@ -4575,11 +4541,11 @@ aa aa em gi -gm +go go gp ei -gr +eB ge aa aa @@ -5142,7 +5108,7 @@ aa aa ge eh -eh +wY en aa aa @@ -5151,7 +5117,7 @@ aa aa en eh -eh +wY ge aa aa @@ -5223,7 +5189,7 @@ aa aa ge gq -gs +eq ge aa aa @@ -5233,7 +5199,7 @@ aa aa aa ge -eh +Eh gw ge aa @@ -5242,8 +5208,8 @@ aa aa aa ge -gB -eh +gC +eL en aa aa @@ -5326,7 +5292,7 @@ aa aa en eh -ek +eL en aa aa @@ -5334,8 +5300,8 @@ aa aa aa en -ek eh +eL ge aa aa @@ -5407,7 +5373,7 @@ aa aa ge eh -gt +eq en aa aa @@ -5418,7 +5384,7 @@ aa aa en eh -ek +eL en aa aa @@ -5426,8 +5392,8 @@ aa aa aa en -ek eh +eL en aa aa @@ -5499,7 +5465,7 @@ aa aa ge ej -gt +eq eo aa aa @@ -5510,7 +5476,7 @@ aa aa eo eh -ek +eL en aa aa @@ -5518,8 +5484,8 @@ aa aa aa en -ek eh +eL ge aa aa @@ -5591,7 +5557,7 @@ aa aa ge eh -gt +eq en aa aa @@ -5602,7 +5568,7 @@ aa aa en eh -gx +gw ge aa aa @@ -5610,8 +5576,8 @@ aa aa aa ge -gC -eh +ej +eL ge aa aa @@ -5683,7 +5649,7 @@ aa aa ge eh -gt +eq dh aa aa @@ -5694,7 +5660,7 @@ aa aa ge eh -ek +eL en aa aa @@ -5702,8 +5668,8 @@ eE aa aa en -ek eh +eL ge aa aa @@ -5775,7 +5741,7 @@ bw ag ag eh -gt +eq dh dh en @@ -5786,7 +5752,7 @@ en ge ge eh -ek +eL ge ge fn @@ -5794,8 +5760,8 @@ fs en ge ge -ek eh +eL ge aa aa @@ -5858,7 +5824,7 @@ aa ag dR aD -aD +oV bC de gJ @@ -5867,18 +5833,18 @@ aD dR ag eh -gt +eq eh eV eh eh eh -eh +wY eh eV eh eh -ek +eL eh eV eh @@ -5886,8 +5852,8 @@ eh eh eV eh -ek eh +eL ge aa aa @@ -5949,8 +5915,8 @@ aa aa ag gn -aD -aD +bH +bH bH ci df @@ -5970,7 +5936,6 @@ eB eL eL eL -fd eL eL eL @@ -5978,8 +5943,9 @@ eL eL eL eL -fZ -eh +eL +eL +eL ge aa aa @@ -6041,12 +6007,12 @@ aa aa ag aD -aD +bH aD bT cI dg -aD +gx aD aD ag @@ -6057,7 +6023,7 @@ eq eh eh eh -eh +LD eF eM fM @@ -6069,7 +6035,7 @@ eh eh eh eh -eh +eL eh eh ge @@ -6225,10 +6191,10 @@ aa aa ah ut -aw +ba ou -aw -aw +ba +ba Kx ah bs @@ -6319,20 +6285,20 @@ ah am ax aw +bm ba -jE MY bk bt -fT +gY cb -AP -pA +bD +bA kQ -fv -bN -cP -cX +gt +tn +cN +cY dn dn dn @@ -6409,19 +6375,19 @@ aa aa ah dS -ay +ax aN bb -bl +CZ zo ah Yy -bD +cX XC gY jb ES -bE +gt bE ef cY @@ -6436,7 +6402,7 @@ dn dn dn dL -cN +ef Tt vm fg @@ -6501,19 +6467,19 @@ aa aa ah am -ay +ax aO bc -bm +ba ZD ah bF OU -cc +wD Ct gd -cA bE +gt bE ef cY @@ -6528,7 +6494,7 @@ dn dn dn dL -cN +ef Tt vm fg @@ -6595,8 +6561,8 @@ ah XU az aP -aP -XR +cP +ba Xp ah NZ @@ -6605,7 +6571,7 @@ cc co bA wS -bE +gt bE cN dW @@ -6687,7 +6653,7 @@ ah Wh ah ah -Wh +bl ah ah ah @@ -6697,7 +6663,7 @@ cd bu bu cB -bE +gt bE cN cY @@ -6778,9 +6744,9 @@ aa ae ab ab -ab -ab -ab +jE +PC +jE ab ab bu @@ -6789,7 +6755,7 @@ CS Cv bu ZW -lX +gt bE cN cY @@ -6880,8 +6846,8 @@ bI cf MT bv -sT -bE +mm +gt bE cN cY @@ -6969,13 +6935,13 @@ sE ab bv BG -cf +Cr mP bu -sT -bE +mm +gt bE -cN +ef cY dn dn @@ -6988,7 +6954,7 @@ dn dn dn dL -cN +ef Tt Rb fg @@ -7061,11 +7027,11 @@ ab ab bv bJ -cf +LJ QO cw -NQ -bE +tQ +gt bE ef cY @@ -7080,7 +7046,7 @@ dn dn dn dL -cN +ef Tt Rb fg @@ -7153,13 +7119,13 @@ ac ac bv bK -cf +YN nG bu mm +gt bE -bE -ef +cN cY dn dn @@ -7249,7 +7215,7 @@ cf zG bv mm -bE +gt bE cN dK @@ -7341,7 +7307,7 @@ kK mG bu Gp -bE +gt bE cS cS @@ -7433,7 +7399,7 @@ cd bu bu cE -bE +VF bE cS dd @@ -7447,9 +7413,9 @@ dl dl dl dp -dE +NQ cS -fO +cG fO fO gf @@ -7525,7 +7491,7 @@ cj ct Dd cF -bE +gt bE cS dc @@ -7539,9 +7505,9 @@ dC dC dC dC -eW +Hp vv -fO +cG fO fO fb @@ -7617,8 +7583,8 @@ fL ch cs cT -cU -cU +BZ +bO da fK dJ @@ -7631,9 +7597,9 @@ dJ dJ dJ dJ -dJ +UG cS -fO +cG fO fO gf @@ -7696,7 +7662,7 @@ aa aa aa ad -af +pC aj ar aF @@ -7705,11 +7671,11 @@ bf bp aj bP -pQ +wz JF Ce -oV -bE +cF +gt bE cS fx @@ -7788,7 +7754,7 @@ aa aa aa ad -af +Qz ak ak ak @@ -7797,11 +7763,11 @@ ak ak ak bQ -pQ -Ce -Ce +wz +fT +fT vP -bE +gt Vg cS fy @@ -7880,7 +7846,7 @@ aa aa aa ad -af +gs ak as aG @@ -7890,11 +7856,11 @@ bq ak bR pQ +gB Ce -Ce -oV -bE -bE +cF +gt +XR cV fz ds @@ -7910,7 +7876,7 @@ dJ jU cS fQ -fO +fZ fO ga aa @@ -7984,10 +7950,10 @@ bS pQ Ce Ce -oV -bE -bE -cV +cF +gt +gt +ek fA dt dJ @@ -8064,7 +8030,7 @@ aa aa aa ad -af +gs ak au aI @@ -8076,9 +8042,9 @@ Ly EX Xg Ce -oV -bE -bE +cF +gt +fd cV fC du @@ -8156,7 +8122,7 @@ aa aa aa ad -af +gs ak av av @@ -8168,8 +8134,8 @@ by ck by cx -cG -cx +by +gm by by fD @@ -8248,7 +8214,7 @@ aa aa aa ad -af +gs ak av Ha @@ -8261,7 +8227,7 @@ cl cu cu nw -cu +Gt cJ by fE @@ -8340,7 +8306,7 @@ aa aa aa ad -af +gs ak dT Ha @@ -8351,9 +8317,9 @@ by YI cm cm +DY cm -cm -cm +gr Sj by dA @@ -8362,7 +8328,7 @@ dJ dJ dJ dF -dJ +nM dJ dJ dJ @@ -8432,7 +8398,7 @@ aa aa aa ad -af +gs ak av Ha @@ -8441,18 +8407,18 @@ Ha av by BK -cm -cm -cm -cm -cm +gr +gr +gr +gr +gr cL by dk -eH -eH -eH -eH +fG +fG +fG +fG eK fw fG @@ -8524,7 +8490,7 @@ aa aa aa ad -af +gs ak av av @@ -8533,7 +8499,7 @@ av av by bX -cm +gr eU cy Ut @@ -8546,7 +8512,7 @@ dl dl gg ez -dB +tX dl dl dl @@ -8616,7 +8582,7 @@ aa aa aa ad -af +gs ak ak ak @@ -8708,16 +8674,16 @@ aa aa aa ad -af -af -af -af -af -af -af -af -af -af +gs +gs +gs +gs +gs +gs +gs +gs +gs +gs by cz by @@ -8730,7 +8696,7 @@ eG eP fY eZ -eu +fv fq fr eu @@ -8822,8 +8788,8 @@ eu eQ eu fa -eu -eu +fv +Dv eu fo eu diff --git a/_maps/shuttles/exploration/exploration_shuttle.dmm b/_maps/shuttles/exploration/exploration_shuttle.dmm index e3008c23b8803..c2e4fd1e84e45 100644 --- a/_maps/shuttles/exploration/exploration_shuttle.dmm +++ b/_maps/shuttles/exploration/exploration_shuttle.dmm @@ -167,9 +167,6 @@ /turf/open/floor/mineral/titanium, /area/shuttle/exploration) "v" = ( -/obj/machinery/camera/preset{ - dir = 8 - }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -262,7 +259,7 @@ /area/shuttle/exploration) "F" = ( /obj/machinery/camera/preset{ - dir = 8 + dir = 6 }, /obj/machinery/newscaster{ pixel_x = 32; diff --git a/_maps/shuttles/hunter/hunter_bounty.dmm b/_maps/shuttles/hunter/hunter_bounty.dmm index 5af15838e90a7..cbea0fa260013 100644 --- a/_maps/shuttles/hunter/hunter_bounty.dmm +++ b/_maps/shuttles/hunter/hunter_bounty.dmm @@ -20,7 +20,7 @@ /turf/open/floor/iron/tech/grid, /area/shuttle/hunter) "aw" = ( -/obj/effect/turf_decal/techfloor/corners{ +/obj/effect/turf_decal/edges/techfloor/corners{ dir = 8 }, /obj/structure/reagent_dispensers/watertank, @@ -67,14 +67,14 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, -/obj/effect/turf_decal/techfloor/corners{ +/obj/effect/turf_decal/edges/techfloor/corners{ dir = 8 }, /turf/open/floor/iron/dark, /area/shuttle/hunter) "bc" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor, +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/structure/guncase{ @@ -96,7 +96,7 @@ /turf/open/floor/iron/tech/grid, /area/shuttle/hunter) "ca" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /obj/structure/chair/fancy/shuttle{ @@ -112,7 +112,7 @@ /obj/machinery/computer/camera_advanced/bounty_hunter{ dir = 8 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 4 }, /turf/open/floor/iron/tech, @@ -220,7 +220,7 @@ dir = 2; layer = 4.1 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/structure/extinguisher_cabinet{ @@ -288,13 +288,13 @@ /obj/machinery/computer/shuttle_flight/hunter{ dir = 8 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 4 }, /turf/open/floor/iron/tech, /area/shuttle/hunter) "ls" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 5 }, /obj/item/trash/candy, @@ -364,7 +364,7 @@ /turf/closed/wall/mineral/titanium/survival/nodiagonal, /area/shuttle/hunter) "nL" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /turf/open/floor/iron/tech, @@ -405,7 +405,7 @@ /turf/open/floor/iron/tech/grid, /area/shuttle/hunter) "pC" = ( -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -478,7 +478,7 @@ /turf/open/floor/iron/tech/grid, /area/shuttle/hunter) "ri" = ( -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /turf/open/floor/iron/tech, /area/shuttle/hunter) "rB" = ( @@ -493,7 +493,7 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 6 }, -/obj/effect/turf_decal/techfloor/corners, +/obj/effect/turf_decal/edges/techfloor/corners, /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/pet/fox{ dir = 8 @@ -502,7 +502,7 @@ /turf/open/floor/iron/dark, /area/shuttle/hunter) "sc" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/structure/sign/poster/official/anniversary_vintage_reprint{ @@ -512,7 +512,7 @@ /turf/open/floor/iron/tech, /area/shuttle/hunter) "sS" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /obj/structure/reagent_dispensers/fueltank, @@ -528,7 +528,7 @@ /turf/open/floor/iron/tech, /area/shuttle/hunter) "sZ" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/effect/turf_decal/stripes/corner{ @@ -549,7 +549,7 @@ /obj/structure/chair/fancy/shuttle{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, @@ -706,7 +706,7 @@ /turf/open/floor/plating, /area/shuttle/hunter) "GG" = ( -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/turf_decal/caution, /obj/effect/decal/cleanable/glass{ pixel_x = -9; @@ -777,7 +777,7 @@ /area/shuttle/hunter) "Ko" = ( /obj/structure/railing/corner, -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/tech, /area/shuttle/hunter) @@ -786,7 +786,7 @@ /area/shuttle/hunter) "Lr" = ( /obj/structure/rack, -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/turf_decal/stripes/corner{ dir = 1 }, @@ -870,8 +870,8 @@ /turf/open/floor/iron/dark, /area/shuttle/hunter) "Nn" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor, +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/structure/rack, @@ -928,7 +928,7 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 4 }, /obj/machinery/cell_charger, @@ -952,7 +952,7 @@ /turf/open/floor/iron/tech, /area/shuttle/hunter) "Su" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/effect/decal/cleanable/oil, @@ -971,10 +971,10 @@ /obj/machinery/computer/crew{ dir = 8 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 4 }, /turf/open/floor/iron/tech, @@ -991,7 +991,7 @@ /turf/open/floor/plating, /area/shuttle/hunter) "VG" = ( -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/tech, /area/shuttle/hunter) @@ -1027,7 +1027,7 @@ /area/shuttle/hunter) "XH" = ( /obj/structure/railing/corner, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /turf/open/floor/iron/tech, @@ -1040,7 +1040,7 @@ dir = 8; layer = 4.1 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /obj/item/flashlight/lamp{ @@ -1073,7 +1073,7 @@ /turf/open/floor/iron/dark, /area/shuttle/hunter) "YJ" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor{ dir = 8 }, /turf/open/floor/iron/tech, diff --git a/_maps/shuttles/pirate/pirate_default.dmm b/_maps/shuttles/pirate/pirate_default.dmm index c3453ac138e15..6981f8d8b10c7 100644 --- a/_maps/shuttles/pirate/pirate_default.dmm +++ b/_maps/shuttles/pirate/pirate_default.dmm @@ -477,7 +477,7 @@ /obj/effect/mob_spawn/human/pirate/captain{ dir = 1 }, -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/turf_decal/siding/wood{ dir = 1 }, @@ -1531,7 +1531,7 @@ /obj/effect/mob_spawn/human/pirate{ dir = 1 }, -/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/edges/techfloor, /obj/effect/turf_decal/siding/wood{ dir = 1 }, @@ -2152,8 +2152,8 @@ charge = 1e+006 }, /obj/structure/cable/yellow, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor, +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/machinery/light/small, @@ -2210,8 +2210,8 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/edges/techfloor, +/obj/effect/turf_decal/edges/techfloor{ dir = 1 }, /obj/machinery/firealarm{ diff --git a/beestation.dme b/beestation.dme index 6f1a70819ccb3..f611120378b7a 100644 --- a/beestation.dme +++ b/beestation.dme @@ -102,6 +102,7 @@ #include "code\__DEFINES\language.dm" #include "code\__DEFINES\layers.dm" #include "code\__DEFINES\lighting.dm" +#include "code\__DEFINES\living.dm" #include "code\__DEFINES\logging.dm" #include "code\__DEFINES\machines.dm" #include "code\__DEFINES\magic.dm" @@ -456,6 +457,7 @@ #include "code\controllers\subsystem\radio.dm" #include "code\controllers\subsystem\research.dm" #include "code\controllers\subsystem\runechat.dm" +#include "code\controllers\subsystem\security_level.dm" #include "code\controllers\subsystem\server_maint.dm" #include "code\controllers\subsystem\shuttle.dm" #include "code\controllers\subsystem\sound.dm" @@ -825,6 +827,7 @@ #include "code\datums\elements\point_of_interest.dm" #include "code\datums\elements\ranged_attacks.dm" #include "code\datums\elements\rust.dm" +#include "code\datums\elements\series.dm" #include "code\datums\elements\squish.dm" #include "code\datums\elements\strippable.dm" #include "code\datums\elements\undertile.dm" @@ -1219,6 +1222,7 @@ #include "code\game\objects\effects\icons.dm" #include "code\game\objects\effects\info.dm" #include "code\game\objects\effects\landmarks.dm" +#include "code\game\objects\effects\lighting.dm" #include "code\game\objects\effects\mainttraps.dm" #include "code\game\objects\effects\mines.dm" #include "code\game\objects\effects\misc.dm" @@ -1645,6 +1649,7 @@ #include "code\game\objects\structures\crates_lockers\crates\large.dm" #include "code\game\objects\structures\crates_lockers\crates\secure.dm" #include "code\game\objects\structures\crates_lockers\crates\wooden.dm" +#include "code\game\objects\structures\gym\exercise_status.dm" #include "code\game\objects\structures\gym\punching_bag.dm" #include "code\game\objects\structures\gym\weight_machine.dm" #include "code\game\objects\structures\gym\weight_machine_action.dm" @@ -3454,8 +3459,6 @@ #include "code\modules\plumbing\plumbers\destroyer.dm" #include "code\modules\plumbing\plumbers\filter.dm" #include "code\modules\plumbing\plumbers\grinder_chemical.dm" -#include "code\modules\plumbing\plumbers\patch_dispenser.dm" -#include "code\modules\plumbing\plumbers\pill_press.dm" #include "code\modules\plumbing\plumbers\pumps.dm" #include "code\modules\plumbing\plumbers\reaction_chamber.dm" #include "code\modules\plumbing\plumbers\splitters.dm" @@ -3832,7 +3835,7 @@ #include "code\modules\security\prison_scanner.dm" #include "code\modules\security\workshop.dm" #include "code\modules\security_levels\keycard_authentication.dm" -#include "code\modules\security_levels\security_levels.dm" +#include "code\modules\security_levels\security_level_datums.dm" #include "code\modules\shuttle\arrivals.dm" #include "code\modules\shuttle\assault_pod.dm" #include "code\modules\shuttle\custom_shuttle.dm" @@ -4131,6 +4134,7 @@ #include "code\modules\vehicles\mecha\equipment\tools\work_tools.dm" #include "code\modules\vehicles\mecha\equipment\weapons\weapons.dm" #include "code\modules\vehicles\mecha\medical\odysseus.dm" +#include "code\modules\vehicles\mecha\working\clarke.dm" #include "code\modules\vehicles\mecha\working\ripley.dm" #include "code\modules\vehicles\mecha\working\working.dm" #include "code\modules\vending\_vending.dm" diff --git a/code/__DEFINES/airlock.dm b/code/__DEFINES/airlock.dm index adc13e64ba769..133e3a1df1027 100644 --- a/code/__DEFINES/airlock.dm +++ b/code/__DEFINES/airlock.dm @@ -9,8 +9,8 @@ #define AIRLOCK_WIRE_SECURITY_NONE 0 // Airlocks that are super easy to hack and have mostly labelled wires. No risk. #define AIRLOCK_WIRE_SECURITY_SIMPLE 1 // Airlock with less labelled wires, takes longer to hack but not shock risk. #define AIRLOCK_WIRE_SECURITY_PROTECTED 2 // Airlock has no labelled wires and has a single shock wire that is labelled -#define AIRLOCK_WIRE_SECURITY_ADVANCED 3 // Airlock has 2 duds and 1 shock wire -#define AIRLOCK_WIRE_SECURITY_ELITE 4 // Airlock has 2 duds and 2 shock wires +#define AIRLOCK_WIRE_SECURITY_ADVANCED 3 // Airlock has 1 duds and 1 shock wire +#define AIRLOCK_WIRE_SECURITY_ELITE 4 // Airlock has 1 duds and 2 shock wires #define AIRLOCK_WIRE_SECURITY_MAXIMUM 5 // Airlock has 2 duds, 2 shock wires and only a single power cable. #define AIRLOCK_CLOSED 1 diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index f508d854b1c86..c5caf46379798 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -130,10 +130,15 @@ /// The temperature the blue icon is displayed. #define BODYTEMP_COLD_WARNING_3 (BODYTEMP_COLD_DAMAGE_LIMIT - 150) //120k -#define SPACE_HELM_MIN_TEMP_PROTECT 2.0 //! what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. -#define SPACE_HELM_MAX_TEMP_PROTECT 1500 //! Thermal insulation works both ways /Malkevin -#define SPACE_SUIT_MIN_TEMP_PROTECT 2.0 //! what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. -#define SPACE_SUIT_MAX_TEMP_PROTECT 1500 +/// what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0. +#define SPACE_HELM_MIN_TEMP_PROTECT 2.0 +/// Thermal insulation works both ways /Malkevin +#define SPACE_HELM_MAX_TEMP_PROTECT 1500 +/// what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0. +#define SPACE_SUIT_MIN_TEMP_PROTECT 2.0 +/// The min cold protection of a space suit without the heater active +#define SPACE_SUIT_MIN_TEMP_PROTECT_OFF 72 +#define SPACE_SUIT_MAX_TEMP_PROTECT 1500 #define FIRE_SUIT_MIN_TEMP_PROTECT 60 //! Cold protection for firesuits #define FIRE_SUIT_MAX_TEMP_PROTECT 30000 //! what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0. diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index b9ea20e1c6d97..3fe2d6671f74c 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -44,6 +44,8 @@ #define COLOR_DARK_RED "#A50824" #define COLOR_RED_LIGHT "#FF3333" #define COLOR_MAROON "#800000" +#define COLOR_SECURITY_RED "#CB0000" +#define COLOR_VIVID_RED "#FF3232" #define COLOR_YELLOW "#FFFF00" #define COLOR_VIVID_YELLOW "#FBFF23" diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 115a2cf52f294..383ebd12730ac 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -40,8 +40,6 @@ #define LASER "laser" /// Involves a melee attack or a thrown object. #define MELEE "melee" -/// Involves magic. -#define MAGIC "magic" /// Bleed prevention #define BLEED "bleed" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom.dm index 497d785ce6d92..2cc4c0eaabc25 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom.dm @@ -93,8 +93,6 @@ ///from obj/machinery/bsa/full/proc/fire(): () #define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass" #define COMSIG_ATOM_BLOCKS_BSA_BEAM 1 -///! from base of atom/set_light(): (l_range, l_power, l_color) -#define COMSIG_ATOM_SET_LIGHT "atom_set_light" ///! from base of atom/setDir(): (old_dir, new_dir) #define COMSIG_ATOM_DIR_CHANGE "atom_dir_change" ///! from base of atom/handle_atom_del(): (atom/deleted) diff --git a/code/__DEFINES/dcs/signals/signals_datum/signals_datum.dm b/code/__DEFINES/dcs/signals/signals_datum/signals_datum.dm index 55808c4f5d436..e9fc41ba61575 100644 --- a/code/__DEFINES/dcs/signals/signals_datum/signals_datum.dm +++ b/code/__DEFINES/dcs/signals/signals_datum/signals_datum.dm @@ -91,6 +91,9 @@ ///From base of datum/controller/subsystem/Initialize #define COMSIG_SUBSYSTEM_POST_INITIALIZE "subsystem_post_initialize" +///from SSsecurity_level when the security level changes : (new_level) +#define COMSIG_SECURITY_LEVEL_CHANGED "security_level_changed" + /// a weather event of some kind occured #define COMSIG_WEATHER_TELEGRAPH(event_type) "!weather_telegraph [event_type]" #define COMSIG_WEATHER_START(event_type) "!weather_start [event_type]" diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 132dee7e28ea9..1d10a44148fb3 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -12,7 +12,6 @@ #define COMSIG_GLOB_MOB_DEATH "!mob_death" //! mob died somewhere : (mob , gibbed) #define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" //! global living say plug - use sparingly: (mob/speaker , message) #define COMSIG_GLOB_CARBON_THROW_THING "!throw_thing" //! a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target) -#define COMSIG_GLOB_SECURITY_ALERT_CHANGE "!alert_change" //! security level was changed : (new_alert) #define COMSIG_GLOB_SOUND_PLAYED "!sound_played" //! a sound was played : (sound_player, sound_file) /// called by datum/cinematic/play() : (datum/cinematic/new_cinematic) #define COMSIG_GLOB_PLAY_CINEMATIC "!play_cinematic" diff --git a/code/__DEFINES/dcs/signals/signals_lighting.dm b/code/__DEFINES/dcs/signals/signals_lighting.dm index f728e2503073d..02265d2f16691 100644 --- a/code/__DEFINES/dcs/signals/signals_lighting.dm +++ b/code/__DEFINES/dcs/signals/signals_lighting.dm @@ -2,17 +2,33 @@ // When the signal is called: (signal arguments) // All signals send the source datum of the signal as the first argument -//Lightning -///Called right before the atom changes the value of light_range to a different one, from base atom/set_light_range(): (new_range) -#define COMSIG_ATOM_SET_LIGHT_RANGE "atom_set_light_range" -///Called right before the atom changes the value of light_power to a different one, from base atom/set_light_power(): (new_power) +// Lighting: +///from base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on) +#define COMSIG_ATOM_SET_LIGHT "atom_set_light" + /// Blocks [/atom/proc/set_light], [/atom/proc/set_light_power], [/atom/proc/set_light_range], [/atom/proc/set_light_color], [/atom/proc/set_light_on], and [/atom/proc/set_light_flags]. + #define COMPONENT_BLOCK_LIGHT_UPDATE (1<<0) +///Called right before the atom changes the value of light_power to a different one, from base [atom/proc/set_light_power]: (new_power) #define COMSIG_ATOM_SET_LIGHT_POWER "atom_set_light_power" -///Called right before the atom changes the value of light_color to a different one, from base atom/set_light_color(): (new_color) +///Called right after the atom changes the value of light_power to a different one, from base of [/atom/proc/set_light_power]: (old_power) +#define COMSIG_ATOM_UPDATE_LIGHT_POWER "atom_update_light_power" +///Called right before the atom changes the value of light_range to a different one, from base [atom/proc/set_light_range]: (new_range) +#define COMSIG_ATOM_SET_LIGHT_RANGE "atom_set_light_range" +///Called right after the atom changes the value of light_range to a different one, from base of [/atom/proc/set_light_range]: (old_range) +#define COMSIG_ATOM_UPDATE_LIGHT_RANGE "atom_update_light_range" +///Called right before the atom changes the value of light_color to a different one, from base [atom/proc/set_light_color]: (new_color) #define COMSIG_ATOM_SET_LIGHT_COLOR "atom_set_light_color" -///Called right before the atom changes the value of light_on to a different one, from base atom/set_light_on(): (new_value) +///Called right after the atom changes the value of light_color to a different one, from base of [/atom/proc/set_light_color]: (old_color) +#define COMSIG_ATOM_UPDATE_LIGHT_COLOR "atom_update_light_color" +///Called right before the atom changes the value of light_on to a different one, from base [atom/proc/set_light_on]: (new_value) #define COMSIG_ATOM_SET_LIGHT_ON "atom_set_light_on" -///Called right before the atom changes the value of light_flags to a different one, from base atom/set_light_flags(): (new_value) +///Called right after the atom changes the value of light_on to a different one, from base of [/atom/proc/set_light_on]: (old_value) +#define COMSIG_ATOM_UPDATE_LIGHT_ON "atom_update_light_on" +///Called right before the atom changes the value of light_flags to a different one, from base [atom/proc/set_light_flags]: (new_flags) #define COMSIG_ATOM_SET_LIGHT_FLAGS "atom_set_light_flags" +///Called right after the atom changes the value of light_flags to a different one, from base of [/atom/proc/set_light_flags]: (old_flags) +#define COMSIG_ATOM_UPDATE_LIGHT_FLAGS "atom_update_light_flags" + + ///Called when the movable tries to change its dynamic light color setting, from base atom/movable/lighting_overlay_set_color(): (color) #define COMSIG_MOVABLE_LIGHT_OVERLAY_SET_RANGE "movable_light_overlay_set_color" ///Called when the movable tries to change its dynamic light power setting, from base atom/movable/lighting_overlay_set_power(): (power) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_living.dm index 6cf54105127f3..66dd862db99d7 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_living.dm @@ -39,13 +39,20 @@ #define COMSIG_LIVING_HANDLE_BREATHING "living_handle_breathing" //ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS! -#define COMSIG_LIVING_STATUS_STUN "living_stun" //! from base of mob/living/Stun() (amount, update, ignore) -#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" //! from base of mob/living/Knockdown() (amount, update, ignore) -#define COMSIG_LIVING_STATUS_PARALYZE "living_paralyze" //! from base of mob/living/Paralyze() (amount, update, ignore) -#define COMSIG_LIVING_STATUS_IMMOBILIZE "living_immobilize" //! from base of mob/living/Immobilize() (amount, update, ignore) -#define COMSIG_LIVING_STATUS_UNCONSCIOUS "living_unconscious" //! from base of mob/living/Unconscious() (amount, update, ignore) -#define COMSIG_LIVING_STATUS_SLEEP "living_sleeping" //! from base of mob/living/Sleeping() (amount, update, ignore) - #define COMPONENT_NO_STUN 1 //For all of them + +///from base of mob/living/Stun() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_STUN "living_stun" +///from base of mob/living/Knockdown() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" +///from base of mob/living/Paralyze() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_PARALYZE "living_paralyze" +///from base of mob/living/Immobilize() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_IMMOBILIZE "living_immobilize" +///from base of mob/living/Unconscious() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_UNCONSCIOUS "living_unconscious" +///from base of mob/living/Sleeping() (amount, ignore_canstun) +#define COMSIG_LIVING_STATUS_SLEEP "living_sleeping" + #define COMPONENT_NO_STUN (1<<0) //For all of them #define COMSIG_LIVING_ENTER_STASIS "living_enter_stasis" //! sent when a mob is put into stasis. #define COMSIG_LIVING_EXIT_STASIS "living_exit_stasis" //! sent when a mob exits stasis. diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm index 06e9484c867ca..8c0945c303b63 100644 --- a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm @@ -6,3 +6,5 @@ ///from [/mob/living/carbon/human/Move]: () #define COMSIG_SHOES_STEP_ACTION "shoes_step_action" +///from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit) +#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm index e21d6dc72bfc8..a8f84509c1816 100644 --- a/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm @@ -8,9 +8,19 @@ #define COMSIG_OBJ_TAKE_DAMAGE "obj_take_damage" /// Return bitflags for the above signal which prevents the object taking any damage. #define COMPONENT_NO_TAKE_DAMAGE (1<<0) -#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" //! from base of obj/deconstruct(): (disassembled) +///from base of [/obj/proc/update_integrity]: (old_value, new_value) +#define COMSIG_OBJ_INTEGRITY_CHANGED "obj_integrity_changed" +///from base of obj/deconstruct(): (disassembled) +#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" +///from base of code/game/machinery #define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" -#define COMSIG_OBJ_HIDE "obj_hide" //from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide +///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide +#define COMSIG_OBJ_HIDE "obj_hide" + +/// from /obj/proc/obj_break: () +#define COMSIG_OBJ_BREAK "obj_break" +/// from base of [/obj/proc/obj_fix]: () +#define COMSIG_OBJ_FIX "obj_fix" /// from /obj/proc/make_unfrozen() #define COMSIG_OBJ_UNFREEZE "obj_unfreeze" @@ -21,3 +31,4 @@ #define COMPONENT_OBJ_CANCEL_CHARGE (1<<0) ///Called when a payment component changes value #define COMSIG_OBJ_ATTEMPT_CHARGE_CHANGE "obj_attempt_simple_charge_change" + diff --git a/code/__DEFINES/explosions.dm b/code/__DEFINES/explosions.dm index 855c5e6c9a537..3bac016833b29 100644 --- a/code/__DEFINES/explosions.dm +++ b/code/__DEFINES/explosions.dm @@ -26,9 +26,7 @@ target.ex_act(##args); // Explodable component deletion values -/// Makes the explodable component queue to reset its exploding status when it detonates. -#define EXPLODABLE_NO_DELETE 0 /// Makes the explodable component delete itself when it detonates. -#define EXPLODABLE_DELETE_SELF 1 +#define EXPLODABLE_DELETE_SELF 0 /// Makes the explodable component delete its parent when it detonates. -#define EXPLODABLE_DELETE_PARENT 2 +#define EXPLODABLE_DELETE_PARENT 1 diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index f9aab906c789c..b849ed37652c6 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -177,7 +177,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define MOBILITY_PULL (1<<6) //! can pull things #define MOBILITY_FLAGS_DEFAULT (MOBILITY_MOVE | MOBILITY_STAND | MOBILITY_PICKUP | MOBILITY_USE | MOBILITY_UI | MOBILITY_STORAGE | MOBILITY_PULL) -#define MOBILITY_FLAGS_INTERACTION (MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_UI | MOBILITY_STORAGE) // radiation #define RAD_PROTECT_CONTENTS (1<<0) diff --git a/code/__DEFINES/fov.dm b/code/__DEFINES/fov.dm index 67bbda330596a..19d77fb616d84 100644 --- a/code/__DEFINES/fov.dm +++ b/code/__DEFINES/fov.dm @@ -3,3 +3,6 @@ #define FULLSCREEN_OVERLAY_RESOLUTION_X 15 /// The fullscreen overlay in tiles for y axis #define FULLSCREEN_OVERLAY_RESOLUTION_Y 15 + +/// Range in tiles that a mob can see in the dark (used to determine if a mob has night_vision) +#define NIGHTVISION_FOV_RANGE 8 diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 74a138a72b8cd..691d5c17c5e91 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -119,6 +119,7 @@ ///Lighting objects that are "free floating" #define O_LIGHTING_VISUAL_PLANE 110 +#define O_LIGHTING_VISUAL_LAYER 110 #define O_LIGHTING_VISUAL_RENDER_TARGET "O_LIGHT_VISUAL_PLANE" ///Things that should render ignoring lighting diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index 4cdd5ed268c33..44d12bc8ac947 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -4,6 +4,8 @@ #define STATIC_LIGHT 1 ///Light made by masking the lighting darkness plane. #define MOVABLE_LIGHT 2 +///Light made by masking the lighting darkness plane, and is directional. +#define MOVABLE_LIGHT_DIRECTIONAL 3 ///Is a movable light source attached to another movable (its loc), meaning that the lighting component should go one level deeper. #define LIGHT_ATTACHED (1<<0) @@ -13,12 +15,16 @@ #define MINIMUM_USEFUL_LIGHT_RANGE 1.4 -#define LIGHTING_HEIGHT 1 //! height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone -#define LIGHTING_ROUND_VALUE (1 / 64) //! Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY. +/// height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone +#define LIGHTING_HEIGHT 1 +/// Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY. +#define LIGHTING_ROUND_VALUE (1 / 64) -#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' //! icon used for lighting shading effects +/// icon used for lighting shading effects +#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' -/// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all. +/// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +/// Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all. #define LIGHTING_SOFT_THRESHOLD 0 /// If I were you I'd leave this alone. @@ -55,6 +61,9 @@ #define FULLBRIGHT_DEFAULT 1 //! Use the default fullbright overlay of just 100% lighting #define FULLBRIGHT_STARLIGHT 2 //! Use the starlight brightness overlay +/// The amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia) +#define LIGHTING_TILE_IS_DARK 0.2 + //code assumes higher numbers override lower numbers. #define LIGHTING_NO_UPDATE 0 #define LIGHTING_VIS_UPDATE 1 diff --git a/code/__DEFINES/living.dm b/code/__DEFINES/living.dm new file mode 100644 index 0000000000000..1f2316e8e1240 --- /dev/null +++ b/code/__DEFINES/living.dm @@ -0,0 +1,3 @@ +// living_flags +/// Simple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input. +#define MOVES_ON_ITS_OWN (1<<0) diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 1e89de980bf75..6e4d76e358965 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -56,6 +56,7 @@ require only minor tweaks. #define ZTRAIT_LAVA_RUINS "Lava Ruins" #define ZTRAIT_POCKETDIM "Pocket Dimension" #define ZTRAIT_ISOLATED_RUINS "Isolated Ruins" //Placing ruins on z levels with this trait will use turf reservation instead of usual placement. +#define ZTRAIT_DEBUG "Debug Level" // boolean - weather types that occur on the level #define ZTRAIT_ASHSTORM "Weather_Ashstorm" @@ -94,6 +95,7 @@ require only minor tweaks. ZTRAIT_ASHSTORM = TRUE, \ ZTRAIT_BASETURF = /turf/open/lava/smooth/lava_land_surface) #define ZTRAITS_REEBE list(ZTRAIT_REEBE = TRUE, ZTRAIT_BOMBCAP_MULTIPLIER = 0.5) +#define ZTRAITS_DEBUG list(ZTRAIT_DEBUG = TRUE) #define DL_NAME "name" #define DL_TRAITS "traits" #define DECLARE_LEVEL(NAME, TRAITS) list(DL_NAME = NAME, DL_TRAITS = TRAITS) diff --git a/code/__DEFINES/mecha.dm b/code/__DEFINES/mecha.dm index 0bd8ef0adb6bd..4f45bc22f3fe2 100644 --- a/code/__DEFINES/mecha.dm +++ b/code/__DEFINES/mecha.dm @@ -14,6 +14,11 @@ #define HAS_LIGHTS (1<<6) #define QUIET_STEPS (1<<7) #define QUIET_TURNS (1<<8) +//#define CANNOT_INTERACT (1<<9) +/// posibrains can drive this mecha (savanna ivanov for later) +//#define MMI_COMPATIBLE (1<<10) +/// Can click from any direction and perform stuff +#define OMNIDIRECTIONAL_ATTACKS (1<<11) #define MECHA_MELEE (1 << 0) #define MECHA_RANGED (1 << 1) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index d76313c7d350f..be398a7d46e8e 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -85,10 +85,6 @@ #define BODYTYPE_DIGITIGRADE (1<<4) //Cancer #define NUMBER_OF_BODYTYPES 5 //KEEP THIS UPDATED OR SHIT WILL BREAK -#define BODYPART_NOT_DISABLED 0 -#define BODYPART_DISABLED_DAMAGE 1 -#define BODYPART_DISABLED_PARALYSIS 2 - #define DEFAULT_BODYPART_ICON_ORGANIC 'icons/mob/human_parts_greyscale.dmi' #define DEFAULT_BODYPART_ICON_ROBOTIC 'icons/mob/augmentation/augments.dmi' @@ -318,6 +314,10 @@ GLOBAL_LIST_INIT(available_random_trauma_list, list( #define SENTIENCE_BOSS 5 //Mob AI Status +#define POWER_RESTORATION_OFF 0 +#define POWER_RESTORATION_START 1 +#define POWER_RESTORATION_SEARCH_APC 2 +#define POWER_RESTORATION_APC_FOUND 3 //Hostile simple animals //If you add a new status, be sure to add a list for it to the simple_animals global in _globalvars/lists/mobs.dm @@ -594,3 +594,12 @@ GLOBAL_LIST_INIT(available_random_trauma_list, list( /// Returns whether or not the given mob can succumb #define CAN_SUCCUMB(target) (HAS_TRAIT(target, TRAIT_CRITICAL_CONDITION) && !HAS_TRAIT(target, TRAIT_NODEATH)) + +/// Possible value of [/atom/movable/buckle_lying]. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled. +#define NO_BUCKLE_LYING -1 + +// Body position defines. +/// Mob is standing up, usually associated with lying_angle value of 0. +#define STANDING_UP 0 +/// Mob is lying down, usually associated with lying_angle values of 90 or 270. +#define LYING_DOWN 1 diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index c5d69146da015..ccb1c97b78797 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -50,7 +50,13 @@ #define SCAN_BOOZEPOWER (1<<12) //! Allows helmets and glasses to scan reagents. #define MASKEXTENDRANGE (1<<13) //! For masks, allows you to breathe from internals on adjecent tiles #define NOTCONSUMABLE (1<<14) //! Moths cannot eat clothing with that flag -#define HEADINTERNALS (1<<15) //! Headgear/helmet allows internals +/// Headgear/helmet allows internals +#define HEADINTERNALS (1<<18) + +/// Integrity defines for clothing (not flags but close enough) +#define CLOTHING_PRISTINE 0 // We have no damage on the clothing +#define CLOTHING_DAMAGED 1 // There's some damage on the clothing but it still has at least one functioning bodypart and can be equipped +#define CLOTHING_SHREDDED 2 // The clothing is useless and cannot be equipped unless repaired first /// Flags for the organ_flags var on /obj/item/organ diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 287fe245d5e93..02832600afeff 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -62,8 +62,8 @@ #define RADIO_KEY_UPLINK "d" #define RADIO_TOKEN_UPLINK ":d" -#define MIN_FREE_FREQ 1201 // ------------------------------------------------- -// Frequencies are always odd numbers and range from 1201 to 1599. +#define MIN_FREE_FREQ 1339 // ------------------------------------------------- +// Frequencies are always odd numbers and range from 1339 to 1599. #define FREQ_SYNDICATE 1213 //! Nuke op comms frequency, dark brown #define FREQ_UPLINK 1214 //! Dummy channel for headset uplink diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm index 4e4c82190daf1..a716c5eab7d22 100644 --- a/code/__DEFINES/shuttles.dm +++ b/code/__DEFINES/shuttles.dm @@ -53,6 +53,14 @@ #define ENGINE_COEFF_MAX 2 #define ENGINE_DEFAULT_MAXSPEED_ENGINES 5 +// Alert level related +#define ALERT_COEFF_AUTOEVAC_NORMAL 2.5 +#define ALERT_COEFF_GREEN 2 +#define ALERT_COEFF_BLUE 1 +#define ALERT_COEFF_RED 0.5 +#define ALERT_COEFF_AUTOEVAC_CRITICAL 0.4 +#define ALERT_COEFF_DELTA 0.25 + //Docking error flags #define DOCKING_SUCCESS 0 #define DOCKING_BLOCKED (1<<0) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index af5b2178ef56a..69cad433e4d84 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -136,6 +136,7 @@ #define INIT_ORDER_INSTRUMENTS 82 #define INIT_ORDER_GREYSCALE 81 #define INIT_ORDER_VIS 80 +#define INIT_ORDER_SECURITY_LEVEL 79 // We need to load before events so that it has a security level to choose from. #define INIT_ORDER_ACHIEVEMENTS 77 #define INIT_ORDER_RESEARCH 75 #define INIT_ORDER_ORBITS 74 //Other things use the orbital map, so it needs to be made early on. diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index e2c89df90e9bf..17464b44dae81 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "7.1.2" +#define TGS_DMAPI_VERSION "7.1.3" // All functions and datums outside this document are subject to change with any version and should not be relied on. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 6e994b1668858..eaa87c3b502d6 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -134,12 +134,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_FORCED_STANDING "forcedstanding" /// Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage). #define TRAIT_HANDS_BLOCKED "handsblocked" -/* All to replace update_mobility with traits /// Inability to access UI hud elements. Turned into a trait from [MOBILITY_UI] to be able to track sources. #define TRAIT_UI_BLOCKED "uiblocked" /// Inability to pull things. Turned into a trait from [MOBILITY_PULL] to be able to track sources. #define TRAIT_PULL_BLOCKED "pullblocked" -*/ /// Abstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically. #define TRAIT_RESTRAINED "restrained" #define TRAIT_INCAPACITATED "incapacitated" @@ -249,6 +247,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_BEEFRIEND "beefriend" #define TRAIT_MEDICAL_HUD "med_hud" #define TRAIT_SECURITY_HUD "sec_hud" +#define TRAIT_DIAGNOSTIC_HUD "diag_hud" #define TRAIT_MEDIBOTCOMINGTHROUGH "medbot" //Is a medbot healing you #define TRAIT_PASSTABLE "passtable" #define TRAIT_BLUSHING "blushing" @@ -283,11 +282,13 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_MADNESS_IMMUNE "supermatter_madness_immune" //non-mob traits -//Used for limb-based paralysis, where replacing the limb will fix it +/// Used for limb-based paralysis, where replacing the limb will fix it. #define TRAIT_PARALYSIS "paralysis" +/// Used for limbs. +#define TRAIT_DISABLED_BY_WOUND "disabled-by-wound" ///Used for managing KEEP_TOGETHER in [appearance_flags] -#define TRAIT_KEEP_TOGETHER "keep-together" +#define TRAIT_KEEP_TOGETHER "keep-together" #define TRAIT_HEARING_SENSITIVE "hearing_sensitive" @@ -396,6 +397,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define STAT_TRAIT "stat" /// Trait associated to wearing a suit #define SUIT_TRAIT "suit" +/// Trait associated to lying down (having a [lying_angle] of a different value than zero). +#define LYING_DOWN_TRAIT "lying-down" +/// Trait associated to lacking electrical power. +#define POWER_LACK_TRAIT "power-lack" #define GLASSES_TRAIT "glasses" #define CURSE_TRAIT "eldritch" #define STATION_TRAIT "station-trait" @@ -462,10 +467,21 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define BUSY_FLOORBOT_TRAIT "busy-floorbot" #define PULLED_WHILE_SOFTCRIT_TRAIT "pulled-while-softcrit" #define LOCKED_BORG_TRAIT "locked-borg" +#define LACKING_LOCOMOTION_APPENDAGES_TRAIT "lacking-locomotion-appengades" //trait associated to not having locomotion appendages nor the ability to fly or float #define LACKING_MANIPULATION_APPENDAGES_TRAIT "lacking-manipulation-appengades" //trait associated to not having fine manipulation appendages such as hands #define HANDCUFFED_TRAIT "handcuffed" /// Trait granted by [/obj/item/warpwhistle] #define WARPWHISTLE_TRAIT "warpwhistle" +/// Trait applied by by [/datum/component/soulstoned] +#define SOULSTONE_TRAIT "soulstone" +/// Trait applied to slimes by low temperature +#define SLIME_COLD "slime-cold" +/// Trait applied to bots by being tipped over +#define BOT_TIPPED_OVER "bot-tipped-over" +/// Trait applied to PAIs by being folded +#define PAI_FOLDED "pai-folded" +/// Trait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech. +#define BRAIN_UNAIDED "brain-unaided" #define TRAIT_PRESERVE_UI_WITHOUT_CLIENT "preserve_ui_without_client" //this mob should never close ui even if it doesn't have a client #define EXPERIMENTAL_SURGERY_TRAIT "experimental_surgery" #define NINJA_KIDNAPPED_TRAIT "ninja_kidnapped" diff --git a/code/__HELPERS/atoms.dm b/code/__HELPERS/atoms.dm index c2b3b89de2d64..bbb95ec8224ac 100644 --- a/code/__HELPERS/atoms.dm +++ b/code/__HELPERS/atoms.dm @@ -132,7 +132,7 @@ return FALSE if(isliving(source)) var/mob/living/source_mob = source - if(source_mob.mobility_flags & MOBILITY_STAND) + if(source_mob.body_position == LYING_DOWN) return FALSE var/goal_dir = get_dir(source, target) var/clockwise_source_dir = turn(source.dir, -45) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 3186810ffd9bd..9406b6117a09a 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -519,3 +519,91 @@ DEFINE_BITFIELD(smoothing_junction, list( #undef DEFAULT_UNDERLAY_ICON #undef DEFAULT_UNDERLAY_ICON_STATE + + + +// These are subtypes of some smoothing objects. +// This is used to identify if there's any artefact in your smoothing sprites in practice. +/turf/closed/wall/debug + name = "Sprite smoothing debugging walls" + var/static/list/family = list() + +/turf/closed/wall/debug/Initialize(mapload) + . = ..() + family += src + +/turf/closed/wall/debug/Destroy() + . = ..() + family -= src + +/turf/closed/wall/debug/attack_hand(mob/user) + . = ..() + sprite_smooth_debug(user, family, src.parent_type) + +/obj/structure/table/debug + name = "Sprite smoothing debugging table" + var/static/list/family = list() + +/obj/structure/table/debug/Initialize(mapload) + . = ..() + family += src + +/obj/structure/table/debug/Destroy() + . = ..() + family -= src + +/obj/structure/table/debug/attack_hand(mob/user) + . = ..() + sprite_smooth_debug(user, family, src.parent_type) + +/turf/open/floor/carpet/debug + name = "Sprite smoothing debugging floor" + var/static/list/family = list() + +/turf/open/floor/carpet/debug/Initialize(mapload) + . = ..() + family += src + +/turf/open/floor/carpet/debug/Destroy() + . = ..() + family -= src + +/turf/open/floor/carpet/debug/attack_hand(mob/user) + . = ..() + sprite_smooth_debug(user, family, /turf/open) + +/proc/sprite_smooth_debug(mob/user, list/family, desired_subtypes) + // we don't want to see types that don't have smoothing. + var/static/list/filtered_list = list() + if(!filtered_list[desired_subtypes]) + var/list/L = list() + var/list/temp_list = make_types_fancy(typesof(desired_subtypes)) + for(var/each in temp_list) + var/atom/A = temp_list[each] + if(!initial(A.canSmoothWith) || !(initial(A.smoothing_flags) & SMOOTH_BITMASK) || findtext(initial(A.name), "Sprite smoothing debugging")) + continue + L[each] = A + filtered_list[desired_subtypes] = L + + // actual code + var/atom/target = pick_closest_path(desired_subtypes, filtered_list[desired_subtypes]) + if(!target) + return + + target = new target(get_turf(locate(1,1,1))) + target.invisibility = INVISIBILITY_ABSTRACT + for(var/atom/each in family) + if(QDELETED(each)) + continue + each.icon = target.icon + each.base_icon_state = target.base_icon_state + each.smoothing_flags = target.smoothing_flags + each.smoothing_groups = target.smoothing_groups.Copy() + each.canSmoothWith = target.canSmoothWith.Copy() + for(var/atom/each in family) + each.bitmask_smooth() + if(isturf(target)) + var/turf/T = target + T.ScrapeAway() + else + qdel(target) diff --git a/code/__HELPERS/level_traits.dm b/code/__HELPERS/level_traits.dm index aa35b4871c796..5cf085122db63 100644 --- a/code/__HELPERS/level_traits.dm +++ b/code/__HELPERS/level_traits.dm @@ -31,3 +31,5 @@ GLOBAL_VAR(station_level_z_scratch) #define is_away_level(z) SSmapping.level_trait(z, ZTRAIT_AWAY) #define is_pocketdim_level(z) SSmapping.level_trait(z, ZTRAIT_POCKETDIM) + +#define is_debug_level(z) SSmapping.level_trait(z, ZTRAIT_DEBUG) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 17fd243d2adf0..3a763818771b6 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -489,6 +489,18 @@ GLOBAL_LIST_EMPTY(species_list) if(!HAS_TRAIT(L, TRAIT_PASSTABLE)) L.pass_flags &= ~PASSTABLE +/proc/dance_rotate(atom/movable/AM, datum/callback/callperrotate, set_original_dir=FALSE) + set waitfor = FALSE + var/originaldir = AM.dir + for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) + if(!AM) + return + AM.setDir(i) + callperrotate?.Invoke() + sleep(0.1 SECONDS) + if(set_original_dir) + AM.setDir(originaldir) + //Gets the sentient mobs that are not on centcom and are alive /proc/get_sentient_mobs() . = list() @@ -552,7 +564,7 @@ GLOBAL_LIST_EMPTY(species_list) /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time That said, this proc should not be used if the change facing proc of the click code is overridden at the same time*/ - if(!ismob(target) || !(target.mobility_flags & MOBILITY_STAND)) + if(!isliving(target) || target.body_position == LYING_DOWN) //Make sure we are not doing this for things that can't have a logical direction to the players given that the target would be on their side return FALSE if(initator.dir == target.dir) //mobs are facing the same direction diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index c7a494b4e82e2..5025198209d57 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -75,7 +75,20 @@ SScommunications.send_message(M) -/proc/minor_announce(message, title = "Attention:", alert, from, html_encode = TRUE) +/** + * Sends a minor annoucement to players. + * Minor announcements are large text, with the title in red and message in white. + * Only mobs that can hear can see the announcements. + * + * message - the message contents of the announcement. + * title - the title of the announcement, which is often "who sent it". + * alert - whether this announcement is an alert, or just a notice. Only changes the sound that is played by default. + * from - who sent the announcement, in the case of communications consoles or the like. + * html_encode - if TRUE, we will html encode our title and message before sending it, to prevent player input abuse. + * players - optional, a list mobs to send the announcement to. If unset, sends to all players. + * sound_override - optional, use the passed sound file instead of the default notice sounds. + */ +/proc/minor_announce(message, title = "Attention:", alert, from, html_encode = TRUE, list/players, sound_override) if(!message) return @@ -83,16 +96,21 @@ title = html_encode(title) message = html_encode(message) - for(var/mob/M in GLOB.player_list) - if(!isnewplayer(M) && M.can_hear()) - var/complete_msg = "[title]
[message]

" - if(from) - complete_msg += "-[from]" - to_chat(M, complete_msg) - if(M.client.prefs.read_player_preference(/datum/preference/toggle/sound_announcements)) - if(alert) - SEND_SOUND(M, sound('sound/misc/notice1.ogg')) - else - SEND_SOUND(M, sound('sound/misc/notice2.ogg')) + if(!players) + players = GLOB.player_list + + for(var/mob/target in players) + if(isnewplayer(target)) + continue + if(!target.can_hear()) + continue + + var/complete_msg = "[title]
[message]

" + if(from) + complete_msg += "-[from]" + to_chat(target, complete_msg) + if(target.client.prefs.read_player_preference(/datum/preference/toggle/sound_announcements)) + var/sound_to_play = sound_override || (alert ? 'sound/misc/notice1.ogg' : 'sound/misc/notice2.ogg') + SEND_SOUND(target, sound(sound_to_play)) #undef DEFAULT_ALERT diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 17d0f18859353..9e97d2b6c031e 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -175,6 +175,22 @@ . = "NONE" return . +/// For finding out what body parts a body zone covers, the inverse of the below basically +/proc/body_zone2cover_flags(def_zone) + switch(def_zone) + if(BODY_ZONE_CHEST) + return CHEST|GROIN + if(BODY_ZONE_HEAD) + return HEAD + if(BODY_ZONE_L_ARM) + return ARM_LEFT|HAND_LEFT + if(BODY_ZONE_R_ARM) + return ARM_RIGHT|HAND_RIGHT + if(BODY_ZONE_L_LEG) + return LEG_LEFT|FOOT_LEFT + if(BODY_ZONE_R_LEG) + return LEG_RIGHT|FOOT_RIGHT + /// Converts an RGB color to an HSL color /proc/rgb2hsl(red, green, blue) red /= 255;green /= 255;blue /= 255; diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 0b7dc05d69e64..de8e170d4db26 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -11,10 +11,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_INCAPACITATED" = TRAIT_INCAPACITATED, "TRAIT_FORCED_STANDING" = TRAIT_FORCED_STANDING, "TRAIT_HANDS_BLOCKED" = TRAIT_HANDS_BLOCKED, - /* "TRAIT_UI_BLOCKED" = TRAIT_UI_BLOCKED, "TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED, - */ "TRAIT_RESTRAINED" = TRAIT_RESTRAINED, "TRAIT_BLIND" = TRAIT_BLIND, "TRAIT_MUTE" = TRAIT_MUTE, @@ -112,6 +110,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BEEFRIEND" = TRAIT_BEEFRIEND, "TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD, "TRAIT_SECURITY_HUD" = TRAIT_SECURITY_HUD, + "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, "TRAIT_MEDIBOTCOMINGTHROUGH" = TRAIT_MEDIBOTCOMINGTHROUGH, "TRAIT_PASSTABLE" = TRAIT_PASSTABLE, "TRAIT_BLUSHING" = TRAIT_BLUSHING, diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index 082665ccea657..708b157e6a8c8 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -74,7 +74,7 @@ if(aicamera.in_camera_mode) aicamera.camera_mode_off() - aicamera.captureimage(pixel_turf, usr) + aicamera.captureimage(pixel_turf, usr, null, aicamera.picture_size_x - 1, aicamera.picture_size_y - 1) return if(waypoint_mode) waypoint_mode = 0 diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 80d5d5004d917..a693513d24988 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -23,8 +23,7 @@ /mob/living/changeNext_move(num) var/mod = next_move_modifier var/adj = next_move_adjust - for(var/i in status_effects) - var/datum/status_effect/S = i + for(var/datum/status_effect/S as anything in status_effects) mod *= S.nextmove_modifier() adj += S.nextmove_adjust() next_move = world.time + ((num + adj)*mod) @@ -41,6 +40,7 @@ /atom/Click(location,control,params) if(flags_1 & INITIALIZED_1) SEND_SIGNAL(src, COMSIG_CLICK, location, control, params, usr) + usr.ClickOn(src, params) /atom/DblClick(location,control,params) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index f9dfef70633f7..0cedde0462430 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -44,7 +44,7 @@ if(aicamera.in_camera_mode) //Cyborg picture taking aicamera.camera_mode_off() - aicamera.captureimage(A, usr) + aicamera.captureimage(A, usr, null, aicamera.picture_size_x - 1, aicamera.picture_size_y - 1) return var/obj/item/W = get_active_held_item() diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm index 376f4ca9c5b9f..f39399c4780a5 100644 --- a/code/_onclick/hud/_defines.dm +++ b/code/_onclick/hud/_defines.dm @@ -104,8 +104,9 @@ //Middle right (status indicators) #define ui_healthdoll "EAST-1:28,CENTER-2:13" #define ui_health "EAST-1:28,CENTER-1:15" -#define ui_internal "EAST-1:28,CENTER:17" -#define ui_mood "EAST-1:28,CENTER-3:10" +#define ui_internal "EAST-1:28,CENTER-3:10" +#define ui_mood "EAST-1:28,CENTER:17" +#define ui_spacesuit "EAST-1:28,CENTER-4:10" //borgs #define ui_borg_health "EAST-1:28,CENTER-1:15" //borgs have the health display where humans have the pressure damage indicator. diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 6e325f0b9c872..c81b2e997f7ea 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -63,6 +63,7 @@ GLOBAL_LIST_INIT(available_ui_styles, list( var/atom/movable/screen/healths var/atom/movable/screen/healthdoll var/atom/movable/screen/internals + var/atom/movable/screen/spacesuit // subtypes can override this to force a specific UI style var/ui_style diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index 7c3c7a84650fd..a63a2f0ec92b1 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -311,6 +311,10 @@ internals.hud = src infodisplay += internals + spacesuit = new /atom/movable/screen/spacesuit + spacesuit.hud = src + infodisplay += spacesuit + healths = new /atom/movable/screen/healths() healths.hud = src infodisplay += healths diff --git a/code/_onclick/hud/map_popups.dm b/code/_onclick/hud/map_popups.dm index 906cd0613a35e..f67947bb175cb 100644 --- a/code/_onclick/hud/map_popups.dm +++ b/code/_onclick/hud/map_popups.dm @@ -7,23 +7,6 @@ */ var/list/screen_maps = list() -/atom/movable/screen - /** - * Map name assigned to this object. - * Automatically set by /client/proc/add_obj_to_map. - */ - var/assigned_map - /** - * Mark this object as garbage-collectible after you clean the map - * it was registered on. - * - * This could probably be changed to be a proc, for conditional removal. - * But for now, this works. - */ - var/del_on_map_removal = TRUE - ///Can we throw things at this - var/can_throw_target = FALSE - /** * A screen object, which acts as a container for turfs and other things * you want to show on the map, which you usually attach to "vis_contents". diff --git a/code/_onclick/hud/pai.dm b/code/_onclick/hud/pai.dm index f236d1e2e1c51..2afd8a2b069eb 100644 --- a/code/_onclick/hud/pai.dm +++ b/code/_onclick/hud/pai.dm @@ -54,7 +54,7 @@ if(!..()) return var/mob/living/silicon/pai/pAI = usr - pAI.lay_down() + pAI.toggle_resting() /atom/movable/screen/pai/light name = "Toggle Integrated Lights" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 9d37fe82d2d63..d12383cc8c265 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -17,6 +17,21 @@ appearance_flags = APPEARANCE_UI /// A reference to the owner HUD, if any. var/datum/hud/hud = null + /** + * Map name assigned to this object. + * Automatically set by /client/proc/add_obj_to_map. + */ + var/assigned_map + /** + * Mark this object as garbage-collectible after you clean the map + * it was registered on. + * + * This could probably be changed to be a proc, for conditional removal. + * But for now, this works. + */ + var/del_on_map_removal = TRUE + ///Can we throw things at this + var/can_throw_target = FALSE /atom/movable/screen/examine(mob/user) return list() @@ -341,6 +356,11 @@ return C.update_action_buttons_icon() +/atom/movable/screen/spacesuit + name = "Space suit cell status" + icon_state = "spacesuit_0" + screen_loc = ui_spacesuit + /atom/movable/screen/mov_intent name = "run/walk toggle" icon = 'icons/mob/screen_midnight.dmi' @@ -399,7 +419,7 @@ /atom/movable/screen/rest/Click() if(isliving(usr)) var/mob/living/L = usr - L.lay_down() + L.toggle_resting() /atom/movable/screen/rest/update_icon_state() var/mob/living/user = hud?.mymob diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 1478721cd627f..86011abca63a6 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -81,20 +81,21 @@ return I.attack(src, user) /** - * Called from [/mob/living/attackby] - * - * Arguments: - * * mob/living/M - The mob being hit by this item - * * mob/living/user - The mob hitting with this item - */ -/obj/item/proc/attack(mob/living/M, mob/living/user) - var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, M, user) + * Called from [/mob/living/proc/attackby] + * + * Arguments: + * * mob/living/target_mob - The mob being hit by this item + * * mob/living/user - The mob hitting with this item + * * params - Click params of this attack + */ +/obj/item/proc/attack(mob/living/M, mob/living/user, params) + var/signal_return = SEND_SIGNAL(src, COMSIG_ITEM_ATTACK, M, user, params) if(signal_return & COMPONENT_CANCEL_ATTACK_CHAIN) return TRUE if(signal_return & COMPONENT_SKIP_ATTACK) return - SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, M, user) + SEND_SIGNAL(user, COMSIG_MOB_ITEM_ATTACK, M, user, params) SEND_SIGNAL(M, COMSIG_MOB_ITEM_ATTACKBY, user, src) var/nonharmfulhit = FALSE @@ -165,17 +166,17 @@ /mob/living/attacked_by(obj/item/I, mob/living/user) send_item_attack_message(I, user) - if(I.force) - var/armour_block = run_armor_check(null, MELEE, armour_penetration = I.armour_penetration) - apply_damage(I.force, I.damtype, blocked = armour_block) - if(I.damtype == BRUTE) - if(prob(33)) - I.add_mob_blood(src) - var/turf/location = get_turf(src) - add_splatter_floor(location) - if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood - user.add_mob_blood(src) - return TRUE //successful attack + if(!I.force) + return FALSE + var/armour_block = run_armor_check(null, MELEE, armour_penetration = I.armour_penetration) + apply_damage(I.force, I.damtype, blocked = armour_block) + if(I.damtype == BRUTE && prob(33)) + I.add_mob_blood(src) + var/turf/location = get_turf(src) + add_splatter_floor(location) + if(get_dist(user, src) <= 1) //people with TK won't get smeared with blood + user.add_mob_blood(src) + return TRUE //successful attack /mob/living/simple_animal/attacked_by(obj/item/I, mob/living/user, nonharmfulhit = FALSE) if(I.force < force_threshold || I.damtype == STAMINA || nonharmfulhit) @@ -211,23 +212,24 @@ return clamp(w_class * 6, 10, 100) // Multiply the item's weight class by 6, then clamp the value between 10 and 100 /mob/living/proc/send_item_attack_message(obj/item/I, mob/living/user, hit_area) - var/message_verb = "attacked" - if(I.attack_verb && I.attack_verb.len) - message_verb = "[pick(I.attack_verb)]" - else if(!I.force) + if(!I.force && !length(I.attack_verb_simple) && !length(I.attack_verb_continuous)) return + var/message_verb_continuous = length(I.attack_verb_continuous) ? "[pick(I.attack_verb_continuous)]" : "attacks" + var/message_verb_simple = length(I.attack_verb_simple) ? "[pick(I.attack_verb_simple)]" : "attack" var/message_hit_area = "" if(hit_area) message_hit_area = " in the [hit_area]" - var/attack_message = "[src] is [message_verb][message_hit_area] with [I]!" - var/attack_message_local = "You're [message_verb][message_hit_area] with [I]!" + var/attack_message_spectator = "[src] [message_verb_continuous][message_hit_area] with [I]!" + var/attack_message_victim = "You're [message_verb_continuous][message_hit_area] with [I]!" + var/attack_message_attacker = "You [message_verb_simple] [src][message_hit_area] with [I]!" if(user in viewers(src)) - attack_message = "[user] [message_verb] [src][message_hit_area] with [I]!" - attack_message_local = "[user] [message_verb] you[message_hit_area] with [I]!" + attack_message_spectator = "[user] [message_verb_continuous] [src][message_hit_area] with [I]!" + attack_message_victim = "[user] [message_verb_continuous] you[message_hit_area] with [I]!" if(user == src) - attack_message_local = "You [message_verb] yourself[message_hit_area] with [I]!" - visible_message("[attack_message]",\ - "[attack_message_local]", null, COMBAT_MESSAGE_RANGE) + attack_message_victim = "You [message_verb_simple] yourself[message_hit_area] with [I]" + visible_message("[attack_message_spectator]",\ + "[attack_message_victim]", null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, "[attack_message_attacker]") return 1 /mob/living/proc/send_item_poke_message(obj/item/I, mob/living/user) diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index cd7b82c039e5a..a6559a9ec4c06 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -10,6 +10,11 @@ check_self_for_injuries() return if(!has_active_hand()) //can't attack without a hand. + var/obj/item/bodypart/check_arm = get_active_hand() + if(check_arm?.bodypart_disabled) + to_chat(src, "Your [check_arm.name] is in no condition to be used.") + return + to_chat(src, "You look at your arm and sigh.") return diff --git a/code/_onclick/pai.dm b/code/_onclick/pai.dm index 06c1d9dfdfe0a..11212bc6247be 100644 --- a/code/_onclick/pai.dm +++ b/code/_onclick/pai.dm @@ -2,5 +2,5 @@ ..() if(aicamera.in_camera_mode) //pAI picture taking aicamera.camera_mode_off() - aicamera.captureimage(A, usr, null, aicamera.picture_size_x, aicamera.picture_size_y) + aicamera.captureimage(A, usr, null, aicamera.picture_size_x - 1, aicamera.picture_size_y - 1) return diff --git a/code/controllers/subsystem/dbcore.dm b/code/controllers/subsystem/dbcore.dm index fef1c161b433b..556af64d4f899 100644 --- a/code/controllers/subsystem/dbcore.dm +++ b/code/controllers/subsystem/dbcore.dm @@ -136,9 +136,15 @@ SUBSYSTEM_DEF(dbcore) return query.job_id = rustg_sql_query_async(connection, query.sql, json_encode(query.arguments)) -/datum/controller/subsystem/dbcore/proc/queue_query(datum/db_query/query) +/datum/controller/subsystem/dbcore/proc/run_or_queue_query(datum/db_query/query) if(IsAdminAdvancedProcCall()) return + // If we can immediately run the query, then do it + // We need no standby queries, since we should not be jumping the queue if there + // are others waiting. + if (length(queries_active) < max_concurrent_queries && length(queries_standby) == 0) + create_active_query(query) + return queries_standby_num++ queries_standby |= query @@ -492,7 +498,7 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table if(!MC_RUNNING(SSdbcore.init_stage)) SSdbcore.run_query_sync(src) else - SSdbcore.queue_query(src) + SSdbcore.run_or_queue_query(src) sync() else var/job_result_str = rustg_sql_query_blocking(connection, sql, json_encode(arguments)) @@ -512,12 +518,11 @@ Delayed insert mode was removed in mysql 7 and only works with MyISAM type table /// Sleeps until execution of the query has finished. /datum/db_query/proc/sync() - while(status < DB_QUERY_FINISHED) - stoplag() + UNTIL(process()) /datum/db_query/process(delta_time) if(status >= DB_QUERY_FINISHED) - return + return TRUE status = DB_QUERY_STARTED var/job_result = rustg_sql_check_query(job_id) diff --git a/code/controllers/subsystem/explosion.dm b/code/controllers/subsystem/explosion.dm index b3aefebebff7e..12a3dcf6730a9 100644 --- a/code/controllers/subsystem/explosion.dm +++ b/code/controllers/subsystem/explosion.dm @@ -558,7 +558,9 @@ SUBSYSTEM_DEF(explosions) new /obj/effect/hotspot(T) //Mostly for ambience! cost_flameturf = MC_AVERAGE(cost_flameturf, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) - if (low_turf.len || med_turf.len || high_turf.len) + // If a significant amount of turfs change, then we will run lighter for the rest of the tick + // because maptick is going to have an unexpected increase. + if (low_turf.len + med_turf.len + high_turf.len > 10) Master.laggy_byond_map_update_incoming() if(currentpart == SSEXPLOSIONS_MOVABLES) diff --git a/code/controllers/subsystem/nightshift.dm b/code/controllers/subsystem/nightshift.dm index e30561dca3d3d..e5cb73146c141 100644 --- a/code/controllers/subsystem/nightshift.dm +++ b/code/controllers/subsystem/nightshift.dm @@ -27,7 +27,7 @@ SUBSYSTEM_DEF(nightshift) priority_announce(message, sound='sound/misc/notice2.ogg', sender_override="Automated Lighting System Announcement") /datum/controller/subsystem/nightshift/proc/check_nightshift() - var/emergency = GLOB.security_level >= SEC_LEVEL_RED + var/emergency = SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED var/announcing = TRUE var/time = station_time() var/night_time = (time < nightshift_end_time) || (time > nightshift_start_time) diff --git a/code/controllers/subsystem/security_level.dm b/code/controllers/subsystem/security_level.dm new file mode 100644 index 0000000000000..2dfd91eaccbfb --- /dev/null +++ b/code/controllers/subsystem/security_level.dm @@ -0,0 +1,105 @@ +SUBSYSTEM_DEF(security_level) + name = "Security Level" + can_fire = FALSE // We will control when we fire in this subsystem + init_order = INIT_ORDER_SECURITY_LEVEL + /// Currently set security level + var/datum/security_level/current_security_level + /// A list of initialised security level datums. + var/list/available_levels = list() + +/datum/controller/subsystem/security_level/Initialize() + for(var/iterating_security_level_type in subtypesof(/datum/security_level)) + var/datum/security_level/new_security_level = new iterating_security_level_type + available_levels[new_security_level.name] = new_security_level + current_security_level = available_levels[number_level_to_text(SEC_LEVEL_GREEN)] + return SS_INIT_SUCCESS + +/datum/controller/subsystem/security_level/fire(resumed) + if(!current_security_level.looping_sound) // No sound? No play. + can_fire = FALSE + return + sound_to_playing_players(current_security_level.looping_sound) + + +/** + * Sets a new security level as our current level + * + * This is how everything should change the security level. + * + * Arguments: + * * new_level - The new security level that will become our current level + */ +/datum/controller/subsystem/security_level/proc/set_level(new_level) + new_level = istext(new_level) ? new_level : number_level_to_text(new_level) + if(new_level == current_security_level.name) // If we are already at the desired level, do nothing + return + + var/datum/security_level/selected_level = available_levels[new_level] + + if(!selected_level) + CRASH("set_level was called with an invalid security level([new_level])") + + if(SSnightshift.can_fire && (selected_level.number_level >= SEC_LEVEL_RED || current_security_level.number_level >= SEC_LEVEL_RED)) + SSnightshift.next_fire = world.time + 7 SECONDS // Fire nightshift after the security level announcement is complete + + announce_security_level(selected_level) // We want to announce BEFORE updating to the new level + + SSsecurity_level.current_security_level = selected_level + + if(selected_level.looping_sound) + wait = selected_level.looping_sound_interval + can_fire = TRUE + else + can_fire = FALSE + + if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) // By god this is absolutely shit + SSshuttle.emergency.alert_coeff_change(selected_level.shuttle_call_time_mod) + + SEND_SIGNAL(src, COMSIG_SECURITY_LEVEL_CHANGED, selected_level.number_level) + SSblackbox.record_feedback("tally", "security_level_changes", 1, selected_level.name) + +/** + * Handles announcements of the newly set security level + * + * Arguments: + * * selected_level - The new security level that has been set + */ +/datum/controller/subsystem/security_level/proc/announce_security_level(datum/security_level/selected_level) + if(selected_level.number_level > current_security_level.number_level) // We are elevating to this level. + minor_announce(selected_level.elevating_to_announcemnt, "Attention! Security level elevated to [selected_level.name]:", sound_override = selected_level.sound) + else // Going down + minor_announce(selected_level.lowering_to_announcement, "Attention! Security level lowered to [selected_level.name]:", sound_override = selected_level.sound) + +/** + * Returns the current security level as a number + */ +/datum/controller/subsystem/security_level/proc/get_current_level_as_number() + return ((!initialized || !current_security_level) ? SEC_LEVEL_GREEN : current_security_level.number_level) //Send the default security level in case the subsystem hasn't finished initializing yet + +/** + * Returns the current security level as text + */ +/datum/controller/subsystem/security_level/proc/get_current_level_as_text() + return ((!initialized || !current_security_level) ? "green" : current_security_level.name) + +/** + * Converts a text security level to a number + * + * Arguments: + * * level - The text security level to convert + */ +/datum/controller/subsystem/security_level/proc/text_level_to_number(text_level) + var/datum/security_level/selected_level = available_levels[text_level] + return selected_level?.number_level + +/** + * Converts a number security level to a text + * + * Arguments: + * * level - The number security level to convert + */ +/datum/controller/subsystem/security_level/proc/number_level_to_text(number_level) + for(var/iterating_level_text in available_levels) + var/datum/security_level/iterating_security_level = available_levels[iterating_level_text] + if(iterating_security_level.number_level == number_level) + return iterating_security_level.name diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 52529054d20e9..ec8fd7615daf2 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -141,8 +141,8 @@ SUBSYSTEM_DEF(shuttle) log_game("[msg] Alive: [alive], Roundstart: [total], Threshold: [threshold]") emergencyNoRecall = TRUE priority_announce("Catastrophic casualties detected: crisis shuttle protocols activated - jamming recall signals across all frequencies.", sound = SSstation.announcer.get_rand_alert_sound()) - if(emergency.timeLeft(1) > emergencyCallTime * 0.4) - emergency.request(null, set_coefficient = 0.4) + if(emergency.timeLeft(1) > emergencyCallTime * ALERT_COEFF_AUTOEVAC_CRITICAL) + emergency.request(null, set_coefficient = ALERT_COEFF_AUTOEVAC_CRITICAL) /datum/controller/subsystem/shuttle/proc/block_recall(lockout_timer) emergencyNoRecall = TRUE @@ -207,13 +207,13 @@ SUBSYSTEM_DEF(shuttle) call_reason = trim(html_encode(call_reason)) - if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH && seclevel2num(get_security_level()) > SEC_LEVEL_GREEN) + if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH && SSsecurity_level.get_current_level_as_number() > SEC_LEVEL_GREEN) to_chat(user, "You must provide a reason.") return var/area/signal_origin = get_area(user) var/emergency_reason = "\nNature of emergency:\n\n[call_reason]" - var/security_num = seclevel2num(get_security_level()) + var/security_num = SSsecurity_level.get_current_level_as_number() switch(security_num) if(SEC_LEVEL_RED,SEC_LEVEL_DELTA) emergency.request(null, signal_origin, html_decode(emergency_reason), 1) //There is a serious threat we gotta move no time to give them five minutes. @@ -275,7 +275,7 @@ SUBSYSTEM_DEF(shuttle) /datum/controller/subsystem/shuttle/proc/canRecall() if(!emergency || emergency.mode != SHUTTLE_CALL || emergencyNoRecall || SSticker.mode.name == "meteor") return - var/security_num = seclevel2num(get_security_level()) + var/security_num = SSsecurity_level.get_current_level_as_number() switch(security_num) if(SEC_LEVEL_GREEN) if(emergency.timeLeft(1) < emergencyCallTime) @@ -313,7 +313,7 @@ SUBSYSTEM_DEF(shuttle) if(callShuttle) if(EMERGENCY_IDLE_OR_RECALLED) - emergency.request(null, set_coefficient = 2.5) + emergency.request(null, set_coefficient = ALERT_COEFF_AUTOEVAC_NORMAL) log_game("There is no means of calling the shuttle anymore. Shuttle automatically called.") message_admins("All the communications consoles were destroyed and all AIs are inactive. Shuttle called.") diff --git a/code/datums/action.dm b/code/datums/action.dm index 94ef7575363e7..6792456a3f271 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -116,7 +116,7 @@ return FALSE if((check_flags & AB_CHECK_LYING) && isliving(owner)) var/mob/living/action_user = owner - if(!(action_user.mobility_flags & MOBILITY_STAND)) + if(action_user.body_position == LYING_DOWN) return FALSE if((check_flags & AB_CHECK_CONSCIOUS) && owner.stat != CONSCIOUS) return FALSE @@ -296,6 +296,30 @@ if(istype(H)) H.interact(owner) +/datum/action/item_action/toggle_spacesuit + name = "Toggle Suit Thermal Regulator" + icon_icon = 'icons/mob/actions/actions_spacesuit.dmi' + button_icon_state = "thermal_off" + +/datum/action/item_action/toggle_spacesuit/New(Target) + . = ..() + RegisterSignal(target, COMSIG_SUIT_SPACE_TOGGLE, PROC_REF(toggle)) + +/datum/action/item_action/toggle_spacesuit/Destroy() + UnregisterSignal(target, COMSIG_SUIT_SPACE_TOGGLE) + return ..() + +/datum/action/item_action/toggle_spacesuit/Trigger() + var/obj/item/clothing/suit/space/suit = target + if(!istype(suit)) + return + suit.toggle_spacesuit() + +/// Toggle the action icon for the space suit thermal regulator +/datum/action/item_action/toggle_spacesuit/proc/toggle(obj/item/clothing/suit/space/suit) + button_icon_state = "thermal_[suit.thermal_on ? "on" : "off"]" + UpdateButtonIcon() + /datum/action/item_action/toggle_unfriendly_fire name = "Toggle Friendly Fire \[ON\]" desc = "Toggles if the club's blasts cause friendly fire." @@ -518,11 +542,14 @@ owner.put_in_hands(target_item) target_item.attack_self(owner) return + if(!isliving(owner)) + to_chat(owner, "You lack the necessary living force for this action.") + return + var/mob/living/living_owner = owner + if (living_owner.usable_hands <= 0) + to_chat(living_owner, "You dont have any usable hands!") else - if (owner.get_num_arms() <= 0) - to_chat(owner, "You don't have any usable hands!") - else - to_chat(owner, "Your hands are full!") + to_chat(living_owner, "Your hands are full!") ///MGS BOX! diff --git a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm index 2621efabb7eec..baed780fddba9 100644 --- a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm +++ b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm @@ -40,4 +40,4 @@ /datum/ai_planning_subtree/random_speech/mothroach speech_chance = 2 - emote_hear = list("flutters.", "flaps its wings.", "flaps its wings agressively!") + emote_hear = list("flutters.", "flaps its wings.", "flaps its wings aggressively!") diff --git a/code/datums/armor.dm b/code/datums/armor.dm index 218c8d1cdefec..d78f834717433 100644 --- a/code/datums/armor.dm +++ b/code/datums/armor.dm @@ -1,9 +1,9 @@ -#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[rad]-[fire]-[acid]-[magic]-[stamina]-[consume]-[bleed]" +#define ARMORID "armor-[melee]-[bullet]-[laser]-[energy]-[bomb]-[bio]-[rad]-[fire]-[acid]-[stamina]-[consume]-[bleed]" -/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, stamina = 0, consume = 0, bleed = 0) +/proc/getArmor(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, stamina = 0, consume = 0, bleed = 0) . = locate(ARMORID) if (!.) - . = new /datum/armor(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic, stamina, consume, bleed) + . = new /datum/armor(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, stamina, consume, bleed) /datum/armor datum_flags = DF_USE_TAG @@ -16,12 +16,11 @@ var/rad var/fire var/acid - var/magic var/stamina var/consume var/bleed -/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, stamina = 0, consume = 0, bleed = 0) +/datum/armor/New(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, stamina = 0, consume = 0, bleed = 0) src.melee = melee src.bullet = bullet src.laser = laser @@ -31,19 +30,18 @@ src.rad = rad src.fire = fire src.acid = acid - src.magic = magic src.stamina = stamina src.consume = consume src.bleed = bleed tag = ARMORID -/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, magic = 0, stamina = 0, consume = 0, bleed = 0) - return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.rad+rad, src.fire+fire, src.acid+acid, src.magic+magic, src.stamina+stamina, src.consume+consume, src.bleed+bleed) +/datum/armor/proc/modifyRating(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0, stamina = 0, consume = 0, bleed = 0) + return getArmor(src.melee+melee, src.bullet+bullet, src.laser+laser, src.energy+energy, src.bomb+bomb, src.bio+bio, src.rad+rad, src.fire+fire, src.acid+acid, src.stamina+stamina, src.consume+consume, src.bleed+bleed) /datum/armor/proc/modifyAllRatings(modifier = 0) - return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, rad+modifier, fire+modifier, acid+modifier, magic+modifier, stamina+modifier, consume+modifier, bleed+modifier) + return getArmor(melee+modifier, bullet+modifier, laser+modifier, energy+modifier, bomb+modifier, bio+modifier, rad+modifier, fire+modifier, acid+modifier, stamina+modifier, consume+modifier, bleed+modifier) -/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, magic, consume, bleed) +/datum/armor/proc/setRating(melee, bullet, laser, energy, bomb, bio, rad, fire, acid, consume, bleed) return getArmor((isnull(melee) ? src.melee : melee),\ (isnull(bullet) ? src.bullet : bullet),\ (isnull(laser) ? src.laser : laser),\ @@ -53,7 +51,6 @@ (isnull(rad) ? src.rad : rad),\ (isnull(fire) ? src.fire : fire),\ (isnull(acid) ? src.acid : acid),\ - (isnull(magic) ? src.magic : magic),\ (isnull(stamina) ? src.stamina : stamina),\ (isnull(consume) ? src.consume : consume),\ (isnull(bleed) ? src.bleed : bleed)) @@ -62,13 +59,13 @@ return vars[rating] /datum/armor/proc/getList() - return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, RAD = rad, FIRE = fire, ACID = acid, MAGIC = magic, STAMINA = stamina, CONSUME = consume, BLEED = bleed) + return list(MELEE = melee, BULLET = bullet, LASER = laser, ENERGY = energy, BOMB = bomb, BIO = bio, RAD = rad, FIRE = fire, ACID = acid, STAMINA = stamina, CONSUME = consume, BLEED = bleed) /datum/armor/proc/attachArmor(datum/armor/AA) - return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, rad+AA.rad, fire+AA.fire, acid+AA.acid, magic+AA.magic, stamina+AA.stamina, consume+AA.consume, bleed+AA.bleed) + return getArmor(melee+AA.melee, bullet+AA.bullet, laser+AA.laser, energy+AA.energy, bomb+AA.bomb, bio+AA.bio, rad+AA.rad, fire+AA.fire, acid+AA.acid, stamina+AA.stamina, consume+AA.consume, bleed+AA.bleed) /datum/armor/proc/detachArmor(datum/armor/AA) - return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, rad-AA.rad, fire-AA.fire, acid-AA.acid, magic-AA.magic, stamina-AA.stamina, consume+AA.consume, bleed+AA.bleed) + return getArmor(melee-AA.melee, bullet-AA.bullet, laser-AA.laser, energy-AA.energy, bomb-AA.bomb, bio-AA.bio, rad-AA.rad, fire-AA.fire, acid-AA.acid, stamina-AA.stamina, consume+AA.consume, bleed+AA.bleed) /datum/armor/vv_edit_var(var_name, var_value) if (var_name == NAMEOF(src, tag)) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 181fbdcf2220e..b1c5d00fffd2d 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -8,6 +8,11 @@ var/friend_initialized = FALSE /datum/brain_trauma/special/imaginary_friend/on_gain() + var/mob/living/M = owner + // dead or clientless mobs dont get the brain trauma + if(M.stat == DEAD || !M.client) + qdel(src) + return ..() make_friend() get_ghost() @@ -78,7 +83,9 @@ var/datum/action/innate/imaginary_hide/hide /mob/camera/imaginary_friend/Login() - ..() + . = ..() + if(!. || !client) + return FALSE greet() Show() diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 208dab1926203..32e993533bf4f 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -134,7 +134,7 @@ var/fall_chance = 1 if(owner.m_intent == MOVE_INTENT_RUN) fall_chance += 2 - if(prob(fall_chance) && (owner.mobility_flags & MOBILITY_STAND)) + if(prob(fall_chance) && owner.body_position == STANDING_UP) to_chat(owner, "Your leg gives out!") owner.Paralyze(35) diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 2a961c2404f22..e57177fff103b 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -104,13 +104,11 @@ ..() for(var/X in paralysis_traits) ADD_TRAIT(owner, X, "trauma_paralysis") - owner.update_disabled_bodyparts() /datum/brain_trauma/severe/paralysis/on_lose() ..() for(var/X in paralysis_traits) REMOVE_TRAIT(owner, X, "trauma_paralysis") - owner.update_disabled_bodyparts() /datum/brain_trauma/severe/paralysis/paraplegic paralysis_type = "legs" diff --git a/code/datums/brain_damage/split_personality.dm b/code/datums/brain_damage/split_personality.dm index 9a7022348f8d4..ba9da36e06630 100644 --- a/code/datums/brain_damage/split_personality.dm +++ b/code/datums/brain_damage/split_personality.dm @@ -13,6 +13,11 @@ var/mob/living/split_personality/owner_backseat /datum/brain_trauma/severe/split_personality/on_gain() + var/mob/living/M = owner + //Dead and braindead people dont get a second voice + if(M.stat == DEAD || !M.client) + qdel(src) + return ..() make_backseats() get_ghost() @@ -28,9 +33,6 @@ /datum/brain_trauma/severe/split_personality/proc/get_ghost() set waitfor = FALSE - if(owner.stat == DEAD || !owner.mind) - qdel(src) - return var/list/mob/dead/observer/candidates = poll_candidates_for_mob("Do you want to play as [owner]'s split personality?", ROLE_SPLIT_PERSONALITY, null, 7.5 SECONDS, stranger_backseat) if(LAZYLEN(candidates)) var/mob/dead/observer/C = pick(candidates) @@ -43,7 +45,7 @@ /datum/brain_trauma/severe/split_personality/on_life() if(owner.stat == DEAD) if(current_controller != OWNER) - switch_personalities() + switch_personalities(TRUE) qdel(src) else if(prob(3)) switch_personalities() @@ -51,30 +53,27 @@ /datum/brain_trauma/severe/split_personality/on_lose() if(current_controller != OWNER) //it would be funny to cure a guy only to be left with the other personality, but it seems too cruel - switch_personalities() + switch_personalities(TRUE) QDEL_NULL(stranger_backseat) QDEL_NULL(owner_backseat) ..() -/datum/brain_trauma/severe/split_personality/Destroy() - if(stranger_backseat) - QDEL_NULL(stranger_backseat) - if(owner_backseat) - QDEL_NULL(owner_backseat) - return ..() -/datum/brain_trauma/severe/split_personality/proc/switch_personalities() +/datum/brain_trauma/severe/split_personality/proc/switch_personalities(reset_to_owner = FALSE) if(QDELETED(owner) || owner.stat == DEAD || QDELETED(stranger_backseat) || QDELETED(owner_backseat)) return var/mob/living/split_personality/current_backseat - var/mob/living/split_personality/free_backseat - if(current_controller == OWNER) - current_backseat = stranger_backseat - free_backseat = owner_backseat - else + var/mob/living/split_personality/new_backseat + if(current_controller == STRANGER || reset_to_owner) current_backseat = owner_backseat - free_backseat = stranger_backseat + new_backseat = stranger_backseat + else + current_backseat = stranger_backseat + new_backseat = owner_backseat + + if(!current_backseat.client) //Make sure we never switch to a logged off mob. + return log_game("[key_name(current_backseat)] assumed control of [key_name(owner)] due to [src]. (Original owner: [current_controller == OWNER ? owner.key : current_backseat.key])") to_chat(owner, "You feel your control being taken away... your other personality is in charge now!") @@ -87,18 +86,21 @@ owner.computer_id = null owner.lastKnownIP = null - free_backseat.ckey = owner.ckey + new_backseat.ckey = owner.ckey - free_backseat.name = owner.name + new_backseat.name = owner.name if(owner.mind) - free_backseat.mind = owner.mind + new_backseat.mind = owner.mind - if(!free_backseat.computer_id) - free_backseat.computer_id = h2b_id + if(!new_backseat.computer_id) + new_backseat.computer_id = h2b_id - if(!free_backseat.lastKnownIP) - free_backseat.lastKnownIP = h2b_ip + if(!new_backseat.lastKnownIP) + new_backseat.lastKnownIP = h2b_ip + + if(reset_to_owner && new_backseat.mind) + new_backseat.ghostize(FALSE) //Backseat to body @@ -149,7 +151,9 @@ ..() /mob/living/split_personality/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, "As a split personality, you cannot do anything but observe. However, you will eventually gain control of your body, switching places with the current personality.") to_chat(src, "Do not commit suicide or put the body in a deadly position. Behave like you care about it as much as the owner.") @@ -207,8 +211,9 @@ return //no random switching /datum/brain_trauma/severe/split_personality/brainwashing/handle_hearing(datum/source, list/hearing_args) - if(HAS_TRAIT(owner, TRAIT_DEAF) || owner == hearing_args[HEARING_SPEAKER]) + if(!owner.can_hear() || owner == hearing_args[HEARING_SPEAKER]) return + var/message = hearing_args[HEARING_RAW_MESSAGE] if(findtext(message, codeword)) hearing_args[HEARING_RAW_MESSAGE] = replacetext(message, codeword, "[codeword]") @@ -225,7 +230,9 @@ var/codeword /mob/living/split_personality/traitor/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, "As a brainwashed personality, you cannot do anything yet but observe. However, you may gain control of your body if you hear the special codeword, switching places with the current personality.") to_chat(src, "Your activation codeword is: [codeword]") if(objective) diff --git a/code/datums/components/bloodysoles.dm b/code/datums/components/bloodysoles.dm index 2742b95b6b448..0a68478904236 100644 --- a/code/datums/components/bloodysoles.dm +++ b/code/datums/components/bloodysoles.dm @@ -129,7 +129,7 @@ return if(QDELETED(wielder) || is_obscured()) return - if(!(wielder.mobility_flags & MOBILITY_STAND) || !wielder.has_gravity(wielder.loc)) + if(wielder.body_position == LYING_DOWN || !wielder.has_gravity(wielder.loc)) return var/half_our_blood = bloody_shoes[last_blood_state] / 2 @@ -262,7 +262,7 @@ for(var/X in wielder.bodyparts) var/obj/item/bodypart/affecting = X if(affecting.body_part == LEG_RIGHT || affecting.body_part == LEG_LEFT) - if(!affecting.disabled) + if(!affecting.bodypart_disabled) FP.species_types |= affecting.limb_id break @@ -273,13 +273,13 @@ return ITEM_SLOT_FEET in wielder.check_obscured_slots(TRUE) /datum/component/bloodysoles/feet/on_moved(datum/source, OldLoc, Dir, Forced) - if(wielder.get_num_legs(FALSE) < 2) + if(wielder.num_legs < 2) return ..() /datum/component/bloodysoles/feet/on_step_blood(datum/source, obj/effect/decal/cleanable/pool) - if(wielder.get_num_legs(FALSE) < 2) + if(wielder.num_legs < 2) return ..() diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index 107fe33b95dc7..4c0b708a0be17 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -55,7 +55,7 @@ if(!(flags & CALTROP_BYPASS_SHOES) && (H.shoes || feetCover)) return - if((H.movement_type & FLYING) || !(H.mobility_flags & MOBILITY_STAND)|| H.buckled) + if((H.movement_type & FLYING) || (H.body_position == LYING_DOWN)|| H.buckled) return var/damage = rand(min_damage, max_damage) diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 45e38c49d5f95..1489651c899e3 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -1221,6 +1221,17 @@ tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) category = CAT_MISC +/datum/crafting_recipe/personal_locker + name = "Personal Locker" + result = /obj/structure/closet/secure_closet/personal/empty + time = 10 SECONDS + reqs = list(/obj/item/stack/sheet/iron = 2, + /obj/item/electronics/airlock = 1, + /obj/item/stack/cable_coil = 2 + ) + tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) + category = CAT_STRUCTURE + /datum/crafting_recipe/shutters name = "Shutters" reqs = list(/obj/item/stack/sheet/plasteel = 5, diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm index b2a2cddf9c9b3..5eef11348077b 100644 --- a/code/datums/components/dejavu.dm +++ b/code/datums/components/dejavu.dm @@ -56,7 +56,7 @@ else if(isobj(parent)) var/obj/O = parent - integrity = O.obj_integrity + integrity = O.get_integrity() rewind_type = PROC_REF(rewind_obj) addtimer(CALLBACK(src, rewind_type), rewind_interval) @@ -103,5 +103,5 @@ /datum/component/dejavu/proc/rewind_obj() var/obj/master = parent - master.obj_integrity = integrity + master.update_integrity(integrity) rewind() diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index a8969ec2fecd2..3f6e065279a0f 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -136,7 +136,7 @@ if(pain_stam_pct && HAS_TRAIT_FROM(victim, TRAIT_INCAPACITATED, STAMINA)) //if it's a less-lethal embed, give them a break if they're already stamcritted pain_chance_current *= 0.2 damage *= 0.5 - else if(victim.mobility_flags & ~MOBILITY_STAND) + else if(victim.body_position == LYING_DOWN) pain_chance_current *= 0.2 if(harmful && prob(pain_chance_current)) @@ -164,7 +164,7 @@ var/mob/living/carbon/victim = parent var/chance = jostle_chance - if(victim.m_intent == MOVE_INTENT_WALK || !(victim.mobility_flags & MOBILITY_STAND)) + if(victim.m_intent == MOVE_INTENT_WALK || victim.body_position == LYING_DOWN) chance *= 0.5 if(harmful && prob(chance)) diff --git a/code/datums/components/explodable.dm b/code/datums/components/explodable.dm index 1d5e69085fa81..7175e68cf58fe 100644 --- a/code/datums/components/explodable.dm +++ b/code/datums/components/explodable.dm @@ -10,8 +10,6 @@ var/delete_after /// For items, lets us determine where things should be hit. var/equipped_slot - /// it won't explode again if cooldown is on. This is necessary because explosion() proc through SSexplosion doesn't tell if it's exploded - COOLDOWN_DECLARE(explosion_cooling) /datum/component/explodable/Initialize(devastation_range, heavy_impact_range, light_impact_range, flash_range, uncapped = FALSE, delete_after = EXPLODABLE_DELETE_PARENT) if(!isatom(parent)) @@ -125,9 +123,6 @@ /// Expldoe and remove the object /datum/component/explodable/proc/detonate() SIGNAL_HANDLER - if(!COOLDOWN_FINISHED(src, explosion_cooling)) - return // If we don't do this and this doesn't delete it can lock the MC into only processing Input, Timers, and Explosions. - COOLDOWN_START(src, explosion_cooling, 1) var/atom/bomb = parent explosion(bomb, devastation_range, heavy_impact_range, light_impact_range, flash_range, uncapped) //epic explosion time diff --git a/code/datums/components/overlay_lighting.dm b/code/datums/components/overlay_lighting.dm index 7534467dea6a2..ec48357afc464 100644 --- a/code/datums/components/overlay_lighting.dm +++ b/code/datums/components/overlay_lighting.dm @@ -5,21 +5,23 @@ #define GET_PARENT (parent_attached_to || parent) +#define SHORT_CAST 2 + /** - * Movable atom overlay-based lighting component. - * - * * Component works by applying a visual object to the parent target. - * - * * The component tracks the parent's loc to determine the current_holder. - * * The current_holder is either the parent or its loc, whichever is on a turf. If none, then the current_holder is null and the light is not visible. - * - * * Lighting works at its base by applying a dark overlay and "cutting" said darkness with light, adding (possibly colored) transparency. - * * This component uses the visible_mask visual object to apply said light mask on the darkness. - * - * * The main limitation of this system is that it uses a limited number of pre-baked geometrical shapes, but for most uses it does the job. - * - * * Another limitation is for big lights: you only see the light if you see the object emiting it. - * * For small objects this is good (you can't see them behind a wall), but for big ones this quickly becomes prety clumsy. + * Movable atom overlay-based lighting component. + * + * * Component works by applying a visual object to the parent target. + * + * * The component tracks the parent's loc to determine the current_holder. + * * The current_holder is either the parent or its loc, whichever is on a turf. If none, then the current_holder is null and the light is not visible. + * + * * Lighting works at its base by applying a dark overlay and "cutting" said darkness with light, adding (possibly colored) transparency. + * * This component uses the visible_mask visual object to apply said light mask on the darkness. + * + * * The main limitation of this system is that it uses a limited number of pre-baked geometrical shapes, but for most uses it does the job. + * + * * Another limitation is for big lights: you only see the light if you see the object emiting it. + * * For small objects this is good (you can't see them behind a wall), but for big ones this quickly becomes prety clumsy. */ /datum/component/overlay_lighting ///How far the light reaches, float. @@ -58,15 +60,26 @@ var/atom/movable/current_holder ///Movable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself. var/atom/movable/parent_attached_to - - -/datum/component/overlay_lighting/Initialize(_range, _power, _color, starts_on) + ///Whether we're a directional light + var/directional = FALSE + ///A cone overlay for directional light, it's alpha and color are dependant on the light + var/image/cone + ///Current tracked direction for the directional cast behaviour + var/current_direction + ///Tracks current directional x offset so we dont update unecessarily + var/directional_offset_x + ///Tracks current directional y offset so we dont update unecessarily + var/directional_offset_y + ///Cast range for the directional cast (how far away the atom is moved) + var/cast_range = 2 + +/datum/component/overlay_lighting/Initialize(_range, _power, _color, starts_on, is_directional) if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE var/atom/movable/movable_parent = parent - if(movable_parent.light_system != MOVABLE_LIGHT) - stack_trace("[type] added to [parent], with [movable_parent.light_system] value for the light_system var. Use [MOVABLE_LIGHT] instead.") + if(movable_parent.light_system != MOVABLE_LIGHT && movable_parent.light_system != MOVABLE_LIGHT_DIRECTIONAL) + stack_trace("[type] added to [parent], with [movable_parent.light_system] value for the light_system var. Use [MOVABLE_LIGHT] or [MOVABLE_LIGHT_DIRECTIONAL] instead.") return COMPONENT_INCOMPATIBLE . = ..() @@ -75,6 +88,14 @@ visible_mask.plane = O_LIGHTING_VISUAL_PLANE visible_mask.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM visible_mask.alpha = 0 + if(is_directional) + directional = TRUE + cone = image('icons/effects/light_overlays/light_cone.dmi', icon_state = "light") + cone.plane = O_LIGHTING_VISUAL_PLANE + cone.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + cone.alpha = 110 + cone.transform = cone.transform.Translate(-32, -32) + set_direction(movable_parent.dir) if(!isnull(_range)) movable_parent.set_light_range(_range) set_range(parent, movable_parent.light_range) @@ -90,20 +111,20 @@ /datum/component/overlay_lighting/RegisterWithParent() . = ..() - RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_moved)) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_RANGE, PROC_REF(set_range)) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_POWER, PROC_REF(set_power)) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_COLOR, PROC_REF(set_color)) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_ON, PROC_REF(on_toggle)) - RegisterSignal(parent, COMSIG_ATOM_SET_LIGHT_FLAGS, PROC_REF(on_light_flags_change)) + if(directional) + RegisterSignal(parent, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_parent_dir_change)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_RANGE, PROC_REF(set_range)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_POWER, PROC_REF(set_power)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_COLOR, PROC_REF(set_color)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_ON, PROC_REF(on_toggle)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_LIGHT_FLAGS, PROC_REF(on_light_flags_change)) RegisterSignal(parent, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted)) + //RegisterSignal(parent, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater)) + RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_moved)) var/atom/movable/movable_parent = parent if(movable_parent.light_flags & LIGHT_ATTACHED) overlay_lighting_flags |= LIGHTING_ATTACHED set_parent_attached_to(ismovable(movable_parent.loc) ? movable_parent.loc : null) - if(movable_parent.light_flags & LIGHT_NO_LUMCOUNT) - overlay_lighting_flags |= LIGHT_NO_LUMCOUNT - set_lum_power(real_lum_power) check_holder() if(movable_parent.light_on) turn_on() @@ -116,13 +137,16 @@ clean_old_turfs() UnregisterSignal(parent, list( COMSIG_MOVABLE_MOVED, - COMSIG_ATOM_SET_LIGHT_RANGE, - COMSIG_ATOM_SET_LIGHT_POWER, - COMSIG_ATOM_SET_LIGHT_COLOR, - COMSIG_ATOM_SET_LIGHT_ON, - COMSIG_ATOM_SET_LIGHT_FLAGS, + COMSIG_ATOM_UPDATE_LIGHT_RANGE, + COMSIG_ATOM_UPDATE_LIGHT_POWER, + COMSIG_ATOM_UPDATE_LIGHT_COLOR, + COMSIG_ATOM_UPDATE_LIGHT_ON, + COMSIG_ATOM_UPDATE_LIGHT_FLAGS, COMSIG_ATOM_USED_IN_CRAFT, + //COMSIG_LIGHT_EATER_QUEUE, )) + if(directional) + UnregisterSignal(parent, COMSIG_ATOM_DIR_CHANGE) if(overlay_lighting_flags & LIGHTING_ON) turn_off() return ..() @@ -133,13 +157,14 @@ set_holder(null) clean_old_turfs() visible_mask = null + cone = null + parent_attached_to = null return ..() ///Clears the affected_turfs lazylist, removing from its contents the effects of being near the light. /datum/component/overlay_lighting/proc/clean_old_turfs() - for(var/t in affected_turfs) - var/turf/lit_turf = t + for(var/turf/lit_turf as anything in affected_turfs) lit_turf.dynamic_lumcount -= used_lum_power affected_turfs = null @@ -148,9 +173,12 @@ /datum/component/overlay_lighting/proc/get_new_turfs() if(!current_holder) return + . = list() for(var/turf/lit_turf in view(lumcount_range, get_turf(current_holder))) - lit_turf.dynamic_lumcount += used_lum_power - LAZYADD(affected_turfs, lit_turf) + lit_turf.dynamic_lumcount += real_lum_power + . += lit_turf + if(length(.)) + affected_turfs = . ///Clears the old affected turfs and populates the new ones. @@ -158,22 +186,26 @@ clean_old_turfs() if(!isturf(current_holder?.loc)) return + if(directional) + cast_directional_light() get_new_turfs() -///Adds the luminosity and source for the afected movable atoms to keep track of their visibility. -/datum/component/overlay_lighting/proc/add_dynamic_lumi(atom/movable/affected_movable) +///Adds the luminosity and source for the affected movable atoms to keep track of their visibility. +/datum/component/overlay_lighting/proc/add_dynamic_lumi() LAZYSET(current_holder.affected_dynamic_lights, src, lumcount_range + 1) current_holder.underlays += visible_mask current_holder.update_dynamic_luminosity() + if(directional) + current_holder.underlays += cone - -///Removes the luminosity and source for the afected movable atoms to keep track of their visibility. -/datum/component/overlay_lighting/proc/remove_dynamic_lumi(atom/movable/affected_movable) +///Removes the luminosity and source for the affected movable atoms to keep track of their visibility. +/datum/component/overlay_lighting/proc/remove_dynamic_lumi() LAZYREMOVE(current_holder.affected_dynamic_lights, src) current_holder.underlays -= visible_mask current_holder.update_dynamic_luminosity() - + if(directional) + current_holder.underlays -= cone ///Called to change the value of parent_attached_to. /datum/component/overlay_lighting/proc/set_parent_attached_to(atom/movable/new_parent_attached_to) @@ -184,15 +216,17 @@ parent_attached_to = new_parent_attached_to if(.) var/atom/movable/old_parent_attached_to = . - UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + UnregisterSignal(old_parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, /*COMSIG_LIGHT_EATER_QUEUE*/)) if(old_parent_attached_to == current_holder) RegisterSignal(old_parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel)) RegisterSignal(old_parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) + //RegisterSignal(old_parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater)) if(parent_attached_to) if(parent_attached_to == current_holder) - UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, /*COMSIG_LIGHT_EATER_QUEUE*/)) RegisterSignal(parent_attached_to, COMSIG_PARENT_QDELETING, PROC_REF(on_parent_attached_to_qdel)) RegisterSignal(parent_attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(on_parent_attached_to_moved)) + //RegisterSignal(parent_attached_to, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater)) check_holder() @@ -202,18 +236,27 @@ return if(current_holder) if(current_holder != parent && current_holder != parent_attached_to) - UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED, /*COMSIG_LIGHT_EATER_QUEUE*/)) + if(directional) + UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE) if(overlay_lighting_flags & LIGHTING_ON) - remove_dynamic_lumi(current_holder) + remove_dynamic_lumi() current_holder = new_holder if(new_holder == null) clean_old_turfs() return - if(overlay_lighting_flags & LIGHTING_ON) - add_dynamic_lumi(new_holder) if(new_holder != parent && new_holder != parent_attached_to) RegisterSignal(new_holder, COMSIG_PARENT_QDELETING, PROC_REF(on_holder_qdel)) - RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) + //RegisterSignal(new_holder, COMSIG_LIGHT_EATER_QUEUE, PROC_REF(on_light_eater)) + if(overlay_lighting_flags & LIGHTING_ON) + RegisterSignal(new_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) + if(directional) + RegisterSignal(new_holder, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_holder_dir_change)) + if(directional && current_direction != new_holder.dir) + current_direction = new_holder.dir + if(overlay_lighting_flags & LIGHTING_ON) + add_dynamic_lumi() + make_luminosity_update() ///Used to determine the new valid current_holder from the parent's loc. @@ -234,12 +277,18 @@ ///Called when the current_holder is qdeleted, to remove the light effect. /datum/component/overlay_lighting/proc/on_holder_qdel(atom/movable/source, force) + SIGNAL_HANDLER + if(QDELETED(current_holder)) + return UnregisterSignal(current_holder, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + if(directional) + UnregisterSignal(current_holder, COMSIG_ATOM_DIR_CHANGE) set_holder(null) ///Called when current_holder changes loc. /datum/component/overlay_lighting/proc/on_holder_moved(atom/movable/source, OldLoc, Dir, Forced) + SIGNAL_HANDLER if(!(overlay_lighting_flags & LIGHTING_ON)) return make_luminosity_update() @@ -247,6 +296,7 @@ ///Called when parent changes loc. /datum/component/overlay_lighting/proc/on_parent_moved(atom/movable/source, OldLoc, Dir, Forced) + SIGNAL_HANDLER var/atom/movable/movable_parent = parent if(overlay_lighting_flags & LIGHTING_ATTACHED) set_parent_attached_to(ismovable(movable_parent.loc) ? movable_parent.loc : null) @@ -258,7 +308,10 @@ ///Called when the current_holder is qdeleted, to remove the light effect. /datum/component/overlay_lighting/proc/on_parent_attached_to_qdel(atom/movable/source, force) + SIGNAL_HANDLER UnregisterSignal(parent_attached_to, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_MOVED)) + if(directional) + UnregisterSignal(parent_attached_to, COMSIG_ATOM_DIR_CHANGE) if(parent_attached_to == current_holder) set_holder(null) set_parent_attached_to(null) @@ -266,6 +319,7 @@ ///Called when parent_attached_to changes loc. /datum/component/overlay_lighting/proc/on_parent_attached_to_moved(atom/movable/source, OldLoc, Dir, Forced) + SIGNAL_HANDLER check_holder() if(!(overlay_lighting_flags & LIGHTING_ON) || !current_holder) return @@ -273,7 +327,9 @@ ///Changes the range which the light reaches. 0 means no light, 6 is the maximum value. -/datum/component/overlay_lighting/proc/set_range(atom/source, new_range) +/datum/component/overlay_lighting/proc/set_range(atom/source, old_range) + SIGNAL_HANDLER + var/new_range = source.light_range if(range == new_range) return if(range == 0) @@ -281,7 +337,7 @@ range = clamp(CEILING(new_range, 0.5), 1, 6) var/pixel_bounds = ((range - 1) * 64) + 32 lumcount_range = CEILING(range, 1) - if((overlay_lighting_flags & LIGHTING_ON) && current_holder) + if(current_holder && overlay_lighting_flags & LIGHTING_ON) current_holder.underlays -= visible_mask visible_mask.icon = light_overlays["[pixel_bounds]"] if(pixel_bounds == 32) @@ -291,69 +347,90 @@ var/matrix/transform = new transform.Translate(-offset, -offset) visible_mask.transform = transform - if((overlay_lighting_flags & LIGHTING_ON) && current_holder) + if(current_holder && overlay_lighting_flags & LIGHTING_ON) current_holder.underlays += visible_mask + if(directional) + cast_range = clamp(round(new_range * 0.5), 1, 3) + if(overlay_lighting_flags & LIGHTING_ON) make_luminosity_update() ///Changes the intensity/brightness of the light by altering the visual object's alpha. -/datum/component/overlay_lighting/proc/set_power(atom/source, new_power) +/datum/component/overlay_lighting/proc/set_power(atom/source, old_power) + SIGNAL_HANDLER + var/new_power = source.light_power set_lum_power(new_power >= 0 ? 0.5 : -0.5) set_alpha = min(230, (abs(new_power) * 120) + 30) - // We need to do this in order to trigger byond to update the overlay - if(overlay_lighting_flags & LIGHTING_ON) - current_holder?.underlays -= visible_mask + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= visible_mask visible_mask.alpha = set_alpha - if(overlay_lighting_flags & LIGHTING_ON) - current_holder?.underlays += visible_mask + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + if(!directional) + return + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= cone + cone.alpha = min(200, (abs(new_power) * 90)+20) + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += cone ///Changes the light's color, pretty straightforward. -/datum/component/overlay_lighting/proc/set_color(atom/source, new_color) - // We need to do this in order to trigger byond to update the overlay - if(overlay_lighting_flags & LIGHTING_ON) - current_holder?.underlays -= visible_mask +/datum/component/overlay_lighting/proc/set_color(atom/source, old_color) + SIGNAL_HANDLER + var/new_color = source.light_color + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= visible_mask visible_mask.color = new_color - if(overlay_lighting_flags & LIGHTING_ON) - current_holder?.underlays += visible_mask + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + if(!directional) + return + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays -= cone + cone.color = new_color + if(current_holder && overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += cone + ///Toggles the light on and off. -/datum/component/overlay_lighting/proc/on_toggle(atom/source, new_value) +/datum/component/overlay_lighting/proc/on_toggle(atom/source, old_value) + SIGNAL_HANDLER + var/new_value = source.light_on if(new_value) //Truthy value input, turn on. turn_on() return turn_off() //Falsey value, turn off. -///Triggered right before the parent light flags change. -/datum/component/overlay_lighting/proc/on_light_flags_change(atom/source, new_value) +///Triggered right after the parent light flags change. +/datum/component/overlay_lighting/proc/on_light_flags_change(atom/source, old_flags) + SIGNAL_HANDLER + var/new_flags = source.light_flags var/atom/movable/movable_parent = parent - if(new_value & LIGHT_ATTACHED) - if(!(movable_parent.light_flags & LIGHT_ATTACHED)) //Gained the LIGHT_ATTACHED property. - overlay_lighting_flags |= LIGHTING_ATTACHED - if(ismovable(movable_parent.loc)) - set_parent_attached_to(movable_parent.loc) - else if(movable_parent.light_flags & LIGHT_ATTACHED) //Lost the LIGHT_ATTACHED property. + if(!((new_flags ^ old_flags) & LIGHT_ATTACHED)) + return + + if(new_flags & LIGHT_ATTACHED) // Gained the [LIGHT_ATTACHED] property + overlay_lighting_flags |= LIGHTING_ATTACHED + if(ismovable(movable_parent.loc)) + set_parent_attached_to(movable_parent.loc) + else // Lost the [LIGHT_ATTACHED] property overlay_lighting_flags &= ~LIGHTING_ATTACHED set_parent_attached_to(null) - if(new_value & LIGHT_NO_LUMCOUNT) - if(!(movable_parent.light_flags & LIGHT_NO_LUMCOUNT)) //Gained the NO_LUMCOUNT property - overlay_lighting_flags |= LIGHT_NO_LUMCOUNT - //Recalculate affecting - set_lum_power(real_lum_power) - else if(movable_parent.light_flags & LIGHT_NO_LUMCOUNT) //Lost the NO_LUMCOUNT property - overlay_lighting_flags &= ~LIGHT_NO_LUMCOUNT - //Recalculate affecting - set_lum_power(real_lum_power) ///Toggles the light on. /datum/component/overlay_lighting/proc/turn_on() if(overlay_lighting_flags & LIGHTING_ON) return - if(current_holder) - add_dynamic_lumi(current_holder) overlay_lighting_flags |= LIGHTING_ON + if(current_holder) + add_dynamic_lumi() + if(directional) + cast_directional_light() + if(current_holder && current_holder != parent && current_holder != parent_attached_to) + RegisterSignal(current_holder, COMSIG_MOVABLE_MOVED, PROC_REF(on_holder_moved)) get_new_turfs() @@ -362,37 +439,79 @@ if(!(overlay_lighting_flags & LIGHTING_ON)) return if(current_holder) - remove_dynamic_lumi(current_holder) + remove_dynamic_lumi() overlay_lighting_flags &= ~LIGHTING_ON + if(current_holder && current_holder != parent && current_holder != parent_attached_to) + UnregisterSignal(current_holder, COMSIG_MOVABLE_MOVED) clean_old_turfs() ///Here we append the behavior associated to changing lum_power. /datum/component/overlay_lighting/proc/set_lum_power(new_lum_power) - //Get the simulated luminosity count (If we have no lumcount, this is set to 0) - var/simulated_lum_power = new_lum_power - if(overlay_lighting_flags & LIGHT_NO_LUMCOUNT) - simulated_lum_power = 0 - //The new lum power is the same - if(used_lum_power == simulated_lum_power) - //This light doesn't affect lumcount, but lum_power must be updated regardless - if(new_lum_power != simulated_lum_power) - . = real_lum_power - real_lum_power = new_lum_power + if(real_lum_power == new_lum_power) return - //Set the return value to the old lum power . = real_lum_power real_lum_power = new_lum_power - //Get the old used lum power - var/old_lum_power = used_lum_power - used_lum_power = simulated_lum_power - //Calculate the difference - var/difference = old_lum_power - used_lum_power - //Apply it to any turf we are affecting - for(var/t in affected_turfs) - var/turf/lit_turf = t + var/difference = . - real_lum_power + for(var/turf/lit_turf as anything in affected_turfs) lit_turf.dynamic_lumcount -= difference +///Here we append the behavior associated to changing lum_power. +/datum/component/overlay_lighting/proc/cast_directional_light() + var/final_distance = cast_range + //Lower the distance by 1 if we're not looking at a cardinal direction, and we're not a short cast + if(final_distance > SHORT_CAST && !(ALL_CARDINALS & current_direction)) + final_distance -= 1 + var/turf/scanning = get_turf(current_holder) + for(var/i in 1 to final_distance) + var/turf/next_turf = get_step(scanning, current_direction) + if(isnull(next_turf) || IS_OPAQUE_TURF(next_turf)) + final_distance = i + break + scanning = next_turf + + current_holder.underlays -= visible_mask + + var/translate_x = -((range - 1) * 32) + var/translate_y = translate_x + switch(current_direction) + if(NORTH) + translate_y += 32 * final_distance + if(SOUTH) + translate_y += -32 * final_distance + if(EAST) + translate_x += 32 * final_distance + if(WEST) + translate_x += -32 * final_distance + if((directional_offset_x != translate_x) || (directional_offset_y != translate_y)) + directional_offset_x = translate_x + directional_offset_y = translate_y + var/matrix/transform = matrix() + transform.Translate(translate_x, translate_y) + visible_mask.transform = transform + if(overlay_lighting_flags & LIGHTING_ON) + current_holder.underlays += visible_mask + +///Called when current_holder changes loc. +/datum/component/overlay_lighting/proc/on_holder_dir_change(atom/movable/source, olddir, newdir) + SIGNAL_HANDLER + set_direction(newdir) + +///Called when parent changes loc. +/datum/component/overlay_lighting/proc/on_parent_dir_change(atom/movable/source, olddir, newdir) + SIGNAL_HANDLER + set_direction(newdir) + +///Sets a new direction for the directional cast, then updates luminosity +/datum/component/overlay_lighting/proc/set_direction(newdir) + if(!newdir) + return + if(current_direction == newdir) + return + current_direction = newdir + if(overlay_lighting_flags & LIGHTING_ON) + make_luminosity_update() + /datum/component/overlay_lighting/proc/on_parent_crafted(datum/source, atom/movable/new_craft) SIGNAL_HANDLER @@ -403,6 +522,15 @@ RegisterSignal(new_craft, COMSIG_ATOM_USED_IN_CRAFT, PROC_REF(on_parent_crafted)) set_parent_attached_to(new_craft) +/* +/// Handles putting the source for overlay lights into the light eater queue since we aren't tracked by [/atom/var/light_sources] +/datum/component/overlay_lighting/proc/on_light_eater(datum/source, list/light_queue, datum/light_eater) + SIGNAL_HANDLER + light_queue[parent] = TRUE + return NONE +*/ + #undef LIGHTING_ON #undef LIGHTING_ATTACHED #undef GET_PARENT +#undef SHORT_CAST diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index ae11b38318ea8..c57a67708a136 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -22,6 +22,8 @@ var/ride_check_ridden_restrained = FALSE var/del_on_unbuckle_all = FALSE + var/emped = FALSE + var/empable = FALSE /datum/component/riding/Initialize() if(!ismovable(parent)) @@ -29,6 +31,7 @@ RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, PROC_REF(vehicle_mob_buckle)) RegisterSignal(parent, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(vehicle_mob_unbuckle)) RegisterSignal(parent, COMSIG_MOVABLE_MOVED, PROC_REF(vehicle_moved)) + RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) //Calculate the move multiplier speed, to be proportional to mob speed vehicle_move_multiplier = CONFIG_GET(number/movedelay/run_delay) / 1.5 @@ -171,6 +174,9 @@ return last_vehicle_move = world.time + if(emped && empable) + to_chat(user, "\The [AM]'s controls aren't responding!") + return if(keycheck(user)) var/turf/next = get_step(AM, direction) var/turf/current = get_turf(AM) @@ -207,7 +213,7 @@ return override_allow_spacemove || AM.has_gravity() /datum/component/riding/proc/account_limbs(mob/living/M) - if(M.get_num_legs() < 2 && !slowed) + if(M.usable_legs < 2 && !slowed) vehicle_move_delay = vehicle_move_delay + slowvalue slowed = TRUE else if(slowed) @@ -289,7 +295,7 @@ return if(iscarbon(user)) var/mob/living/carbon/carbonuser = user - if(!carbonuser.get_num_arms()) + if(!carbonuser.usable_hands) Unbuckle(user) to_chat(user, "You can't grab onto [AM] with no hands!") return @@ -414,3 +420,18 @@ var/mob/living/simple_animal/S = parent S.toggle_ai(AI_ON) ..() + +/datum/component/riding/proc/on_emp_act(datum/source, severity) + SIGNAL_HANDLER + + if(!empable) + return + emped = TRUE + var/atom/movable/AM = parent + AM.add_emitter(/obj/emitter/fire_smoke, "smoke") + addtimer(CALLBACK(src, PROC_REF(reboot)), 300 / severity, TIMER_UNIQUE|TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early + +/datum/component/riding/proc/reboot() + emped = FALSE + var/atom/movable/AM = parent + AM.remove_emitter("smoke") diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index e4541f96a3e71..9b0bbe696096d 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -13,12 +13,16 @@ var/recharge_start_delay = 20 SECONDS /// Once we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes var/charge_increment_delay = 1 SECONDS + /// How many charges we recover on each charge increment + var/charge_recovery = 1 /// What .dmi we're pulling the shield icon from var/shield_icon_file = 'icons/effects/effects.dmi' /// What icon is used when someone has a functional shield up var/shield_icon = "shield-old" /// Do we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work var/shield_inhand = FALSE + /// Should the shield lose charges equal to the damage dealt by a hit? + var/lose_multiple_charges = FALSE /// The cooldown tracking when we were last hit COOLDOWN_DECLARE(recently_hit_cd) /// The cooldown tracking when we last replenished a charge @@ -26,13 +30,15 @@ /// A callback for the sparks/message that play when a charge is used, see [/datum/component/shielded/proc/default_run_hit_callback] var/datum/callback/on_hit_effects -/datum/component/shielded/Initialize(max_charges = 3, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, shield_icon_file = 'icons/effects/effects.dmi', shield_icon = "shield-old", shield_inhand = FALSE, run_hit_callback) +/datum/component/shielded/Initialize(max_charges = 3, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon_file = 'icons/effects/effects.dmi', shield_icon = "shield-old", shield_inhand = FALSE, run_hit_callback) if(!isitem(parent) || max_charges <= 0) return COMPONENT_INCOMPATIBLE src.max_charges = max_charges src.recharge_start_delay = recharge_start_delay src.charge_increment_delay = charge_increment_delay + src.charge_recovery = charge_recovery + src.lose_multiple_charges = lose_multiple_charges src.shield_icon_file = shield_icon_file src.shield_icon = shield_icon src.shield_inhand = shield_inhand @@ -46,7 +52,7 @@ if(wearer) shield_icon = "broken" UnregisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS) - wearer.update_icon() + wearer.update_appearance(UPDATE_ICON) wearer = null QDEL_NULL(on_hit_effects) return ..() @@ -55,7 +61,7 @@ RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(lost_wearer)) RegisterSignal(parent, COMSIG_ITEM_HIT_REACT, PROC_REF(on_hit_react)) - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(check_recharge_item)) + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(check_recharge_rune)) /datum/component/shielded/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED, COMSIG_ITEM_HIT_REACT, COMSIG_PARENT_ATTACKBY)) @@ -73,13 +79,16 @@ var/obj/item/item_parent = parent COOLDOWN_START(src, charge_add_cd, charge_increment_delay) - current_charges++ - if(wearer && current_charges == 1) - wearer.update_icon() + adjust_charge(charge_recovery) // set the number of charges to current + recovery per increment, clamped from zero to max_charges playsound(item_parent, 'sound/magic/charge.ogg', 50, TRUE) if(current_charges == max_charges) playsound(item_parent, 'sound/machines/ding.ogg', 50, TRUE) +/datum/component/shielded/proc/adjust_charge(change) + current_charges = clamp(current_charges + change, 0, max_charges) + if(wearer) + wearer.update_appearance(UPDATE_ICON) + /// Check if we've been equipped to a valid slot to shield /datum/component/shielded/proc/on_equipped(datum/source, mob/user, slot) SIGNAL_HANDLER @@ -92,7 +101,7 @@ RegisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(on_update_overlays)) RegisterSignal(wearer, COMSIG_PARENT_QDELETING, PROC_REF(lost_wearer)) if(current_charges) - wearer.update_icon() + wearer.update_appearance(UPDATE_ICON) /// Either we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem /datum/component/shielded/proc/lost_wearer(datum/source, mob/user) @@ -100,7 +109,7 @@ if(wearer) UnregisterSignal(wearer, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_PARENT_QDELETING)) - wearer.update_icon() + wearer.update_appearance(UPDATE_ICON) wearer = null /// Used to draw the shield overlay on the wearer @@ -113,7 +122,7 @@ * This proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. * It then runs the callback in [/datum/component/shielded/var/on_hit_effects] which handles the messages/sparks (so the visuals) */ -/datum/component/shielded/proc/on_hit_react(datum/source, mob/living/carbon/human/owner, atom/movable/hitby, attack_text, damage, attack_type) +/datum/component/shielded/proc/on_hit_react(datum/source, mob/living/carbon/human/owner, atom/movable/hitby, attack_text, final_block_chance, damage, attack_type) SIGNAL_HANDLER COOLDOWN_START(src, recently_hit_cd, recharge_start_delay) @@ -121,7 +130,13 @@ if(current_charges <= 0) return . = COMPONENT_HIT_REACTION_BLOCK - current_charges = max(current_charges - 1, 0) + + var/charge_loss = 1 // how many charges do we lose + + if(lose_multiple_charges) // if the shield has health like damage we'll lose charges equal to the damage of the hit + charge_loss = damage + + adjust_charge(-charge_loss) INVOKE_ASYNC(src, PROC_REF(actually_run_hit_callback), owner, attack_text, current_charges) @@ -130,8 +145,6 @@ qdel(src) return - if(!current_charges) - wearer.update_icon() START_PROCESSING(SSdcs, src) // if we DO recharge, start processing so we can do that /// The wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler @@ -141,20 +154,20 @@ /// Default on_hit proc, since cult robes are stupid and have different descriptions/sparks /datum/component/shielded/proc/default_run_hit_callback(mob/living/owner, attack_text, current_charges) do_sparks(2, TRUE, owner) - owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") + owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!") if(current_charges <= 0) owner.visible_message("[owner]'s shield overloads!") -/datum/component/shielded/proc/check_recharge_item(datum/source, obj/item/item, mob/living/user) +/datum/component/shielded/proc/check_recharge_rune(datum/source, obj/item/wizard_armour_charge/recharge_rune, mob/living/user) SIGNAL_HANDLER - if(istype(item, /obj/item/wizard_armour_charge)) - . = COMPONENT_NO_AFTERATTACK - var/obj/item/wizard_armour_charge/recharge_rune = item - if(!istype(parent, /obj/item/clothing/suit/space/hardsuit/shielded/wizard)) - to_chat(user, "The rune can only be used on battlemage armour!") - return + if(!istype(recharge_rune)) + return + . = COMPONENT_NO_AFTERATTACK + if(!istype(parent, /obj/item/clothing/suit/space/hardsuit/shielded/wizard)) + to_chat(user, "The rune can only be used on battlemage armour!") + return - current_charges += recharge_rune.restored_charges - to_chat(user, "You charge \the [parent]. It can now absorb [current_charges] hits.") - qdel(recharge_rune) + current_charges += recharge_rune.restored_charges + to_chat(user, "You charge \the [parent]. It can now absorb [current_charges] hits.") + qdel(recharge_rune) diff --git a/code/datums/components/spikes.dm b/code/datums/components/spikes.dm index cb8bd946f5662..f8e4da45acdb6 100644 --- a/code/datums/components/spikes.dm +++ b/code/datums/components/spikes.dm @@ -58,7 +58,7 @@ if(ishuman(C)) var/mob/living/carbon/human/H = C var/feetCover = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) || (H.w_uniform && (H.w_uniform.body_parts_covered & FEET)) - if((H.movement_type & FLYING) || !(H.mobility_flags & MOBILITY_STAND)|| H.buckled || H.shoes || feetCover) + if((H.movement_type & FLYING) || H.body_position == LYING_DOWN || H.buckled || H.shoes || feetCover) prick(H, 0.5) else prick(H, 2) diff --git a/code/datums/components/toggle_suit.dm b/code/datums/components/toggle_suit.dm index d52b98b823937..7721f14d6fe15 100644 --- a/code/datums/components/toggle_suit.dm +++ b/code/datums/components/toggle_suit.dm @@ -49,7 +49,7 @@ source.balloon_alert(user, "you're incapacitated!") return - if(living_user.get_num_arms() <= 0) + if(living_user.usable_hands <= 0) source.balloon_alert(user, "you don't have hands!") return diff --git a/code/datums/components/twohanded.dm b/code/datums/components/twohanded.dm index 373244c56fbbc..6b7efd812e1d5 100644 --- a/code/datums/components/twohanded.dm +++ b/code/datums/components/twohanded.dm @@ -175,7 +175,7 @@ else to_chat(user, "You need your other hand to be empty!") return - if(user.get_num_arms() < 2) + if(user.usable_hands < 2) if(require_twohands) user.dropItemToGround(parent, force=TRUE) to_chat(user, "You don't have enough intact hands.") diff --git a/code/datums/components/waddling.dm b/code/datums/components/waddling.dm index e2df2656ad730..c86c81c93bf47 100644 --- a/code/datums/components/waddling.dm +++ b/code/datums/components/waddling.dm @@ -13,16 +13,21 @@ /datum/component/waddling/proc/LivingWaddle() SIGNAL_HANDLER - var/mob/living/L = parent - if(L.incapacitated() || !(L.mobility_flags & MOBILITY_STAND)) - return + if(isliving(parent)) + var/mob/living/L = parent + if(L.incapacitated() || L.body_position == LYING_DOWN) + return Waddle() /datum/component/waddling/proc/Waddle() SIGNAL_HANDLER - var/rot_degrees = pick(-12, 0, 12) - var/atom/movable/AM = parent - animate(AM, pixel_z = 4, time = 0) - animate(pixel_z = 0, transform = turn(AM.transform, rot_degrees), time=2) - animate(pixel_z = 0, transform = turn(AM.transform, -rot_degrees), time = 0) + if(!isatom(parent)) + return + + var/atom/movable/target = parent + + animate(target, pixel_z = 4, time = 0) + var/prev_trans = matrix(target.transform) + animate(pixel_z = 0, transform = turn(target.transform, pick(-12, 0, 12)), time=2) + animate(pixel_z = 0, transform = prev_trans, time = 0) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 99a6eac4d65e6..d5f73ba464c86 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -134,12 +134,12 @@ active_coma = TRUE addtimer(CALLBACK(src, PROC_REF(coma), M), 60) + /datum/symptom/heal/coma/proc/coma(mob/living/M) if(deathgasp) M.fakedeath(TRAIT_REGEN_COMA) else M.Unconscious(300, TRUE, TRUE) - M.update_mobility() addtimer(CALLBACK(src, PROC_REF(uncoma), M), 300) /datum/symptom/heal/coma/proc/uncoma(mob/living/M) @@ -150,7 +150,6 @@ M.cure_fakedeath(TRAIT_REGEN_COMA) else M.SetUnconscious(0) - M.update_mobility() /datum/symptom/heal/coma/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = 4 * actual_power diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 0961557f5e3b4..0e2254d6d9450 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -13,7 +13,7 @@ ..() switch(stage) if(2) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(40)) //changed FROM prob(10) until sleeping is fixed + if(affected_mob.body_position == LYING_DOWN && prob(40)) //changed FROM prob(10) until sleeping is fixed to_chat(affected_mob, "You feel better.") cure() return @@ -30,7 +30,7 @@ if(prob(1)) to_chat(affected_mob, "Mucus runs down the back of your throat.") if(3) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(25)) //changed FROM prob(5) until sleeping is fixed + if(affected_mob.body_position == LYING_DOWN && prob(25)) //changed FROM prob(5) until sleeping is fixed to_chat(affected_mob, "You feel better.") cure() return diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm index 3cb6e91e7f6dd..9989f839c5a9b 100644 --- a/code/datums/diseases/flu.dm +++ b/code/datums/diseases/flu.dm @@ -15,7 +15,7 @@ ..() switch(stage) if(2) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(20)) + if(affected_mob.body_position == LYING_DOWN && prob(20)) to_chat(affected_mob, "You feel better.") stage-- return @@ -34,7 +34,7 @@ affected_mob.updatehealth() if(3) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(15)) + if(affected_mob.body_position == LYING_DOWN && prob(15)) to_chat(affected_mob, "You feel better.") stage-- return diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm index 88fcb44d56be9..589d0903c8cca 100644 --- a/code/datums/diseases/retrovirus.dm +++ b/code/datums/diseases/retrovirus.dm @@ -31,7 +31,7 @@ switch(stage) if(1) if(restcure) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(30)) + if(affected_mob.body_position == LYING_DOWN && prob(30)) to_chat(affected_mob, "You feel better.") cure() return @@ -43,7 +43,7 @@ to_chat(affected_mob, "You feel angry.") if(2) if(restcure) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(20)) + if(affected_mob.body_position == LYING_DOWN && prob(20)) to_chat(affected_mob, "You feel better.") cure() return @@ -58,7 +58,7 @@ to_chat(affected_mob, "Your stomach churns.") if(3) if(restcure) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(20)) + if(affected_mob.body_position == LYING_DOWN && prob(20)) to_chat(affected_mob, "You feel better.") cure() return @@ -73,7 +73,7 @@ if(4) if(restcure) - if(!(affected_mob.mobility_flags & MOBILITY_STAND) && prob(5)) + if(affected_mob.body_position == LYING_DOWN && prob(5)) to_chat(affected_mob, "You feel better.") cure() return diff --git a/code/datums/elements/art.dm b/code/datums/elements/art.dm index 3f9a5e9e5a610..ca28d0037e4e5 100644 --- a/code/datums/elements/art.dm +++ b/code/datums/elements/art.dm @@ -49,6 +49,6 @@ var/mult = 1 if(isobj(source)) var/obj/art_piece = source - mult = art_piece.obj_integrity/art_piece.max_integrity + mult = art_piece.get_integrity() / art_piece.max_integrity apply_moodlet(source, user, impressiveness * mult) diff --git a/code/datums/elements/cleaning.dm b/code/datums/elements/cleaning.dm index 18a99f0c0407a..e4c72604c1d4d 100644 --- a/code/datums/elements/cleaning.dm +++ b/code/datums/elements/cleaning.dm @@ -25,7 +25,7 @@ // Clean humans that are lying down else if(ishuman(A)) var/mob/living/carbon/human/cleaned_human = A - if(!(cleaned_human.mobility_flags & MOBILITY_STAND)) + if(cleaned_human.body_position == LYING_DOWN) cleaned_human.wash(CLEAN_WASH) cleaned_human.regenerate_icons() to_chat(cleaned_human, "[AM] cleans your face!") diff --git a/code/datums/elements/footstep.dm b/code/datums/elements/footstep.dm index 6693317fab36b..e7eb666df0d39 100644 --- a/code/datums/elements/footstep.dm +++ b/code/datums/elements/footstep.dm @@ -65,7 +65,7 @@ if(!turf.footstep || source.buckled || source.throwing || source.movement_type & (VENTCRAWLING | FLYING)) return - if(!(source.mobility_flags & MOBILITY_STAND)) //play crawling sound if we're lying + if(source.body_position == LYING_DOWN) //play crawling sound if we're lying playsound(source, 'sound/effects/footstep/crawl1.ogg', 15 * volume, falloff_distance = 1, vary = sound_vary) return diff --git a/code/datums/elements/mechanical_repair.dm b/code/datums/elements/mechanical_repair.dm index 298f6bc76773d..5f8071c37fd50 100644 --- a/code/datums/elements/mechanical_repair.dm +++ b/code/datums/elements/mechanical_repair.dm @@ -43,14 +43,16 @@ // Handles welder repairs on human limbs if(I.tool_behaviour == TOOL_WELDER) - do - if(I.use_tool(target, user, 0, volume=50, amount=1)) - if(user == target) - user.visible_message("[user] starts to fix some of the dents on [target == user ? "[p_their()]" : "[target]'s"] [parse_zone(affecting.body_zone)].", - "You start fixing some of the dents on [target == user ? "your" : "[target]'s"] [parse_zone(affecting.body_zone)].") - if(!do_after(user, 1.5 SECONDS, target)) - return COMPONENT_NO_AFTERATTACK - while (item_heal_robotic(target, user, 15, 0, affecting) && user.is_zone_selected(selected_zone) && !QDELETED(I)) + if(I.use_tool(target, user, 0, volume=50, amount=0)) + //Just to check if the tool is even on. The strange order here requires strange solutions + do + user.visible_message("[user] starts to fix some of the dents on [target == user ? "[p_their()]" : "[target]'s"] [parse_zone(affecting.body_zone)].", + "You start fixing some of the dents on [target == user ? "your" : "[target]'s"] [parse_zone(affecting.body_zone)].") + if(!do_after(user, 1.5 SECONDS, target)) + return COMPONENT_NO_AFTERATTACK + if(!I.use_tool(target, user, 0, volume=50, amount=1)) //Using fuel + break + while (item_heal_robotic(target, user, 15, 0, affecting) && user.is_zone_selected(selected_zone) && !QDELETED(I)) user.changeNext_move(CLICK_CD_MELEE * 0.5) //antispam return COMPONENT_NO_AFTERATTACK @@ -58,12 +60,11 @@ if(istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/coil = I do - if(user == target) - user.visible_message("[user] starts to fix some of the burn wires in [target == user ? "[p_their()]" : "[target]'s"] [parse_zone(affecting.body_zone)].", - "You start fixing some of the burnt wires in [target == user ? "your" : "[target]'s"] [parse_zone(affecting.body_zone)].") - if(!do_after(user, 1.5 SECONDS, target)) - return COMPONENT_NO_AFTERATTACK - // Run checks to ensure that we can continue healing. We check coil twice, as we want to break out of the loop if we ran out of coil + user.visible_message("[user] starts to fix some of the burn wires in [target == user ? "[p_their()]" : "[target]'s"] [parse_zone(affecting.body_zone)].", + "You start fixing some of the burnt wires in [target == user ? "your" : "[target]'s"] [parse_zone(affecting.body_zone)].") + if(!do_after(user, 1.5 SECONDS, target)) + return COMPONENT_NO_AFTERATTACK + // Run checks to ensure that we can continue healing. We check coil twice, as we want to break out of the loop if we ran out of coil while (coil.amount && item_heal_robotic(target, user, 0, 15, affecting) && coil.use(1) && coil.amount && user.is_zone_selected(selected_zone) && !QDELETED(coil)) user.changeNext_move(CLICK_CD_MELEE * 0.5) //antispam return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/elements/obj_regen.dm b/code/datums/elements/obj_regen.dm index a2b6a80357e39..c27d23adee610 100644 --- a/code/datums/elements/obj_regen.dm +++ b/code/datums/elements/obj_regen.dm @@ -1,5 +1,5 @@ /** Object integrity regeneration element added by alien alloy. - */ + */ /datum/element/obj_regen element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH id_arg_index = 2 @@ -22,7 +22,7 @@ rate = _rate RegisterSignal(target, COMSIG_OBJ_TAKE_DAMAGE, PROC_REF(on_take_damage)) - if(target.obj_integrity < target.max_integrity) + if(target.get_integrity() < target.max_integrity) if(!length(processing)) START_PROCESSING(SSobj, src) processing |= target @@ -35,6 +35,7 @@ /// Handles beginning processing objects. /datum/element/obj_regen/proc/on_take_damage(obj/target, damage_amt) + SIGNAL_HANDLER if(!damage_amt) return if(!length(processing)) @@ -72,8 +73,7 @@ return continue - regen_obj.obj_integrity = clamp(regen_obj.obj_integrity + (regen_obj.max_integrity * cached_rate), 0, regen_obj.max_integrity) - if(regen_obj.obj_integrity == regen_obj.max_integrity) + if(!regen_obj.repair_damage(regen_obj.max_integrity * cached_rate)) processing -= regen_obj if(!length(processing)) STOP_PROCESSING(SSobj, src) diff --git a/code/datums/elements/series.dm b/code/datums/elements/series.dm new file mode 100644 index 0000000000000..7005d5d5019dc --- /dev/null +++ b/code/datums/elements/series.dm @@ -0,0 +1,33 @@ +/** + * ## series element! + * + * bespoke element that assigns a series number to toys on examine, and shows their series name! + * used for mechas and rare collectable hats, should totally be used for way more ;) + */ +/datum/element/series + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 2 + var/list/subtype_list + var/series_name + +/datum/element/series/Attach(datum/target, subtype, series_name) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + if(!subtype) + stack_trace("series element without subtype given!") + return ELEMENT_INCOMPATIBLE + subtype_list = subtypesof(subtype) + src.series_name = series_name + var/atom/attached = target + RegisterSignal(attached, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) + +/datum/element/series/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_PARENT_EXAMINE) + +///signal called examining +/datum/element/series/proc/on_examine(datum/target, mob/user, list/examine_list) + var/series_number = subtype_list.Find(target.type) + examine_list += "[target] is part of the \"[series_name]\" series!" + examine_list += "Collect them all: [series_number]/[length(subtype_list)]." diff --git a/code/datums/elements/squish.dm b/code/datums/elements/squish.dm index 71324f14fefff..03e721c99ff2b 100644 --- a/code/datums/elements/squish.dm +++ b/code/datums/elements/squish.dm @@ -10,7 +10,7 @@ return ELEMENT_INCOMPATIBLE var/mob/living/carbon/C = target - var/was_lying = !(C.mobility_flags & MOBILITY_STAND) + var/was_lying = C.body_position == LYING_DOWN addtimer(CALLBACK(src, PROC_REF(Detach), C, was_lying), duration) C.transform = C.transform.Scale(TALL, SHORT) @@ -18,7 +18,7 @@ /datum/element/squish/Detach(mob/living/carbon/C, was_lying) . = ..() if(istype(C)) - var/is_lying = !(C.mobility_flags & MOBILITY_STAND) + var/is_lying = C.body_position == LYING_DOWN if(was_lying == is_lying) C.transform = C.transform.Scale(SHORT, TALL) diff --git a/code/datums/greyscale/greyscale_configs.dm b/code/datums/greyscale/greyscale_configs.dm index 81224273cf1a4..dd93c881bc20a 100644 --- a/code/datums/greyscale/greyscale_configs.dm +++ b/code/datums/greyscale/greyscale_configs.dm @@ -200,3 +200,23 @@ name = "Plushie Space Lizard" icon_file = 'icons/obj/plushes.dmi' json_config = 'code/datums/greyscale/json_configs/plushie_spacelizard.json' + +/datum/greyscale_config/ctf_standard + name = "CTF Standard Vest" + icon_file = 'icons/obj/clothing/suits/ctf.dmi' + json_config = 'code/datums/greyscale/json_configs/ctf_standard.json' + +/datum/greyscale_config/ctf_standard_worn + name = "Worn CTF Standard Vest" + icon_file = 'icons/mob/clothing/suits/ctf.dmi' + json_config = 'code/datums/greyscale/json_configs/ctf_standard_worn.json' + +/datum/greyscale_config/ctf_light + name = "CTF Light Vest" + icon_file = 'icons/obj/clothing/suits/ctf.dmi' + json_config = 'code/datums/greyscale/json_configs/ctf_light.json' + +/datum/greyscale_config/ctf_light_worn + name = "Worn CTF Light Vest" + icon_file = 'icons/mob/clothing/suits/ctf.dmi' + json_config = 'code/datums/greyscale/json_configs/ctf_light_worn.json' diff --git a/code/datums/greyscale/json_configs/ctf_light.json b/code/datums/greyscale/json_configs/ctf_light.json new file mode 100644 index 0000000000000..e48762afa67a2 --- /dev/null +++ b/code/datums/greyscale/json_configs/ctf_light.json @@ -0,0 +1,15 @@ +{ + "light": [ + { + "type": "icon_state", + "icon_state": "light", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "light_colours", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/ctf_light_worn.json b/code/datums/greyscale/json_configs/ctf_light_worn.json new file mode 100644 index 0000000000000..e48762afa67a2 --- /dev/null +++ b/code/datums/greyscale/json_configs/ctf_light_worn.json @@ -0,0 +1,15 @@ +{ + "light": [ + { + "type": "icon_state", + "icon_state": "light", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "light_colours", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/ctf_standard.json b/code/datums/greyscale/json_configs/ctf_standard.json new file mode 100644 index 0000000000000..f56ed5d8c064d --- /dev/null +++ b/code/datums/greyscale/json_configs/ctf_standard.json @@ -0,0 +1,15 @@ +{ + "standard": [ + { + "type": "icon_state", + "icon_state": "standard", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "standard_colours", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/greyscale/json_configs/ctf_standard_worn.json b/code/datums/greyscale/json_configs/ctf_standard_worn.json new file mode 100644 index 0000000000000..f56ed5d8c064d --- /dev/null +++ b/code/datums/greyscale/json_configs/ctf_standard_worn.json @@ -0,0 +1,15 @@ +{ + "standard": [ + { + "type": "icon_state", + "icon_state": "standard", + "blend_mode": "overlay" + }, + { + "type": "icon_state", + "icon_state": "standard_colours", + "blend_mode": "overlay", + "color_ids": [ 1 ] + } + ] +} diff --git a/code/datums/keybinding/living.dm b/code/datums/keybinding/living.dm index 7e41be6a3106a..3127e29ec1497 100644 --- a/code/datums/keybinding/living.dm +++ b/code/datums/keybinding/living.dm @@ -34,7 +34,7 @@ if(.) return var/mob/living/L = user.mob - L.lay_down() + L.toggle_resting() return TRUE /datum/keybinding/living/look_up @@ -93,7 +93,7 @@ /datum/keybinding/living/primary_species_action/down(client/user) . = ..() - if(. || !iscarbon(user.mob)) + if(. || !iscarbon(user.mob)) return var/mob/living/carbon/L = user.mob L.dna.species.primary_species_action() diff --git a/code/datums/martial/_martial.dm b/code/datums/martial/_martial.dm index 4883026327bfa..cafc903ce2b41 100644 --- a/code/datums/martial/_martial.dm +++ b/code/datums/martial/_martial.dm @@ -41,7 +41,7 @@ var/damage = A.dna.species.punchdamage var/atk_verb = A.dna.species.attack_verb - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) atk_verb = "kick" switch(atk_verb) @@ -57,7 +57,8 @@ if(!damage) playsound(D.loc, A.dna.species.miss_sound, 25, 1, -1) D.visible_message("[A]'s [atk_verb] misses [D]!", \ - "[A]'s [atk_verb] misses you!", null, COMBAT_MESSAGE_RANGE) + "You avoid [A]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "Your [atk_verb] misses [D]!") log_combat(A, D, "attempted to [atk_verb]", important = FALSE) return 0 @@ -66,13 +67,14 @@ playsound(D.loc, A.dna.species.attack_sound, 25, 1, -1) D.visible_message("[A] [atk_verb]ed [D]!", \ - "[A] [atk_verb]ed you!", null, COMBAT_MESSAGE_RANGE) + "You're [atk_verb]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You [atk_verb]ed [D]!") D.apply_damage(damage, A.dna.species.attack_type, affecting, armor_block) log_combat(A, D, "punched", name) - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) D.force_say(A) return 1 diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 371d227858a2f..e4574d029988f 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -39,12 +39,13 @@ var/knockout_prob = D.getStaminaLoss() + rand(-15,15) if((D.stat != DEAD) && prob(knockout_prob)) D.visible_message("[A] knocks [D] out with a haymaker!", \ - "[A] knocks you out with a haymaker!") + "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You knock [D] out with a haymaker!") D.apply_effect(200,EFFECT_KNOCKDOWN,armor_block) D.SetSleeping(100) D.force_say(A) log_combat(A, D, "knocked out (boxing) ", name) - else if(!(D.mobility_flags & MOBILITY_STAND)) + else if(D.body_position == LYING_DOWN) D.force_say(A) return TRUE diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index 6089b55d5b36e..cc0a52c57e49d 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -53,9 +53,10 @@ var/def_check = D.getarmor(BODY_ZONE_CHEST, MELEE) if(!can_use(A)) return FALSE - if(D.mobility_flags & MOBILITY_STAND) - D.visible_message("[A] slams [D] into the ground!", \ - "[A] slams you into the ground!") + if(D.body_position == STANDING_UP) + D.visible_message("[A] slams [D] into the ground!", \ + "You're slammed into the ground by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You slam [D] into the ground!") playsound(get_turf(A), 'sound/weapons/slam.ogg', 50, 1, -1) D.apply_damage(10, BRUTE, blocked = def_check) D.Paralyze(120) @@ -67,8 +68,9 @@ if(!can_use(A)) return FALSE if(!D.stat || !D.IsParalyzed()) - D.visible_message("[A] kicks [D] back!", \ - "[A] kicks you back!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] kicks [D] back!", \ + "You're kicked back by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You kick [D] back!") playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, 1, -1) var/atom/throw_target = get_edge_target_turf(D, A.dir) D.throw_at(throw_target, 1, 14, A) @@ -76,8 +78,9 @@ log_combat(A, D, "kicked (CQC)", name) if(D.IsParalyzed() && !D.stat) log_combat(A, D, "knocked out (Head kick)(CQC)", name) - D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out!", \ - "[A] kicks your head, knocking you out!") + D.visible_message("[A] kicks [D]'s head, knocking [D.p_them()] out!", \ + "You're knocked unconscious by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You kick [D]'s head, knocking [D.p_them()] out!") playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, 1, -1) D.SetSleeping(300) D.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) @@ -88,7 +91,8 @@ return FALSE log_combat(A, D, "pressured (CQC)", name) D.visible_message("[A] punches [D]'s neck!", \ - "[A] punches your neck!", null, COMBAT_MESSAGE_RANGE) + "Your neck is punched by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You punch [D]'s neck!") D.adjustStaminaLoss(60) playsound(get_turf(A), 'sound/weapons/cqchit1.ogg', 50, 1, -1) return TRUE @@ -101,7 +105,8 @@ if(!D.stat) log_combat(A, D, "restrained (CQC)", name) D.visible_message("[A] locks [D] into a restraining position!", \ - "[A] locks you into a restraining position!") + "You're locked into a restraining position by [A]!", "You hear shuffling and a muffled groan!", null, A) + to_chat(A, "You lock [D] into a restraining position!") D.adjustStaminaLoss(20) D.Stun(100) restraining = TRUE @@ -114,8 +119,9 @@ return FALSE if(!D.stat) log_combat(A, D, "consecutive CQC'd (CQC)", name) - D.visible_message("[A] strikes [D]'s abdomen, neck and back consecutively.", \ - "[A] strikes your abdomen, neck and back consecutively!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] strikes [D]'s abdomen, neck and back consecutively", \ + "Your abdomen, neck and back are struck consecutively by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You strike [D]'s abdomen, neck and back consecutively!") playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, 1, -1) var/obj/item/I = D.get_active_held_item() if(I && D.temporarilyRemoveItemFromInventory(I)) @@ -139,7 +145,8 @@ A.setGrabState(GRAB_AGGRESSIVE) //Instant aggressive grab if on grab intent log_combat(A, D, "grabbed", name, addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ - "[A] violently grabs you!") + "You're grabbed violently by [A]!", "You hear sounds of aggressive fondling!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You violently grab [D]!") else D.grabbedby(A, 1) return TRUE @@ -153,22 +160,25 @@ return TRUE log_combat(A, D, "attacked (CQC)", name) A.do_attack_animation(D) - var/picked_hit_type = pick("CQC'd", "Big Bossed") + var/picked_hit_type = pick("CQC", "Big Boss") var/bonus_damage = 13 - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) bonus_damage += 5 - picked_hit_type = "stomps on" + picked_hit_type = "stomp" D.apply_damage(bonus_damage, BRUTE, blocked = def_check) - if(picked_hit_type == "kicks" || picked_hit_type == "stomps on") + if(picked_hit_type == "kick" || picked_hit_type == "stomp") playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, 1, -1) else playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, 1, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] [picked_hit_type]ed [D]!", \ + "You're [picked_hit_type]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You [picked_hit_type] [D]!") + log_combat(A, D, "[picked_hit_type]s (CQC)") log_combat(A, D, "[picked_hit_type] (CQC)", name) if(A.resting && !D.stat && !D.IsParalyzed()) - D.visible_message("[A] leg sweeps [D]!", \ - "[A] leg sweeps you!") + D.visible_message("[A] leg sweeps [D]!", \ + "Your legs are sweeped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You leg sweep [D]!") playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1) D.apply_damage(10, BRUTE, blocked = def_check) D.Paralyze(60) @@ -186,8 +196,9 @@ if(prob(65)) if(!D.stat || !D.IsParalyzed() || !restraining) I = D.get_active_held_item() - D.visible_message("[A] strikes [D]'s jaw with their hand!", \ - "[A] strikes your jaw, disorienting you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] strikes [D]'s jaw with their hand!", \ + "Your jaw is struck by [A], you feel disoriented!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You strike [D]'s jaw, leaving [D.p_them()] disoriented!") playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, 1, -1) if(I && D.temporarilyRemoveItemFromInventory(I)) A.put_in_hands(I) @@ -195,13 +206,15 @@ D.apply_damage(5, A.dna.species.attack_type, blocked = def_check) else D.visible_message("[A] fails to disarm [D]!", \ - "[A] fails to disarm you!", null, COMBAT_MESSAGE_RANGE) + "You're nearly disarmed by [A]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You fail to disarm [D]!") playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1) log_combat(A, D, "disarmed (CQC)[I ? " grabbing \the [I]" : ""]", name) if(restraining && A.pulling == D) log_combat(A, D, "knocked out (Chokehold)(CQC)", name) D.visible_message("[A] puts [D] into a chokehold!", \ - "[A] puts you into a chokehold!") + "You're put into a chokehold by [A]!", "You hear shuffling and a muffled groan!", null, A) + to_chat(A, "You put [D] into a chokehold!") D.SetSleeping(400) restraining = FALSE if(A.grab_state < GRAB_NECK) diff --git a/code/datums/martial/karate.dm b/code/datums/martial/karate.dm index cbfdd41046b00..e641e068b7bd4 100644 --- a/code/datums/martial/karate.dm +++ b/code/datums/martial/karate.dm @@ -33,7 +33,7 @@ var/def_check = D.getarmor(BODY_ZONE_HEAD, MELEE) if(!can_use(A)) return FALSE - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) log_combat(A, D, "floor stomped (Karate)", name) D.visible_message("[A] stomped [D] in the head!", \ "[A] stomped you in the head!", null, COMBAT_MESSAGE_RANGE) diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm index 56aa658965cdd..32600b825d236 100644 --- a/code/datums/martial/krav_maga.dm +++ b/code/datums/martial/krav_maga.dm @@ -102,7 +102,8 @@ /datum/martial_art/krav_maga/proc/quick_choke(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)//is actually lung punch D.visible_message("[A] pounds [D] on the chest!", \ - "[A] slams your chest! You can't breathe!", null, COMBAT_MESSAGE_RANGE) + "Your chest is slammed by [A]! You can't breathe!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You pound [D] on the chest!") playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, 1, -1) if(D.losebreath <= 10) D.losebreath = clamp(D.losebreath + 5, 0, 10) @@ -112,7 +113,8 @@ /datum/martial_art/krav_maga/proc/neck_chop(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) D.visible_message("[A] karate chops [D]'s neck!", \ - "[A] karate chops your neck, rendering you unable to speak!", null, COMBAT_MESSAGE_RANGE) + "Your neck is karate chopped by [A], rendering you unable to speak!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You karate chop [D]'s neck, rendering [D.p_them()] unable to speak!") playsound(get_turf(A), 'sound/effects/hit_punch.ogg', 50, 1, -1) D.apply_damage(5, A.dna.species.attack_type) if(D.silent <= 10) @@ -131,20 +133,21 @@ return 1 var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.get_combat_bodyzone(D))) var/armor_block = D.run_armor_check(affecting, MELEE) - var/picked_hit_type = pick("punched", "kicked") + var/picked_hit_type = pick("punch", "kick") var/bonus_damage = 0 - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) bonus_damage += 5 - picked_hit_type = "stomped" + picked_hit_type = "stomp" D.apply_damage(rand(5,10) + bonus_damage, A.dna.species.attack_type, affecting, armor_block) - if(picked_hit_type == "kicked" || picked_hit_type == "stomped") + if(picked_hit_type == "kick" || picked_hit_type == "stomp") A.do_attack_animation(D, ATTACK_EFFECT_KICK) playsound(get_turf(D), 'sound/effects/hit_kick.ogg', 50, 1, -1) else A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) playsound(get_turf(D), 'sound/effects/hit_punch.ogg', 50, 1, -1) - D.visible_message("[A] [picked_hit_type] [D]!", \ - "[A] [picked_hit_type] you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] [picked_hit_type]s [D]!", \ + "You're [picked_hit_type]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You [picked_hit_type] [D]!") log_combat(A, D, "[picked_hit_type] with [name]", name) return 1 @@ -153,7 +156,7 @@ return 1 var/obj/item/bodypart/affecting = D.get_bodypart(ran_zone(A.get_combat_bodyzone(D))) var/armor_block = D.run_armor_check(affecting, MELEE) - if((D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == STANDING_UP) D.visible_message("[A] reprimands [D]!", \ "You're slapped by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) to_chat(A, "You jab [D]!") @@ -161,7 +164,7 @@ playsound(D, 'sound/effects/hit_punch.ogg', 50, TRUE, -1) D.apply_damage(rand(5,10), STAMINA, affecting, armor_block) log_combat(A, D, "punched nonlethally", name) - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) D.visible_message("[A] reprimands [D]!", \ "You're manhandled by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) to_chat(A, "You stomp [D]!") diff --git a/code/datums/martial/mushpunch.dm b/code/datums/martial/mushpunch.dm index f7bac312bab95..a96abeb4d4ffd 100644 --- a/code/datums/martial/mushpunch.dm +++ b/code/datums/martial/mushpunch.dm @@ -9,9 +9,10 @@ to_chat(A, "Your attack was interrupted!") return TRUE //martial art code was a mistake A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - atk_verb = pick("punches", "smashes", "ruptures", "cracks") - D.visible_message("[A] [atk_verb] [D] with inhuman strength, sending [D.p_them()] flying backwards!", \ - "[A] [atk_verb] you with inhuman strength, sending you flying backwards!") + atk_verb = pick("punch", "smash", "crack") + D.visible_message("[A] [atk_verb]ed [D] with such inhuman strength that it sends [D.p_them()] flying backwards!", \ + "You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!") D.apply_damage(rand(15,30), A.dna.species.attack_type) playsound(D, 'sound/effects/meteorimpact.ogg', 25, 1, -1) var/throwtarget = get_edge_target_turf(A, get_dir(A, get_step_away(D, A))) diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index e11e6ff730a83..095751cfe2f50 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -42,7 +42,8 @@ /datum/martial_art/plasma_fist/proc/Throwback(mob/living/carbon/human/A, mob/living/carbon/human/D) D.visible_message("[A] hits [D] with Plasma Punch!", \ - "[A] hits you with Plasma Punch!") + "You're hit with a Plasma Punch by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You hit [D] with Plasma Punch!") playsound(D.loc, 'sound/weapons/punch1.ogg', 50, 1, -1) var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A))) D.throw_at(throw_target, 200, 4,A) @@ -55,7 +56,8 @@ playsound(D.loc, 'sound/weapons/punch1.ogg', 50, 1, -1) A.say("PLASMA FIST!", forced="plasma fist") D.visible_message("[A] hits [D] with THE PLASMA FIST TECHNIQUE!", \ - "[A] hits you with THE PLASMA FIST TECHNIQUE!") + "You're suddenly hit with THE PLASMA FIST TECHNIQUE by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You hit [D] with THE PLASMA FIST TECHNIQUE!") D.gib() log_combat(A, D, "gibbed (Plasma Fist)", name) return diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index b8a0cccb5126c..9ec3de8cadd20 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -44,9 +44,10 @@ A.setGrabState(GRAB_PASSIVE) if(4) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - atk_verb = "headbutts" - D.visible_message("[A] [atk_verb] [D]!", \ - "[A] [atk_verb] you!") + atk_verb = "headbutt" + D.visible_message("[A] [atk_verb]s [D]!", \ + "You're [atk_verb]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You [atk_verb] [D]!") playsound(get_turf(D), 'sound/weapons/punch1.ogg', 40, 1, -1) D.apply_damage(rand(5,10), A.dna.species.attack_type, BODY_ZONE_HEAD) A.apply_damage(rand(5,10), A.dna.species.attack_type, BODY_ZONE_HEAD) @@ -56,9 +57,10 @@ D.Stun(rand(5,30)) if(5,6) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - atk_verb = pick("punches", "kicks", "hits", "slams into") - D.visible_message("[A] [atk_verb] [D] with inhuman strength, sending [D.p_them()] flying backwards!", \ - "[A] [atk_verb] you with inhuman strength, sending you flying backwards!") + atk_verb = pick("kick", "hit", "slam") + D.visible_message("[A] [atk_verb]s [D] with such inhuman strength that it sends [D.p_them()] flying backwards!", \ + "You're [atk_verb]ed by [A] with such inhuman strength that it sends you flying backwards!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You [atk_verb] [D] with such inhuman strength that it sends [D.p_them()] flying backwards!") D.apply_damage(rand(15,30), A.dna.species.attack_type) playsound(get_turf(D), 'sound/effects/meteorimpact.ogg', 25, 1, -1) var/throwtarget = get_edge_target_turf(A, get_dir(A, get_step_away(D, A))) diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 09cf95dc05564..789734e3213d9 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -41,8 +41,9 @@ if(!D.stat && !D.IsStun() && !D.IsParalyzed()) log_combat(A, D, "wrist wrenched (Sleeping Carp)", name) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways!", \ - "[A] grabs your wrist and violently wrenches it to the side!") + D.visible_message("[A] grabs [D]'s wrist and wrenches it sideways!", \ + "Your wrist is grabbed by [A] while simultaneously wrenched it to the side!", "You hear aggressive shuffling!", null, A) + to_chat(A, "You grab [D]'s wrist and wrench it sideways!") playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, 1, -1) D.emote("scream") D.dropItemToGround(D.get_active_held_item()) @@ -58,7 +59,8 @@ log_combat(A, D, "back-kicked (Sleeping Carp)", name) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) D.visible_message("[A] kicks [D] in the back!", \ - "[A] kicks you in the back, making you stumble and fall!") + "You're kicked in the back by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You kick [D] in the back!") step_to(D,get_step(D,D.dir),1) D.Paralyze(80) playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) @@ -66,15 +68,17 @@ else log_combat(A, D, "missed a back-kick (Sleeping Carp) on", name) D.visible_message("[A] tries to kick [D] in the back, but misses!", \ - "[A] tries to kick you in the back, but misses!") + "You avoid a kick in the back by [A]!", "You hear a swoosh!", null, A) + to_chat(A, "Your kick to [D]'s back misses!") return basic_hit(A,D) /datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D) if(!D.stat && !D.IsParalyzed()) log_combat(A, D, "stomach kneed (Sleeping Carp)", name) A.do_attack_animation(D, ATTACK_EFFECT_KICK) - D.visible_message("[A] knees [D] in the stomach!", \ - "[A] winds you with a knee in the stomach!") + D.visible_message("[A] knees [D] in the stomach!", \ + "Your stomach is kneed by [A], making you gag!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You knee [D] in the stomach, [D.p_them()] them gag!") D.audible_message("[D] gags!") D.losebreath += 3 D.Stun(40) @@ -88,7 +92,8 @@ log_combat(A, D, "head kicked (Sleeping Carp)", name) A.do_attack_animation(D, ATTACK_EFFECT_KICK) D.visible_message("[A] kicks [D] in the head!", \ - "[A] kicks you in the jaw!") + "Your jaw is kicked by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You kick [D] in the jaw!") D.apply_damage(20, A.dna.species.attack_type, BODY_ZONE_HEAD, blocked = def_check) D.drop_all_held_items() playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1) @@ -98,11 +103,12 @@ /datum/martial_art/the_sleeping_carp/proc/elbowDrop(mob/living/carbon/human/A, mob/living/carbon/human/D) var/def_check = D.getarmor(BODY_ZONE_CHEST, MELEE) - if(!(D.mobility_flags & MOBILITY_STAND)) + if(D.body_position == LYING_DOWN) log_combat(A, D, "elbow dropped (Sleeping Carp)", name) A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - D.visible_message("[A] elbow drops [D]!", \ - "[A] piledrives you with their elbow!") + D.visible_message("[A] elbow drops [D]!", \ + "You're piledrived by [A] with [A.p_their()] elbow!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You piledrive [D] with your elbow!") if(D.stat) D.death() //FINISH HIM! D.apply_damage(50, A.dna.species.attack_type, BODY_ZONE_CHEST, blocked = def_check) @@ -123,7 +129,8 @@ A.setGrabState(GRAB_AGGRESSIVE) //Instant aggressive grab if on grab intent log_combat(A, D, "grabbed", name, addition="aggressively") D.visible_message("[A] violently grabs [D]!", \ - "[A] violently grabs you!") + "You're violently grabbed by [A]!", "You hear aggressive shuffling!", null, A) + to_chat(A, "You violently grab [D]!") else D.grabbedby(A, 1) return 1 @@ -134,19 +141,20 @@ if(check_streak(A,D)) return 1 A.do_attack_animation(D, ATTACK_EFFECT_PUNCH) - var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams") - D.visible_message("[A] [atk_verb] [D]!", \ - "[A] [atk_verb] you!") + var/atk_verb = pick("kick", "chop", "hit", "slam") + D.visible_message("[A] [atk_verb]s [D]!", \ + "[A] [atk_verb]s you!", null, null, A) + to_chat(A, "You [atk_verb] [D]!") D.apply_damage(15, BRUTE, blocked = def_check) - playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, 1, -1) + playsound(get_turf(D), 'sound/weapons/punch1.ogg', 25, TRUE, -1) log_combat(A, D, "[atk_verb] (Sleeping Carp)", name) - return 1 + return TRUE /datum/martial_art/the_sleeping_carp/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D) add_to_streak("D",D) if(check_streak(A,D)) - return 1 + return TRUE return ..() /mob/living/carbon/human/proc/sleeping_carp_help() @@ -170,7 +178,8 @@ slot_flags = ITEM_SLOT_BACK throwforce = 20 throw_speed = 2 - attack_verb = list("smashed", "slammed", "whacked", "thwacked") + attack_verb_continuous = list("smashes", "slams", "whacks", "thwacks") + attack_verb_simple = list("smash", "slam", "whack", "thwack") icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' @@ -212,25 +221,22 @@ if(!ishuman(target)) return ..() var/mob/living/carbon/human/H = target - var/list/fluffmessages = list("[user] clubs [H] with [src]!", \ - "[user] smacks [H] with the butt of [src]!", \ - "[user] broadsides [H] with [src]!", \ - "[user] smashes [H]'s head with [src]!", \ - "[user] beats [H] with front of [src]!", \ - "[user] twirls and slams [H] with [src]!") - H.visible_message("[pick(fluffmessages)]", \ - "[pick(fluffmessages)]") + var/list/fluffmessages = list("club", "smack", "broadside", "beat", "slam") + H.visible_message("[user] [pick(fluffmessages)]s [H] with [src]!", \ + "[user] [pick(fluffmessages)]s you with [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user) + to_chat(user, "You [pick(fluffmessages)] [H] with [src]!") playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, 1, -1) H.adjustStaminaLoss(rand(13,20)) if(prob(10)) H.visible_message("[H] collapses!", \ - "Your legs give out!") + "Your legs give out!") H.Paralyze(80) if(H.staminaloss && !H.IsSleeping()) var/total_health = (H.health - H.staminaloss) if(total_health <= HEALTH_THRESHOLD_CRIT && !H.stat) H.visible_message("[user] delivers a heavy hit to [H]'s head, knocking [H.p_them()] out cold!", \ - "[user] knocks you unconscious!") + "You're knocked unconscious by [user]!", "You hear a sickening sound of flesh hitting flesh!", null, user) + to_chat(user, "You deliver a heavy hit to [H]'s head, knocking [H.p_them()] out cold!") H.SetSleeping(600) H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 150) else diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm index 3150a62f5ee90..607618dfce0ae 100644 --- a/code/datums/martial/wrestling.dm +++ b/code/datums/martial/wrestling.dm @@ -135,8 +135,9 @@ D.setDir(get_dir(D, A)) D.Stun(80) - D.visible_message("[A] starts spinning around with [D]!", \ - "[A] starts spinning around with you!") + D.visible_message("[A] starts spinning around with [D]!", \ + "You're spun around by [A]!", "You hear aggressive shuffling!", null, A) + to_chat(A, "You start spinning around with [D]!") A.emote("scream") for (var/i in 1 to 20) @@ -188,8 +189,9 @@ D.forceMove(A.loc) // Maybe this will help with the wallthrowing bug. - D.visible_message("[A] throws [D]!", \ - "[A] throws you!") + D.visible_message("[A] throws [D]!", \ + "You're thrown by [A]!", "You hear aggressive shuffling and a loud thud!", null, A) + to_chat(A, "You throw [D]!") playsound(A.loc, "swing_hit", 50, 1) var/turf/T = get_edge_target_turf(A, A.dir) if (T && isturf(T)) @@ -217,8 +219,9 @@ A.setDir(get_dir(A, D)) D.setDir(get_dir(D, A)) - D.visible_message("[A] lifts [D] up!", \ - "[A] lifts you up!") + D.visible_message("[A] lifts [D] up!", \ + "You're lifted up by [A]!", "You hear aggressive shuffling!", null, A) + to_chat(A, "You lift [D] up!") FlipAnimation() @@ -288,8 +291,9 @@ if (3) fluff = "atomic [fluff]" - D.visible_message("[A] [fluff] [D]!", \ - "[A] [fluff] you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] [fluff] [D]!", \ + "You're [fluff]ed by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You [fluff] [D]!") playsound(A.loc, "swing_hit", 50, 1) if (!D.stat) D.emote("scream") @@ -332,8 +336,9 @@ A.forceMove(D.loc) addtimer(CALLBACK(src, PROC_REF(CheckStrikeTurf), A, T), 4) - D.visible_message("[A] headbutts [D]!", \ - "[A] headbutts you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] headbutts [D]!", \ + "You're headbutted by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You headbutt [D]!") D.adjustBruteLoss(rand(10,20)) playsound(A.loc, "swing_hit", 50, 1) D.Unconscious(20) @@ -346,8 +351,9 @@ A.emote("flip") A.setDir(turn(A.dir, 90)) - D.visible_message("[A] roundhouse-kicks [D]!", \ - "[A] roundhouse-kicks you!", null, COMBAT_MESSAGE_RANGE) + D.visible_message("[A] roundhouse-kicks [D]!", \ + "You're roundhouse-kicked by [A]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You roundhouse-kick [D]!") playsound(A.loc, "swing_hit", 50, 1) D.adjustBruteLoss(rand(10,20)) @@ -377,8 +383,8 @@ if (surface && (ST && isturf(ST))) A.forceMove(ST) - A.visible_message("[A] climbs onto [surface]!", \ - "You climb onto [surface]!") + A.visible_message("[A] climbs onto [surface]!", \ + "You climb onto [surface]!") A.pixel_y = A.base_pixel_y + 10 falling = 1 sleep(10) @@ -389,7 +395,7 @@ if ((falling == 0 && get_dist(A, D) > 1) || (falling == 1 && get_dist(A, D) > 2)) // We climbed onto stuff. A.pixel_y = A.base_pixel_y if (falling == 1) - A.visible_message("...and dives head-first into the ground, ouch!", \ + A.visible_message("...and dives head-first into the ground, ouch!", \ "...and dive head-first into the ground, ouch!") A.adjustBruteLoss(rand(10,20)) A.Paralyze(60) @@ -409,8 +415,9 @@ A.forceMove(D.loc) - D.visible_message("[A] leg-drops [D]!", \ - "[A] leg-drops you!") + D.visible_message("[A] leg-drops [D]!", \ + "You're leg-dropped by [A]!", "You hear a sickening sound of flesh hitting flesh!", null, A) + to_chat(A, "You leg-drop [D]!") playsound(A.loc, "swing_hit", 50, 1) A.emote("scream") @@ -445,7 +452,8 @@ return 1 A.start_pulling(D) D.visible_message("[A] gets [D] in a cinch!", \ - "[A] gets you in a cinch!", null, COMBAT_MESSAGE_RANGE) + "You're put into a cinch by [A]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, A) + to_chat(A, "You get [D] in a cinch!") D.Stun(rand(60,100)) log_combat(A, D, "cinched", name) return 1 diff --git a/code/datums/materials/basemats.dm b/code/datums/materials/basemats.dm index d7ecd240afd6a..94db9c8246f14 100644 --- a/code/datums/materials/basemats.dm +++ b/code/datums/materials/basemats.dm @@ -90,7 +90,7 @@ Unless you know what you're doing, only use the first three numbers. They're in . = ..() if(ismovable(source)) source.AddElement(/datum/element/firestacker, amount=1) - source.AddComponent(/datum/component/explodable, 0, 0, amount / 1000, amount / 500, delete_after = EXPLODABLE_NO_DELETE) + source.AddComponent(/datum/component/explodable, 0, 0, amount / 1000, amount / 500, delete_after = EXPLODABLE_DELETE_PARENT) /datum/material/plasma/on_removed(atom/source, amount, material_flags) . = ..() diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index befcfc21427fb..f714f27e10e9a 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -230,3 +230,8 @@ description = "The starlight emanating from space is so mesmerizing." mood_change = 10 timeout = 10 MINUTES + +/datum/mood_event/bigplush + description = "Holding that big plush was quite nice." + mood_change = 1 + timeout = 10 SECONDS diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index cde24cbb591d0..f9a35479b9b8f 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -168,34 +168,49 @@ instability = 5 power_coeff = 1 conflicts = list(ANTIGLOWY) - var/obj/effect/dummy/luminescent_glow/glowth //shamelessly copied from luminescents - var/glow = 2.5 - var/range = 2.5 + var/glow_power = 2.5 + var/glow_range = 2.5 + var/glow_color + var/obj/effect/dummy/lighting_obj/moblight/glow /datum/mutation/glow/on_acquiring(mob/living/carbon/owner) - if(..()) + . = ..() + if(.) return - glowth = new(owner) + glow_color = get_glow_color() + glow = owner.mob_light() modify() /datum/mutation/glow/modify() - if(QDELETED(glowth)) + if(!glow) return - var/power = GET_MUTATION_POWER(src) - glowth.set_light_range_power_color(range * power, glow * power, "#[dna.features["mcolor"]]") + + glow.set_light_range_power_color(glow_range * GET_MUTATION_POWER(src), glow_power, glow_color) + +/// Returns the color for the glow effect +/datum/mutation/glow/proc/glow_color() + return pick(COLOR_RED, COLOR_BLUE, COLOR_YELLOW, COLOR_GREEN, COLOR_PURPLE, COLOR_ORANGE) /datum/mutation/glow/on_losing(mob/living/carbon/owner) - if(..()) + . = ..() + if(.) return - QDEL_NULL(glowth) + QDEL_NULL(glow) + +/// Returns a color for the glow effect +/datum/mutation/glow/proc/get_glow_color() + return pick(COLOR_RED, COLOR_BLUE, COLOR_YELLOW, COLOR_GREEN, COLOR_PURPLE, COLOR_ORANGE) /datum/mutation/glow/anti name = "Anti-Glow" desc = "Your skin seems to attract and absorb nearby light creating 'darkness' around you." - glow = -3.5 //Slightly stronger, since negating light tends to be harder than making it. + glow_power = -1.5 conflicts = list(GLOWY) locked = TRUE +/datum/mutation/glow/anti/get_glow_color() + return COLOR_BLACK + /datum/mutation/strong name = "Strength" desc = "The user's muscles slightly expand." diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 301848bb247a2..b9e27e45d1814 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -127,7 +127,6 @@ /datum/status_effect/wish_granters_gift/on_remove() owner.revive(full_heal = TRUE, admin_revive = TRUE) owner.visible_message("[owner] appears to wake from the dead, having healed all wounds!", "You have regenerated.") - owner.update_mobility() /atom/movable/screen/alert/status_effect/wish_granters_gift name = "Wish Granter's Immortality" @@ -433,20 +432,6 @@ desc = "We are emitting a signal, causing us to appear as mindshielded to security HUDs." icon_state = "changeling_mindshield" -/datum/status_effect/exercised - id = "Exercised" - duration = 1200 - alert_type = null - -/datum/status_effect/exercised/on_creation(mob/living/new_owner, ...) - . = ..() - STOP_PROCESSING(SSfastprocess, src) - START_PROCESSING(SSprocessing, src) //this lasts 20 minutes, so SSfastprocess isn't needed. - -/datum/status_effect/exercised/Destroy() - . = ..() - STOP_PROCESSING(SSprocessing, src) - //Hippocratic Oath: Applied when the Rod of Asclepius is activated. /datum/status_effect/hippocraticOath id = "Hippocratic Oath" diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index c80ea67bd707d..49066989dbbc5 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -8,18 +8,14 @@ alert_type = null var/needs_update_stat = FALSE -/datum/status_effect/incapacitating/on_creation(mob/living/new_owner, set_duration, updating_canmove) +/datum/status_effect/incapacitating/on_creation(mob/living/new_owner, set_duration) if(isnum_safe(set_duration)) duration = set_duration . = ..() - if(.) - if(updating_canmove) - owner.update_mobility() - if(needs_update_stat || issilicon(owner)) - owner.update_stat() + if(. && (needs_update_stat || issilicon(owner))) + owner.update_stat() /datum/status_effect/incapacitating/on_remove() - owner.update_mobility() if(needs_update_stat || issilicon(owner)) //silicons need stat updates in addition to normal canmove updates owner.update_stat() return ..() @@ -121,7 +117,7 @@ var/mob/living/carbon/carbon_owner var/mob/living/carbon/human/human_owner -/datum/status_effect/incapacitating/sleeping/on_creation(mob/living/new_owner, updating_canmove) +/datum/status_effect/incapacitating/sleeping/on_creation(mob/living/new_owner) . = ..() if(.) if(iscarbon(owner)) //to avoid repeated istypes @@ -189,7 +185,7 @@ if(owner.stat == DEAD) last_dead_time = world.time -/datum/status_effect/grouped/stasis/on_creation(mob/living/new_owner, set_duration, updating_canmove) +/datum/status_effect/grouped/stasis/on_creation(mob/living/new_owner, set_duration) . = ..() if(.) update_time_of_death() @@ -201,16 +197,14 @@ if(!.) return ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) - //ADD_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) - owner.update_mobility() // TEMPORARY + ADD_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/grouped/stasis/tick() update_time_of_death() /datum/status_effect/grouped/stasis/on_remove() REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) - //REMOVE_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) - owner.update_mobility() + REMOVE_TRAIT(owner, TRAIT_HANDS_BLOCKED, TRAIT_STATUS_EFFECT(id)) update_time_of_death() SEND_SIGNAL(owner, COMSIG_LIVING_EXIT_STASIS) return ..() @@ -627,7 +621,7 @@ /datum/status_effect/trance/tick() if(stun) - owner.Stun(60, TRUE, TRUE) + owner.Stun(60, TRUE) owner.dizziness = 20 /datum/status_effect/trance/on_apply() @@ -757,7 +751,7 @@ alert_type = /atom/movable/screen/alert/status_effect/dna_melt var/kill_either_way = FALSE //no amount of removing mutations is gonna save you now -/datum/status_effect/dna_melt/on_creation(mob/living/new_owner, set_duration, updating_canmove) +/datum/status_effect/dna_melt/on_creation(mob/living/new_owner, set_duration) . = ..() to_chat(new_owner, "My body can't handle the mutations! I need to get my mutations removed fast!") @@ -781,7 +775,7 @@ alert_type = /atom/movable/screen/alert/status_effect/go_away var/direction -/datum/status_effect/go_away/on_creation(mob/living/new_owner, set_duration, updating_canmove) +/datum/status_effect/go_away/on_creation(mob/living/new_owner, set_duration) . = ..() direction = pick(NORTH, SOUTH, EAST, WEST) new_owner.setDir(direction) diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm index 2033a4097582d..640a1a58162a4 100644 --- a/code/datums/status_effects/gas.dm +++ b/code/datums/status_effects/gas.dm @@ -16,7 +16,7 @@ to_chat(owner, "You become frozen in a cube!") cube = icon('icons/effects/freeze.dmi', "ice_cube") owner.add_overlay(cube) - owner.update_mobility() + /datum/status_effect/freon/on_remove() if(!owner.stat) @@ -25,7 +25,6 @@ REMOVE_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) owner.cut_overlay(cube) owner.adjust_bodytemperature(100) - owner.update_mobility() return ..() /atom/movable/screen/alert/status_effect/freon @@ -43,7 +42,6 @@ /datum/status_effect/freon/tick() - owner.update_mobility() if(can_melt && owner.bodytemperature >= owner.get_body_temp_normal()) qdel(src) @@ -58,7 +56,6 @@ if(!QDELETED(src)) to_chat(owner, "You break out of the ice cube!") owner.remove_status_effect(/datum/status_effect/freon) - owner.update_mobility() /datum/status_effect/freon/watcher duration = 8 SECONDS diff --git a/code/datums/traits/negative_quirk.dm b/code/datums/traits/negative_quirk.dm index c723a21729c04..561f23594f8cf 100644 --- a/code/datums/traits/negative_quirk.dm +++ b/code/datums/traits/negative_quirk.dm @@ -141,7 +141,7 @@ var/mob/living/carbon/human/H = quirk_target var/obj/item/heirloom_type - if(is_species(H, /datum/species/moth) && prob(50)) + if((ismoth(H)) && prob(50)) heirloom_type = /obj/item/flashlight/lantern/heirloom_moth else switch(quirk_holder.assigned_role) @@ -189,7 +189,7 @@ if(JOB_NAME_SCIENTIST) heirloom_type = pick(typesof(/obj/item/toy/plush/slimeplushie) - /obj/item/toy/plush/slimeplushie/random) if(JOB_NAME_ROBOTICIST) - heirloom_type = pick(subtypesof(/obj/item/toy/prize)) //look at this nerd + heirloom_type = pick(subtypesof(/obj/item/toy/mecha)) //look at this nerd //Medical if(JOB_NAME_CHIEFMEDICALOFFICER) heirloom_type = pick(/obj/item/clothing/neck/stethoscope, /obj/item/bodybag) @@ -346,7 +346,7 @@ if(H.dna.species.id in list("shadow", "nightmare")) return //we're tied with the dark, so we don't get scared of it; don't cleanse outright to avoid cheese var/turf/T = get_turf(quirk_target) - if(T.get_lumcount() <= 0.2) + if(T.get_lumcount() <= LIGHTING_TILE_IS_DARK) if(quirk_target.m_intent == MOVE_INTENT_RUN) to_chat(quirk_target, "Easy, easy, take it slow... you're in the dark...") quirk_target.toggle_move_intent() @@ -595,7 +595,7 @@ /datum/quirk/junkie/smoker/on_spawn() drug_container_type = read_choice_preference(/datum/preference/choiced/quirk/smoker_cigarettes) if(!drug_container_type) - drug_container_type = pick(GLOB.smoker_cigarettes) + drug_container_type = pick(GLOB.smoker_cigarettes) . = ..() /datum/quirk/junkie/smoker/announce_drugs() diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index b9b821bf46b73..7514eb5068dd0 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -23,24 +23,27 @@ if (security_level >= AIRLOCK_WIRE_SECURITY_ELITE) wires |= WIRE_ZAP2 //Add dud wires - if (security_level >= AIRLOCK_WIRE_SECURITY_ADVANCED) + if (security_level >= AIRLOCK_WIRE_SECURITY_MAXIMUM) add_duds(2) - else if (security_level >= AIRLOCK_WIRE_SECURITY_SIMPLE) + else if (security_level >= AIRLOCK_WIRE_SECURITY_ADVANCED) add_duds(1) //Add labelled wires if (security_level <= AIRLOCK_WIRE_SECURITY_NONE) - //At security level 0, the following wires could be unknowns: - //POWER1, BACKUP1, IDSCAN, AI WIRE, LIGHT + labelled_wires[WIRE_POWER1] = TRUE + labelled_wires[WIRE_BACKUP1] = TRUE + labelled_wires[WIRE_LIGHT] = TRUE labelled_wires[WIRE_OPEN] = TRUE - labelled_wires[WIRE_BOLTS] = TRUE - labelled_wires[WIRE_SHOCK] = TRUE if (security_level <= AIRLOCK_WIRE_SECURITY_SIMPLE) - //At security level 1, there are duds and the open, bolt and shock wires are not revealed. labelled_wires[WIRE_SAFETY] = TRUE labelled_wires[WIRE_TIMING] = TRUE - if (security_level == AIRLOCK_WIRE_SECURITY_PROTECTED) + labelled_wires[WIRE_SHOCK] = TRUE + labelled_wires[WIRE_IDSCAN] = TRUE + if (security_level <= AIRLOCK_WIRE_SECURITY_PROTECTED) labelled_wires[WIRE_ZAP1] = TRUE + if (security_level <= AIRLOCK_WIRE_SECURITY_ADVANCED) + labelled_wires[WIRE_BOLTS] = TRUE + labelled_wires[WIRE_AI] = TRUE ..() /datum/wires/airlock/interactable(mob/user) @@ -127,8 +130,6 @@ /datum/wires/airlock/on_cut(wire, mend) var/obj/machinery/door/airlock/A = holder - if(isliving(usr) && A.hasPower()) - A.shock(usr, 100) //Cutting wires directly on powered doors without protection is not advised. switch(wire) if(WIRE_POWER1, WIRE_POWER2) // Cut to loose power, repair all to gain power. if(mend && !is_cut(WIRE_POWER1) && !is_cut(WIRE_POWER2)) @@ -163,6 +164,8 @@ else if(A.secondsElectrified != MACHINE_ELECTRIFIED_PERMANENT) A.set_electrified(MACHINE_ELECTRIFIED_PERMANENT, usr) + if(isliving(usr)) + A.shock(usr, 50) if(WIRE_SAFETY) // Cut to disable safeties, mend to re-enable. A.safe = mend if(WIRE_TIMING) // Cut to disable auto-close, mend to re-enable. diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index d60ff575e9dc5..211054172d68c 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -242,7 +242,7 @@ data["map_name"] = SSmapping.config?.map_name || "Loading..." - data["security_level"] = get_security_level() + data["security_level"] = SSsecurity_level.get_current_level_as_text() data["round_duration"] = SSticker?.round_start_timeofday ? round((world.timeofday - SSticker.round_start_timeofday)/10) : 0 // Amount of world's ticks in seconds, useful for calculating round duration diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index ed244e16b819f..2de64b6e62c5b 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -172,7 +172,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station mood_job_reverse = TRUE lighting_colour_tube = "#ffe5cb" lighting_colour_bulb = "#ffdbb4" - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE lights_always_start_on = TRUE color_correction = /datum/client_colour/area_color/cold_ish @@ -743,7 +743,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_colour_tube = "#fff4d6" lighting_colour_bulb = "#ffebc1" sound_environment = SOUND_AREA_WOODFLOOR - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE color_correction = /datum/client_colour/area_color/warm_ish /area/crew_quarters/bar/mood_check(mob/living/carbon/subject) @@ -802,7 +802,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_colour_tube = "#ffce99" lighting_colour_bulb = "#ffdbb4" lighting_brightness_tube = 8 - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE color_correction = /datum/client_colour/area_color/warm_ish /area/library/lounge @@ -823,7 +823,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station clockwork_warp_allowed = FALSE clockwork_warp_fail = "The consecration here prevents you from warping in." sound_environment = SOUND_AREA_LARGE_ENCLOSED - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE /area/chapel/main name = "Chapel" @@ -1208,7 +1208,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/security/brig/medbay name = "Brig Bay" - + +/area/security/brig/aft + name = "Brig Aft" /area/security/courtroom name = "Courtroom" @@ -1348,7 +1350,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station lighting_colour_tube = "#ffe3cc" lighting_colour_bulb = "#ffdbb8" sound_environment = SOUND_AREA_STANDARD_STATION - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE color_correction = /datum/client_colour/area_color/warm_yellow /area/quartermaster/get_turf_textures() @@ -1376,16 +1378,18 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/cargo/lobby name = "\improper Cargo Lobby" icon_state = "cargo_lobby" - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE color_correction = /datum/client_colour/area_color/warm_yellow /area/quartermaster/qm name = "Quartermaster's Office" icon_state = "quart_office" + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED /area/quartermaster/qm_bedroom name = "Quartermaster's Bedroom" icon_state = "quart_private" + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED /area/quartermaster/miningdock name = "Mining Dock" @@ -1416,7 +1420,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station mood_bonus = -1 mood_message = "It feels dirty in here!\n" sound_environment = SOUND_AREA_SMALL_ENCLOSED - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE /area/janitor/custodian name = "Custodial Closet" @@ -1427,7 +1431,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "hydro" sound_environment = SOUND_AREA_STANDARD_STATION area_flags = HIDDEN_STASH_LOCATION | VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE color_correction = /datum/client_colour/area_color/cold_ish /area/hydroponics/get_turf_textures() @@ -1459,6 +1463,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station sound_environment = SOUND_AREA_STANDARD_STATION airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_ADVANCED color_correction = /datum/client_colour/area_color/cold_ish + +/area/science/aft + name = "Science Aft" /area/science/lobby name = "\improper Science Lobby" @@ -1554,7 +1561,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station //Storage /area/storage sound_environment = SOUND_AREA_STANDARD_STATION - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_PROTECTED + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE lights_always_start_on = TRUE color_correction = /datum/client_colour/area_color/warm_yellow @@ -1603,7 +1610,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "yellow" ambience_index = AMBIENCE_ENGI sound_environment = SOUND_AREA_STANDARD_STATION - airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_SIMPLE + airlock_hack_difficulty = AIRLOCK_WIRE_SECURITY_NONE /area/construction/mining/aux_base name = "Auxiliary Base Construction" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7739fd3b7f4e1..0deec87f6c61d 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -791,7 +791,7 @@ * Default behaviour is to send a warning that the user can't move while buckled as long * as the buckle_message_cooldown has expired (50 ticks) */ -/atom/proc/relaymove(mob/user) +/atom/proc/relaymove(mob/living/user, direction) if(buckle_message_cooldown <= world.time) buckle_message_cooldown = world.time + 50 to_chat(user, "You can't move while buckled to [src]!") diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index dc0a7bdb2b6a2..f8ddd700d6443 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -2,7 +2,7 @@ layer = OBJ_LAYER glide_size = 8 appearance_flags = TILE_BOUND|PIXEL_SCALE - + var/move_stacks = 0 //how many times a this movable had movement procs called on it since Moved() was last called var/last_move = null var/last_move_time = 0 @@ -38,7 +38,8 @@ var/datum/movement_packet/move_packet var/list/acted_explosions //for explosion dodging var/datum/forced_movement/force_moving = null //handled soley by forced_movement.dm - var/movement_type = GROUND //Incase you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc. + ///In case you have multiple types, you automatically use the most useful one. IE: Skating on ice, flippers on water, flying over chasm/space, etc. Should only be changed through setMovetype() + var/movement_type = GROUND var/atom/movable/pulling var/grab_state = 0 var/throwforce = 0 @@ -79,16 +80,70 @@ update_appearance(UPDATE_OVERLAYS) if(opacity) AddElement(/datum/element/light_blocking) + switch(light_system) + if(MOVABLE_LIGHT) + AddComponent(/datum/component/overlay_lighting) + if(MOVABLE_LIGHT_DIRECTIONAL) + AddComponent(/datum/component/overlay_lighting, is_directional = TRUE) + + if(isturf(loc)) + var/turf/T = loc + T.update_above() // Z-Mimic +/atom/movable/Destroy(force) + QDEL_NULL(proximity_monitor) + QDEL_NULL(language_holder) QDEL_NULL(em_block) + if(bound_overlay) + QDEL_NULL(bound_overlay) + + unbuckle_all_mobs(force = TRUE) + if(loc) + //Restore air flow if we were blocking it (movables with ATMOS_PASS_PROC will need to do this manually if necessary) + if(((CanAtmosPass == ATMOS_PASS_DENSITY && density) || CanAtmosPass == ATMOS_PASS_NO) && isturf(loc)) + CanAtmosPass = ATMOS_PASS_YES + air_update_turf(TRUE) + loc.handle_atom_del(src) + + if(opacity) + RemoveElement(/datum/element/light_blocking) + + invisibility = INVISIBILITY_ABSTRACT + + if(pulledby) + pulledby.stop_pulling() if(pulling) stop_pulling() - if(light_system == MOVABLE_LIGHT) - AddComponent(/datum/component/overlay_lighting) - if(isturf(loc)) - var/turf/T = loc - T.update_above() // Z-Mimic + + if(orbiting) + orbiting.end_orbit(src) + orbiting = null + + if(move_packet) + if(!QDELETED(move_packet)) + qdel(move_packet) + move_packet = null +/* + LAZYCLEARLIST(client_mobs_in_contents) +*/ + . = ..() + + for(var/movable_content in contents) + qdel(movable_content) + + moveToNullspace() + + //This absolutely must be after moveToNullspace() + //We rely on Entered and Exited to manage this list, and the copy of this list that is on any /atom/movable "Containers" + //If we clear this before the nullspace move, a ref to this object will be hung in any of its movable containers + LAZYCLEARLIST(important_recursive_contents) + + vis_locs = null //clears this atom out of all viscontents + + // Checking length(vis_contents) before cutting has significant speed benefits + if (length(vis_contents)) + vis_contents.Cut() /atom/movable/proc/update_emissive_block() @@ -194,9 +249,6 @@ var/mob/living/ex_pulled = pulling setGrabState(GRAB_PASSIVE) pulling = null - if(isliving(ex_pulled)) - var/mob/living/L = ex_pulled - L.update_mobility()// mob gets up if it was lyng down in a chokehold SEND_SIGNAL(ex_pulled, COMSIG_MOVABLE_NO_LONGER_PULLED) ///Reports the event of the change in value of the pulledby variable. @@ -469,61 +521,6 @@ return TRUE -/atom/movable/Destroy(force) - QDEL_NULL(proximity_monitor) - QDEL_NULL(language_holder) - QDEL_NULL(em_block) - if(bound_overlay) - QDEL_NULL(bound_overlay) - - unbuckle_all_mobs(force = TRUE) - - if(loc) - //Restore air flow if we were blocking it (movables with ATMOS_PASS_PROC will need to do this manually if necessary) - if(((CanAtmosPass == ATMOS_PASS_DENSITY && density) || CanAtmosPass == ATMOS_PASS_NO) && isturf(loc)) - CanAtmosPass = ATMOS_PASS_YES - air_update_turf(TRUE) - loc.handle_atom_del(src) - - if(opacity) - RemoveElement(/datum/element/light_blocking) - - invisibility = INVISIBILITY_ABSTRACT - - if(pulledby) - pulledby.stop_pulling() - if(pulling) - stop_pulling() - - if(orbiting) - orbiting.end_orbit(src) - orbiting = null - - if(move_packet) - if(!QDELETED(move_packet)) - qdel(move_packet) - move_packet = null -/* - LAZYCLEARLIST(client_mobs_in_contents) -*/ - . = ..() - - for(var/movable_content in contents) - qdel(movable_content) - - moveToNullspace() - - //This absolutely must be after moveToNullspace() - //We rely on Entered and Exited to manage this list, and the copy of this list that is on any /atom/movable "Containers" - //If we clear this before the nullspace move, a ref to this object will be hung in any of its movable containers - LAZYCLEARLIST(important_recursive_contents) - - vis_locs = null //clears this atom out of all viscontents - - // Checking length(vis_contents) before cutting has significant speed benefits - if (length(vis_contents)) - vis_contents.Cut() - // Make sure you know what you're doing if you call this, this is intended to only be called by byond directly. // You probably want CanPass() /atom/movable/Cross(atom/movable/AM) @@ -643,9 +640,14 @@ Moved(oldloc, NONE, TRUE) +///Proc to modify the movement_type and hook behavior associated with it changing. /atom/movable/proc/setMovetype(newval) + if(movement_type == newval) + return + . = movement_type movement_type = newval + //Called whenever an object moves and by mobs when they attempt to move themselves through space //And when an object or action applies a force on src, see newtonian_move() below //Return 0 to have src start/keep drifting in a no-grav area and 1 to stop/not start drifting diff --git a/code/game/gamemodes/clown_ops/clown_weapons.dm b/code/game/gamemodes/clown_ops/clown_weapons.dm index 72526066bef41..a7eb976c49c1a 100644 --- a/code/game/gamemodes/clown_ops/clown_weapons.dm +++ b/code/game/gamemodes/clown_ops/clown_weapons.dm @@ -67,11 +67,13 @@ name = "bananium sword" desc = "An elegant weapon, for a more civilized age." force = 0 + bleed_force = 0 + bleed_force_on = 0 throwforce = 0 force_on = 0 throwforce_on = 0 hitsound = null - attack_verb_on = list("slipped") + attack_verb_on = list("slips") clumsy_check = FALSE sharpness = IS_BLUNT sword_color = "yellow" diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 55719a7705a38..b532960f23a9c 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -365,8 +365,8 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) print_command_report(., "Central Command Status Summary", announce=FALSE) priority_announce("A summary has been copied and printed to all communications consoles.", "Security level elevated.", ANNOUNCER_INTERCEPT) - if(GLOB.security_level < SEC_LEVEL_BLUE) - set_security_level(SEC_LEVEL_BLUE) + if(SSsecurity_level.get_current_level_as_number() < SEC_LEVEL_BLUE) + SSsecurity_level.set_level(SEC_LEVEL_BLUE) // Yes, this is copy pasted from game_mode /datum/game_mode/dynamic/check_finished(force_ending) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 59aad0497d845..a5501b8281d96 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -396,8 +396,8 @@ print_command_report(intercepttext, "Central Command Status Summary", announce=FALSE) priority_announce("A summary has been copied and printed to all communications consoles.", "Enemy communication intercepted. Security level elevated.", ANNOUNCER_INTERCEPT) - if(GLOB.security_level < SEC_LEVEL_BLUE) - set_security_level(SEC_LEVEL_BLUE) + if(SSsecurity_level.get_current_level_as_number() < SEC_LEVEL_BLUE) + SSsecurity_level.set_level(SEC_LEVEL_BLUE) /* diff --git a/code/game/gamemodes/gangs/dominator.dm b/code/game/gamemodes/gangs/dominator.dm index 4af2519204b88..b1ecf4b1a2cc7 100644 --- a/code/game/gamemodes/gangs/dominator.dm +++ b/code/game/gamemodes/gangs/dominator.dm @@ -224,7 +224,7 @@ priority_announce("All hostile activity within station systems has ceased.","Network Alert", SSstation.announcer.get_rand_alert_sound()) if(get_security_level() == "delta") - set_security_level("red") + SSsecurity_level.set_level(SEC_LEVEL_RED) SSshuttle.clearHostileEnvironment(src) gang.message_gangtools("Hostile takeover cancelled: Dominator is no longer operational.[gang.dom_attempts ? " You have [gang.dom_attempts] attempt remaining." : " The station network will have likely blocked any more attempts by us."]",1,1) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 2efbe213726c1..7e6497177ac85 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -290,9 +290,6 @@ Class Procs: continue movable_atom.forceMove(this_turf) - if(isliving(movable_atom)) - var/mob/living/living_mob = movable_atom - living_mob.update_mobility() if(occupant == movable_atom) occupant = null @@ -549,7 +546,7 @@ Class Procs: . = new_frame new_frame.set_anchored(TRUE) if(!disassembled) - new_frame.obj_integrity = new_frame.max_integrity * 0.5 //the frame is already half broken + new_frame.update_integrity(new_frame.max_integrity * 0.5) //the frame is already half broken transfer_fingerprints_to(new_frame) /obj/machinery/obj_break(damage_flag) diff --git a/code/game/machinery/airlock_cycle_control.dm b/code/game/machinery/airlock_cycle_control.dm index ecb65e728e377..eac10a08fbc9f 100644 --- a/code/game/machinery/airlock_cycle_control.dm +++ b/code/game/machinery/airlock_cycle_control.dm @@ -821,7 +821,7 @@ new /obj/item/stack/sheet/iron(loc, 2) var/obj/item/I = new /obj/item/electronics/advanced_airlock_controller(loc) if(!disassembled) - I.obj_integrity = I.max_integrity * 0.5 + I.take_damage(I.max_integrity * 0.5, sound_effect = FALSE) new /obj/item/stack/cable_coil(loc, 3) qdel(src) diff --git a/code/game/machinery/aug_manipulator.dm b/code/game/machinery/aug_manipulator.dm index 4a5835ce82a60..217860ccbbbb8 100644 --- a/code/game/machinery/aug_manipulator.dm +++ b/code/game/machinery/aug_manipulator.dm @@ -4,7 +4,6 @@ icon = 'icons/obj/robotics.dmi' icon_state = "robocolorer" density = TRUE - obj_integrity = 200 max_integrity = 200 var/obj/item/bodypart/storedpart var/initial_icon_state diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index cfbf3077f42ed..829dad51359f0 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -398,7 +398,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/camera/xray, 0) assembly_ref = null else var/obj/item/I = new /obj/item/wallframe/camera (loc) - I.obj_integrity = I.max_integrity * 0.5 + I.update_integrity(I.max_integrity * 0.5) new /obj/item/stack/cable_coil(loc, 2) qdel(src) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 70bedd51d52c5..43a4d232a010f 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -9,18 +9,24 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/storage/box/fakesyndiesuit = 2, /obj/item/storage/crayons = 2, /obj/item/toy/spinningtoy = 2, - /obj/item/toy/prize/ripley = 1, - /obj/item/toy/prize/fireripley = 1, - /obj/item/toy/prize/deathripley = 1, - /obj/item/toy/prize/gygax = 1, - /obj/item/toy/prize/durand = 1, - /obj/item/toy/prize/honk = 1, - /obj/item/toy/prize/marauder = 1, - /obj/item/toy/prize/seraph = 1, - /obj/item/toy/prize/mauler = 1, - /obj/item/toy/prize/odysseus = 1, - /obj/item/toy/prize/phazon = 1, - /obj/item/toy/prize/reticence = 1, + /obj/item/toy/mecha/ripley = 1, + /obj/item/toy/mecha/ripleymkii = 1, + /obj/item/toy/mecha/hauler = 1, + /obj/item/toy/mecha/clarke = 1, + /obj/item/toy/mecha/odysseus = 1, + /obj/item/toy/mecha/gygax = 1, + /obj/item/toy/mecha/durand = 1, + //obj/item/toy/mecha/savannahivanov = 1, + /obj/item/toy/mecha/phazon = 1, + /obj/item/toy/mecha/honk = 1, + /obj/item/toy/mecha/darkgygax = 1, + /obj/item/toy/mecha/mauler = 1, + /obj/item/toy/mecha/darkhonk = 1, + /obj/item/toy/mecha/deathripley = 1, + /obj/item/toy/mecha/reticence = 1, + /obj/item/toy/mecha/marauder = 1, + /obj/item/toy/mecha/seraph = 1, + /obj/item/toy/mecha/firefighter = 1, /obj/item/toy/cards/deck = 2, /obj/item/toy/nuke = 2, /obj/item/toy/minimeteor = 2, @@ -51,6 +57,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/clothing/shoes/wheelys = 2, /obj/item/clothing/shoes/kindleKicks = 2, /obj/item/toy/plush/moth/random = 2, + /obj/item/toy/plush/shark = 2, /obj/item/toy/plush/slimeplushie/random = 2, /obj/item/toy/plush/flushed = 2, /obj/item/toy/plush/flushed/rainbow = 1, diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm index f0664b7345b5b..a0ba1bfae7ab6 100644 --- a/code/game/machinery/computer/camera_advanced.dm +++ b/code/game/machinery/computer/camera_advanced.dm @@ -313,9 +313,9 @@ user_image = image(icon,loc,icon_state,FLY_LAYER) eye_user.client.images += user_image -/mob/camera/ai_eye/remote/relaymove(mob/user,direct) - if(direct == UP || direct == DOWN) - zMove(direct, FALSE) +/mob/camera/ai_eye/remote/relaymove(mob/living/user, direction) + if(direction == UP || direction == DOWN) + zMove(direction, FALSE) return var/initial = initial(sprint) var/max_sprint = 50 @@ -324,7 +324,7 @@ sprint = initial for(var/i = 0; i < max(sprint, initial); i += 20) - var/turf/step = get_turf(get_step(src, direct)) + var/turf/step = get_turf(get_step(src, direction)) if(step) setLoc(step) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 987db2e5a8f9e..1cf6eafd07f8c 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -124,13 +124,13 @@ playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, FALSE) return - var/new_sec_level = seclevel2num(params["newSecurityLevel"]) + var/new_sec_level = SSsecurity_level.text_level_to_number(params["newSecurityLevel"]) if (new_sec_level != SEC_LEVEL_GREEN && new_sec_level != SEC_LEVEL_BLUE) return - if (GLOB.security_level == new_sec_level) + if (SSsecurity_level.get_current_level_as_number() == new_sec_level) return - set_security_level(new_sec_level) + SSsecurity_level.set_level(new_sec_level) to_chat(usr, "Authorization confirmed. Modifying security level.") playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE) @@ -156,7 +156,7 @@ make_announcement(usr) . = TRUE if ("messageAssociates") - if (!authenticated(usr) || issilicon(usr) || (GLOB.security_level < SEC_LEVEL_RED && !authenticated_as_non_silicon_captain(usr))) + if (!authenticated(usr) || issilicon(usr) || (SSsecurity_level.get_current_level_as_number() < SEC_LEVEL_RED && !authenticated_as_non_silicon_captain(usr))) return if (!COOLDOWN_FINISHED(src, important_action_cooldown)) return @@ -351,7 +351,7 @@ //Main section is always visible when authenticated data["canBuyShuttles"] = can_buy_shuttles(user) data["canMakeAnnouncement"] = FALSE - data["canMessageAssociates"] = !issilicon(user) && GLOB.security_level >= SEC_LEVEL_RED + data["canMessageAssociates"] = !issilicon(user) && SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED data["canRecallShuttles"] = !issilicon(user) data["canRequestNuke"] = FALSE data["canSendToSectors"] = FALSE @@ -361,7 +361,7 @@ data["shuttleCalled"] = FALSE data["shuttleLastCalled"] = FALSE - data["alertLevel"] = get_security_level() + data["alertLevel"] = SSsecurity_level.get_current_level_as_text() data["authorizeName"] = authorize_name data["canLogOut"] = !issilicon(user) data["shuttleCanEvacOrFailReason"] = SSshuttle.canEvac(user) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 94440ccf9bc1e..6fd03e5cc675a 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -76,15 +76,13 @@ else if(anchored) to_chat(user,"You unsecure and disconnect [src].") set_anchored(FALSE) - playsound(src, 'sound/items/deconstruct.ogg', 50, 1) + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) return return ..() -/obj/machinery/jukebox/update_icon() - if(active) - icon_state = "[initial(icon_state)]-active" - else - icon_state = "[initial(icon_state)]" +/obj/machinery/jukebox/update_icon_state() + icon_state = "[initial(icon_state)][active ? "-active" : null]" + return ..() /obj/machinery/jukebox/ui_status(mob/user) if(!anchored) @@ -137,7 +135,7 @@ if(!active) if(stop > world.time) to_chat(usr, "Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].") - playsound(src, 'sound/misc/compiler-failure.ogg', 50, 1) + playsound(src, 'sound/misc/compiler-failure.ogg', 50, TRUE) return activate_music() START_PROCESSING(SSobj, src) @@ -328,10 +326,12 @@ if(prob(2)) // Unique effects for the dance floor that show up randomly to mix things up INVOKE_ASYNC(src, PROC_REF(hierofunk)) sleep(selection.song_beat) + if(QDELETED(src)) + return #undef DISCO_INFENO_RANGE -/obj/machinery/jukebox/disco/proc/dance(var/mob/living/M) //Show your moves +/obj/machinery/jukebox/disco/proc/dance(mob/living/M) //Show your moves set waitfor = FALSE switch(rand(0,9)) if(0 to 1) @@ -343,44 +343,63 @@ if(7 to 9) dance5(M) -/obj/machinery/jukebox/disco/proc/dance2(var/mob/living/M) - for(var/i = 1, i < 10, i++) - for(var/d in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) - M.setDir(d) - if(i == WEST) - M.emote("flip") - sleep(1) - sleep(20) +/obj/machinery/jukebox/disco/proc/dance2(mob/living/M) + for(var/i in 0 to 9) + dance_rotate(M, CALLBACK(M, TYPE_PROC_REF(/mob, dance_flip))) + sleep(2 SECONDS) -/obj/machinery/jukebox/disco/proc/dance3(var/mob/living/M) +/mob/proc/dance_flip() + if(dir == WEST) + emote("flip") + +/obj/machinery/jukebox/disco/proc/dance3(mob/living/M) + var/matrix/initial_matrix = matrix(M.transform) for (var/i in 1 to 75) if (!M) return switch(i) if (1 to 15) - animate(M, pixel_y = M.pixel_y + 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,1) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (16 to 30) - animate(M, pixel_x = M.pixel_x + 1, pixel_y = M.pixel_y - 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(1,-1) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (31 to 45) - animate(M, pixel_x = M.pixel_x - 1, pixel_y = M.pixel_y - 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(-1,-1) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (46 to 60) - animate(M, pixel_x = M.pixel_x - 1, pixel_y = M.pixel_y + 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(-1,1) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (61 to 75) - animate(M, pixel_x = M.pixel_x + 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(1,0) + animate(M, transform = initial_matrix, time = 1, loop = 0) M.setDir(turn(M.dir, 90)) switch (M.dir) if (NORTH) - animate(M, pixel_y = M.pixel_y + 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,3) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (SOUTH) - animate(M, pixel_y = M.pixel_y - 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,-3) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (EAST) - animate(M, pixel_x = M.pixel_x + 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(3,0) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (WEST) - animate(M, pixel_x = M.pixel_x - 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(-3,0) + animate(M, transform = initial_matrix, time = 1, loop = 0) sleep(1) - animate(M, pixel_x = M.body_position_pixel_x_offset, pixel_y = M.body_position_pixel_y_offset, time = 1, loop = 0) + M.lying_fix() -/obj/machinery/jukebox/disco/proc/dance4(var/mob/living/M) +/obj/machinery/jukebox/disco/proc/dance4(mob/living/M) var/speed = rand(1,3) set waitfor = 0 var/time = 30 @@ -389,30 +408,47 @@ for(var/i in 1 to speed) M.setDir(pick(GLOB.cardinals)) for(var/mob/living/carbon/NS in rangers) - NS.set_resting(!NS.resting, TRUE) + NS.set_resting(!NS.resting, TRUE, TRUE) time-- -/obj/machinery/jukebox/disco/proc/dance5(var/mob/living/M) - animate(M, transform = matrix(M.transform).Scale(-1), time = 1, loop = 0) +/obj/machinery/jukebox/disco/proc/dance5(mob/living/M) + animate(M, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0) + var/matrix/initial_matrix = matrix(M.transform) for (var/i in 1 to 60) if (!M) return if (i<31) - animate(M, pixel_y = M.pixel_y + 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,1) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (i>30) - animate(M, pixel_y = M.pixel_y - 1, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,-1) + animate(M, transform = initial_matrix, time = 1, loop = 0) M.setDir(turn(M.dir, 90)) switch (M.dir) if (NORTH) - animate(M, pixel_y = M.pixel_y + 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,3) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (SOUTH) - animate(M, pixel_y = M.pixel_y - 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(0,-3) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (EAST) - animate(M, pixel_x = M.pixel_x + 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(3,0) + animate(M, transform = initial_matrix, time = 1, loop = 0) if (WEST) - animate(M, pixel_x = M.pixel_x - 3, time = 1, loop = 0) + initial_matrix = matrix(M.transform) + initial_matrix.Translate(-3,0) + animate(M, transform = initial_matrix, time = 1, loop = 0) sleep(1) - animate(M, transform = matrix(M.transform).Scale(-1), pixel_x = M.body_position_pixel_x_offset, pixel_y = M.body_position_pixel_y_offset, time = 1, loop = 0) //dance end + M.lying_fix() + +/mob/living/proc/lying_fix() + animate(src, transform = null, time = 1, loop = 0) + lying_prev = 0 /obj/machinery/jukebox/proc/dance_over() for(var/mob/living/L in rangers) @@ -430,7 +466,7 @@ if(world.time < stop && active) var/sound/song_played = sound(selection.song_path) - for(var/mob/L as() in rangers) + for(var/mob/L as anything in rangers) if(get_dist(src,L) > 10) rangers -= L if(!L || !L.client) @@ -444,20 +480,17 @@ M.playsound_local(get_turf(M), null, volume, channel = CHANNEL_JUKEBOX, S = song_played, use_reverb = FALSE) else if(active) active = FALSE + STOP_PROCESSING(SSobj, src) dance_over() - playsound(src,'sound/machines/terminal_off.ogg',50,1) + playsound(src,'sound/machines/terminal_off.ogg',50,TRUE) update_icon() stop = world.time + 100 ui_update() return PROCESS_KILL -/obj/machinery/jukebox/disco/process(delta_time) +/obj/machinery/jukebox/disco/process() . = ..() if(active) - for(var/mob/M as() in rangers) - if(DT_PROB(5+(allowed(M)*4), delta_time)) - if(isliving(M)) - var/mob/living/L = M - if(!(L.mobility_flags & MOBILITY_MOVE)) - continue - dance(L) + for(var/mob/living/M in rangers) + if(prob(5+(allowed(M)*4)) && (M.mobility_flags & MOBILITY_MOVE)) + dance(M) diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index 9870cc9615b5b..abfb524aa0587 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -44,7 +44,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount/loaded, 28) . = ..() if(defib) . += "There is a defib unit hooked up. Alt-click to remove it." - if(GLOB.security_level >= SEC_LEVEL_RED) + if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) . += "Due to a security situation, its locking clamps can be toggled by swiping any ID." else . += "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access." @@ -103,7 +103,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount/loaded, 28) return var/obj/item/card/id = I.GetID() if(id) - if(check_access(id) || GLOB.security_level >= SEC_LEVEL_RED) //anyone can toggle the clamps in red alert! + if(check_access(id) || SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) //anyone can toggle the clamps in red alert! if(!defib) to_chat(user, "You can't engage the clamps on a defibrillator that isn't there.") return diff --git a/code/game/machinery/digital_clock.dm b/code/game/machinery/digital_clock.dm index 8793d113cabd7..a833cbcd8669a 100644 --- a/code/game/machinery/digital_clock.dm +++ b/code/game/machinery/digital_clock.dm @@ -7,7 +7,6 @@ verb_ask = "bloops" verb_exclaim = "blares" max_integrity = 250 - obj_integrity = 250 density = FALSE layer = ABOVE_WINDOW_LAYER var/station_minutes diff --git a/code/game/machinery/dna_scanner.dm b/code/game/machinery/dna_scanner.dm index f1931a655c929..acb42123e8b20 100644 --- a/code/game/machinery/dna_scanner.dm +++ b/code/game/machinery/dna_scanner.dm @@ -118,7 +118,7 @@ return TRUE -/obj/machinery/dna_scannernew/relaymove(mob/user as mob) +/obj/machinery/dna_scannernew/relaymove(mob/living/user, direction) if(user.stat || (locked && !state_open)) if(message_cooldown <= world.time) message_cooldown = world.time + 50 @@ -148,8 +148,7 @@ toggle_open(user) /obj/machinery/dna_scannernew/MouseDrop_T(mob/target, mob/user) - var/mob/living/L = user - if(user.stat || (isliving(user) && (!(L.mobility_flags & MOBILITY_STAND) || !(L.mobility_flags & MOBILITY_UI))) || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser() || locked) + if(user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_UI_BLOCKED) || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser() || locked) return close_machine(target) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 800b94656ea1f..4ed8601855d46 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -442,7 +442,7 @@ cyclelinkedairlock.delayed_close_requested = TRUE else addtimer(CALLBACK(cyclelinkedairlock, PROC_REF(close)), 2) - if(locked && allowed(user) && aac) + if(locked && aac && allowed(user)) aac.request_from_door(src) return ..() @@ -843,7 +843,7 @@ /obj/machinery/door/airlock/attack_hand(mob/user) if(SEND_SIGNAL(src, COMSIG_AIRLOCK_TOUCHED, user) & COMPONENT_PREVENT_OPEN) . = TRUE - else if(locked && allowed(user) && aac) + else if(locked && aac && allowed(user)) aac.request_from_door(src) . = TRUE else @@ -1451,8 +1451,7 @@ A.update_icon() if(!disassembled) - if(A) - A.obj_integrity = A.max_integrity * 0.5 + A?.update_integrity(A.max_integrity * 0.5) else if(user) to_chat(user, "You remove the airlock electronics.") diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 624edd84c1168..b303eb31cd972 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -42,20 +42,6 @@ var/unres_sides = 0 //Unrestricted sides. A bitflag for which direction (if any) can open the door with no access var/open_speed = 5 -/obj/machinery/door/examine(mob/user) - . = ..() - if(red_alert_access) - if(GLOB.security_level >= SEC_LEVEL_RED) - . += "Due to a security threat, its access requirements have been lifted!" - else - . += "In the event of a red alert, its access requirements will automatically lift." - . += "Its maintenance panel is screwed in place." - -/obj/machinery/door/check_access_list(list/access_list) - if(red_alert_access && GLOB.security_level >= SEC_LEVEL_RED) - return TRUE - return ..() - /obj/machinery/door/Initialize(mapload) . = ..() set_init_door_layer() @@ -68,15 +54,21 @@ //doors only block while dense though so we have to use the proc real_explosion_block = explosion_block explosion_block = EXPLOSION_BLOCK_PROC - if(red_alert_access) - RegisterSignal(SSdcs, COMSIG_GLOB_SECURITY_ALERT_CHANGE, PROC_REF(handle_alert)) + RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_security_level)) -/obj/machinery/door/proc/handle_alert(datum/source, new_alert) - SIGNAL_HANDLER - if(new_alert >= SEC_LEVEL_RED) - visible_message("[src] whirs as it automatically lifts access requirements!") - playsound(src, 'sound/machines/boltsup.ogg', 50, TRUE) +/obj/machinery/door/examine(mob/user) + . = ..() + if(red_alert_access) + if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) + . += "Due to a security threat, its access requirements have been lifted!" + else + . += "In the event of a red alert, its access requirements will automatically lift." + . += "Its maintenance panel is screwed in place." +/obj/machinery/door/check_access_list(list/access_list) + if(red_alert_access && SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) + return TRUE + return ..() /obj/machinery/door/proc/set_init_door_layer() if(density) @@ -426,3 +418,20 @@ /obj/machinery/door/GetExplosionBlock() return density ? real_explosion_block : 0 + +/** + * Signal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level + * + * Arguments: + * * source The datum source of the signal + * * new_level The new security level that is in effect + */ +/obj/machinery/door/proc/check_security_level(datum/source, new_level) + SIGNAL_HANDLER + + if(new_level <= SEC_LEVEL_BLUE) + return + if(!red_alert_access) + return + audible_message("[src] whirr[p_s()] as [p_they()] automatically lift[p_s()] access requirements!") + playsound(src, 'sound/machines/boltsup.ogg', 50, TRUE) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 792ccd29664c5..b116e9250aa2b 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -361,7 +361,7 @@ F.constructionStep = CONSTRUCTION_PANEL_OPEN else F.constructionStep = CONSTRUCTION_WIRES_EXPOSED - F.obj_integrity = F.max_integrity * 0.5 + F.update_integrity(F.max_integrity * 0.5) F.update_icon() qdel(src) diff --git a/code/game/machinery/fabricators/exosuit_fab.dm b/code/game/machinery/fabricators/exosuit_fab.dm index 71a135921227d..c8d73c124aeee 100644 --- a/code/game/machinery/fabricators/exosuit_fab.dm +++ b/code/game/machinery/fabricators/exosuit_fab.dm @@ -19,8 +19,8 @@ categories = list( "Cyborg", "Ripley", - "Firefighter", "Odysseus", + "Clarke", "Gygax", "Durand", "H.O.N.K", diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 6cab7c56d7e0f..70d46cfa00089 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -46,12 +46,7 @@ update_appearance() myarea = get_area(src) LAZYADD(myarea.firealarms, src) - RegisterSignal(SSdcs, COMSIG_GLOB_SECURITY_ALERT_CHANGE, PROC_REF(handle_alert)) - -/obj/machinery/firealarm/proc/handle_alert(datum/source, new_alert) - SIGNAL_HANDLER - if(is_station_level(z)) - update_appearance() + RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_security_level)) /obj/machinery/firealarm/Destroy() myarea.firereset(src) @@ -67,9 +62,9 @@ . += "fire_overlay" if(is_station_level(z)) - . += "fire_[GLOB.security_level]" - . += mutable_appearance(icon, "fire_[GLOB.security_level]") - . += emissive_appearance(icon, "fire_[GLOB.security_level]", layer, alpha = 255) + . += "fire_[SSsecurity_level.get_current_level_as_number()]" + . += mutable_appearance(icon, "fire_[SSsecurity_level.get_current_level_as_number()]") + . += emissive_appearance(icon, "fire_[SSsecurity_level.get_current_level_as_number()]", layer, alpha = 255) ADD_LUM_SOURCE(src, LUM_SOURCE_MANAGED_OVERLAY) else . += "fire_[SEC_LEVEL_GREEN]" @@ -120,6 +115,19 @@ alarm() ..() +/** + * Signal handler for checking if we should update fire alarm appearance accordingly to a newly set security level + * + * Arguments: + * * source The datum source of the signal + * * new_level The new security level that is in effect + */ +/obj/machinery/firealarm/proc/check_security_level(datum/source, new_level) + SIGNAL_HANDLER + + if(is_station_level(z)) + update_appearance() + /obj/machinery/firealarm/proc/alarm(mob/user) if(!is_operational || (last_alarm+FIREALARM_COOLDOWN > world.time)) return @@ -302,7 +310,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/firealarm, 26) if(!(machine_stat & BROKEN)) var/obj/item/I = new /obj/item/electronics/firealarm(loc) if(!disassembled) - I.obj_integrity = I.max_integrity * 0.5 + I.update_integrity(I.max_integrity * 0.5) new /obj/item/stack/cable_coil(loc, 3) qdel(src) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index ded37ac96dfaa..008481d41a3e5 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -82,7 +82,7 @@ The console is located at computer/gulag_teleporter.dm return -/obj/machinery/gulag_teleporter/relaymove(mob/user) +/obj/machinery/gulag_teleporter/relaymove(mob/living/user, direction) if(user.stat != CONSCIOUS) return if(locked) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index eb1ee900063d0..f66e7754e1ad0 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -182,7 +182,7 @@ if (!state_open && gone == occupant) container_resist(gone) -/obj/machinery/harvester/relaymove(mob/user) +/obj/machinery/harvester/relaymove(mob/living/user, direction) if (!state_open) container_resist(user) diff --git a/code/game/machinery/newscaster/newspaper.dm b/code/game/machinery/newscaster/newspaper.dm index 759aabbd55c2c..54a919f2bcdd5 100644 --- a/code/game/machinery/newscaster/newspaper.dm +++ b/code/game/machinery/newscaster/newspaper.dm @@ -10,7 +10,8 @@ I am begging someone to remake this to be more like the paper UI, it's so bad. lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - attack_verb = list("bapped") + attack_verb_continuous = list("baps") + attack_verb_simple = list("bap") resistance_flags = FLAMMABLE var/screen = 0 var/pages = 0 diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 793ee1b7462f6..a432ab6f9d2bd 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -39,7 +39,10 @@ . += "- Recharging [recharge_coeff*10]% cell charge per cycle." if(charging) var/obj/item/stock_parts/cell/C = charging.get_cell() - if(C) + if (istype(charging, /obj/item/ammo_box/magazine/recharge)) + var/obj/item/ammo_box/magazine/recharge/magazine = charging + . += "- \The [charging]'s cell is at [magazine.ammo_count() / magazine.max_ammo]%." + else if(C) . += "- \The [charging]'s cell is at [C.percent()]%." else . += "- \The [charging] has no power cell installed." @@ -85,6 +88,14 @@ var/obj/item/gun/energy/E = G if(!E.can_charge) to_chat(user, "Your gun has no external power connector.") + balloon_alert(user, "This gun cannot be charged.") + return 1 + + if (istype(G, /obj/item/gun/ballistic)) + var/obj/item/gun/ballistic/gun = G + if (ispath(gun.mag_type, /obj/item/ammo_box/magazine/recharge)) + to_chat(user, "You need to charge the magazine of this gun!") + balloon_alert(user, "Remove the magazine first!") return 1 if(!user.transferItemToLoc(G, src)) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 710e46fb019f7..7e9930432e63d 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -42,7 +42,7 @@ process_occupant(delta_time) return 1 -/obj/machinery/recharge_station/relaymove(mob/user) +/obj/machinery/recharge_station/relaymove(mob/living/user, direction) if(user.stat) return open_machine() diff --git a/code/game/machinery/shuttle/custom_shuttle.dm b/code/game/machinery/shuttle/custom_shuttle.dm index 9bf721b80c83b..9e57eb46b10ea 100644 --- a/code/game/machinery/shuttle/custom_shuttle.dm +++ b/code/game/machinery/shuttle/custom_shuttle.dm @@ -2,7 +2,6 @@ name = "shuttle component" desc = "Something for shuttles." density = TRUE - obj_integrity = 250 max_integrity = 250 icon = 'icons/turf/shuttle.dmi' icon_state = "burst_plasma" diff --git a/code/game/machinery/shuttle/shuttle_engine.dm b/code/game/machinery/shuttle/shuttle_engine.dm index 262c26e1111c3..24d3af7b2e243 100644 --- a/code/game/machinery/shuttle/shuttle_engine.dm +++ b/code/game/machinery/shuttle/shuttle_engine.dm @@ -10,7 +10,6 @@ desc = "A thruster for shuttles." density = TRUE z_flags = Z_BLOCK_IN_DOWN | Z_BLOCK_IN_UP - obj_integrity = 250 max_integrity = 250 icon = 'icons/turf/shuttle.dmi' icon_state = "burst_plasma" diff --git a/code/game/machinery/sleeper.dm b/code/game/machinery/sleeper.dm index 699b39f2de350..aad043793efa0 100644 --- a/code/game/machinery/sleeper.dm +++ b/code/game/machinery/sleeper.dm @@ -129,7 +129,7 @@ if (!state_open && gone == occupant) container_resist(gone) -/obj/machinery/sleeper/relaymove(mob/user) +/obj/machinery/sleeper/relaymove(mob/living/user, direction) if (!state_open) container_resist(user) @@ -156,15 +156,14 @@ if(is_operational && occupant) open_machine() + /obj/machinery/sleeper/MouseDrop_T(mob/target, mob/user) - if(user.stat || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) + if(HAS_TRAIT(user, TRAIT_UI_BLOCKED) || !Adjacent(user) || !user.Adjacent(target) || !iscarbon(target) || !user.IsAdvancedToolUser()) return - if(isliving(user)) - var/mob/living/L = user - if(!(L.mobility_flags & MOBILITY_STAND)) - return + close_machine(target) + /obj/machinery/sleeper/screwdriver_act(mob/living/user, obj/item/I) . = TRUE if(..()) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 3ccb52f832fff..5df43092dea74 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -20,7 +20,7 @@ interacts_with_air = TRUE ///The cell we spawn with - var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell + var/obj/item/stock_parts/cell/cell = null ///Is the machine on? var/on = FALSE ///What is the mode we are in now? @@ -47,8 +47,6 @@ /obj/machinery/space_heater/Initialize(mapload) . = ..() - if(ispath(cell)) - cell = new cell(src) update_appearance() SSair.start_processing_machine(src) @@ -57,9 +55,6 @@ return..() /obj/machinery/space_heater/on_deconstruction() - if(cell) - LAZYADD(component_parts, cell) - cell = null return ..() /obj/machinery/space_heater/examine(mob/user) @@ -131,12 +126,15 @@ /obj/machinery/space_heater/RefreshParts() . = ..() + cell = null var/laser = 0 var/cap = 0 for(var/obj/item/stock_parts/micro_laser/M in component_parts) laser += M.rating for(var/obj/item/stock_parts/capacitor/M in component_parts) cap += M.rating + for(var/obj/item/stock_parts/cell/M in component_parts) + cell = M heating_power = (laser * 2) * 100000 settable_temperature_range = cap * 30 @@ -179,6 +177,7 @@ if(!user.transferItemToLoc(I, src)) return cell = I + component_parts.Add(I) I.add_fingerprint(usr) user.visible_message("\The [user] inserts a power cell into \the [src].", "You insert the power cell into \the [src].") SStgui.update_uis(src) @@ -270,11 +269,13 @@ settable_temperature_median + settable_temperature_range) if("eject") if(panel_open && cell) - cell.forceMove(drop_location()) cell = null + for(var/obj/item/stock_parts/cell/M in component_parts) + M.forceMove(drop_location()) + component_parts.Remove(M) . = TRUE -//Space Heaters without cel +//Space Heaters without a cell /obj/machinery/space_heater/no_cell cell = null @@ -287,7 +288,10 @@ /obj/machinery/space_heater/atmos /obj/machinery/space_heater/atmos/Initialize(mapload) - cell = /obj/item/stock_parts/cell/hyper + for(var/obj/item/stock_parts/cell/M in component_parts) + QDEL_NULL(M) + component_parts.Add(/obj/item/stock_parts/cell/hyper) + RefreshParts() . = ..() #undef HEATER_MODE_STANDBY diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index feba69aafc738..c0e616567412b 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -366,7 +366,7 @@ return if(isliving(user)) var/mob/living/L = user - if(!(L.mobility_flags & MOBILITY_STAND)) + if(L.body_position == LYING_DOWN) return var/mob/living/target = A if(!state_open) @@ -466,6 +466,18 @@ if(mob_occupant) dump_inventory_contents() +/obj/machinery/suit_storage_unit/process() + if(!suit) + return + if(!istype(suit, /obj/item/clothing/suit/space)) + return + if(!suit.cell) + return + + var/obj/item/stock_parts/cell/C = suit.cell + use_power(charge_rate) + C.give(charge_rate) + /obj/machinery/suit_storage_unit/proc/shock(mob/user, prb) if(!prob(prb)) var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread @@ -474,7 +486,7 @@ if(electrocute_mob(user, src, src, 1, TRUE)) return 1 -/obj/machinery/suit_storage_unit/relaymove(mob/user) +/obj/machinery/suit_storage_unit/relaymove(mob/living/user, direction) if(locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index e9884d629b4e9..737a712d92544 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -50,10 +50,11 @@ // Only humans can enter from the west side, while lying down. var/move_dir = get_dir(loc, AM.loc) var/mob/living/carbon/human/H = AM - if((transform_standing || !(H.mobility_flags & MOBILITY_STAND)) && move_dir == EAST)// || move_dir == WEST) + if((transform_standing || H.body_position == LYING_DOWN) && move_dir == EAST)// || move_dir == WEST) AM.forceMove(drop_location()) do_transform(AM) + /obj/machinery/transformer/CanAllowThrough(atom/movable/mover, border_dir) . = ..() // Allows items to go through, diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 601f1e68a95a1..d1520a6ad6f47 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -365,7 +365,7 @@ GLOBAL_LIST_INIT(dye_registry, list( new /obj/item/restraints/handcuffs(loc) ..() -/obj/machinery/washing_machine/relaymove(mob/user) +/obj/machinery/washing_machine/relaymove(mob/living/user, direction) container_resist(user) /obj/machinery/washing_machine/container_resist(mob/living/user) diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index 3ef541ccb225a..bde20b4ddb8b8 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -1,11 +1,15 @@ /atom/movable + /// Whether the atom allows mobs to be buckled to it. Can be ignored in [/atom/movable/proc/buckle_mob()] if force = TRUE var/can_buckle = FALSE - /// Bed-like behaviour, forces mob.lying = buckle_lying if != -1 - var/buckle_lying = -1 + /// Bed-like behaviour, forces mob.lying = buckle_lying if not set to [NO_BUCKLE_LYING]. + var/buckle_lying = NO_BUCKLE_LYING /// Require people to be handcuffed before being able to buckle. eg: pipes var/buckle_requires_restraints = FALSE + // The mobs currently buckled to this atom var/list/mob/living/buckled_mobs = null //list() + /// The maximum number of mob/livings allowed to be buckled to this atom at once var/max_buckled_mobs = 1 + /// Whether things buckled to this atom can be pulled while they're buckled var/buckle_prevents_pull = FALSE var/can_be_unanchored = FALSE @@ -15,7 +19,7 @@ if(.) return if(can_buckle && has_buckled_mobs()) - if(buckled_mobs.len > 1) + if(length(buckled_mobs) > 1) var/mob/living/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?", "Unbuckle", sort_names(buckled_mobs)) if(isnull(unbuckled)) return @@ -25,11 +29,11 @@ if(user_unbuckle_mob(buckled_mobs[1],user)) return TRUE -/atom/movable/attackby(obj/item/W, mob/user, params) - if(!can_buckle || !istype(W, /obj/item/riding_offhand) || !user.Adjacent(src)) +/atom/movable/attackby(obj/item/attacking_item, mob/user, params) + if(!can_buckle || !istype(attacking_item, /obj/item/riding_offhand) || !user.Adjacent(src)) return ..() - var/obj/item/riding_offhand/riding_item = W + var/obj/item/riding_offhand/riding_item = attacking_item var/mob/living/carried_mob = riding_item.rider if(carried_mob == user) //Piggyback user. return @@ -43,32 +47,47 @@ if(.) return if(Adjacent(user) && can_buckle && has_buckled_mobs()) - if(buckled_mobs.len > 1) + if(length(buckled_mobs) > 1) var/mob/living/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?", "Unbuckle", sort_names(buckled_mobs)) if(isnull(unbuckled)) return - if(user_unbuckle_mob(unbuckled,user)) - return TRUE + return user_unbuckle_mob(unbuckled,user) else - if(user_unbuckle_mob(buckled_mobs[1],user)) - return TRUE + return user_unbuckle_mob(buckled_mobs[1], user) /atom/movable/MouseDrop_T(mob/living/M, mob/living/user) . = ..() return mouse_buckle_handling(M, user) +/** + * Does some typechecks and then calls user_buckle_mob + * + * Arguments: + * M - The mob being buckled to src + * user - The mob buckling M to src + */ /atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user) if(can_buckle && istype(M) && istype(user)) - if(user_buckle_mob(M, user, check_loc = FALSE)) - return TRUE + return user_buckle_mob(M, user) +/** + * Returns TRUE if there are mobs buckled to this atom and FALSE otherwise + */ /atom/movable/proc/has_buckled_mobs() if(!buckled_mobs) return FALSE if(buckled_mobs.len) return TRUE -//procs that handle the actual buckling and unbuckling +/** + * Set a mob as buckled to src + * + * If you want to have a mob buckling another mob to something, or you want a chat message sent, use user_buckle_mob instead. + * Arguments: + * M - The mob to be buckled to src + * force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to + * check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf. + */ /atom/movable/proc/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) if(!buckled_mobs) buckled_mobs = list() @@ -76,15 +95,6 @@ if(!is_buckle_possible(M, force, check_loc)) return FALSE - M.buckling = src - if(!M.can_buckle() && !force) - if(M == usr) - to_chat(M, "You are unable to buckle yourself to [src]!") - else - to_chat(usr, "You are unable to buckle [M] to [src]!") - M.buckling = null - return FALSE - if(M.pulledby) if(buckle_prevents_pull) M.pulledby.stop_pulling() @@ -98,11 +108,9 @@ if (!check_loc && M.loc != loc) M.forceMove(loc) - M.buckling = null M.set_buckled(src) M.setDir(dir) buckled_mobs |= M - M.update_mobility() M.throw_alert("buckled", /atom/movable/screen/alert/restrained/buckled) /* M.set_glide_size(glide_size) @@ -124,17 +132,31 @@ M.adjust_fire_stacks(1) M.IgniteMob() -/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force=FALSE) - if(istype(buckled_mob) && buckled_mob.buckled == src && (buckled_mob.can_unbuckle() || force)) - . = buckled_mob - buckled_mob.set_buckled(null) - buckled_mob.set_anchored(initial(buckled_mob.anchored)) - buckled_mob.update_mobility() - buckled_mob.clear_alert("buckled") - buckled_mobs -= buckled_mob - SEND_SIGNAL(src, COMSIG_MOVABLE_UNBUCKLE, buckled_mob, force) +/** + * Set a mob as unbuckled from src + * + * The mob must actually be buckled to src or else bad things will happen. + * Arguments: + * buckled_mob - The mob to be unbuckled + * force - TRUE if we should ignore buckled_mob.can_buckle_to + */ +/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force = FALSE) + if(!isliving(buckled_mob)) + CRASH("Non-living [buckled_mob] thing called unbuckle_mob() for source.") + if(buckled_mob.buckled != src) + CRASH("[buckled_mob] called unbuckle_mob() for source while having buckled as [buckled_mob.buckled].") + if(!force && !buckled_mob.can_buckle_to) + return + . = buckled_mob + buckled_mob.set_buckled(null) + buckled_mob.set_anchored(initial(buckled_mob.anchored)) + buckled_mob.clear_alert("buckled") + //buckled_mob.set_glide_size(DELAY_TO_GLIDE_SIZE(buckled_mob.total_multiplicative_slowdown())) + buckled_mobs -= buckled_mob + SEND_SIGNAL(src, COMSIG_MOVABLE_UNBUCKLE, buckled_mob, force) + + post_unbuckle_mob(.) - post_unbuckle_mob(.) /atom/movable/proc/unbuckle_all_mobs(force=FALSE) if(!has_buckled_mobs()) @@ -154,9 +176,11 @@ * Simple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src. * * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. + * Called from [/atom/movable/proc/buckle_mob] and [/atom/movable/proc/is_user_buckle_possible]. * Arguments: * * target - Target mob to check against buckling to src. - * * force - Whether or not the buckle should be forced. If TRUE, ignores src's can_buckle var. + * * force - Whether or not the buckle should be forced. If TRUE, ignores src's can_buckle var and target's can_buckle_to + * * check_loc - TRUE if target and src have to be on the same tile, FALSE if they are allowed to just be adjacent * * check_loc - Whether to do a proximity check or not. The proximity check looks for target.loc == src.loc. */ /atom/movable/proc/is_buckle_possible(mob/living/target, force = FALSE, check_loc = TRUE) @@ -172,10 +196,6 @@ if(!can_buckle && !force) return FALSE - // Check if this atom can buckle, proc wise. - if(!target.can_buckle() && !force) - return FALSE - // If we're checking the loc, make sure the target is on the thing we're bucking them to. if(check_loc && target.loc != loc) return FALSE @@ -192,16 +212,21 @@ if(buckle_requires_restraints && !HAS_TRAIT(target, TRAIT_RESTRAINED)) return FALSE + //If buckling is forbidden for the target, cancel + if(!target.can_buckle_to && !force) + return FALSE + return TRUE /** * Simple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src. * * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. + * Called from [/atom/movable/proc/user_buckle_mob]. * Arguments: * * target - Target mob to check against buckling to src. * * user - The mob who is attempting to buckle the target to src. - * * check_loc - Whether to do a proximity check or not when calling is_buckle_possible(). + * * check_loc - TRUE if target and src have to be on the same tile, FALSE if buckling is allowed from adjacent tiles */ /atom/movable/proc/is_user_buckle_possible(mob/living/target, mob/user, check_loc = TRUE) // Standard adjacency and other checks. @@ -212,15 +237,20 @@ if(!is_buckle_possible(target, FALSE, check_loc)) return FALSE - // If the person attempting to buckle is stood on this atom's turf and they're not buckling themselves, - // buckling shouldn't be possible as they're blocking it. - if((target != user) && (get_turf(user) == get_turf(src))) - to_chat(target, "You are unable to buckle [target] to [src] while it is blocked!") - return FALSE - return TRUE -//Wrapper procs that handle sanity and user feedback +/** + * Handles a mob buckling another mob to src and sends a visible_message + * + * Basically exists to do some checks on the user and then call buckle_mob where the real buckling happens. + * First, checks if the buckle is valid and cancels if it isn't. + * Second, checks if src is on a different turf from the target; if it is, does a do_after and another check for sanity + * Finally, calls [/atom/movable/proc/buckle_mob] to buckle the target to src then gives chat feedback + * Arguments: + * * M - The target mob/living being buckled to src + * * user - The other mob that's buckling M to src + * * check_loc - TRUE if src and M have to be on the same turf, false otherwise + */ /atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE) // Is buckling even possible? Do a full suite of checks. if(!is_user_buckle_possible(M, user, check_loc)) @@ -248,12 +278,21 @@ M.visible_message(\ "[M] buckles [M.p_them()]self to [src].",\ "You buckle yourself to [src].",\ - "You hear metal clanking.") + "You hear metal clanking.") else M.visible_message("[user] buckles [M] to [src]!",\ "[user] buckles you to [src]!",\ "You hear metal clanking.") +/** + * Handles a user unbuckling a mob from src and sends a visible_message + * + * Basically just calls unbuckle_mob, sets fingerprint, and sends a visible_message + * about the user unbuckling the mob + * Arguments: + * buckled_mob - The mob/living to unbuckle + * user - The mob unbuckling buckled_mob + */ /atom/movable/proc/user_unbuckle_mob(mob/living/buckled_mob, mob/user) var/mob/living/M = unbuckle_mob(buckled_mob) if(M) @@ -261,12 +300,12 @@ M.visible_message(\ "[user] unbuckles [M] from [src].",\ "[user] unbuckles you from [src].",\ - "You hear metal clanking.") + "You hear metal clanking.") else M.visible_message(\ "[M] unbuckles [M.p_them()]self from [src].",\ "You unbuckle yourself from [src].",\ - "You hear metal clanking.") + "You hear metal clanking.") add_fingerprint(user) if(isliving(M.pulledby)) var/mob/living/L = M.pulledby diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index ab6af6bca94ca..dc132da8e1b06 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -55,7 +55,7 @@ if(!turf_mob.can_inject()) continue - if(!(turf_mob.mobility_flags & MOBILITY_STAND) && !travelled_max_distance) + if(turf_mob.body_position != STANDING_UP && !travelled_max_distance) continue lifetime-- diff --git a/code/game/objects/effects/decals/turfdecal/markings.dm b/code/game/objects/effects/decals/turfdecal/markings.dm index 83caefda4b508..5581acdeb62c9 100644 --- a/code/game/objects/effects/decals/turfdecal/markings.dm +++ b/code/game/objects/effects/decals/turfdecal/markings.dm @@ -464,23 +464,84 @@ /obj/effect/turf_decal/numbers/two_nine icon_state = "number_2-9" -/obj/effect/turf_decal/techfloor +///Borderfloors + +//Plain +/obj/effect/turf_decal/edges/borderfloor + icon_state = "borderfloor" + +/obj/effect/turf_decal/edges/borderfloor/corner1 + icon_state = "borderfloorcorner" + +/obj/effect/turf_decal/edges/borderfloor/corner2 + icon_state = "borderfloorcorner2" + +/obj/effect/turf_decal/edges/borderfloor/full + icon_state = "borderfloorfull" + +/obj/effect/turf_decal/edges/borderfloor/cee + icon_state = "borderfloorcee" + +//Black +/obj/effect/turf_decal/edges/borderfloor/black + icon_state = "borderfloor_black" + +/obj/effect/turf_decal/edges/borderfloor/black/corner1 + icon_state = "borderfloorcorner_black" + +/obj/effect/turf_decal/edges/borderfloor/black/corner2 + icon_state = "borderfloorcorner2_black" + +/obj/effect/turf_decal/edges/borderfloor/black/full + icon_state = "borderfloorfull_black" + +/obj/effect/turf_decal/edges/borderfloor/black/cee + icon_state = "borderfloorcee_black" + +//White +/obj/effect/turf_decal/edges/borderfloor/white + icon_state = "borderfloor_white" + +/obj/effect/turf_decal/edges/borderfloor/white/corner1 + icon_state = "borderfloorcorner_white" + +/obj/effect/turf_decal/edges/borderfloor/white/corner2 + icon_state = "borderfloorcorner2_white" + +/obj/effect/turf_decal/edges/borderfloor/white/full + icon_state = "borderfloorfull_white" + +/obj/effect/turf_decal/edges/borderfloor/white/cee + icon_state = "borderfloorcee_white" + +/obj/effect/turf_decal/edges/borderfloor/edge + icon_state = "edge" + +//Techfloors + +/obj/effect/turf_decal/edges/techfloor icon_state = "techfloor_edges" -/obj/effect/turf_decal/techfloor/corners +/obj/effect/turf_decal/edges/techfloor/corners icon_state = "techfloor_corners" +/obj/effect/turf_decal/edges/techfloor_orange + icon_state = "techfloororange_edges" + +/obj/effect/turf_decal/edges/techfloor_orange/corners + icon_state = "techfloororange_corners" + /obj/effect/turf_decal/evac icon_state = "evac" - + /obj/effect/turf_decal/evac/evac_big icon_state = "evac_big" - + /obj/effect/turf_decal/evac/evac_massive_left icon_state = "evac_massive_left" - + /obj/effect/turf_decal/evac/evac_massive_middle icon_state = "evac_massive_middle" - + /obj/effect/turf_decal/evac/evac_massive_right icon_state = "evac_massive_right" diff --git a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm index 62e36d0324d5d..805681dd7ee4e 100644 --- a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm +++ b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm @@ -944,6 +944,77 @@ color = "#[random_short_color()]" return ..() + + +///SPECIAL + +//Steelgrid +/obj/effect/turf_decal/tile/steelgrid + icon_state = "steelgrid_corner" + +/obj/effect/turf_decal/tile/steelgrid/diagonal + icon_state = "steelgrid_diagonal" + +/obj/effect/turf_decal/tile/steelgrid/anticorner + icon_state = "steelgrid_anticorner" + + +//techfloor +/obj/effect/turf_decal/tile/techfloor + icon_state = "techfloor_corner" + +/obj/effect/turf_decal/tile/techfloor/diagonal + icon_state = "techfloor_diagonal" + +/obj/effect/turf_decal/tile/techfloor/anticorner + icon_state = "techfloor_anticorner" + + +//techfloorgrid +/obj/effect/turf_decal/tile/techfloorgrid + icon_state = "techfloorgrid_corner" + +/obj/effect/turf_decal/tile/techfloorgrid/diagonal + icon_state = "techfloorgrid_diagonal" + +/obj/effect/turf_decal/tile/techfloorgrid/anticorner + icon_state = "techfloorgrid_anticorner" + + +//"Rust" + +/obj/effect/turf_decal/tile/monorust + icon_state = "mono_rusted1" + +/obj/effect/turf_decal/tile/monorust/intensity2 + icon_state = "mono_rusted2" + +/obj/effect/turf_decal/tile/monorust/intensity3 + icon_state = "mono_rusted3" + + +/obj/effect/turf_decal/tile/cornerrust + icon_state = "part_rusted1" + +/obj/effect/turf_decal/tile/cornerrust/intensity2 + icon_state = "part_rusted2" + +/obj/effect/turf_decal/tile/cornerrust/intensity3 + icon_state = "part_rusted3" + + +/obj/effect/turf_decal/tile/colorrust + icon_state = "color_rusted" + +/obj/effect/turf_decal/tile/colorrust/corner + icon_state = "color_rustedcorner" + +/obj/effect/turf_decal/tile/colorrust/full + icon_state = "color_rustedfull" + +/obj/effect/turf_decal/tile/colorrust/cee + icon_state = "color_rustedcee" + /// Trimlines /obj/effect/turf_decal/trimline diff --git a/code/game/objects/effects/lighting.dm b/code/game/objects/effects/lighting.dm new file mode 100644 index 0000000000000..a0838f6e840fa --- /dev/null +++ b/code/game/objects/effects/lighting.dm @@ -0,0 +1,42 @@ +/** + * Basically, a fake object that emits light. + * + * Why is this used sometimes instead of giving atoms light values directly? + * Because using these, you can have multiple light sources in a single object. + */ +/obj/effect/dummy/lighting_obj + name = "lighting" + desc = "Tell a coder if you're seeing this." + icon_state = "nothing" + light_system = MOVABLE_LIGHT + light_range = MINIMUM_USEFUL_LIGHT_RANGE + light_color = COLOR_WHITE + //blocks_emissive = EMISSIVE_BLOCK_NONE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + +/obj/effect/dummy/lighting_obj/Initialize(mapload, range, power, color, duration) + . = ..() + if(!isnull(range)) + set_light_range(range) + if(!isnull(power)) + set_light_power(power) + if(!isnull(color)) + set_light_color(color) + if(duration) + QDEL_IN(src, duration) + +/obj/effect/dummy/lighting_obj/moblight + name = "mob" + +/obj/effect/dummy/lighting_obj/moblight/Initialize(mapload, range, power, color, duration) + . = ..() + if(!ismob(loc)) + return INITIALIZE_HINT_QDEL + +/obj/effect/dummy/lighting_obj/moblight/fire + name = "fire" + light_color = LIGHT_COLOR_FIRE + light_range = LIGHT_RANGE_FIRE + +/obj/effect/dummy/lighting_obj/moblight/species + name = "species lighting" diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index fcc05faa8dec1..46e723f021783 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -100,31 +100,5 @@ /obj/effect/abstract/marker/at name = "active turf marker" - -/obj/effect/dummy/lighting_obj - name = "lighting fx obj" - desc = "Tell a coder if you're seeing this." - icon_state = "nothing" - light_color = "#FFFFFF" - light_system = MOVABLE_LIGHT - light_range = MINIMUM_USEFUL_LIGHT_RANGE +/obj/effect/abstract/directional_lighting mouse_opacity = MOUSE_OPACITY_TRANSPARENT - -/obj/effect/dummy/lighting_obj/Initialize(mapload, _range, _power, _color, _duration) - . = ..() - if(!isnull(_range)) - set_light_range(_range) - if(!isnull(_power)) - set_light_power(_power) - if(!isnull(_color)) - set_light_color(_color) - if(_duration) - QDEL_IN(src, _duration) - -/obj/effect/dummy/lighting_obj/moblight - name = "mob lighting fx" - -/obj/effect/dummy/lighting_obj/moblight/Initialize(mapload, _color, _range, _power, _duration) - . = ..() - if(!ismob(loc)) - return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 85c8babc56308..b398597382f38 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -83,3 +83,14 @@ layer = FLOAT_LAYER vis_flags = VIS_INHERIT_ID appearance_flags = KEEP_TOGETHER | LONG_GLIDE | PIXEL_SCALE + +/obj/effect/overlay/light_cone + name = "" + icon = 'icons/effects/light_overlays/light_cone.dmi' + icon_state = "light" + layer = O_LIGHTING_VISUAL_LAYER + plane = O_LIGHTING_VISUAL_PLANE + appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + vis_flags = NONE + alpha = 110 diff --git a/code/game/objects/effects/spawners/roomspawner.dm b/code/game/objects/effects/spawners/roomspawner.dm index 01f3e47265ad3..2444e6cf3aca1 100644 --- a/code/game/objects/effects/spawners/roomspawner.dm +++ b/code/game/objects/effects/spawners/roomspawner.dm @@ -42,13 +42,61 @@ room_width = 10 room_height = 5 icon_state = "random_room_alternative" - rooms = list("sk_rdm011_barbershop","sk_rdm031_deltarobotics","sk_rdm039_deltaclutter1","sk_rdm040_deltabotnis","sk_rdm045_deltacafeteria","sk_rdm046_deltaarcade","sk_rdm082_maintmedical","sk_rdm091_skidrow","sk_rdm100_meetingroom","sk_rdm105_phage","sk_rdm125_courtroom","sk_rdm126_gaschamber","sk_rdm127_oldaichamber","sk_rdm128_radiationtherapy","sk_rdm150_smallmedlobby","sk_rdm151_ratburger","sk_rdm152_geneticsoffice","sk_rdm153_hobowithpeter","sk_rdm154_butchersden","sk_rdm155_punjiconveyor","sk_rdm156_oldairlock_interchange","sk_rdm161_kilovault") + rooms = list( + "sk_rdm011_barbershop", + "sk_rdm031_deltarobotics", + "sk_rdm039_deltaclutter1", + "sk_rdm040_deltabotnis", + "sk_rdm045_deltacafeteria", + "sk_rdm046_deltaarcade", + "sk_rdm082_maintmedical", + "sk_rdm091_skidrow", + "sk_rdm100_meetingroom", + "sk_rdm105_phage", + "sk_rdm125_courtroom", + "sk_rdm126_gaschamber", + "sk_rdm127_oldaichamber", + "sk_rdm128_radiationtherapy", + "sk_rdm150_smallmedlobby", + "sk_rdm151_ratburger", + "sk_rdm152_geneticsoffice", + "sk_rdm153_hobowithpeter", + "sk_rdm154_butchersden", + "sk_rdm155_punjiconveyor", + "sk_rdm156_oldairlock_interchange", + "sk_rdm161_kilovault") /obj/effect/spawner/room/special/tenxten_terrestrial name = "10x10 terrestrial room" room_width = 10 room_height = 10 icon_state = "random_room_alternative" - rooms = list("sk_rdm033_deltalibrary","sk_rdm060_snakefighter","sk_rdm062_roosterdome","sk_rdm070_pubbybar","sk_rdm083_bigtheatre","sk_rdm098_graffitiroom","sk_rdm102_podrepairbay","sk_rdm106_sanitarium","sk_rdm129_beach","sk_rdm130_benoegg","sk_rdm131_confinementroom","sk_rdm132_conveyorroom","sk_rdm133_oldoffice","sk_rdm134_snowforest","sk_rdm141_6sectorsdown","sk_rdm142_olddiner","sk_rdm143_gamercave","sk_rdm144_smallmagician","sk_rdm145_ladytesla_altar","sk_rdm146_blastdoor_interchange","sk_rdm147_advbotany","sk_rdm148_botany_apiary","sk_rdm157_chess","sk_rdm159_kilosnakepit","sk_rdm167_library_ritual") + rooms = list( + "sk_rdm033_deltalibrary", + "sk_rdm060_snakefighter", + "sk_rdm062_roosterdome", + "sk_rdm070_pubbybar", + "sk_rdm083_bigtheatre", + "sk_rdm098_graffitiroom", + "sk_rdm102_podrepairbay", + "sk_rdm106_sanitarium", + "sk_rdm129_beach", + "sk_rdm130_benoegg", + "sk_rdm131_confinementroom", + "sk_rdm132_conveyorroom", + "sk_rdm133_oldoffice", + "sk_rdm134_snowforest", + "sk_rdm141_6sectorsdown", + "sk_rdm142_olddiner", + "sk_rdm143_gamercave", + "sk_rdm144_smallmagician", + "sk_rdm145_ladytesla_altar", + "sk_rdm146_blastdoor_interchange", + "sk_rdm147_advbotany", + "sk_rdm148_botany_apiary", + "sk_rdm157_chess", + "sk_rdm159_kilosnakepit", + "sk_rdm167_library_ritual", + "sk_rdm176_spacewindowroom") /obj/effect/spawner/room/fivexfour name = "5x4 room spawner" room_width = 5 diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index cb85c98cc456b..ffd84411841df 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -68,10 +68,8 @@ if(AM in T.affecting) return - if(isliving(AM)) - var/mob/living/M = AM - if(immobilize) - M.mobility_flags &= ~MOBILITY_MOVE + if(immobilize) + ADD_TRAIT(AM, TRAIT_IMMOBILIZED, src) affecting[AM] = AM.dir var/datum/move_loop/loop = SSmove_manager.move(AM, direction, speed, tiles ? tiles * speed : INFINITY) @@ -107,11 +105,8 @@ SIGNAL_HANDLER var/atom/movable/being_moved = source.moving affecting -= being_moved - if(isliving(being_moved)) - var/mob/living/M = being_moved - if(immobilize) - M.mobility_flags |= MOBILITY_MOVE - M.update_mobility() + REMOVE_TRAIT(being_moved, TRAIT_IMMOBILIZED, REF(src)) + /* Stops things thrown by a thrower, doesn't do anything */ diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 6a433b3db0ba3..396a55212e290 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -138,7 +138,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/breakouttime = 0 /// Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" - var/list/attack_verb + var/list/attack_verb_continuous + var/list/attack_verb_simple /// list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item var/list/species_exception = null ///A bitfield of a species to use as an alternative sprite for any given item. DMIs are stored in the species datum and called via proc in update_icons. @@ -229,8 +230,10 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item/Initialize(mapload) - if (attack_verb) - attack_verb = typelist("attack_verb", attack_verb) + if(attack_verb_continuous) + attack_verb_continuous = typelist("attack_verb_continuous", attack_verb_continuous) + if(attack_verb_simple) + attack_verb_simple = typelist("attack_verb_simple", attack_verb_simple) . = ..() for(var/path in actions_types) @@ -574,7 +577,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) blockhand = (locate(/obj/item/bodypart/l_arm) in owner.bodyparts) if(!blockhand) return 0 - if(blockhand.is_disabled()) + if(blockhand?.bodypart_disabled) to_chat(owner, "You're too exausted to block the attack!") return 0 else if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE) && owner.getStaminaLoss() >= 30) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 5cdb3cc27e75a..d899c38641ee2 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -932,7 +932,8 @@ RLD /obj/machinery/plumbing/disposer = 10, /obj/machinery/plumbing/filter = 5, /obj/machinery/plumbing/grinder_chemical = 30, - /obj/machinery/plumbing/splitter = 5 + /obj/machinery/plumbing/splitter = 5, + /obj/machinery/plumbing/bottle_dispenser = 20, ) /obj/item/construction/plumbing/attack_self(mob/user) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index de93897096974..6877e537a9e3e 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -7,7 +7,8 @@ name = "area modification item" icon = 'icons/obj/items_and_weapons.dmi' icon_state = "blueprints" - attack_verb = list("attacked", "bapped", "hit") + attack_verb_continuous = list("attacks", "baps", "hits") + attack_verb_simple = list("attack", "bap", "hit") var/fluffnotice = "Nobody's gonna read this stuff!" var/in_use = FALSE diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 3f37270288158..062e95cff6d8c 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -10,7 +10,8 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_LARGE - attack_verb = list("swept", "brushed off", "bludgeoned", "whacked") + attack_verb_continuous = list("sweeps", "brushes off", "bludgeons", "whacks") + attack_verb_simple = list("sweep", "brush off", "bludgeon", "whack") resistance_flags = FLAMMABLE /obj/item/pushbroom/Initialize(mapload) diff --git a/code/game/objects/items/chainsaw.dm b/code/game/objects/items/chainsaw.dm index 5d84cdcfcccb6..cc09f01d685c7 100644 --- a/code/game/objects/items/chainsaw.dm +++ b/code/game/objects/items/chainsaw.dm @@ -17,7 +17,8 @@ throw_speed = 2 throw_range = 4 custom_materials = list(/datum/material/iron=13000) - attack_verb = list("sawed", "tore", "cut", "chopped", "diced") + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") hitsound = "swing_hit" sharpness = IS_SHARP bleed_force = BLEED_DEEP_WOUND @@ -89,7 +90,8 @@ righthand_file = 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' force_on = 40 w_class = WEIGHT_CLASS_HUGE - attack_verb = list("sawed", "shred", "rended", "gutted", "eviscerated") + attack_verb_continuous = list("saws", "shreds", "rends", "guts", "eviscerates") + attack_verb_simple = list("saw", "shred", "rend", "gut", "eviscerate") actions_types = list(/datum/action/item_action/startchainsaw) block_power = 50 armour_penetration = 50 diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 3a58d75db273e..e835909745a4f 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -111,7 +111,7 @@ if(field == F) var/turf/currentpos = get_turf(src) var/mob/living/user = loc - if(currentpos == startpos && isliving(user) && (user.mobility_flags & MOBILITY_STAND) && (user.stat == CONSCIOUS) && (field in view(CHRONO_BEAM_RANGE, currentpos))) + if(currentpos == startpos && isliving(user) && user.body_position == STANDING_UP && !HAS_TRAIT(user, TRAIT_INCAPACITATED) && (field in view(CHRONO_BEAM_RANGE, currentpos))) return TRUE field_disconnect(F) return FALSE diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 6180c25b71e6d..bd1597fe5942e 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -50,7 +50,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "cigon" name = "lit [initial(name)]" desc = "A [initial(name)]. This one is lit." - attack_verb = list("burnt","singed") + attack_verb_continuous = list("burns", "sings") + attack_verb_simple = list("burn", "sing") START_PROCESSING(SSobj, src) update_icon() @@ -64,7 +65,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM item_state = "cigoff" name = "burnt [initial(name)]" desc = "A [initial(name)]. This one has seen better days." - attack_verb = list("flicked") + attack_verb_continuous = list("flicks") + attack_verb_simple = list("flick") STOP_PROCESSING(SSobj, src) /obj/item/match/extinguish() @@ -232,7 +234,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM lit = TRUE name = "lit [name]" - attack_verb = list("burnt", "singed") + attack_verb_continuous = list("burns", "sings") + attack_verb_simple = list("burn", "sing") hitsound = 'sound/items/welder.ogg' damtype = BURN force = 4 @@ -266,7 +269,8 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!lit) return name = copytext_char(name, 5) //5 == length_char("lit ") + 1 - attack_verb = null + attack_verb_continuous = null + attack_verb_simple = null hitsound = null damtype = BRUTE force = 0 @@ -685,12 +689,14 @@ CIGARETTE PACKETS ARE IN FANCY.DM force = 5 damtype = BURN hitsound = 'sound/items/welder.ogg' - attack_verb = list("burnt", "singed") + attack_verb_continuous = list("burns", "sings") + attack_verb_simple = list("burn", "sing") START_PROCESSING(SSobj, src) else hitsound = "swing_hit" force = 0 - attack_verb = null //human_defense.dm takes care of it + attack_verb_continuous = null //human_defense.dm takes care of it + attack_verb_simple = null STOP_PROCESSING(SSobj, src) set_light_on(lit) update_icon() @@ -706,15 +712,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM user.visible_message("Without even breaking stride, [user] flips open and lights [src] in one smooth movement.", "Without even breaking stride, you flip open and light [src] in one smooth movement.") playsound(src.loc, 'sound/items/zippo_on.ogg', 100, 1) else - var/prot = FALSE var/mob/living/carbon/human/H = user - if(istype(H) && H.gloves) - var/obj/item/clothing/gloves/G = H.gloves - if(G.max_heat_protection_temperature) - prot = (G.max_heat_protection_temperature > 360) - else - prot = TRUE + var/prot = !istype(H) || H.gloves if(prot || prob(75)) user.visible_message("After a few attempts, [user] manages to light [src].", "After a few attempts, you manage to light [src].") @@ -1018,7 +1018,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(prob(5))//small chance for the vape to break and deal damage if it's emagged playsound(get_turf(src), 'sound/effects/pop_expl.ogg', 50, 0) M.apply_damage(20, BURN, BODY_ZONE_HEAD) - M.Paralyze(300, 1, 0) + M.Paralyze(300) var/datum/effect_system/spark_spread/sp = new /datum/effect_system/spark_spread sp.set_up(5, 1, src) sp.start() diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index a7c762f3d1fbc..be38d3ff63d34 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -506,6 +506,7 @@ req_components = list( /obj/item/stock_parts/micro_laser = 1, /obj/item/stock_parts/capacitor = 1, + /obj/item/stock_parts/cell = 1, /obj/item/stack/cable_coil = 3) needs_anchored = FALSE diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 3239064b6bff8..fccd2d2a0d98f 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -150,7 +150,8 @@ item_flags = ISWEAPON throw_speed = 3 throw_range = 7 - attack_verb = list("HONKED") + attack_verb_continuous = list("HONKS") + attack_verb_simple = list("HONK") tool_behaviour = TOOL_BIKEHORN toolspeed = 1 ///sound file given to the squeaky component we make in Initialize() so sub-types can specify their own sound diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index d53776dd14bd3..fbdf6d1d87cee 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -255,7 +255,8 @@ throw_speed = 3 throw_range = 6 hitsound = 'sound/weapons/genhit.ogg' - attack_verb = list("stubbed", "poked") + attack_verb_continuous = list("stubs", "pokes") + attack_verb_simple = list("stub", "poke") extended = 0 var/extended_force = 10 var/extended_throwforce = 7 @@ -273,7 +274,8 @@ w_class = WEIGHT_CLASS_SMALL //if it becomes normal you can decapitate a guy with a straight razor throwforce = extended_throwforce icon_state = extended_icon_state - attack_verb = list("slashed", "stabbed", "sliced", "slit", "shaved", "diced", "cut") + attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE @@ -283,7 +285,8 @@ w_class = WEIGHT_CLASS_TINY throwforce = initial(throwforce) icon_state = initial(icon_state) - attack_verb = list("stubbed", "poked") + attack_verb_continuous = list("stubs", "pokes") + attack_verb_simple = list("stub", "poke") hitsound = 'sound/weapons/genhit.ogg' sharpness = IS_BLUNT bleed_force = 0 diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm index 516360f38ae8b..2f77ae200947f 100644 --- a/code/game/objects/items/courtroom.dm +++ b/code/game/objects/items/courtroom.dm @@ -10,7 +10,8 @@ force = 5 throwforce = 6 w_class = WEIGHT_CLASS_SMALL - attack_verb = list("bashed", "battered", "judged", "whacked") + attack_verb_continuous = list("bashes", "batters", "judges", "whacks") + attack_verb_simple = list("bash", "batter", "judge", "whack") resistance_flags = FLAMMABLE /obj/item/gavelhammer/suicide_act(mob/living/user) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 5b4b0946fea3e..86c70df846b98 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -4,7 +4,8 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "suspiciousphone" w_class = WEIGHT_CLASS_SMALL - attack_verb = list("dumped") + attack_verb_continuous = list("dumps") + attack_verb_simple = list("dump") var/activated = FALSE /obj/item/suspiciousphone/attack_self(mob/user) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 0d1ac193176ce..3a283f3b30cd0 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -28,7 +28,8 @@ var/crayon_color = "red" w_class = WEIGHT_CLASS_TINY - attack_verb = list("attacked", "coloured") + attack_verb_continuous = list("attacks", "colours") + attack_verb_simple = list("attack", "colour") grind_results = list() var/paint_color = "#FF0000" //RGB diff --git a/code/game/objects/items/debug_items.dm b/code/game/objects/items/debug_items.dm index 97377bd2b1a87..dd9f63ee12241 100644 --- a/code/game/objects/items/debug_items.dm +++ b/code/game/objects/items/debug_items.dm @@ -328,6 +328,7 @@ TRAIT_SURGEON, TRAIT_METALANGUAGE_KEY_ALLOWED ) + var/spacewalk_initial /obj/item/debug/orb_of_power/pickup(mob/user) . = ..() @@ -350,12 +351,17 @@ picker.see_override = SEE_INVISIBLE_OBSERVER picker.update_sight() + spacewalk_initial = user.spacewalk + user.spacewalk = TRUE /obj/item/debug/orb_of_power/dropped(mob/living/carbon/human/user) . = ..() var/obj/item/debug/orb_of_power/orb = locate() in user.get_contents() if(orb) return + + user.spacewalk = spacewalk_initial + for(var/each in traits_to_give) REMOVE_TRAIT(user, each, "debug") user.remove_all_languages("debug") @@ -371,3 +377,67 @@ if(!HAS_TRAIT(user, TRAIT_SECURITY_HUD)) hud = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] hud.remove_hud_from(user) + +// kinda works like hilbert, but not really +/obj/item/map_template_diver + name = "Pseudo-world diver" + desc = "A globe that you can dive into a pseudo-world, but there's no way back." + icon_state = "hilbertshotel" + w_class = WEIGHT_CLASS_TINY + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + + var/datum/map_template/map_template = /datum/map_template/debug_target + var/working + var/turf/turf_to_dive + + var/live_server_warning + +/datum/map_template/debug_target + name = "Debug map to test" + mappath = '_maps/map_files/debug/multidir_sprite_debug.dmm' + +// friendly warning setter +/obj/item/map_template_diver/Initialize() + . = ..() +#ifndef DEBUG + live_server_warning = TRUE +#endif + +/obj/item/map_template_diver/attack_self(mob/user) + . = ..() + + if(turf_to_dive) + dive_into(user) + return + + if(!check_rights_for(user.client, R_ADMIN | R_DEBUG)) + client_alert(user.client, "Players are not allowed to use this debug item, even for fun.", "No permission, no fun") + return + if(live_server_warning) + client_alert(user.client, "It looks the server is actually live. Using this may cost the performance of the server. Use this again if you're sure.", "Warning") + live_server_warning = FALSE + return + + if(working) + to_chat(user, "We're creating a map yet.") + return + + if(ispath(map_template)) + create_map(user) + return + +/obj/item/map_template_diver/proc/create_map(mob/user) + set waitfor = FALSE + + to_chat(user, "Creates a map template...") + working = TRUE + map_template = new map_template() + var/datum/space_level/space_level = map_template.load_new_z(null, ZTRAITS_DEBUG) + turf_to_dive = locate(round((world.maxx - map_template.width)/2), round((world.maxy - map_template.height)/2), space_level.z_value) + to_chat(user, "Creation is completed.") + working = FALSE + dive_into(user) + +/obj/item/map_template_diver/proc/dive_into(mob/user) + to_chat(user, "Teleports to the test area.") + user.forceMove(turf_to_dive) diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index e3ba5227963ef..b97e1707c6159 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -187,7 +187,7 @@ else names[M.name] = 1 dat += "[M.name]" - if(!(M.mobility_flags & MOBILITY_STAND)) + if(M.body_position == LYING_DOWN) if(M.buckled) dat += " (Sitting)" else diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index c55f91eca42f0..ed801cfa5e9c0 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -161,7 +161,7 @@ . = ..() master.disrupt() -/obj/effect/dummy/chameleon/relaymove(mob/user, direction) +/obj/effect/dummy/chameleon/relaymove(mob/living/user, direction) if(isspaceturf(loc) || !direction) return //No magical space movement! diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm index d2caaa1fad25e..9eab0fc7db171 100644 --- a/code/game/objects/items/devices/doorCharge.dm +++ b/code/game/objects/items/devices/doorCharge.dm @@ -11,7 +11,8 @@ throw_speed = 1 item_flags = NOBLUDGEON force = 3 - attack_verb = list("blown up", "exploded", "detonated") + attack_verb_continuous = list("explodes", "detonates") + attack_verb_simple = list("explode", "detonate") custom_materials = list(/datum/material/iron=50, /datum/material/glass=30) /obj/item/doorCharge/ex_act(severity, target) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 1c5446cf371b4..6aa2ee923e4d4 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -13,14 +13,16 @@ slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) actions_types = list(/datum/action/item_action/toggle_light) - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 light_power = 1 light_on = FALSE - var/on = FALSE + /// The sound the light makes when it's turned on var/sound_on = 'sound/items/flashlight_on.ogg' + /// The sound the light makes when it's turned off var/sound_off = 'sound/items/flashlight_off.ogg' - + /// Is the light turned on or off currently + var/on = FALSE /obj/item/flashlight/Initialize(mapload) . = ..() @@ -41,16 +43,18 @@ if(light_system == STATIC_LIGHT) update_light() - -/obj/item/flashlight/attack_self(mob/user) +/obj/item/flashlight/proc/toggle_lights(mob/user) on = !on + playsound(user, on ? sound_on : sound_off, 40, TRUE) update_brightness(user) update_action_buttons() - return 1 + +/obj/item/flashlight/attack_self(mob/user) + toggle_lights(user) /obj/item/flashlight/suicide_act(mob/living/carbon/human/user) if (user.is_blind()) - user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!") + user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on... but [user.p_theyre()] blind!") return SHAME user.visible_message("[user] is putting [src] close to [user.p_their()] eyes and turning it on! It looks like [user.p_theyre()] trying to commit suicide!") return FIRELOSS @@ -178,6 +182,7 @@ icon_state = "penlight" item_state = "" worn_icon_state = "pen" + w_class = WEIGHT_CLASS_TINY flags_1 = CONDUCT_1 light_range = 2 var/holo_cooldown = 0 @@ -191,7 +196,7 @@ var/T = get_turf(target) if(locate(/mob/living) in T) new /obj/effect/temp_visual/medical_holosign(T,user) //produce a holographic glow - holo_cooldown = world.time + 100 + holo_cooldown = world.time + 10 SECONDS return /obj/effect/temp_visual/medical_holosign @@ -202,7 +207,7 @@ /obj/effect/temp_visual/medical_holosign/Initialize(mapload, creator) . = ..() - playsound(loc, 'sound/machines/ping.ogg', 50, 0) //make some noise! + playsound(loc, 'sound/machines/ping.ogg', 50, FALSE) //make some noise! if(creator) visible_message("[creator] created a medical hologram!") @@ -229,6 +234,7 @@ righthand_file = 'icons/mob/inhands/items_righthand.dmi' force = 10 light_range = 5 + light_system = STATIC_LIGHT w_class = WEIGHT_CLASS_BULKY flags_1 = CONDUCT_1 custom_materials = null @@ -274,6 +280,7 @@ var/produce_heat = 1500 heat = 1000 light_color = LIGHT_COLOR_FLARE + light_system = MOVABLE_LIGHT grind_results = list(/datum/reagent/sulfur = 15) sound_on = 'sound/items/matchstick_lit.ogg' sound_off = null @@ -358,6 +365,7 @@ righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi' desc = "A mining lantern." light_range = 6 // luminosity when on + light_system = MOVABLE_LIGHT /obj/item/flashlight/lantern/heirloom_moth name = "old lantern" @@ -445,8 +453,10 @@ custom_price = 10 w_class = WEIGHT_CLASS_SMALL light_range = 4 + light_system = MOVABLE_LIGHT color = LIGHT_COLOR_GREEN icon_state = "glowstick" + base_icon_state = "glowstick" item_state = "glowstick" grind_results = list(/datum/reagent/phenol = 15, /datum/reagent/hydrogen = 10, /datum/reagent/oxygen = 5) //Meth-in-a-stick var/burn_pickup = FALSE //If true, fuel will only decrease after being picked up or used in hand (Useful for mapping) @@ -472,24 +482,30 @@ /obj/item/flashlight/glowstick/proc/turn_off() on = FALSE - update_icon() + update_appearance() -/obj/item/flashlight/glowstick/update_icon() - item_state = "glowstick" - cut_overlays() +/obj/item/flashlight/glowstick/update_appearance(updates=ALL) + . = ..() if(fuel <= 0) - icon_state = "glowstick-empty" - cut_overlays() set_light_on(FALSE) - else if(on) - var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") - glowstick_overlay.color = color - add_overlay(glowstick_overlay) - item_state = "glowstick-on" + return + if(on) set_light_on(TRUE) - else - icon_state = "glowstick" - cut_overlays() + return + +/obj/item/flashlight/glowstick/update_icon_state() + icon_state = "[base_icon_state][(fuel <= 0) ? "-empty" : ""]" + item_state = "[base_icon_state][((fuel > 0) && on) ? "-on" : ""]" + return ..() + +/obj/item/flashlight/glowstick/update_overlays() + . = ..() + if(fuel <= 0 && !on) + return + + var/mutable_appearance/glowstick_overlay = mutable_appearance(icon, "glowstick-glow") + glowstick_overlay.color = color + . += glowstick_overlay /obj/item/flashlight/glowstick/pickup(mob/user) ..() @@ -574,7 +590,7 @@ name = "disco light" desc = "Groovy..." icon_state = null - light_system = STATIC_LIGHT + light_system = MOVABLE_LIGHT light_range = 4 light_power = 10 alpha = 0 @@ -623,6 +639,7 @@ /obj/item/flashlight/eyelight name = "eyelight" desc = "This shouldn't exist outside of someone's head, how are you seeing this?" + light_system = MOVABLE_LIGHT light_range = 15 light_power = 1 flags_1 = CONDUCT_1 diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index dc48ec35dff31..e0a8ea48ed4f2 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -148,7 +148,7 @@ return var/mob/living/carbon/human/H = M if(iscatperson(H) && !H.is_blind()) //catpeople! - if(user.mobility_flags & MOBILITY_STAND) + if(user.body_position == STANDING_UP) H.setDir(get_dir(H,targloc)) // kitty always looks at the light if(prob(effectchance)) H.visible_message("[H] makes a grab for the light!","LIGHT!") @@ -161,9 +161,11 @@ else if(iscat(M)) //cats! var/mob/living/simple_animal/pet/cat/C = M if(prob(50)) + if(C.resting) + C.set_resting(FALSE, instant = TRUE) C.visible_message("[C] pounces on the light!","LIGHT!") C.Move(targloc) - C.set_resting(TRUE, FALSE) + C.Immobilize(1 SECONDS) else C.visible_message("[C] looks uninterested in your games.","You spot [user] shining [src] at you. How insulting!") diff --git a/code/game/objects/items/devices/reverse_bear_trap.dm b/code/game/objects/items/devices/reverse_bear_trap.dm index 296bc9981a0df..f1159d676953e 100644 --- a/code/game/objects/items/devices/reverse_bear_trap.dm +++ b/code/game/objects/items/devices/reverse_bear_trap.dm @@ -7,7 +7,6 @@ flags_1 = CONDUCT_1 resistance_flags = FIRE_PROOF | UNACIDABLE w_class = WEIGHT_CLASS_NORMAL - obj_integrity = 300 max_integrity = 300 item_state = "rack_parts" lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 11358743e677e..d702c879b1213 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -287,8 +287,6 @@ GENE SCANNER healthy = FALSE if(healthy) message += "\tHealthy." - else - message += "\tSubject does not have ears." var/obj/item/organ/eyes/eyes = C.getorganslot(ORGAN_SLOT_EYES) message += "\t==EYE STATUS==" if(istype(eyes)) @@ -310,9 +308,6 @@ GENE SCANNER healthy = FALSE if(healthy) message += "\tHealthy." - else - message += "\tSubject does not have eyes." - // Body part damage report if(iscarbon(M)) @@ -348,6 +343,7 @@ GENE SCANNER var/minor_damage var/major_damage var/max_damage + var/list/missing_organ_list = list() var/report_organs = FALSE //Piece together the lists to be reported @@ -377,7 +373,10 @@ GENE SCANNER else minor_damage = "\tMildly Damaged Organs: " minor_damage += organ.name - + for(var/obj/item/organ/each_organ as anything in H.dna.species.required_organs) //Start checking against the carbon mob, seeing if there is any organs missing. + if(isnull(H.getorgan(each_organ))) //Can we find the given organ in the mob? + missing_organ_list += initial(each_organ.name) //If not, add it to the list. + report_organs = TRUE if(report_organs) //we either finish the list, or set it to be empty if no organs were reported in that category if(!max_damage) max_damage = "\tNon-Functional Organs: " @@ -394,6 +393,8 @@ GENE SCANNER message += minor_damage message += major_damage message += max_damage + if(length(missing_organ_list)) //If we have missing organs, display them in a fancy list. + message += "\tMissing Organs: [english_list(missing_organ_list)]" //Genetic damage if(advanced && H.has_dna()) message += "\tGenetic Stability: [H.dna.stability]%." diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index 3f9c1d818ea81..9b98b13ad763e 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -194,7 +194,8 @@ effective or pretty fucking useless. item_state = "utility" worn_icon_state = "utility" slot_flags = ITEM_SLOT_BELT - attack_verb = list("whipped", "lashed", "disciplined") + attack_verb_continuous = list("whips", "lashes", "disciplines") + attack_verb_simple = list("whip", "lash", "discipline") var/mob/living/carbon/human/user = null var/charge = 300 @@ -261,7 +262,8 @@ effective or pretty fucking useless. worn_icon_state = "sheetblack" slot_flags = ITEM_SLOT_NECK layer = MOB_LAYER - attack_verb = null + attack_verb_continuous = null + attack_verb_simple = null /obj/item/shadowcloak/magician/attackby(obj/item/W, mob/user, params) . = ..() diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index 6b575424b02c8..758e005962151 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -19,7 +19,8 @@ item_flags = ISWEAPON var/saber_color = "green" light_color = "#00ff00"//green - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_level = 2 block_upgrade_walk = 1 block_power = 70 diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index 0352093079ad4..d25de6a13e892 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -12,7 +12,8 @@ throw_range = 7 force = 10 custom_materials = list(/datum/material/iron = 90) - attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed") + attack_verb_continuous = list("slams", "whacks", "bashes", "thunks", "batters", "bludgeons", "thrashes") + attack_verb_simple = list("slam", "whack", "bash", "thunk", "batter", "bludgeon", "thrash") dog_fashion = /datum/dog_fashion/back resistance_flags = FIRE_PROOF var/max_water = 50 diff --git a/code/game/objects/items/fireaxe.dm b/code/game/objects/items/fireaxe.dm index d5e4186e02a14..4a5a13943e8de 100644 --- a/code/game/objects/items/fireaxe.dm +++ b/code/game/objects/items/fireaxe.dm @@ -12,7 +12,8 @@ throwforce = 15 w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") + attack_verb_continuous = list("attacks", "chops", "cleaves", "tears", "lacerates", "cuts") + attack_verb_simple = list("attack", "chop", "cleave", "tear", "lacerate", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm index 29018518ab332..eb5dfd32eb23d 100644 --- a/code/game/objects/items/food/bread.dm +++ b/code/game/objects/items/food/bread.dm @@ -286,7 +286,8 @@ bite_consumption = 3 w_class = WEIGHT_CLASS_NORMAL slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT - attack_verb = list("touche") + attack_verb_continuous = list("touche's") + attack_verb_simple = list("touche") tastes = list("bread" = 1) foodtypes = GRAIN diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm index 88ed34df18b6b..23226ece4f125 100644 --- a/code/game/objects/items/food/meatdish.dm +++ b/code/game/objects/items/food/meatdish.dm @@ -317,7 +317,7 @@ food_reagents = list(/datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/nutriment/vitamin = 2) tastes = list("meat" = 1) foodtypes = MEAT | RAW - eatverbs = list("bite","chew","nibble","deep throat","gobble","chomp") + eatverbs = list("bite","chew","nibble","gobble","chomp") w_class = WEIGHT_CLASS_SMALL /obj/item/food/raw_sausage/make_grillable() diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index b6b5df75ec0c1..2bea2d0e998ce 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -165,7 +165,8 @@ attack_weight = 2 armour_penetration = 80 //wound_bonus = -50 - attack_verb = list("slapped", "slathered") + attack_verb_continuous = list("slaps", "slathers") + attack_verb_simple = list("slap", "slather") w_class = WEIGHT_CLASS_BULKY tastes = list("cherry" = 1, "crepe" = 1) foodtypes = GRAIN | FRUIT | SUGAR diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 0c5249ca9aa32..f10620228adfb 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -6,19 +6,6 @@ user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") return OXYLOSS -/obj/item/restraints/Destroy() - if(iscarbon(loc)) - var/mob/living/carbon/M = loc - if(M.handcuffed == src) - M.set_handcuffed(null) - M.update_handcuffed() - if(M.buckled?.buckle_requires_restraints) - M.buckled.unbuckle_mob(M) - if(M.legcuffed == src) - M.legcuffed = null - M.update_inv_legcuffed() - return ..() - //Handcuffs /obj/item/restraints/handcuffs @@ -55,12 +42,12 @@ return if(!C.handcuffed) - if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()) + if(C.canBeHandcuffed()) C.visible_message("[user] is trying to put [src.name] on [C]!", \ "[user] is trying to put [src.name] on you!") playsound(loc, cuffsound, 30, 1, -2) - if(do_after(user, 4 SECONDS, C) && (C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore())) + if(do_after(user, 4 SECONDS, C) && C.canBeHandcuffed()) if(iscyborg(user)) apply_cuffs(C, user, TRUE) else @@ -272,9 +259,9 @@ var/def_zone = BODY_ZONE_CHEST if(snap && iscarbon(L)) var/mob/living/carbon/C = L - if(C.mobility_flags & MOBILITY_STAND) + if(C.body_position == STANDING_UP) def_zone = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) - if(!C.legcuffed && C.get_num_legs(FALSE) >= 2) //beartrap can't cuff your leg if there's already a beartrap or legcuffs, or you don't have two legs. + if(!C.legcuffed && C.num_legs >= 2) //beartrap can't cuff your leg if there's already a beartrap or legcuffs, or you don't have two legs. C.legcuffed = src forceMove(C) C.update_equipment_speed_mods() @@ -347,7 +334,7 @@ * * C - the carbon that we will try to ensnare */ /obj/item/restraints/legcuffs/bola/proc/ensnare(mob/living/carbon/C) - if(!C.legcuffed && C.get_num_legs(FALSE) >= 2) + if(!C.legcuffed && C.num_legs >= 2) visible_message("\The [src] ensnares [C]!") C.legcuffed = src forceMove(C) diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index c47136f77d836..f26f5bb35e1b8 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -16,7 +16,8 @@ item_flags = ISWEAPON force = 12 block_upgrade_walk = 1 - attack_verb = list("robusted") + attack_verb_continuous = list("robusts") + attack_verb_simple = list("robust") hitsound = 'sound/weapons/smash.ogg' drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' @@ -72,7 +73,7 @@ else . += "[src] is latched closed." -/obj/item/his_grace/relaymove(mob/living/user) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active +/obj/item/his_grace/relaymove(mob/living/user, direction) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active if(!awakened) user.forceMove(get_turf(src)) user.visible_message("[user] scrambles out of [src]!", "You climb out of [src]!") diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 201f7bb1d21ef..992446e2edcf5 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -282,7 +282,8 @@ w_class = WEIGHT_CLASS_HUGE hitsound = 'sound/weapons/sear.ogg' damtype = BURN - attack_verb = list("punched", "cross countered", "pummeled") + attack_verb_continuous = list("punches", "cross counters", "pummels") + attack_verb_simple = list("punch", "cross counter", "pummel") block_upgrade_walk = 0 /obj/item/nullrod/godhand/Initialize(mapload) @@ -331,7 +332,8 @@ sharpness = IS_SHARP bleed_force = BLEED_CUT hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") /obj/item/nullrod/claymore/darkblade name = "dark blade" @@ -353,7 +355,8 @@ item_state = "chainswordon" worn_icon_state = "chainswordon" slot_flags = ITEM_SLOT_BELT - attack_verb = list("sawed", "tore", "cut", "chopped", "diced") + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") hitsound = 'sound/weapons/chainsawhit.ogg' tool_behaviour = TOOL_SAW toolspeed = 1.5 //slower than a real saw @@ -424,7 +427,8 @@ force = 4.13 throwforce = 1 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_level = 1 /obj/item/nullrod/sord/on_block(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", damage = 0, attack_type = MELEE_ATTACK) @@ -450,7 +454,8 @@ slot_flags = ITEM_SLOT_BACK sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("chopped", "sliced", "cut", "reaped") + attack_verb_continuous = list("chops", "slices", "cuts", "reaps") + attack_verb_simple = list("chop", "slice", "cut", "reap") /obj/item/nullrod/scythe/Initialize(mapload) . = ..() @@ -464,7 +469,8 @@ worn_icon_state = "hfrequency0" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' - attack_verb = list("chopped", "sliced", "cut", "zandatsu'd") + attack_verb_continuous = list("chops", "slices", "cuts", "zandatsu's") + attack_verb_simple = list("chop", "slice", "cut", "zandatsu") hitsound = 'sound/weapons/rapierhit.ogg' /obj/item/nullrod/scythe/spellblade @@ -486,11 +492,12 @@ lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' worn_icon_state = "talking_sword" - attack_verb = list("chopped", "sliced", "cut") + attack_verb_continuous = list("chops", "slices", "cuts") + attack_verb_simple= list("chop", "slice", "cut") hitsound = 'sound/weapons/rapierhit.ogg' var/possessed = FALSE -/obj/item/nullrod/scythe/talking/relaymove(mob/user) +/obj/item/nullrod/scythe/talking/relaymove(mob/living/user, direction) return //stops buckled message spam for the ghost. /obj/item/nullrod/scythe/talking/attack_self(mob/living/user) @@ -539,7 +546,8 @@ chaplain_spawnable = FALSE force = 30 slot_flags = ITEM_SLOT_BELT - attack_verb = list("sawed", "tore", "cut", "chopped", "diced") + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") hitsound = 'sound/weapons/chainsawhit.ogg' tool_behaviour = TOOL_SAW toolspeed = 0.5 //faster than normal saw @@ -554,7 +562,8 @@ righthand_file = 'icons/mob/inhands/weapons/hammers_righthand.dmi' slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_HUGE - attack_verb = list("smashed", "bashed", "hammered", "crunched") + attack_verb_continuous = list("smashes", "bashes", "hammers", "crunches") + attack_verb_simple = list("smash", "bash", "hammer", "crunch") attack_weight = 2 /obj/item/nullrod/chainsaw @@ -568,7 +577,8 @@ item_flags = ABSTRACT | ISWEAPON sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("sawed", "tore", "cut", "chopped", "diced") + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") hitsound = 'sound/weapons/chainsawhit.ogg' tool_behaviour = TOOL_SAW toolspeed = 2 //slower than a real saw @@ -593,7 +603,8 @@ hitsound = 'sound/items/bikehorn.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") /obj/item/nullrod/pride_hammer name = "Pride-struck Hammer" @@ -604,7 +615,8 @@ throwforce = 15 w_class = 4 slot_flags = ITEM_SLOT_BACK - attack_verb = list("attacked", "smashed", "crushed", "splattered", "cracked") + attack_verb_continuous = list("attacks", "smashes", "crushes", "splatters", "cracks") + attack_verb_simple = list("attack", "smash", "crush", "splatter", "crack") hitsound = 'sound/weapons/blade1.ogg' attack_weight = 2 @@ -627,7 +639,8 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' slot_flags = ITEM_SLOT_BELT - attack_verb = list("whipped", "lashed") + attack_verb_continuous = list("whips", "lashes") + attack_verb_simple = list("whip", "lash") hitsound = 'sound/weapons/chainhit.ogg' /obj/item/nullrod/fedora @@ -644,7 +657,8 @@ throwforce = 30 sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("enlightened", "redpilled") + attack_verb_continuous = list("enlightens", "redpills") + attack_verb_simple = list("enlighten", "redpill") /obj/item/nullrod/armblade name = "dark blessing" @@ -681,7 +695,8 @@ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' force = 15 - attack_verb = list("bitten", "eaten", "fin slapped") + attack_verb_continuous = list("bites", "eats", "fin slaps") + attack_verb_simple = list("bite", "eat", "fin slap") hitsound = 'sound/weapons/bite.ogg' var/used_blessing = FALSE @@ -701,7 +716,8 @@ slot_flags = ITEM_SLOT_BACK sharpness = IS_BLUNT hitsound = "swing_hit" - attack_verb = list("smashed", "slammed", "whacked", "thwacked") + attack_verb_continuous = list("smashes", "slams", "whacks", "thwacks") + attack_verb_simple = list("smash", "slam", "whack", "thwack") icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" item_state = "bostaff0" @@ -721,7 +737,8 @@ bleed_force = BLEED_CUT slot_flags = null hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") item_flags = SLOWS_WHILE_IN_HAND /obj/item/nullrod/tribal_knife/Initialize(mapload) @@ -749,7 +766,8 @@ worn_icon_state = "pitchfork0" w_class = WEIGHT_CLASS_LARGE slot_flags = ITEM_SLOT_BACK - attack_verb = list("poked", "impaled", "pierced", "jabbed") + attack_verb_continuous = list("pokes", "impales", "pierces", "jabs") + attack_verb_simple = list("poke", "impale", "pierce", "jab") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT @@ -765,7 +783,8 @@ worn_icon_state = "pharoah_sceptre" w_class = WEIGHT_CLASS_LARGE slot_flags = ITEM_SLOT_BACK - attack_verb = list("bashes", "smacks", "whacks") + attack_verb_continuous = list("bashes", "smacks", "whacks") + attack_verb_simple = list("bash", "smack", "whack") /obj/item/nullrod/hypertool name = "hypertool" @@ -779,7 +798,8 @@ slot_flags = ITEM_SLOT_BELT armour_penetration = 35 damtype = BRAIN - attack_verb = list("pulsed", "mended", "cut") + attack_verb_continuous = list("pulses", "mends", "cuts") + attack_verb_simple = list("pulse", "mend", "cut") hitsound = 'sound/effects/sparks4.ogg' /obj/item/nullrod/spear @@ -795,5 +815,6 @@ sharpness = IS_SHARP_ACCURATE bleed_force = BLEED_CUT w_class = WEIGHT_CLASS_BULKY - attack_verb = list("stabbed", "poked", "slashed", "clocked") + attack_verb_continuous = list("stabs", "pokes", "slashes", "clocks") + attack_verb_simple = list("stab", "poke", "slash", "clock") hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/game/objects/items/hot_potato.dm b/code/game/objects/items/hot_potato.dm index 9d05a23523b47..cb9ecb13a97d3 100644 --- a/code/game/objects/items/hot_potato.dm +++ b/code/game/objects/items/hot_potato.dm @@ -103,7 +103,7 @@ return FALSE if(!victim.client) to_chat(user, "[src] refuses to attach to a non-sapient creature!") - if(victim.stat != CONSCIOUS || !victim.get_num_legs()) + if(victim.stat != CONSCIOUS || !victim.usable_legs) to_chat(user, "[src] refuses to attach to someone incapable of using it!") user.temporarilyRemoveItemFromInventory(src, TRUE) . = FALSE diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index 5f3c40b2a6f38..1cc169de68e8f 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -41,7 +41,6 @@ imp_in.SetImmobilized(0) imp_in.adjustStaminaLoss(-200) imp_in.set_resting(FALSE) - imp_in.update_mobility() imp_in.reagents.add_reagent(/datum/reagent/medicine/synaptizine, 10) imp_in.reagents.add_reagent(/datum/reagent/medicine/omnizine, 10) diff --git a/code/game/objects/items/implants/implantchair.dm b/code/game/objects/items/implants/implantchair.dm index c8f4dc1e23c9f..d982a4eab9f28 100644 --- a/code/game/objects/items/implants/implantchair.dm +++ b/code/game/objects/items/implants/implantchair.dm @@ -134,7 +134,7 @@ "You successfully break out of [src]!") open_machine() -/obj/machinery/implantchair/relaymove(mob/user) +/obj/machinery/implantchair/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) message_cooldown = world.time + 50 to_chat(user, "[src]'s door won't budge!") @@ -144,9 +144,10 @@ return if(isliving(user)) var/mob/living/L = user - if(!(L.mobility_flags & MOBILITY_STAND)) + if(L.body_position == LYING_DOWN) return close_machine(target) + /obj/machinery/implantchair/close_machine(mob/living/user) if((isnull(user) || istype(user)) && state_open) diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index c56fd8b8574e7..04ccf705ba49e 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -106,7 +106,10 @@ var/coefficient = 1 var/obj/item/organ/stomach/battery/battery if(istype(A, /obj/item/gun/energy)) - to_chat(user,"Error unable to interface with device") + to_chat(user, "Error unable to interface with device.") + return FALSE + if(istype(A, /obj/item/clothing/suit/space)) + to_chat(user, "Error unable to interface with device.") return FALSE if(istype(A, /obj)) O = A diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 04bcfbc2fee83..9949cd605d231 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -26,7 +26,8 @@ throw_range = 5 custom_materials = list(/datum/material/iron=80) flags_1 = CONDUCT_1 - attack_verb = list("attacked", "stabbed", "poked") + attack_verb_continuous = list("attacks", "stabs", "pokes") + attack_verb_simple = list("attack", "stab", "poke") hitsound = 'sound/weapons/bladeslice.ogg' armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30, STAMINA = 0, BLEED = 0) var/datum/reagent/forkload //used to eat omelette @@ -84,7 +85,8 @@ throw_range = 7 custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 1.5) w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack") custom_price = 20 tool_behaviour = TOOL_ROLLINGPIN diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index c5ddeed82da17..f62317ac872de 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -16,8 +16,8 @@ throw_speed = 3 throw_range = 6 custom_materials = list(/datum/material/iron=12000) - attack_verb = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") - //attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") + attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") sharpness = IS_SHARP_ACCURATE bleed_force = BLEED_CUT armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) @@ -67,7 +67,8 @@ force = 15 throwforce = 10 custom_materials = list(/datum/material/iron=18000) - attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("cleaves", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("cleave", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") w_class = WEIGHT_CLASS_NORMAL custom_price = 60 @@ -116,7 +117,8 @@ embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE, "armour_block" = 60) force = 20 throwforce = 20 - attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "cut") + attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "cuts") + attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "cut") bayonet = TRUE /obj/item/knife/combat/survival @@ -156,7 +158,8 @@ force = 8 throwforce = 12//fuck git custom_materials = list() - attack_verb = list("shanked", "shivved") + attack_verb_continuous = list("shanks", "shivs") + attack_verb_simple = list("shank", "shiv") armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0, BLEED = 0) // Shank - Makeshift weapon that can embed on throw @@ -173,7 +176,8 @@ throw_speed = 5 //yeets armour_penetration = 10 //spear has 10 armour pen, I think its fitting another glass tipped item should have it too embedding = list("embedded_pain_multiplier" = 6, "embed_chance" = 40, "embedded_fall_chance" = 5, "armour_block" = 30) // Incentive to disengage/stop chasing when stuck - attack_verb = list("stuck", "shanked") + attack_verb_continuous = list("sticks", "shanks") + attack_verb_simple = list("stuck", "shank") /obj/item/knife/shank/suicide_act(mob/living/user) user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat")] with the shank! It looks like [user.p_theyre()] trying to commit suicide.") diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index db47e9aa38ca2..80e85941e5f0f 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -101,14 +101,6 @@
  • Install the external reinforced armor plating (not included due to Nanotrasen regulations. Can be made using 5 reinforced iron sheets).
  • Secure the external reinforced armor plating with a wrench.
  • Weld the external reinforced armor plating to the chassis.
  • -
  • -
  • Additional Information:
  • -
  • The firefighting variation is made in a similar fashion.
  • -
  • A firesuit must be connected to the Firefighter chassis for heat shielding.
  • -
  • Internal armor is plasteel for additional strength.
  • -
  • External armor must be installed in 2 parts, totaling 10 sheets.
  • -
  • Completed mech is more resiliant against fire, and is a bit more durable overall.
  • -
  • Nanotrasen is determined to the safety of its investments employees.
  • diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 4dbf1a193df9b..054c9f0083f01 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -80,7 +80,7 @@ w_class_on = WEIGHT_CLASS_HUGE flags_1 = CONDUCT_1 armour_penetration = 100 - attack_verb_off = list("attacked", "chopped", "cleaved", "tore", "cut") + attack_verb_off = list("attacks", "chops", "cleaves", "tears", "lacerates", "cuts") attack_verb_on = list() light_color = "#40ceff" @@ -98,7 +98,7 @@ throwforce = 5 throwforce_on = 35 //Does a lot of damage on throw, but will embed hitsound = "swing_hit" //it starts deactivated - attack_verb_off = list("tapped", "poked") + attack_verb_off = list("taps", "pokes") throw_speed = 3 throw_range = 5 sharpness = IS_SHARP diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index b0e6ea72f9f53..2992edcff8098 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -22,7 +22,8 @@ force = 10 throwforce = 7 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("flogged", "whipped", "lashed", "disciplined") + attack_verb_continuous = list("flogs", "whips", "lashes", "disciplines") + attack_verb_simple = list("flog", "whip", "lash", "discipline") hitsound = 'sound/weapons/chainhit.ogg' custom_materials = list(/datum/material/iron = 1000) @@ -43,7 +44,8 @@ force = 20 throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") sharpness = IS_SHARP bleed_force = BLEED_CUT @@ -70,7 +72,8 @@ armour_penetration = 75 sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("slashed", "cut") + attack_verb_continuous = list("slashes", "cuts") + attack_verb_simple = list("slash", "cut") hitsound = 'sound/weapons/rapierhit.ogg' custom_materials = list(/datum/material/iron = 1000) @@ -575,7 +578,8 @@ item_state = on_item_state w_class = weight_class_on force = force_on - attack_verb = list("smacked", "struck", "cracked", "beaten") + attack_verb_continuous = list("smacks", "strikes", "cracks", "beats") + attack_verb_simple = list("smack", "strike", "crack", "beat") else to_chat(user, desc["local_off"]) icon_state = off_icon_state @@ -583,7 +587,8 @@ slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL force = force_off - attack_verb = list("hit", "poked") + attack_verb_continuous = list("hits", "pokes") + attack_verb_simple = list("hit", "poke") playsound(src.loc, on_sound, 50, 1) add_fingerprint(user) @@ -636,7 +641,8 @@ item_state = on_item_state w_class = weight_class_on force = force_on - attack_verb = list("smacked", "struck", "cracked", "beaten") + attack_verb_continuous = list("smacks", "strikes", "cracks", "beats") + attack_verb_simple = list("smack", "strike", "crack", "beat") else to_chat(user, desc["local_off"]) icon_state = off_icon_state @@ -644,7 +650,8 @@ slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL force = force_off - attack_verb = list("hit", "poked") + attack_verb_continuous = list("hits", "pokes") + attack_verb_simple = list("hit", "poke") playsound(src.loc, on_sound, 50, TRUE) add_fingerprint(user) @@ -893,7 +900,8 @@ force = 0.001 //"Some attack noises shit" reach = 3 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("flogged", "whipped", "lashed", "disciplined") + attack_verb_continuous = list("flogs", "whips", "lashes", "disciplines") + attack_verb_simple = list("flog", "whip", "lash", "discipline") hitsound = 'sound/weapons/whip.ogg' /obj/item/melee/curator_whip/attack(mob/living/target, mob/living/user) @@ -946,7 +954,8 @@ w_class = WEIGHT_CLASS_SMALL item_flags = ISWEAPON force = 0 - attack_verb = list("hit", "poked") + attack_verb_continuous = list("hits", "pokes") + attack_verb_simple = list("hit", "poke") var/obj/item/food/sausage/held_sausage var/static/list/ovens var/on = FALSE @@ -1058,7 +1067,8 @@ force = 0 throwforce = 0 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("repelled") + attack_verb_continuous = list("repells") + attack_verb_simple = list("repell") var/cooldown = 0 var/knockbackpower = 6 diff --git a/code/game/objects/items/melee/transforming.dm b/code/game/objects/items/melee/transforming.dm index be7012a8694ee..a556f326681e2 100644 --- a/code/game/objects/items/melee/transforming.dm +++ b/code/game/objects/items/melee/transforming.dm @@ -8,8 +8,8 @@ var/bleed_force_on = BLEED_CUT var/icon_state_on = "axe1" var/hitsound_on = 'sound/weapons/blade1.ogg' - var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") - var/list/attack_verb_off = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + var/list/attack_verb_on = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + var/list/attack_verb_off = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") w_class = WEIGHT_CLASS_SMALL var/bonus_active = FALSE //If the faction damage bonus is active var/list/nemesis_factions //Any mob with a faction that exists in this list will take bonus damage/effects @@ -26,10 +26,10 @@ . = ..() if(active) if(attack_verb_on.len) - attack_verb = attack_verb_on + attack_verb_continuous = attack_verb_on else if(attack_verb_off.len) - attack_verb = attack_verb_off + attack_verb_continuous = attack_verb_off if(embedding) updateEmbedding() if(is_sharp()) @@ -60,7 +60,7 @@ hitsound = hitsound_on throw_speed = 4 if(attack_verb_on.len) - attack_verb = attack_verb_on + attack_verb_continuous = attack_verb_on icon_state = icon_state_on w_class = w_class_on bleed_force = bleed_force_on @@ -72,7 +72,7 @@ hitsound = initial(hitsound) throw_speed = initial(throw_speed) if(attack_verb_off.len) - attack_verb = attack_verb_off + attack_verb_continuous = attack_verb_off icon_state = initial(icon_state) w_class = initial(w_class) bleed_force = initial(bleed_force) diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 8b6483a41d13a..a953561b53fbb 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -10,7 +10,8 @@ throw_speed = 2 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - attack_verb = list("warned", "cautioned", "smashed") + attack_verb_continuous = list("warns", "cautions", "smashes") + attack_verb_simple = list("warn", "caution", "smash") /obj/item/choice_beacon name = "choice beacon" @@ -371,7 +372,8 @@ icon = 'icons/obj/items_and_weapons.dmi' icon_state = "skub" w_class = WEIGHT_CLASS_BULKY - attack_verb = list("skubbed") + attack_verb_continuous = list("skubs") + attack_verb_simple = list("skub") /obj/item/skub/suicide_act(mob/living/user) user.visible_message("[user] has declared themself as anti-skub! The skub tears them apart!") diff --git a/code/game/objects/items/mjolnir.dm b/code/game/objects/items/mjolnir.dm index 0d25fe18150e6..279edbcbe96b3 100644 --- a/code/game/objects/items/mjolnir.dm +++ b/code/game/objects/items/mjolnir.dm @@ -156,7 +156,7 @@ if (isobj(target)) var/obj/hit_structure = target hit_structure.take_damage(120) - if (hit_structure.obj_integrity > 0) + if (hit_structure.get_integrity() > 0) qdel(src) if (isliving(target)) var/mob/living/hit_mob = target diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 99035dc38fca4..aa87ec7cd0bb2 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -11,7 +11,8 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_LARGE - attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") + attack_verb_continuous = list("mops", "bashes", "bludgeons", "whacks") + attack_verb_simple = list("mop", "bash", "bludgeon", "whack") resistance_flags = FLAMMABLE var/mopping = 0 var/mopcount = 0 @@ -122,7 +123,8 @@ force = 10 throwforce = 18 throw_speed = 4 - attack_verb = list("mopped", "stabbed", "shanked", "jousted") + attack_verb_continuous = list("mops", "stabs", "shanks", "jousts") + attack_verb_simple = list("mop", "stab", "shank", "joust") sharpness = IS_SHARP bleed_force = BLEED_SURFACE embedding = list("armour_block" = 40) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index 3030ac720eeed..8389506970502 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -12,7 +12,8 @@ lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' righthand_file = 'icons/mob/inhands/items_righthand.dmi' force = 5 - attack_verb = list("bashed", "carried") + attack_verb_continuous = list("bashes", "carries") + attack_verb_simple = list("bash", "carry") w_class = WEIGHT_CLASS_BULKY throw_speed = 2 throw_range = 3 diff --git a/code/game/objects/items/pitchfork.dm b/code/game/objects/items/pitchfork.dm index 4bf6ed8cda10e..8cc87560fcb22 100644 --- a/code/game/objects/items/pitchfork.dm +++ b/code/game/objects/items/pitchfork.dm @@ -10,7 +10,8 @@ block_upgrade_walk = 1 w_class = WEIGHT_CLASS_BULKY item_flags = ISWEAPON - attack_verb = list("attacked", "impaled", "pierced") + attack_verb_continuous = list("attacks", "impales", "pierces") + attack_verb_simple = list("attack", "impale", "pierce") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index efc174b85c5e2..b9e279e84ab4c 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -5,7 +5,8 @@ lefthand_file = 'icons/mob/inhands/plushes_lefthand.dmi' righthand_file = 'icons/mob/inhands/plushes_righthand.dmi' icon_state = "debug" - attack_verb = list("thumped", "whomped", "bumped") + attack_verb_continuous = list("thumps", "whomps", "bumps") + attack_verb_simple = list("thump", "whomp", "bump") w_class = WEIGHT_CLASS_SMALL item_flags = ISWEAPON resistance_flags = FLAMMABLE @@ -370,15 +371,17 @@ name = "space carp plushie" desc = "An adorable stuffed toy that resembles a space carp." icon_state = "carpplush" - attack_verb = list("bitten", "eaten", "fin slapped") - squeak_override = list('sound/weapons/bite.ogg'=1) + attack_verb_continuous = list("bites", "eats", "fin slaps") + attack_verb_simple = list("bite", "eat", "fin slap") + squeak_override = list('sound/weapons/bite.ogg' = 1) /obj/item/toy/plush/bubbleplush name = "\improper Bubblegum plushie" desc = "The friendly red demon that gives good miners gifts." icon_state = "bubbleplush" - attack_verb = list("rent") - squeak_override = list('sound/magic/demon_attack1.ogg'=1) + attack_verb_continuous = list("rents") + attack_verb_simple = list("rent") + squeak_override = list('sound/magic/demon_attack1.ogg' = 1) /obj/item/toy/plush/plushvar name = "\improper Ratvar plushie" @@ -498,7 +501,8 @@ desc = "An adorable stuffed toy that resembles a lizardperson." icon_state = "map_plushie_lizard" greyscale_config = /datum/greyscale_config/plush_lizard - attack_verb = list("clawed", "hissed", "tail slapped") + attack_verb_continuous = list("claws", "hisses", "tail slaps") + attack_verb_simple = list("claw", "hiss", "tail slap") squeak_override = list('sound/weapons/slash.ogg' = 1) /obj/item/toy/plush/lizard_plushie/Initialize(mapload) @@ -526,8 +530,8 @@ icon_state = "map_plushie_spacelizard" greyscale_config = /datum/greyscale_config/plush_spacelizard // space lizards can't hit people with their tail, it's stuck in their suit - attack_verb = list("claws", "hisses", "bops") - //attack_verb_simple = list("claw", "hiss", "bops") + attack_verb_continuous = list("claws", "hisses", "bops") + attack_verb_simple = list("claw", "hiss", "bops") /obj/item/toy/plush/lizard_plushie/space/green desc = "An adorable stuffed toy that resembles a very determined spacefaring green lizardperson. To infinity and beyond, little guy. This one fills you with nostalgia and soul." @@ -537,25 +541,27 @@ name = "snake plushie" desc = "An adorable stuffed toy that resembles a snake. Not to be mistaken for the real thing." icon_state = "snakeplush" - attack_verb = list("bitten", "hissed", "tail slapped") + attack_verb_continuous = list("bites", "hisses", "tail slaps") + attack_verb_simple = list("bite", "hiss", "tail slap") squeak_override = list('sound/weapons/bite.ogg' = 1) /obj/item/toy/plush/nukeplushie name = "operative plushie" desc = "A stuffed toy that resembles a syndicate nuclear operative. The tag claims operatives to be purely fictitious." icon_state = "nukeplush" - attack_verb = list("shot", "nuked", "detonated") + attack_verb_continuous = list("shoots", "nukes", "detonates") + attack_verb_simple = list("shoot", "nuke", "detonate") squeak_override = list('sound/effects/hit_punch.ogg' = 1) /obj/item/toy/plush/slimeplushie name = "slime plushie" desc = "An adorable stuffed toy that resembles a purple slime. It is practically just a hacky sack." icon_state = "slimeplush" - attack_verb = list("blorbled", "slimed", "absorbed") + attack_verb_continuous = list("blorbles", "slimes", "absorbs") + attack_verb_simple = list("blorble", "slime", "absorb") squeak_override = list('sound/effects/blobattack.ogg' = 1) gender = FEMALE //given all the jokes and drawings, I'm not sure the xenobiologists would make a slimeboy - squeak_override = list('sound/effects/blobattack.ogg' = 1) -/// Most of the following is just stolen from the moth plush code for the slimes + /// Most of the following is just stolen from the moth plush code for the slimes var/suicide_count = 0 /obj/item/toy/plush/slimeplushie/suicide_act(mob/living/user) @@ -624,23 +630,26 @@ name = "bee plushie" desc = "A cute toy that resembles an even cuter bee." icon_state = "beeplush" - attack_verb = list("stung") + attack_verb_continuous = list("stings") + attack_verb_simple = list("sting") gender = FEMALE - squeak_override = list('sound/voice/moth/scream_moth.ogg'=1) + squeak_override = list('sound/voice/moth/scream_moth.ogg' = 1) /obj/item/toy/plush/rouny name = "runner plushie" desc = "A plushie depicting a xenomorph runner, made to commemorate the centenary of the Battle of LV-426. Much cuddlier than the real thing." icon_state = "rounyplush" - attack_verb = list("slashes", "bites", "charges") + attack_verb_continuous = list("slashes", "bites", "charges") + attack_verb_simple = list("slash", "bite", "charge") squeak_override = list('sound/weapons/bite.ogg' = 1) /obj/item/toy/plush/moth name = "moth plushie" desc = "An adorable mothperson plushie. It's a huggable bug!" icon_state = "moffplush" - attack_verb = list("fluttered", "flapped") - squeak_override = list('sound/voice/moth/scream_moth.ogg'=1) + attack_verb_continuous = list("flutters", "flaps") + attack_verb_simple = list("flutter", "flap") + squeak_override = list('sound/voice/moth/scream_moth.ogg' = 1) ///Used to track how many people killed themselves with item/toy/plush/moth var/suicide_count = 0 @@ -791,25 +800,42 @@ name = "ghost plushie" desc = "It reminds you of someone important, you just can't make out who." icon_state = "crossedplush" - squeak_override = list('sound/items/haunted/ghostitemattack.ogg'=1) + squeak_override = list('sound/items/haunted/ghostitemattack.ogg' = 1) /obj/item/toy/plush/runtime name = "Runtime plushie" desc = "GPLUSH." icon_state = "runtimeplush" - squeak_override = list('sound/effects/meow1.ogg'=1) + squeak_override = list('sound/effects/meow1.ogg' = 1) /obj/item/toy/plush/gondola name = "gondola plushie" desc = "The silent walker, in plush form." icon_state = "gondolaplush" - squeak_override = list('sound/misc/null.ogg'=1) + squeak_override = list('sound/misc/null.ogg' = 1) /obj/item/toy/plush/flushed name = "flushed plushie" desc = "Hgrgrhrhg cute." icon_state = "flushplush" +/obj/item/toy/plush/shark + name = "shark plushie" + desc = "A big plushie depicting a rather cartoonish, yet cute shark. The tag calls it a 'søthai', noting that it was made by an obscure furniture manufacturer in Scandinavia." + lefthand_file = 'icons/mob/inhands/plushes_lefthand.dmi' + righthand_file = 'icons/mob/inhands/plushes_righthand.dmi' + icon_state = "cuteswedishsharkplush" + squeak_override = list('sound/weapons/bite.ogg' = 1) + +/obj/item/toy/plush/shark/equipped(mob/user, slot) + . = ..() + if(slot == ITEM_SLOT_HANDS) + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "big_plush", /datum/mood_event/bigplush, src) + +/obj/item/toy/plush/shark/dropped(mob/living/carbon/user) + ..() + SEND_SIGNAL(user, COMSIG_CLEAR_MOOD_EVENT, "big_plush") + /obj/item/toy/plush/flushed/rainbow name = "rainbow flushed plushie" desc = "Hgrgrhrhg cuter." @@ -860,7 +886,8 @@ /obj/item/toy/plush/moth/royal, /obj/item/toy/plush/moth/snow, /obj/item/toy/plush/moth/whitefly, - /obj/item/toy/plush/moth/witchwing + /obj/item/toy/plush/moth/witchwing, + /obj/item/toy/plush/shark, ) /obj/item/choice_beacon/radial/plushie/generate_options(mob/living/M) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 62301d1d3afc3..55fe304b9fa8d 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -8,7 +8,8 @@ w_class = WEIGHT_CLASS_BULKY item_flags = ISWEAPON force = 8 //Very heavy - attack_verb = list("bludgeoned", "smashed", "beaten") + attack_verb_continuous = list("bludgeons", "smashes", "beats") + attack_verb_simple = list("bludgeon", "smash", "beat") icon = 'icons/obj/pneumaticCannon.dmi' icon_state = "pneumaticCannon" item_state = "bulldog" diff --git a/code/game/objects/items/powerfist.dm b/code/game/objects/items/powerfist.dm index c730ba8171fdf..f558447a11618 100644 --- a/code/game/objects/items/powerfist.dm +++ b/code/game/objects/items/powerfist.dm @@ -6,7 +6,8 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' flags_1 = CONDUCT_1 - attack_verb = list("whacked", "fisted", "power-punched") + attack_verb_continuous = list("whacks", "fists", "power-punches") + attack_verb_simple = list("whack", "fist", "power-punch") force = 20 attack_weight = 1 throwforce = 10 diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 1f30d22dd2618..30a5b22125a64 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -5,7 +5,8 @@ icon_state = "banner" item_state = "banner" force = 8 - attack_verb = list("forcefully inspired", "violently encouraged", "relentlessly galvanized") + attack_verb_continuous = list("forcefully inspires", "violently encourages", "relentlessly galvanizes") + attack_verb_simple = list("forcefully inspire", "violently encourage", "relentlessly galvanize") lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/banners_righthand.dmi' var/inspiration_available = TRUE //If this banner can be used to inspire crew diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 97be530b0e914..ec62cb221aa5b 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -76,7 +76,7 @@ user.do_attack_animation(M, ATTACK_EFFECT_BOOP) playsound(loc, 'sound/weapons/tap.ogg', 50, 1, -1) else if(ishuman(M)) - if(!(user.mobility_flags & MOBILITY_STAND)) + if(user.body_position == LYING_DOWN) user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \ "You shake [M] trying to get [M.p_them()] up!") else @@ -91,7 +91,7 @@ if(1) if(M.health >= 0) if(ishuman(M)) - if(!(M.mobility_flags & MOBILITY_STAND)) + if(M.body_position == LYING_DOWN) user.visible_message("[user] shakes [M] trying to get [M.p_them()] up!", \ "You shake [M] trying to get [M.p_them()] up!") else if(user.is_zone_selected(BODY_ZONE_HEAD, precise_only = TRUE)) @@ -114,7 +114,6 @@ M.electrocute_act(5, "[user]", flags = SHOCK_NOGLOVES) user.visible_message("[user] electrocutes [M] with [user.p_their()] touch!", \ "You electrocute [M] with your touch!") - M.update_mobility() else if(!iscyborg(M)) M.adjustFireLoss(10) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index e4f792a46c54d..86000c43e0ecf 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -98,7 +98,8 @@ throw_range = 3 w_class = WEIGHT_CLASS_BULKY custom_materials = list(/datum/material/glass=7500, /datum/material/iron=1000) - attack_verb = list("shoved", "bashed") + attack_verb_continuous = list("shoves", "bashes") + attack_verb_simple = list("shove", "bash") var/cooldown = 0 //shield bash cooldown. based on world.time transparent = TRUE @@ -256,7 +257,8 @@ lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' w_class = WEIGHT_CLASS_TINY - attack_verb = list("shoved", "bashed") + attack_verb_continuous = list("shoves", "bashes") + attack_verb_simple = list("shove", "bash") throw_range = 5 force = 3 throwforce = 3 diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 05c042ec6e23a..99e9ac8c494ad 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -4,9 +4,10 @@ desc = "It's blank." force = 5 w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bashed","smacked") + attack_verb_continuous = list("bashes", "smacks") + attack_verb_simple = list("bash", "smack") resistance_flags = FLAMMABLE - + var/label = "" var/last_wave = 0 diff --git a/code/game/objects/items/spear.dm b/code/game/objects/items/spear.dm index fbf2f8b1ee2b5..ae7aaa4f2a6aa 100644 --- a/code/game/objects/items/spear.dm +++ b/code/game/objects/items/spear.dm @@ -16,7 +16,8 @@ armour_penetration = 10 custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + attack_verb_continuous = list("attacks", "pokes", "jabs", "tears", "lacerates", "gores") + attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") sharpness = IS_SHARP bleed_force = BLEED_CUT max_integrity = 200 @@ -136,7 +137,8 @@ /obj/item/spear/grey_tide name = "\improper Grey Tide" desc = "Recovered from the aftermath of a revolt aboard Defense Outpost Theta Aegis, in which a seemingly endless tide of Assistants caused heavy casualities among Nanotrasen military forces." - attack_verb = list("gored") + attack_verb_continuous = list("gores") + attack_verb_simple = list("gore") force=15 /obj/item/spear/grey_tide/ComponentInitialize() @@ -190,7 +192,8 @@ embedding = list("armour_block" = 30, "max_damage_mult" = 0.5) armour_penetration = 10 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "tore", "gored") + attack_verb_continuous = list("attacks", "pokes", "jabs", "tears", "lacerates", "gores") + attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") sharpness = IS_SHARP bleed_force = BLEED_CUT diff --git a/code/game/objects/items/stacks/rods/rods.dm b/code/game/objects/items/stacks/rods/rods.dm index b16603af6d8fc..4ade958ee737a 100644 --- a/code/game/objects/items/stacks/rods/rods.dm +++ b/code/game/objects/items/stacks/rods/rods.dm @@ -13,7 +13,8 @@ mats_per_unit = list(/datum/material/iron=1000) max_amount = 50 merge_type = /obj/item/stack/rods - attack_verb = list("hit", "bludgeoned", "whacked") + attack_verb_continuous = list("hits", "bludgeons", "whacks") + attack_verb_simple = list("hit", "bludgeon", "whack") hitsound = 'sound/weapons/grenadelaunch.ogg' embedding = list() novariants = TRUE diff --git a/code/game/objects/items/stacks/sheets/mineral/glass.dm b/code/game/objects/items/stacks/sheets/mineral/glass.dm index ac138bab86486..80f392130647d 100644 --- a/code/game/objects/items/stacks/sheets/mineral/glass.dm +++ b/code/game/objects/items/stacks/sheets/mineral/glass.dm @@ -211,7 +211,8 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' custom_materials = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT) - attack_verb = list("stabbed", "slashed", "sliced", "cut") + attack_verb_continuous = list("stabs", "slashes", "slices", "cuts") + attack_verb_simple = list("stab", "slash", "slice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' resistance_flags = ACID_PROOF armor = list(MELEE = 100, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 100, STAMINA = 0, BLEED = 0) diff --git a/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm b/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm index 2be915d8e08b7..cbe052eba15c9 100644 --- a/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm +++ b/code/game/objects/items/stacks/sheets/mineral/metals_recipes.dm @@ -44,7 +44,15 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ )), null, \ new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ - new/datum/stack_recipe("closet", /obj/structure/closet, 2, one_per_turf = TRUE, on_floor = TRUE, time = 2 SECONDS), \ + new /datum/stack_recipe_list("closets", list( \ + new/datum/stack_recipe("closet", /obj/structure/closet, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("emergency closet", /obj/structure/closet/emcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("fire closet", /obj/structure/closet/radiation/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("radiation closet", /obj/structure/closet/firecloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("tool closet", /obj/structure/closet/toolcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("wardrobe closet", /obj/structure/closet/wardrobe/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + new/datum/stack_recipe("bomb closet", /obj/structure/closet/bombcloset/empty, 2, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ + )), null, \ new/datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, one_per_turf = TRUE, on_floor = TRUE, time = 1.5 SECONDS), \ null, \ diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 1103a669f4b75..6a5ee9649457a 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -8,7 +8,8 @@ max_amount = 50 throw_speed = 1 throw_range = 3 - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "smashes") + attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "smash") novariants = FALSE material_flags = MATERIAL_EFFECTS var/sheettype = null //this is used for girders in the creation of walls/false walls diff --git a/code/game/objects/items/stacks/tiles/light.dm b/code/game/objects/items/stacks/tiles/light.dm index 4ef4e66f43edf..0fe25744382a5 100644 --- a/code/game/objects/items/stacks/tiles/light.dm +++ b/code/game/objects/items/stacks/tiles/light.dm @@ -41,7 +41,8 @@ desc = "A floor tile, made out of glass. It produces light." icon_state = "tile_e" flags_1 = CONDUCT_1 - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "smashes") + attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "smash") turf_type = /turf/open/floor/light var/state = 0 merge_type = /obj/item/stack/tile/light diff --git a/code/game/objects/items/stacks/tiles/tile_iron.dm b/code/game/objects/items/stacks/tiles/tile_iron.dm index f3cabe7210fe5..45a4781f85605 100644 --- a/code/game/objects/items/stacks/tiles/tile_iron.dm +++ b/code/game/objects/items/stacks/tiles/tile_iron.dm @@ -222,6 +222,13 @@ merge_type = /obj/item/stack/tile/iron/checker tile_rotate_dirs = list(SOUTH, NORTH) +/obj/item/stack/tile/iron/checker/other + name = "alternate checker tile" + singular_name = "alternate checker floor tile" + icon_state = "tile_checker" + turf_type = /turf/open/floor/iron/checker/other + merge_type = /obj/item/stack/tile/iron/checker/other + /obj/item/stack/tile/iron/dark/textured name = "dark textured tile" singular_name = "dark textured floor tile" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 7cf2dc093af5e..5be91934e8016 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -9,7 +9,8 @@ lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi' slot_flags = ITEM_SLOT_BELT - attack_verb = list("whipped", "lashed", "disciplined") + attack_verb_continuous = list("whips", "lashes", "disciplines") + attack_verb_simple = list("whip", "lash", "discipline") max_integrity = 300 var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 9f6e3ab78cc3a..d18fcc98415a5 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -262,7 +262,8 @@ hitsound = 'sound/weapons/sear.ogg' damtype = BURN name = "Syndicate Tome" - attack_verb = list("attacked", "burned", "blessed", "damned", "scorched") + attack_verb_continuous = list("attacks", "burns", "blesses", "damns", "scorches") + attack_verb_simple = list("attack", "burn", "bless", "damn", "scorch") var/uses = 1 /obj/item/storage/book/bible/syndicate/attack_self(mob/living/carbon/human/H) diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index ec35954e802d5..7b8c9a723c6d4 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -11,7 +11,8 @@ throw_speed = 2 throw_range = 4 w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack") resistance_flags = FLAMMABLE max_integrity = 150 var/folder_path = /obj/item/folder //this is the path of the folder that gets spawned in New() diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index 9812ad7f8933e..58cfd2010c330 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -133,7 +133,8 @@ throw_speed = 2 throw_range = 4 w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "thrashes", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "thrash", "whack") /obj/item/storage/secure/briefcase/PopulateContents() new /obj/item/paper(src) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 096fa96e0ca53..25f49299f4c90 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -13,7 +13,8 @@ throw_range = 7 w_class = WEIGHT_CLASS_BULKY item_flags = ISWEAPON - attack_verb = list("robusted") + attack_verb_continuous = list("robusts") + attack_verb_simple = list("robust") hitsound = 'sound/weapons/smash.ogg' custom_materials = list(/datum/material/iron = 500) //Toolboxes by default use iron as their core, custom material. material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR @@ -98,7 +99,8 @@ throw_speed = 2 throw_range = 7 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("robusted") + attack_verb_continuous = list("robusts") + attack_verb_simple = list("robust") hitsound = 'sound/weapons/smash.ogg' /obj/item/storage/toolbox/mechanical/old/clean @@ -200,7 +202,8 @@ has_latches = FALSE resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_HUGE - attack_verb = list("robusted", "crushed", "smashed") + attack_verb_continuous = list("robusts") + attack_verb_simple = list("robust") material_flags = NONE /obj/item/storage/toolbox/brass/ComponentInitialize() diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index c4a190de8e587..3db83f01c93c6 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -11,7 +11,8 @@ throwforce = 7 w_class = WEIGHT_CLASS_LARGE item_flags = ISWEAPON - attack_verb = list("enforced the law upon") + attack_verb_continuous = list("enforces the law upon") + attack_verb_simple = list("enforce the law upon") armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 50, BIO = 0, RAD = 0, FIRE = 80, ACID = 80, STAMINA = 0, BLEED = 0) var/stunforce = 40 @@ -187,13 +188,14 @@ target.stuttering = 20 // Shoving - var/shove_dir = get_dir(user.loc, target.loc) - var/turf/target_shove_turf = get_step(target.loc, shove_dir) - var/mob/living/carbon/human/target_collateral_human = locate(/mob/living/carbon) in target_shove_turf.contents - if (target_collateral_human && target_shove_turf != get_turf(user)) - target.Knockdown(0.5 SECONDS) - target_collateral_human.Knockdown(0.5 SECONDS) - target.Move(target_shove_turf, shove_dir) + if(user.a_intent == INTENT_DISARM) + var/shove_dir = get_dir(user.loc, target.loc) + var/turf/target_shove_turf = get_step(target.loc, shove_dir) + var/mob/living/carbon/human/target_collateral_human = locate(/mob/living/carbon) in target_shove_turf.contents + if (target_collateral_human && target_shove_turf != get_turf(user)) + target.Knockdown(0.5 SECONDS) + target_collateral_human.Knockdown(0.5 SECONDS) + target.Move(target_shove_turf, shove_dir) target.do_stun_animation() diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index 17d16df206f1e..ec9d47cfe22a4 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -387,7 +387,7 @@ /obj/item/teleporter/proc/telefrag(turf/fragging_location, mob/user) for(var/mob/living/target in fragging_location)//Hit everything in the turf // Skip any mobs that aren't standing, or aren't dense - if (!(target.mobility_flags & MOBILITY_STAND) || !target.density || user == target) + if ((target.body_position == LYING_DOWN) || !target.density || user == target) continue // Run armour checks and apply damage var/armor_block = target.run_armor_check(BODY_ZONE_CHEST, MELEE) @@ -395,7 +395,7 @@ target.Paralyze(10 * (100 - armor_block) / 100) target.Knockdown(40 * (100 - armor_block) / 100) // Check if we successfully knocked them down - if (!(target.mobility_flags & MOBILITY_STAND)) + if (target.body_position == LYING_DOWN) to_chat(target, "[user] teleports into you, knocking you to the floor with the bluespace wave!") else to_chat(user, "[target] resists the force of your jaunt's wake, bringing you to stop!") diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 98e0ecc407fe4..7caa4d083a85e 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -13,7 +13,8 @@ w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=50) - attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") tool_behaviour = TOOL_CROWBAR toolspeed = 1 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30, STAMINA = 0, BLEED = 0) diff --git a/code/game/objects/items/tools/powertools.dm b/code/game/objects/items/tools/powertools.dm index 935a5e82cc887..e53106267b310 100644 --- a/code/game/objects/items/tools/powertools.dm +++ b/code/game/objects/items/tools/powertools.dm @@ -51,7 +51,8 @@ hitsound = null - attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") throw_range = 7 /obj/item/powertool/hand_drill/proc/become_screwdriver() @@ -60,7 +61,8 @@ hitsound = 'sound/items/drill_hit.ogg' - attack_verb = list("drilled", "screwed", "jabbed") + attack_verb_continuous = list("drills", "screws", "jabs", "whacks") + attack_verb_simple = list("drill", "screw", "jab", "whack") throw_range = 3 /obj/item/powertool/hand_drill/suicide_act(mob/living/user) @@ -96,7 +98,8 @@ force = 15 throwforce = 7 - attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") /obj/item/powertool/jaws_of_life/Initialize(mapload) . = ..() @@ -117,7 +120,8 @@ usesound = 'sound/items/jaws_cut.ogg' - attack_verb = list("pinched", "nipped") + attack_verb_continuous = list("pinches", "nips") + attack_verb_simple = list("pinch", "nip") force = 6 throw_speed = 3 @@ -129,7 +133,8 @@ usesound = 'sound/items/jaws_pry.ogg' - attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack") force = 15 throw_speed = 2 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 3db95599ce19f..59b08705a8ea2 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -16,7 +16,8 @@ throw_speed = 3 throw_range = 5 custom_materials = list(/datum/material/iron=75) - attack_verb = list("stabbed") + attack_verb_continuous = list("stabs") + attack_verb_simple = list("stab") hitsound = 'sound/weapons/bladeslice.ogg' usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') tool_behaviour = TOOL_SCREWDRIVER diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 076d2ae251d9e..485c62322bd7a 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -14,7 +14,8 @@ throw_range = 7 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=80) - attack_verb = list("pinched", "nipped") + attack_verb_continuous = list("pinches", "nips") + attack_verb_simple = list("pinch", "nip") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' drop_sound = 'sound/items/handling/wirecutter_drop.ogg' diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 2008a03831b1c..28c09bf616be7 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -16,7 +16,8 @@ custom_materials = list(/datum/material/iron=150) drop_sound = 'sound/items/handling/wrench_drop.ogg' pickup_sound = 'sound/items/handling/wrench_pickup.ogg' - attack_verb = list("bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "whack") tool_behaviour = TOOL_WRENCH toolspeed = 1 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 50, ACID = 30, STAMINA = 0, BLEED = 0) @@ -47,7 +48,8 @@ icon_state = "wrench_medical" force = 2 //MEDICAL throwforce = 4 - attack_verb = list("healed", "medicaled", "tapped", "poked", "analyzed") //"cobbyed" + attack_verb_continuous = list("heals", "medicals", "taps", "pokes", "analyzes") //"cobbyed" + attack_verb_simple = list("heal", "medical", "tap", "poke", "analyze") ///var to hold the name of the person who suicided var/suicider diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 3639f4e3314ce..ca8b19517367a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -195,7 +195,8 @@ slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) - attack_verb = list("struck", "pistol whipped", "hit", "bashed") + attack_verb_continuous = list("strikes", "pistol whips", "hits", "bashes") + attack_verb_simple = list("strike", "pistol whip", "hit", "bash") var/bullets = 7 /obj/item/toy/gun/examine(mob/user) @@ -272,7 +273,8 @@ righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' var/active = 0 w_class = WEIGHT_CLASS_SMALL - attack_verb = list("attacked", "struck", "hit") + attack_verb_continuous = list("attacks", "strikes", "hits") + attack_verb_simple = list("attack", "strike", "hit") var/hacked = FALSE var/saber_color @@ -335,7 +337,8 @@ item_state = "arm_blade" lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' - attack_verb = list("pricked", "absorbed", "gored") + attack_verb_continuous = list("pricks", "absorbs", "gores") + attack_verb_simple = list("prick", "absorb", "gore") w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE item_flags = ISWEAPON @@ -351,7 +354,8 @@ item_state = "baton" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - attack_verb = list("batonged", "stunned", "hit") + attack_verb_continuous = list("batongs", "stuns", "hits") + attack_verb_simple = list("batong", "stun", "hit") w_class = WEIGHT_CLASS_SMALL item_flags = ISWEAPON @@ -367,7 +371,8 @@ hitsound = 'sound/weapons/smash.ogg' drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' - attack_verb = list("robusted") + attack_verb_continuous = list("robusts") + attack_verb_simple = list("robust") item_flags = ISWEAPON /obj/item/toy/windupToolbox/attack_self(mob/user) @@ -414,7 +419,8 @@ throw_speed = 3 throw_range = 5 twohand_force = 0 - attack_verb = list("attacked", "struck", "hit") + attack_verb_continuous = list("attacks", "strikes", "hits") + attack_verb_simple = list("attack", "strike", "hit") block_upgrade_walk = 0 block_level = 0 item_flags = ISWEAPON @@ -448,7 +454,8 @@ force = 5 throwforce = 5 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("attacked", "slashed", "stabbed", "sliced") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices") + attack_verb_simple = list("attack", "slash", "stab", "slice") hitsound = 'sound/weapons/bladeslice.ogg' block_flags = BLOCKING_ACTIVE | BLOCKING_PROJECTILE //if it some how gets block level, katanas block projectiles for the meme item_flags = ISWEAPON @@ -519,89 +526,194 @@ /* * Mech prizes */ -/obj/item/toy/prize +/obj/item/toy/mecha icon = 'icons/obj/toy.dmi' - icon_state = "ripleytoy" + icon_state = "fivestarstoy" + verb_say = "beeps" + verb_ask = "beeps" + verb_exclaim = "beeps" + verb_yell = "beeps" + w_class = WEIGHT_CLASS_TINY var/timer = 0 var/cooldown = 30 - var/quiet = 0 + var/quiet = FALSE + +/obj/item/toy/mecha/Initialize(mapload) + . = ..() + AddElement(/datum/element/series, /obj/item/toy/mecha, "Mini-Mecha action figures") //all credit to skasi for toy mech fun ideas -/obj/item/toy/prize/attack_self(mob/user) +/obj/item/toy/mecha/attack_self(mob/user) if(timer < world.time) to_chat(user, "You play with [src].") timer = world.time + cooldown if(!quiet) - playsound(user, 'sound/mecha/mechstep.ogg', 20, 1) + playsound(user, 'sound/mecha/mechstep.ogg', 20, TRUE) else . = ..() -/obj/item/toy/prize/attack_hand(mob/user) +/obj/item/toy/mecha/attack_hand(mob/user) . = ..() if(.) return if(loc == user) attack_self(user) -/obj/item/toy/prize/ripley - name = "toy Ripley" - desc = "Mini-Mecha action figure! Collect them all! 1/12." - -/obj/item/toy/prize/fireripley - name = "toy firefighting Ripley" - desc = "Mini-Mecha action figure! Collect them all! 2/12." - icon_state = "fireripleytoy" - -/obj/item/toy/prize/deathripley - name = "toy deathsquad Ripley" - desc = "Mini-Mecha action figure! Collect them all! 3/12." - icon_state = "deathripleytoy" +/obj/item/toy/mecha/ripley + name = "toy Ripley MK-I" + icon_state = "ripleytoy" + //max_combat_health = 4 //200 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "CLAMP SMASH" + +/obj/item/toy/mecha/ripleymkii + name = "toy Ripley MK-II" + icon_state = "ripleymkiitoy" + //max_combat_health = 5 //250 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "GIGA DRILL BREAK" + +/obj/item/toy/mecha/hauler + name = "toy Hauler" + icon_state = "haulertoy" + //max_combat_health = 3 //100 integrity? + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "HAUL AWAY" + +/obj/item/toy/mecha/clarke + name = "toy Clarke" + icon_state = "clarketoy" + //max_combat_health = 4 //200 integrity + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "ROLL OUT" + +/obj/item/toy/mecha/odysseus + name = "toy Odysseus" + icon_state = "odysseustoy" + //max_combat_health = 4 //120 integrity + //special_attack_type = SPECIAL_ATTACK_HEAL + //special_attack_cry = "MECHA BEAM" -/obj/item/toy/prize/gygax +/obj/item/toy/mecha/gygax name = "toy Gygax" - desc = "Mini-Mecha action figure! Collect them all! 4/12." icon_state = "gygaxtoy" + //max_combat_health = 5 //250 integrity + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "SUPER SERVOS" -/obj/item/toy/prize/durand +/obj/item/toy/mecha/durand name = "toy Durand" - desc = "Mini-Mecha action figure! Collect them all! 5/12." - icon_state = "durandprize" + icon_state = "durandtoy" + //max_combat_health = 6 //400 integrity + //special_attack_type = SPECIAL_ATTACK_HEAL + //special_attack_cry = "SHIELD OF PROTECTION" + +/* We dont have this one, dont reference yet. +/obj/item/toy/mecha/savannahivanov + name = "toy Savannah-Ivanov" + icon_state = "savannahivanovtoy" + //max_combat_health = 7 //450 integrity + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "SKYFALL!! IVANOV STRIKE" +*/ + +/obj/item/toy/mecha/phazon + name = "toy Phazon" + icon_state = "phazontoy" + //max_combat_health = 6 //200 integrity + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "NO-CLIP" -/obj/item/toy/prize/honk +/obj/item/toy/mecha/honk name = "toy H.O.N.K." - desc = "Mini-Mecha action figure! Collect them all! 6/12." - icon_state = "honkprize" + icon_state = "honktoy" + //max_combat_health = 4 //140 integrity + //special_attack_type = SPECIAL_ATTACK_OTHER + //special_attack_type_message = "puts the opposing mech's special move on cooldown and heals this mech." + //special_attack_cry = "MEGA HORN" -/obj/item/toy/prize/marauder - name = "toy Marauder" - desc = "Mini-Mecha action figure! Collect them all! 7/12." - icon_state = "marauderprize" +/* +/obj/item/toy/mecha/honk/super_special_attack(obj/item/toy/mecha/victim) + playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 20, TRUE) + victim.special_attack_cooldown += 3 //Adds cooldown to the other mech and gives a minor self heal + combat_health++ +*/ -/obj/item/toy/prize/seraph - name = "toy Seraph" - desc = "Mini-Mecha action figure! Collect them all! 8/12." - icon_state = "seraphprize" +/obj/item/toy/mecha/darkgygax + name = "toy Dark Gygax" + icon_state = "darkgygaxtoy" + //max_combat_health = 6 //300 integrity + //special_attack_type = SPECIAL_ATTACK_UTILITY + //special_attack_cry = "ULTRA SERVOS" -/obj/item/toy/prize/mauler +/obj/item/toy/mecha/mauler name = "toy Mauler" - desc = "Mini-Mecha action figure! Collect them all! 9/12." - icon_state = "maulerprize" - -/obj/item/toy/prize/odysseus - name = "toy Odysseus" - desc = "Mini-Mecha action figure! Collect them all! 10/12." - icon_state = "odysseusprize" + icon_state = "maulertoy" + //max_combat_health = 7 //500 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "BULLET STORM" + +/obj/item/toy/mecha/darkhonk + name = "toy Dark H.O.N.K." + icon_state = "darkhonktoy" + //max_combat_health = 5 //300 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "BOMBANANA SPREE" + +/obj/item/toy/mecha/deathripley + name = "toy Death-Ripley" + icon_state = "deathripleytoy" + //max_combat_health = 5 //250 integrity + //special_attack_type = SPECIAL_ATTACK_OTHER + //special_attack_type_message = "instantly destroys the opposing mech if its health is less than this mech's health." + //special_attack_cry = "KILLER CLAMP" -/obj/item/toy/prize/phazon - name = "toy Phazon" - desc = "Mini-Mecha action figure! Collect them all! 11/12." - icon_state = "phazonprize" +/* +/obj/item/toy/mecha/deathripley/super_special_attack(obj/item/toy/mecha/victim) + playsound(src, 'sound/weapons/sonic_jackhammer.ogg', 20, TRUE) + if(victim.combat_health < combat_health) //Instantly kills the other mech if it's health is below our's. + say("EXECUTE!!") + victim.combat_health = 0 + else //Otherwise, just deal one damage. + victim.combat_health-- +*/ -/obj/item/toy/prize/reticence +/obj/item/toy/mecha/reticence name = "toy Reticence" - desc = "Mini-Mecha action figure! Collect them all! 12/12." - icon_state = "reticenceprize" - quiet = 1 + icon_state = "reticencetoy" + quiet = TRUE + //max_combat_health = 4 //100 integrity + //special_attack_type = SPECIAL_ATTACK_OTHER + //special_attack_type_message = "has a lower cooldown than normal special moves, increases the opponent's cooldown, and deals damage." + //special_attack_cry = "*wave" + +/* +/obj/item/toy/mecha/reticence/super_special_attack(obj/item/toy/mecha/victim) + special_attack_cooldown-- //Has a lower cooldown... + victim.special_attack_cooldown++ //and increases the opponent's cooldown by 1... + victim.combat_health-- //and some free damage. +*/ + +/obj/item/toy/mecha/marauder + name = "toy Marauder" + icon_state = "maraudertoy" + //max_combat_health = 7 //500 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "BEAM BLAST" + +/obj/item/toy/mecha/seraph + name = "toy Seraph" + icon_state = "seraphtoy" + //max_combat_health = 8 //550 integrity + //special_attack_type = SPECIAL_ATTACK_DAMAGE + //special_attack_cry = "ROCKET BARRAGE" + +/obj/item/toy/mecha/firefighter //rip + name = "toy Firefighter" + icon_state = "firefightertoy" + //max_combat_health = 5 //250 integrity? + //special_attack_type = SPECIAL_ATTACK_HEAL + //special_attack_cry = "FIRE SHIELD" /obj/item/toy/talking @@ -722,7 +834,8 @@ var/card_throwforce = 0 var/card_throw_speed = 3 var/card_throw_range = 7 - var/list/card_attack_verb = list("attacked") + var/list/card_attack_verb_continuous = list("attacks") + var/list/card_attack_verb_simple = list("attack") var/card_sharpness /obj/item/toy/cards/suicide_act(mob/living/carbon/user) @@ -925,7 +1038,8 @@ newobj.card_throwforce = sourceobj.card_throwforce newobj.card_throw_speed = sourceobj.card_throw_speed newobj.card_throw_range = sourceobj.card_throw_range - newobj.card_attack_verb = sourceobj.card_attack_verb + newobj.card_attack_verb_continuous = sourceobj.card_attack_verb_continuous + newobj.card_attack_verb_simple = sourceobj.card_attack_verb_simple newobj.resistance_flags = sourceobj.resistance_flags /** @@ -1050,8 +1164,10 @@ newobj.throw_speed = newobj.card_throw_speed newobj.card_throw_range = sourceobj.card_throw_range newobj.throw_range = newobj.card_throw_range - newobj.card_attack_verb = sourceobj.card_attack_verb - newobj.attack_verb = newobj.card_attack_verb + newobj.card_attack_verb_continuous = sourceobj.card_attack_verb_continuous + newobj.attack_verb_continuous = newobj.card_attack_verb_continuous + newobj.card_attack_verb_simple = sourceobj.card_attack_verb_simple + newobj.attack_verb_simple = newobj.card_attack_verb_simple /* || Syndicate playing cards, for pretending you're Gambit and playing poker for the nuke disk. || @@ -1069,7 +1185,8 @@ card_sharpness = IS_SHARP bleed_force = BLEED_SURFACE card_throw_range = 7 - card_attack_verb = list("attacked", "sliced", "diced", "slashed", "cut") + card_attack_verb_continuous = list("attacks", "slices", "dices", "slashes", "cuts") + card_attack_verb_simple = list("attack", "slice", "dice", "slash", "cut") resistance_flags = NONE /* @@ -1294,7 +1411,6 @@ /obj/item/toy/figure name = "Non-Specific Action Figure action figure" - desc = null icon = 'icons/obj/toy.dmi' icon_state = "nuketoy" w_class = WEIGHT_CLASS_TINY @@ -1313,191 +1429,206 @@ playsound(user, toysound, 20, 1) /obj/item/toy/figure/cmo - name = "Chief Medical Officer action figure" + name = "\improper Chief Medical Officer action figure" icon_state = "cmo" toysay = "Suit sensors!" /obj/item/toy/figure/assistant - name = "Assistant action figure" + name = "\improper Assistant action figure" icon_state = "assistant" item_state = "doll" - toysay = "Grey tide world wide!" + toysay = "Greytide world wide!" /obj/item/toy/figure/atmos - name = "Atmospheric Technician action figure" + name = "\improper Atmospheric Technician action figure" icon_state = "atmos" toysay = "Glory to Atmosia!" /obj/item/toy/figure/bartender - name = "Bartender action figure" + name = "\improper Bartender action figure" icon_state = "bartender" toysay = "Where is Pun Pun?" /obj/item/toy/figure/borg - name = "Cyborg action figure" + name = "\improper Cyborg action figure" icon_state = "borg" toysay = "I. LIVE. AGAIN." toysound = 'sound/voice/liveagain.ogg' /obj/item/toy/figure/botanist - name = "Botanist action figure" + name = "\improper Botanist action figure" icon_state = "botanist" toysay = "Blaze it!" /obj/item/toy/figure/captain - name = "Captain action figure" + name = "\improper Captain action figure" icon_state = "captain" toysay = "Any heads of staff?" /obj/item/toy/figure/cargotech - name = "Cargo Technician action figure" + name = "\improper Cargo Technician action figure" icon_state = "cargotech" toysay = "For Cargonia!" /obj/item/toy/figure/ce - name = "Chief Engineer action figure" + name = "\improper Chief Engineer action figure" icon_state = "ce" toysay = "Wire the solars!" /obj/item/toy/figure/chaplain - name = "Chaplain action figure" + name = "\improper Chaplain action figure" icon_state = "chaplain" toysay = "Praise Space Jesus!" /obj/item/toy/figure/chef - name = "Chef action figure" + name = "\improper Cook action figure" icon_state = "chef" - toysay = " I'll make you into a burger!" + toysay = "I'll make you into a burger!" /obj/item/toy/figure/chemist - name = "Chemist action figure" + name = "\improper Chemist action figure" icon_state = "chemist" toysay = "Get your pills!" /obj/item/toy/figure/clown - name = "Clown action figure" + name = "\improper Clown action figure" icon_state = "clown" toysay = "Honk!" toysound = 'sound/items/bikehorn.ogg' /obj/item/toy/figure/ian - name = "Ian action figure" + name = "\improper Ian action figure" icon_state = "ian" toysay = "Arf!" /obj/item/toy/figure/detective - name = "Detective action figure" + name = "\improper Detective action figure" icon_state = "detective" toysay = "This airlock has grey jumpsuit and insulated glove fibers on it." /obj/item/toy/figure/dsquad - name = "Death Squad Officer action figure" + name = "\improper Deathsquad Officer action figure" icon_state = "dsquad" - toysay = "Kill em all!" + toysay = "Kill 'em all!" /obj/item/toy/figure/engineer - name = "Engineer action figure" + name = "\improper Station Engineer action figure" icon_state = "engineer" toysay = "Oh god, the singularity is loose!" /obj/item/toy/figure/geneticist - name = "Geneticist action figure" + name = "\improper Geneticist action figure" icon_state = "geneticist" toysay = "Smash!" /obj/item/toy/figure/hop - name = "Head of Personnel action figure" + name = "\improper Head of Personnel action figure" icon_state = "hop" toysay = "Giving out all access!" /obj/item/toy/figure/hos - name = "Head of Security action figure" + name = "\improper Head of Security action figure" icon_state = "hos" toysay = "Go ahead, make my day." /obj/item/toy/figure/qm - name = "Quartermaster action figure" + name = "\improper Quartermaster action figure" icon_state = "qm" toysay = "Please sign this form in triplicate and we will see about geting you a welding mask within 3 business days." /obj/item/toy/figure/janitor - name = "Janitor action figure" + name = "\improper Janitor action figure" icon_state = "janitor" toysay = "Look at the signs, you idiot." /obj/item/toy/figure/lawyer - name = "Lawyer action figure" + name = "\improper Lawyer action figure" icon_state = "lawyer" toysay = "My client is a dirty traitor!" /obj/item/toy/figure/curator - name = "Curator action figure" + name = "\improper Curator action figure" icon_state = "curator" toysay = "One day while..." /obj/item/toy/figure/md - name = "Medical Doctor action figure" + name = "\improper Medical Doctor action figure" icon_state = "md" toysay = "The patient is already dead!" +/obj/item/toy/figure/paramedic + name = "\improper Paramedic action figure" + icon_state = "paramedic" + toysay = "And the best part? I'm not even a real doctor!" + +/obj/item/toy/figure/psychologist + name = "\improper Psychologist action figure" + icon_state = "psychologist" + toysay = "Alright, just take these happy pills!" + +/obj/item/toy/figure/prisoner + name = "\improper Prisoner action figure" + icon_state = "prisoner" + toysay = "I did not hit her! I did not!" + /obj/item/toy/figure/mime - name = "Mime action figure" + name = "\improper Mime action figure" icon_state = "mime" toysay = "..." toysound = null /obj/item/toy/figure/miner - name = "Shaft Miner action figure" + name = "\improper Shaft Miner action figure" icon_state = "miner" toysay = "COLOSSUS RIGHT OUTSIDE THE BASE!" /obj/item/toy/figure/ninja - name = "Ninja action figure" + name = "\improper Space Ninja action figure" icon_state = "ninja" - toysay = "Oh god! Stop shooting, I'm friendly!" + toysay = "I am the shadow warrior!" /obj/item/toy/figure/wizard - name = "Wizard action figure" + name = "\improper Wizard action figure" icon_state = "wizard" - toysay = "Ei Nath!" + toysay = "EI NATH!" toysound = 'sound/magic/disintegrate.ogg' /obj/item/toy/figure/rd - name = "Research Director action figure" + name = "\improper Research Director action figure" icon_state = "rd" toysay = "Blowing all of the borgs!" /obj/item/toy/figure/roboticist - name = "Roboticist action figure" + name = "\improper Roboticist action figure" icon_state = "roboticist" toysay = "Big stompy mechs!" toysound = 'sound/mecha/mechstep.ogg' /obj/item/toy/figure/scientist - name = "Scientist action figure" + name = "\improper Scientist action figure" icon_state = "scientist" toysay = "I call toxins." toysound = 'sound/effects/explosionfar.ogg' /obj/item/toy/figure/syndie - name = "Nuclear Operative action figure" + name = "\improper Nuclear Operative action figure" icon_state = "syndie" toysay = "Get that fucking disk!" /obj/item/toy/figure/secofficer - name = "Security Officer action figure" + name = "\improper Security Officer action figure" icon_state = "secofficer" toysay = "I am the law!" toysound = 'sound/voice/complionator/dredd.ogg' /obj/item/toy/figure/virologist - name = "Virologist action figure" + name = "\improper Virologist action figure" icon_state = "virologist" toysay = "It's beneficial! Mostly." toysound = 'sound/ambience/antag/ling_aler.ogg' /obj/item/toy/figure/warden - name = "Warden action figure" + name = "\improper Warden action figure" icon_state = "warden" toysay = "Seventeen minutes for coughing at an officer!" @@ -1540,7 +1671,8 @@ icon = 'icons/obj/heretic.dmi' icon_state = "book" w_class = WEIGHT_CLASS_SMALL - attack_verb = list("sacrificed", "transmuted", "grasped", "cursed") + attack_verb_continuous = list("sacrifices", "transmutes", "grasps", "curses") + attack_verb_simple = list("sacrifice", "transmute", "grasp", "curse") var/open = FALSE /obj/item/toy/eldrich_book/attack_self(mob/user) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 195c3adacb1c4..b2bbb5945c85b 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -10,7 +10,8 @@ item_flags = ISWEAPON throw_speed = 3 throw_range = 7 - attack_verb = list("banned") + attack_verb_continuous = list("bans") + attack_verb_simple = list("ban") max_integrity = 200 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 70, STAMINA = 0, BLEED = 0) resistance_flags = FIRE_PROOF @@ -46,7 +47,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_LARGE item_flags = ISWEAPON hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") /obj/item/sord/suicide_act(mob/living/user) user.visible_message("[user] is trying to impale [user.p_them()]self with [src]! It might be a suicide attempt if it weren't so shitty.", \ @@ -76,7 +78,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_NORMAL item_flags = ISWEAPON attack_weight = 1 - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_power = 40 block_upgrade_walk = 1 block_level = 1 @@ -101,7 +104,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 item_flags = DROPDEL | ISWEAPON //dropdel occurs because you lost an arm slot_flags = null light_range = 3 - attack_verb = list("brutalized", "eviscerated", "disemboweled", "hacked", "carved", "cleaved") //ONLY THE MOST VISCERAL ATTACK VERBS + attack_verb_continuous = list("brutalizes", "eviscerates", "disembowels", "hacks", "carves", "cleaves") //ONLY THE MOST VISCERAL ATTACK VERBS + attack_verb_simple = list("brutalize", "eviscerate", "disembowel", "hack", "carve", "cleave") var/notches = 0 //HOW MANY PEOPLE HAVE BEEN SLAIN WITH THIS BLADE var/obj/item/disk/nuclear/nuke_disk //OUR STORED NUKE DISK @@ -234,7 +238,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 armour_penetration = 15 w_class = WEIGHT_CLASS_LARGE hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_level = 0 block_power = 30 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 50, STAMINA = 0, BLEED = 0) @@ -254,7 +259,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_HUGE item_flags = ISWEAPON hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") block_power = 20 block_level = 1 block_upgrade_walk = 1 @@ -283,7 +289,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_NORMAL item_flags = ISWEAPON custom_materials = list(/datum/material/iron=1150, /datum/material/glass=75) - attack_verb = list("hit", "bludgeoned", "whacked", "bonked") + attack_verb_continuous = list("hits", "bludgeons", "whacks", "bonks") + attack_verb_simple = list("hit", "bludgeon", "whack", "bonk") /obj/item/wirerod/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/shard)) @@ -359,7 +366,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_BULKY hitsound = 'sound/weapons/bladeslice.ogg' throw_range = 0 //throwing these invalidates the speargun - attack_verb = list("stabbed", "ripped", "gored", "impaled") + attack_verb_continuous = list("stabs", "rips", "gores", "impales") + attack_verb_simple = list("stab", "rip", "gore", "impale") embedding = list("pain_mult" = 8, "embed_chance" = 1000, "fall_chance" = 0, "armour_block" = 100) /obj/item/switchblade @@ -377,7 +385,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_range = 6 custom_materials = list(/datum/material/iron=12000) hitsound = 'sound/weapons/genhit.ogg' - attack_verb = list("stubbed", "poked") + attack_verb_continuous = list("stubs", "pokes") + attack_verb_simple = list("stub", "poke") resistance_flags = FIRE_PROOF var/extended = 0 var/extended_force = 20 @@ -392,7 +401,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_NORMAL throwforce = extended_throwforce icon_state = extended_icon_state - attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT @@ -401,7 +411,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_SMALL throwforce = initial(throwforce) icon_state = initial(icon_state) - attack_verb = list("stubbed", "poked") + attack_verb_continuous = list("stubs", "pokes") + attack_verb_simple = list("stub", "poke") hitsound = 'sound/weapons/genhit.ogg' sharpness = IS_BLUNT bleed_force = 0 @@ -441,7 +452,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_range = 4 w_class = WEIGHT_CLASS_SMALL item_flags = ISWEAPON - attack_verb = list("called", "rang") + attack_verb_continuous = list("calls", "rings") + attack_verb_simple = list("call", "ring") hitsound = 'sound/weapons/ring.ogg' /obj/item/phone/suicide_act(mob/living/user) @@ -464,7 +476,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throwforce = 5 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=50) - attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed") + attack_verb_continuous = list("bludgeons", "whacks", "disciplines", "thrashes") + attack_verb_simple = list("bludgeon", "whack", "discipline", "thrash") /obj/item/staff name = "wizard staff" @@ -481,7 +494,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 w_class = WEIGHT_CLASS_SMALL item_flags = ISWEAPON armour_penetration = 100 - attack_verb = list("bludgeoned", "whacked", "disciplined") + attack_verb_continuous = list("bludgeons", "whacks", "disciplines") + attack_verb_simple = list("bludgeon", "whack", "discipline") resistance_flags = FLAMMABLE /obj/item/staff/broom @@ -542,7 +556,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_speed = 0 sharpness = IS_SHARP bleed_force = BLEED_DEEP_WOUND - attack_verb = list("sawed", "tore", "cut", "chopped", "diced") + attack_verb_continuous = list("saws", "tears", "lacerates", "cuts", "chops", "dices") + attack_verb_simple = list("saw", "tear", "lacerate", "cut", "chop", "dice") hitsound = 'sound/weapons/chainsawhit.ogg' tool_behaviour = TOOL_SAW toolspeed = 1 @@ -618,7 +633,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throwforce = 10 throw_speed = 5 throw_range = 2 - attack_verb = list("busted") + attack_verb_continuous = list("busts") + attack_verb_simple = list("bust") var/impressiveness = 45 /obj/item/statuebust/Initialize(mapload) @@ -651,7 +667,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 12 throwforce = 4 w_class = WEIGHT_CLASS_LARGE - attack_verb = list("smacked", "whacked", "slammed", "smashed") + attack_verb_continuous = list("smacks", "whacks", "slams", "smashes") + attack_verb_simple = list("smack", "whack", "slam", "smash") ///The vehicle counterpart for the board var/board_item_type = /obj/vehicle/ridden/scooter/skateboard @@ -695,7 +712,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_weight = 2 force = 13 throwforce = 6 - attack_verb = list("beat", "smacked") + attack_verb_continuous = list("beats", "smacks") + attack_verb_simple = list("beat", "smack") custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 3.5) w_class = WEIGHT_CLASS_HUGE var/homerun_ready = 0 @@ -767,7 +785,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' force = 1 throwforce = 1 - attack_verb = list("swatted", "smacked") + attack_verb_continuous = list("swats", "smacks") + attack_verb_simple = list("swat", "smack") hitsound = 'sound/effects/snap.ogg' w_class = WEIGHT_CLASS_SMALL //Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc. @@ -805,7 +824,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 0 throwforce = 0 item_flags = DROPDEL | ABSTRACT | ISWEAPON - attack_verb = list("bopped") + attack_verb_continuous = list("bops") + attack_verb_simple = list("bop") /obj/item/slapper name = "slapper" @@ -815,7 +835,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 0 throwforce = 0 item_flags = DROPDEL | ABSTRACT | ISWEAPON - attack_verb = list("slapped") + attack_verb_continuous = list("slaps") + attack_verb_simple = list("slap") hitsound = 'sound/effects/snap.ogg' /// How many smaller table smacks we can do before we're out var/table_smacks_left = 3 @@ -907,7 +928,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 force = 0 throwforce = 0 item_flags = DROPDEL | ABSTRACT | ISWEAPON - attack_verb = list("is left hanging by") + attack_verb_simple = list("is left hanging by") /obj/item/highfive/attack(mob/target, mob/user) if(target == user) @@ -933,7 +954,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' force = 10 throwforce = 5 - attack_verb = list("clubbed", "bludgeoned") + attack_verb_continuous = list("clubs", "bludgeons") + attack_verb_simple = list("club", "bludgeon") item_flags = ISWEAPON var/breakforce = 30 var/stamforce = 15 @@ -987,7 +1009,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' //HF blade @@ -1007,7 +1030,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 throw_speed = 4 sharpness = IS_SHARP bleed_force = BLEED_CUT - attack_verb = list("cut", "sliced", "diced") + attack_verb_continuous = list("cuts", "slices", "dices") + attack_verb_simple = list("cut", "slice", "dice") w_class = WEIGHT_CLASS_BULKY item_flags = ISWEAPON slot_flags = ITEM_SLOT_BACK diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 1eba50f4b5fd1..3aeaa50a71511 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -18,8 +18,9 @@ if(SEND_SIGNAL(src, COMSIG_OBJ_TAKE_DAMAGE, damage_amount, damage_type, damage_flag, sound_effect, attack_dir, armour_penetration) & COMPONENT_NO_TAKE_DAMAGE) return . = damage_amount - var/old_integ = obj_integrity - obj_integrity = max(old_integ - damage_amount, 0) + + update_integrity(obj_integrity - damage_amount) + //BREAKING FIRST if(integrity_failure && obj_integrity <= integrity_failure * max_integrity) obj_break(damage_flag) @@ -28,6 +29,32 @@ if(obj_integrity <= 0) obj_destruction(damage_flag) +/// Proc for recovering obj_integrity. Returns the amount repaired by +/obj/proc/repair_damage(amount) + if(amount <= 0) // We only recover here + return + var/new_integrity = min(max_integrity, obj_integrity + amount) + . = new_integrity - obj_integrity + + update_integrity(new_integrity) + + if(integrity_failure && obj_integrity > integrity_failure * max_integrity) + obj_fix() + +/// Handles the integrity of an object changing. This must be called instead of changing integrity directly. +/obj/proc/update_integrity(new_value) + SHOULD_NOT_OVERRIDE(TRUE) + new_value = max(0, new_value) + if(obj_integrity == new_value) + return + obj_integrity = new_value + SEND_SIGNAL(src, COMSIG_OBJ_INTEGRITY_CHANGED) + +/// This mostly exists to keep obj_integrity private. Might be useful in the future. +/obj/proc/get_integrity() + SHOULD_BE_PURE(TRUE) + return obj_integrity + //returns the damage value of the attack after processing the obj's various armor protections /obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) switch(damage_type) @@ -132,8 +159,8 @@ /obj/attack_animal(mob/living/simple_animal/M) if(!M.melee_damage && !M.obj_damage) - INVOKE_ASYNC(M, TYPE_PROC_REF(/mob, emote), "custom", null, "[M.friendly] [src].") - return 0 + M.emote("custom", message = "[M.friendly_verb_continuous] [src].") + return FALSE else var/play_soundeffect = 1 if(M.environment_smash) @@ -257,12 +284,19 @@ GLOBAL_DATUM_INIT(acid_overlay, /mutable_appearance, mutable_appearance('icons/e SEND_SIGNAL(src, COMSIG_OBJ_DECONSTRUCT, disassembled) qdel(src) -//what happens when the obj's health is below integrity_failure level. +/// Called after the obj takes damage and integrity is below integrity_failure level /obj/proc/obj_break(damage_flag) - return + SHOULD_CALL_PARENT(TRUE) + SEND_SIGNAL(src, COMSIG_OBJ_BREAK) + +/// Called when integrity is repaired above the breaking point having been broken before +/obj/proc/obj_fix() + SHOULD_CALL_PARENT(TRUE) + SEND_SIGNAL(src, COMSIG_OBJ_FIX) //what happens when the obj's integrity reaches zero. /obj/proc/obj_destruction(damage_flag) + if(damage_flag == ACID) acid_melt() else if(damage_flag == FIRE) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 11785b80c298d..b9dcdeb11204b 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -13,7 +13,7 @@ var/datum/armor/armor /// The integrity the object starts at. Defaults to max_integrity. - var/obj_integrity + VAR_PRIVATE/obj_integrity //defaults to max_integrity /// The maximum integrity the object can have. var/max_integrity = 500 /// The object will break once obj_integrity reaches this amount in take_damage(). 0 if we have no special broken behavior, otherwise is a percentage of at what point the obj breaks. 0.5 being 50% @@ -72,8 +72,7 @@ armor = getArmor() else if (!istype(armor, /datum/armor)) stack_trace("Invalid type [armor.type] found in .armor during /obj Initialize()") - if(obj_integrity == null) - obj_integrity = max_integrity + obj_integrity = max_integrity . = ..() //Do this after, else mat datums is mad. diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm index 5b45e8b8ef67a..8517bb98133d6 100644 --- a/code/game/objects/structures/aliens.dm +++ b/code/game/objects/structures/aliens.dm @@ -332,6 +332,7 @@ break /obj/structure/alien/egg/obj_break(damage_flag) + . = ..() if(!(flags_1 & NODECONSTRUCT_1)) if(status != BURST) Burst(kill=TRUE) diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 66f5a204c1ffc..d47d71b3fa1d0 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -43,6 +43,7 @@ return set_sign(new_sign) /obj/structure/sign/barsign/obj_break(damage_flag) + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) broken = TRUE diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 948c0ae1062b3..f6d0983296766 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -19,6 +19,7 @@ var/opened = FALSE var/welded = FALSE var/locked = FALSE + var/divable = TRUE //controls whether someone with skittish trait can enter the closet with CtrlShiftClick var/large = TRUE var/wall_mounted = 0 //never solid (You can always pass over it) var/breakout_time = 1200 @@ -173,7 +174,7 @@ . += "Alt-click to [locked ? "unlock" : "lock"]." if(isliving(user)) var/mob/living/L = user - if(HAS_TRAIT(L, TRAIT_SKITTISH)) + if(divable && HAS_TRAIT(L, TRAIT_SKITTISH)) . += "Ctrl-Shift-click [src] to jump inside." /obj/structure/closet/CanAllowThrough(atom/movable/mover, border_dir) @@ -314,6 +315,7 @@ qdel(src) /obj/structure/closet/obj_break(damage_flag) + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) bust_open() @@ -386,7 +388,7 @@ /obj/structure/closet/MouseDrop_T(atom/movable/O, mob/living/user) if(!istype(O) || O.anchored || istype(O, /atom/movable/screen)) return - if(!istype(user) || user.incapacitated() || !(user.mobility_flags & MOBILITY_STAND)) + if(!istype(user) || user.incapacitated() || user.body_position == LYING_DOWN) return if(!Adjacent(user) || !user.Adjacent(O)) return @@ -424,8 +426,8 @@ O.forceMove(T) return TRUE -/obj/structure/closet/relaymove(mob/user) - if(user.stat || !isturf(loc) || !isliving(user)) +/obj/structure/closet/relaymove(mob/living/user, direction) + if(user.stat || !isturf(loc)) return if(locked) if(message_cooldown <= world.time) @@ -438,12 +440,13 @@ . = ..() if(.) return - if(!(user.mobility_flags & MOBILITY_STAND) && get_dist(src, user) > 0) + if(user.body_position == LYING_DOWN && get_dist(src, user) > 0) return if(!toggle(user)) togglelock(user) + /obj/structure/closet/attack_paw(mob/user) return attack_hand(user) @@ -523,7 +526,7 @@ togglelock(user) /obj/structure/closet/CtrlShiftClick(mob/living/user) - if(!HAS_TRAIT(user, TRAIT_SKITTISH)) + if(!(divable && HAS_TRAIT(user, TRAIT_SKITTISH))) return ..() if(!user.canUseTopic(src, BE_CLOSE) || !isturf(user.loc)) return diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm index 41a835ef7681a..edb692aa3e896 100644 --- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm +++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm @@ -23,13 +23,14 @@ var/egged = 0 /obj/structure/closet/cardboard/relaymove(mob/living/user, direction) - if(!istype(user) || opened || move_delay || user.incapacitated() || !isturf(loc) || !has_gravity(loc)) + if(opened || move_delay || user.incapacitated() || !isturf(loc) || !has_gravity(loc)) return move_delay = TRUE - if(step(src, direction)) + var/oldloc = loc + if(oldloc != loc) addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), CONFIG_GET(number/movedelay/walk_delay) * move_speed_multiplier) else - ResetMoveDelay() + move_delay = FALSE /obj/structure/closet/cardboard/proc/ResetMoveDelay() move_delay = FALSE @@ -77,14 +78,3 @@ close_sound_volume = 50 material_drop = /obj/item/stack/sheet/plasteel #undef SNAKE_SPAM_TICKS - -/obj/structure/closet/cardboard/relaymove(mob/living/user, direction) - if(!istype(user) || opened || move_delay || user.incapacitated() || !isturf(loc) || !has_gravity(loc)) - return - move_delay = TRUE - var/oldloc = loc - step(src, direction) - if(oldloc != loc) - addtimer(CALLBACK(src, PROC_REF(ResetMoveDelay)), CONFIG_GET(number/movedelay/walk_delay) * move_speed_multiplier) - else - move_delay = FALSE diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index a3940adc01efb..04daa96aa50bf 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -38,7 +38,8 @@ new /obj/item/assembly/flash/handheld(src) new /obj/item/storage/box/suitbox/ce_tools(src) new /obj/item/clothing/glasses/meson/engine(src) - new /obj/item/gun/energy/e_gun/mini/heads(src) + new /obj/item/gun/ballistic/automatic/pistol/service/ce(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/ce_tools name = "compression box of chief engineer tools" @@ -110,7 +111,7 @@ new /obj/item/clothing/mask/gas(src) new /obj/item/clothing/glasses/meson/engine(src) new /obj/item/storage/box/emptysandbags(src) - new /obj/item/clothing/gloves/color/yellow + new /obj/item/clothing/gloves/color/yellow(src) /obj/structure/closet/secure_closet/atmospherics name = "\proper atmospheric technician's locker" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 6c4870b10d64c..e89ee18d1c0f6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -116,7 +116,8 @@ new /obj/item/assembly/flash/handheld(src) new /obj/item/healthanalyzer/advanced(src) new /obj/item/wallframe/defib_mount(src) - new /obj/item/gun/energy/e_gun/mini/heads(src) + new /obj/item/gun/ballistic/automatic/pistol/service/cmo(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/cmo name = "compression box of chief medical officer outfits" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm index d9bec0c8ba199..8399b04611cf1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm @@ -4,6 +4,14 @@ req_access = list(ACCESS_ALL_PERSONAL_LOCKERS) var/registered_name = null +/obj/structure/closet/secure_closet/personal/empty + desc = "It's a secure locker for personnel. The first card swiped gains control." + name = "personal closet" + req_access = list(ACCESS_ALL_PERSONAL_LOCKERS) + +/obj/structure/closet/secure_closet/personal/empty/PopulateContents() + return + /obj/structure/closet/secure_closet/personal/PopulateContents() ..() if(prob(50)) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 62f73f474ac5b..b9526a4e9f7eb 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -38,7 +38,8 @@ new /obj/item/clothing/glasses/science(src) new /obj/item/door_remote/research_director(src) new /obj/item/assembly/flash/handheld(src) - new /obj/item/gun/energy/e_gun/mini/heads(src) + new /obj/item/gun/ballistic/automatic/pistol/service/rd(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/rd name = "compression box of research director outfits" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index b6be1d6aabeae..13c6f3439349c 100755 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -40,7 +40,8 @@ new /obj/item/clothing/neck/cloak/cap(src) new /obj/item/door_remote/captain(src) new /obj/item/storage/belt/sabre(src) - new /obj/item/gun/energy/e_gun/mini/heads(src) + new /obj/item/gun/ballistic/automatic/pistol/service/captain(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/cap name = "compression box of captain outfits" @@ -90,8 +91,8 @@ new /obj/item/clothing/glasses/sunglasses/advanced(src) new /obj/item/clothing/suit/armor/vest/alt(src) new /obj/item/megaphone/command(src) - new /obj/item/gun/energy/e_gun/mini/heads(src) - + new /obj/item/gun/ballistic/automatic/pistol/service/hop(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/hop name = "compression box of head of personnel outfits" @@ -152,7 +153,6 @@ new /obj/item/storage/box/command_keys(src) new /obj/item/megaphone/sec(src) new /obj/item/computer_hardware/hard_drive/role/hos(src) - new /obj/item/storage/box/flashbangs(src) new /obj/item/storage/box/deputy(src) new /obj/item/storage/lockbox/medal/sec(src) new /obj/item/storage/lockbox/loyalty(src) @@ -167,6 +167,8 @@ new /obj/item/clothing/suit/armor/hos/trenchcoat(src) new /obj/item/shield/riot/tele(src) new /obj/item/storage/belt/security/full(src) + new /obj/item/gun/ballistic/automatic/pistol/service/hos(src) + new /obj/item/ammo_box/magazine/recharge/service(src) /obj/item/storage/box/suitbox/hos name = "compression box of head of security outfits" diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 4af5206aba6e7..28be2cd91d92e 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -17,6 +17,14 @@ desc = "It's a storage unit for emergency breath masks and O2 tanks." icon_state = "emergency" +/obj/structure/closet/emcloset/empty + name = "emergency closet" + desc = "It's a storage unit for emergency breath masks and O2 tanks." + icon_state = "emergency" + +/obj/structure/closet/emcloset/empty/PopulateContents() + return + /obj/structure/closet/emcloset/anchored anchored = TRUE @@ -66,6 +74,14 @@ desc = "It's a storage unit for fire-fighting supplies." icon_state = "fire" +/obj/structure/closet/firecloset/empty + name = "fire-safety closet" + desc = "It's a storage unit for fire-fighting supplies." + icon_state = "fire" + +/obj/structure/closet/firecloset/empty/PopulateContents() + return + /obj/structure/closet/firecloset/PopulateContents() ..() @@ -92,6 +108,15 @@ icon_state = "eng" icon_door = "eng_tool" +/obj/structure/closet/toolcloset/empty + name = "tool closet" + desc = "It's a storage unit for tools." + icon_state = "eng" + icon_door = "eng_tool" + +/obj/structure/closet/toolcloset/empty/PopulateContents() + return + /obj/structure/closet/toolcloset/PopulateContents() ..() if(prob(40)) @@ -135,6 +160,15 @@ icon_state = "eng" icon_door = "eng_rad" +/obj/structure/closet/radiation/empty + name = "radiation suit closet" + desc = "It's a storage unit for rad-protective suits." + icon_state = "eng" + icon_door = "eng_rad" + +/obj/structure/closet/radiation/empty/PopulateContents() + return + /obj/structure/closet/radiation/PopulateContents() ..() new /obj/item/geiger_counter(src) @@ -153,6 +187,14 @@ desc = "It's a storage unit for explosion-protective suits." icon_state = "bomb" +/obj/structure/closet/bombcloset/empty + name = "\improper EOD closet" + desc = "It's a storage unit for explosion-protective suits." + icon_state = "bomb" + +/obj/structure/closet/bombcloset/empty/PopulateContents() + return + /obj/structure/closet/bombcloset/PopulateContents() ..() new /obj/item/clothing/suit/utility/bomb_suit(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index f83db4c4aabd9..824c549fbe094 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -3,6 +3,14 @@ desc = "It's a storage unit for standard-issue Nanotrasen attire." icon_door = "blue" +/obj/structure/closet/wardrobe/empty + name = "wardrobe" + desc = "It's a storage unit for standard-issue Nanotrasen attire." + icon_door = "blue" + +/obj/structure/closet/wardrobe/empty/PopulateContents() + return + /obj/structure/closet/wardrobe/PopulateContents() ..() for(var/i in 1 to 3) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index bcad7aebed77f..a2d071256fd45 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -100,6 +100,7 @@ qdel(src) /obj/structure/displaycase/obj_break(damage_flag) + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) set_density(FALSE) broken = TRUE @@ -142,7 +143,7 @@ if(open) //You do not require access to close a case, only to open it. to_chat(user, "You close [src].") toggle_lock(user) - else if(security_level_locked > GLOB.security_level || !allowed(user)) + else if(security_level_locked > SSsecurity_level.get_current_level_as_number() || !allowed(user)) to_chat(user, "Access denied.") else to_chat(user, "You open [src].") diff --git a/code/game/objects/structures/extinguisher.dm b/code/game/objects/structures/extinguisher.dm index 7077817e482b2..ece0c709fbcad 100644 --- a/code/game/objects/structures/extinguisher.dm +++ b/code/game/objects/structures/extinguisher.dm @@ -136,6 +136,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/extinguisher_cabinet, 29) icon_state = "extinguisher_empty" /obj/structure/extinguisher_cabinet/obj_break(damage_flag) + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) broken = 1 opened = 1 diff --git a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm index 83f2ed32d760e..b417c19d64091 100644 --- a/code/game/objects/structures/fireaxe.dm +++ b/code/game/objects/structures/fireaxe.dm @@ -86,10 +86,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/fireaxecabinet, 32) update_appearance() /obj/structure/fireaxecabinet/obj_break(damage_flag) + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) update_appearance() broken = TRUE - playsound(src, 'sound/effects/glassbr3.ogg', 100, 1) + playsound(src, 'sound/effects/glassbr3.ogg', 100, TRUE) new /obj/item/shard(loc) new /obj/item/shard(loc) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 269dd4b96ba77..8d68cfdb57219 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -238,6 +238,7 @@ ..() /obj/structure/grille/obj_break() + . = ..() if(!broken && !(flags_1 & NODECONSTRUCT_1)) new broken_type(src.loc) var/drop_loc = drop_location() @@ -296,13 +297,16 @@ /obj/structure/grille/broken // Pre-broken grilles for map placement icon_state = "brokengrille" density = FALSE - obj_integrity = 20 broken = TRUE rods_amount = 1 rods_broken = FALSE grille_type = /obj/structure/grille broken_type = null +/obj/structure/grille/broken/Initialize(mapload) + . = ..() + take_damage(max_integrity * 0.6) + /obj/structure/grille/prison //grilles that trigger prison lockdown under some circumstances name = "prison grille" desc = "a set of rods under current used to protect the prison wing. An alarm will go off if they are breached." diff --git a/code/game/objects/structures/gym/exercise_status.dm b/code/game/objects/structures/gym/exercise_status.dm new file mode 100644 index 0000000000000..4f3bb5913fdf2 --- /dev/null +++ b/code/game/objects/structures/gym/exercise_status.dm @@ -0,0 +1,65 @@ +/// How much stun resistance you gain every time you exercise +#define EXERCISE_INCREMENT 0.001 +/// The max amount that you can be improved by exercise +#define EXERCISE_LIMIT 0.5 +/// How much exercise effect you lose every second. +/// Each exercise will last 10 seconds. +/// Maximum exercise lasts 1000 seconds, or about 16 minutes. +#define EXERCISE_STEP 0.0005 +/// The minimum that exercise needs to change before we step (Rounded to percentages so 1%) +#define EXERCISE_VISUAL_DELTA 0.005 + +/datum/status_effect/exercised + id = "exericsed" + status_type = STATUS_EFFECT_MERGE + tick_interval = ((1 SECONDS) * EXERCISE_VISUAL_DELTA) / EXERCISE_STEP + alert_type = /atom/movable/screen/alert/status_effect/exercised + var/applied_amount = 0 + var/exercise_amount = 0 + +/datum/status_effect/exercised/on_creation(mob/living/new_owner, exercise_amount) + src.exercise_amount = exercise_amount * EXERCISE_INCREMENT + . = ..() + update_exercise() + +/datum/status_effect/exercised/merge(exercise_amount) + src.exercise_amount = min(src.exercise_amount + exercise_amount * EXERCISE_INCREMENT, EXERCISE_LIMIT) + update_exercise() + +/datum/status_effect/exercised/on_apply() + update_exercise() + return TRUE + +/datum/status_effect/exercised/on_remove() + if (ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.stun_add += applied_amount + applied_amount = 0 + +/datum/status_effect/exercised/tick() + exercise_amount -= EXERCISE_VISUAL_DELTA + update_exercise() + return ..() + +/datum/status_effect/exercised/proc/update_exercise() + if (exercise_amount <= 0) + qdel(src) + return + if (ishuman(owner)) + var/delta = exercise_amount - applied_amount + var/mob/living/carbon/human/human_owner = owner + human_owner.physiology.stun_add -= delta + applied_amount = exercise_amount + linked_alert?.maptext = MAPTEXT("[round(100 * exercise_amount / EXERCISE_LIMIT, 1)]%") + switch (exercise_amount) + if (0.3 to 0.5) + examine_text = "[owner.p_they(TRUE)] seem exceptionally strong!" + if (0.1 to 0.3) + examine_text = "[owner.p_they(TRUE)] seem very strong!" + else + examine_text = "[owner.p_they(TRUE)] seem strong!" + +/atom/movable/screen/alert/status_effect/exercised + name = "Exercised" + desc = "You have worked out recently, making you stronger and more resistant to being brought down by stunning weapons." + icon_state = "weights" diff --git a/code/game/objects/structures/gym/punching_bag.dm b/code/game/objects/structures/gym/punching_bag.dm index e5ec5dc64e805..49792013754e9 100644 --- a/code/game/objects/structures/gym/punching_bag.dm +++ b/code/game/objects/structures/gym/punching_bag.dm @@ -22,5 +22,5 @@ flick("[icon_state]-punch", src) playsound(loc, pick(hit_sounds), 25, TRUE, -1) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) - user.apply_status_effect(STATUS_EFFECT_EXERCISED) + user.apply_status_effect(STATUS_EFFECT_EXERCISED, 1) diff --git a/code/game/objects/structures/gym/weight_machine.dm b/code/game/objects/structures/gym/weight_machine.dm index 7d4aa22fbeb3e..b8e000a215779 100644 --- a/code/game/objects/structures/gym/weight_machine.dm +++ b/code/game/objects/structures/gym/weight_machine.dm @@ -76,7 +76,7 @@ if (user.client) user.client.give_award(/datum/award/achievement/misc/weights, user) SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) - user.apply_status_effect(STATUS_EFFECT_EXERCISED) + user.apply_status_effect(STATUS_EFFECT_EXERCISED, 10) end_workout() /obj/structure/weightmachine/proc/end_workout() diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index a9ad8a66a82a1..d46b64636271b 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -9,7 +9,7 @@ anchored = FALSE density = TRUE max_integrity = 100 - buckle_lying = FALSE + buckle_lying = 0 layer = ABOVE_MOB_LAYER move_resist = MOVE_FORCE_STRONG var/view_range = 2.5 diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index f01e2f2cdbb35..a154713a4ddf6 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -56,13 +56,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) return ..() /obj/structure/mirror/obj_break(damage_flag, mapload) - if(!broken && !(flags_1 & NODECONSTRUCT_1)) - icon_state = "mirror_broke" - if(!mapload) - playsound(src, "shatter", 70, 1) - if(desc == initial(desc)) - desc = "Oh no, seven years of bad luck!" - broken = TRUE + . = ..() + if(broken || (flags_1 & NODECONSTRUCT_1)) + return + icon_state = "mirror_broke" + if(!mapload) + playsound(src, "shatter", 70, 1) + if(desc == initial(desc)) + desc = "Oh no, seven years of bad luck!" + broken = TRUE /obj/structure/mirror/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1)) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 6251008eaebda..f24d4caef73ad 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -48,7 +48,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an /obj/structure/bodycontainer/update_icon() return -/obj/structure/bodycontainer/relaymove(mob/user) +/obj/structure/bodycontainer/relaymove(mob/living/user, direction) if(user.stat || !isturf(loc)) return if(locked) @@ -375,7 +375,7 @@ GLOBAL_LIST_EMPTY(crematoriums) return if(isliving(user)) var/mob/living/L = user - if(!(L.mobility_flags & MOBILITY_STAND)) + if(L.body_position == LYING_DOWN) return O.forceMove(src.loc) if (user != O) diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm index 664d98167aaa2..ac850ce157a0d 100644 --- a/code/game/objects/structures/plasticflaps.dm +++ b/code/game/objects/structures/plasticflaps.dm @@ -95,7 +95,7 @@ if(istype(living_mover.buckled, /mob/living/simple_animal/bot/mulebot)) // mulebot passenger gets a free pass. return TRUE - if((living_mover.mobility_flags & MOBILITY_STAND) && !living_mover.ventcrawler && living_mover.mob_size != MOB_SIZE_TINY) //If your not laying down, or a ventcrawler or a small creature, no pass. + if(living_mover.body_position == STANDING_UP && living_mover.mob_size != MOB_SIZE_TINY && !living_mover.ventcrawler) //If your not laying down, or a ventcrawler or a small creature, no pass. return FALSE /obj/structure/plasticflaps/deconstruct(disassembled = TRUE) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 59ba933331159..f6975e17359cb 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -50,7 +50,7 @@ if(!istype(H)) return var/feetCover = (H.wear_suit && (H.wear_suit.body_parts_covered & FEET)) || (H.w_uniform && (H.w_uniform.body_parts_covered & FEET)) - if(!HAS_TRAIT(H, TRAIT_ALWAYS_STUBS) && (H.shoes || feetCover || !(H.mobility_flags & MOBILITY_STAND) || HAS_TRAIT(H, TRAIT_PIERCEIMMUNE) || H.m_intent == MOVE_INTENT_WALK || H.dna?.species.bodytype & BODYTYPE_DIGITIGRADE)) + if(!HAS_TRAIT(H, TRAIT_ALWAYS_STUBS) && (H.shoes || feetCover || H.body_position == LYING_DOWN || HAS_TRAIT(H, TRAIT_PIERCEIMMUNE) || H.m_intent == MOVE_INTENT_WALK || H.dna?.species.bodytype & BODYTYPE_DIGITIGRADE)) return if(HAS_TRAIT(H, TRAIT_ALWAYS_STUBS) || ((world.time >= last_bump + 100) && prob(5))) to_chat(H, "You stub your toe on the [name]!") @@ -561,7 +561,7 @@ smoothing_groups = null canSmoothWith = null can_buckle = 1 - buckle_lying = -1 + buckle_lying = NO_BUCKLE_LYING buckle_requires_restraints = 1 var/mob/living/carbon/human/patient = null var/obj/machinery/computer/operating/computer = null @@ -707,7 +707,7 @@ . = ..() if(.) return - if(!(user.mobility_flags & MOBILITY_STAND) || user.get_num_legs() < 2) + if(user.body_position == LYING_DOWN || user.usable_legs < 2) return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm index 6f5d5463cfb82..35959589b5093 100644 --- a/code/game/objects/structures/target_stake.dm +++ b/code/game/objects/structures/target_stake.dm @@ -7,7 +7,7 @@ flags_1 = CONDUCT_1 can_buckle = TRUE max_buckled_mobs = 1 - buckle_lying = FALSE + buckle_lying = 0 var/obj/item/target/pinned_target /obj/structure/target_stake/Destroy() diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index ddcdb05e101a7..869b85ca5f0bc 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -180,28 +180,32 @@ /obj/structure/transit_tube_pod/transfer_air_ratio(datum/gas_mixture/taker, ratio) return air_contents.transfer_ratio_to(taker, ratio) -/obj/structure/transit_tube_pod/relaymove(mob/mob, direction) - if(istype(mob) && mob.client) - if(!moving) - for(var/obj/structure/transit_tube/station/station in loc) - if(!station.pod_moving) - if(direction == turn(station.boarding_dir,180)) - if(station.open_status == STATION_TUBE_OPEN) - mob.forceMove(loc) - update_icon() - else - station.open_animation() - - else if(direction in station.tube_dirs) - setDir(direction) - station.launch_pod() - return - - for(var/obj/structure/transit_tube/TT in loc) - if(dir in TT.tube_dirs) - if(TT.has_exit(direction)) - setDir(direction) - return + +/obj/structure/transit_tube_pod/relaymove(mob/living/user, direction) + if(!user.client || moving) + return + + for(var/obj/structure/transit_tube/station/station in loc) + if(station.pod_moving) + return + if(direction == turn(station.boarding_dir,180)) + if(station.open_status == STATION_TUBE_OPEN) + user.forceMove(loc) + update_icon() + else + station.open_animation() + else if(direction in station.tube_dirs) + setDir(direction) + station.launch_pod() + return + + for(var/obj/structure/transit_tube/transit_tube in loc) + if(!(dir in transit_tube.tube_dirs)) + continue + if(!transit_tube.has_exit(direction)) + continue + setDir(direction) + return /obj/structure/transit_tube_pod/return_temperature() return air_contents.return_temperature() diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index beaa41794ac26..77ae7704e3236 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -85,6 +85,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( var/old_lighting_corner_SW = lighting_corner_SW var/old_lighting_corner_NW = lighting_corner_NW var/old_directional_opacity = directional_opacity + var/old_dynamic_lumcount = dynamic_lumcount var/old_opacity = opacity // Z-Mimic: copy above @@ -138,11 +139,15 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( lighting_corner_SW = old_lighting_corner_SW lighting_corner_NW = old_lighting_corner_NW + dynamic_lumcount = old_dynamic_lumcount + if(SSlighting.initialized) lighting_object = old_lighting_object + directional_opacity = old_directional_opacity recalculate_directional_opacity() + //Bacon's Starlight lighting if(fullbright_type != old_fullbright_type) if (!fullbright_type) lighting_build_overlay() diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index b368aaf6fdfed..478e54c75e0c5 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -229,7 +229,7 @@ if(!(lube&GALOSHES_DONT_HELP)) //can't slip while buckled unless it's lube. return 0 else - if(!(lube & SLIP_WHEN_CRAWLING) && (!(slipper.mobility_flags & MOBILITY_STAND) || !(slipper.status_flags & CANKNOCKDOWN))) // can't slip unbuckled mob if they're lying or can't fall. + if(!(lube & SLIP_WHEN_CRAWLING) && slipper.body_position == LYING_DOWN || !(slipper.status_flags & CANKNOCKDOWN)) // can't slip unbuckled mob if they're lying or can't fall. return 0 if(slipper.m_intent == MOVE_INTENT_WALK && (lube&NO_SLIP_WHEN_WALKING)) return 0 diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 0cb492c3fe01b..5f8ec518aee3d 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -79,6 +79,10 @@ damage_overlays -= i return ScrapeAway(flags = CHANGETURF_INHERIT_AIR) +///For when the floor is placed under heavy load. Calls break_tile(), but exists to be overridden by floor types that should resist crushing force. +/turf/open/floor/proc/crush() + break_tile() + /turf/open/floor/ChangeTurf(path, new_baseturf, flags) if(!isfloorturf(src)) return ..() //fucking turfs switch the fucking src of the fucking running procs diff --git a/code/game/turfs/open/floor/iron_floor.dm b/code/game/turfs/open/floor/iron_floor.dm index 65d439c896504..8d9c8173f6016 100644 --- a/code/game/turfs/open/floor/iron_floor.dm +++ b/code/game/turfs/open/floor/iron_floor.dm @@ -110,6 +110,11 @@ floor_tile = /obj/item/stack/tile/iron/dark_corner /turf/open/floor/iron/checker + icon_state = "blackwhite" + base_icon_state = "blackwhite" + floor_tile = /obj/item/stack/tile/iron/checker + +/turf/open/floor/iron/checker/other icon_state = "checker" base_icon_state = "checker" floor_tile = /obj/item/stack/tile/iron/checker diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 8d7c381635533..4e785acdaa08c 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -52,6 +52,9 @@ /turf/open/floor/plating/asteroid/MakeDry() return +/turf/open/floor/plating/asteroid/crush() + return + /turf/open/floor/plating/asteroid/attackby(obj/item/W, mob/user, params) . = ..() if(!.) diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 78965daaba484..edcc7d6ec0560 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -127,9 +127,7 @@ var/mob/living/L = thing if(L.movement_type & FLYING) continue //YOU'RE FLYING OVER IT - var/buckle_check = L.buckling - if(!buckle_check) - buckle_check = L.buckled + var/buckle_check = L.buckled if(isobj(buckle_check)) var/obj/O = buckle_check if(O.resistance_flags & LAVA_PROOF) diff --git a/code/game/turfs/turf_integrity.dm b/code/game/turfs/turf_integrity.dm index ebf76fb3905ad..316ea436512ec 100644 --- a/code/game/turfs/turf_integrity.dm +++ b/code/game/turfs/turf_integrity.dm @@ -292,7 +292,7 @@ if (!can_hit) return ..() if(!M.melee_damage && !M.obj_damage) - INVOKE_ASYNC(M, TYPE_PROC_REF(/mob, emote), "custom", null, "[M.friendly] [src].") + M.emote("custom", message = "[M.friendly_verb_continuous] [src].") return 0 else var/play_soundeffect = 1 diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 9ff4dcaff230a..69b5da486bd91 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -28,6 +28,8 @@ to_chat(usr, "You seem to be selecting a mob that doesn't exist anymore.") return + var/datum/browser/popup = new(usr, "adminplayeropts-[REF(M)]", "
    Options for [M.key]
    ", 700, 600) + var/body = "Options panel for [M]" if(M.client) body += " played by [M.client]" @@ -69,8 +71,7 @@ body += "- " body += "= " body += "0" - var/metabalance = M.client.get_metabalance_db() - body += "
    [CONFIG_GET(string/metacurrency_name)]s: [metabalance] " + body += "
    [CONFIG_GET(string/metacurrency_name)]s: [M.client.get_metabalance_async()] " var/full_version = "Unknown" if(M.client.byond_version) full_version = "[M.client.byond_version].[M.client.byond_build ? M.client.byond_build : "xxx"]" @@ -219,7 +220,6 @@ body += "
    " - var/datum/browser/popup = new(usr, "adminplayeropts-[REF(M)]", "
    Options for [M.key]
    ", 700, 600) popup.set_content(body) popup.open(0) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 36ac67e919dea..ea3f0eb3df786 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -721,8 +721,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that if(!holder) return var/list/names = list() - for(var/i in GLOB.ruin_landmarks) - var/obj/effect/landmark/ruin/ruin_landmark = i + for(var/obj/effect/landmark/ruin/ruin_landmark as anything in GLOB.ruin_landmarks) var/datum/map_template/ruin/template = ruin_landmark.ruin_template var/count = 1 diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index af25474593553..c77f6d58ce261 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -840,13 +840,16 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_ADMIN)) return - var/level = input("Select security level to change to","Set Security Level") as null|anything in list("green","blue","red","delta") - if(level) - set_security_level(level) + var/level = tgui_input_list(usr, "Select Security Level:", "Set Security Level", SSsecurity_level.available_levels) - log_admin("[key_name(usr)] changed the security level to [level]") - message_admins("[key_name_admin(usr)] changed the security level to [level]") - SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + if(!level) + return + + SSsecurity_level.set_level(level) + + log_admin("[key_name(usr)] changed the security level to [level]") + message_admins("[key_name_admin(usr)] changed the security level to [level]") + SSblackbox.record_feedback("tally", "admin_verb", 1, "Set Security Level [capitalize(level)]") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_nuke(obj/machinery/nuclearbomb/N in GLOB.nuke_list) set name = "Toggle Nuke" diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 7705511521ae9..22d7187f89a31 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -553,11 +553,11 @@ Congratulations! You are now trained for invasive xenobiology research!"} return var/mob/living/carbon/C = L if(!C.handcuffed) - if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()) + if(C.canBeHandcuffed()) playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) C.visible_message("[user] begins restraining [C] with [src]!", \ "[user] begins shaping an energy field around your hands!") - if(do_after(user, 3 SECONDS, C) && (C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore())) + if(do_after(user, 3 SECONDS, C) && C.canBeHandcuffed()) if(!C.handcuffed) C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/used(C)) C.update_handcuffed() diff --git a/code/modules/antagonists/abductor/machinery/experiment.dm b/code/modules/antagonists/abductor/machinery/experiment.dm index 0da1bab7e2a6a..403a1e55bce35 100644 --- a/code/modules/antagonists/abductor/machinery/experiment.dm +++ b/code/modules/antagonists/abductor/machinery/experiment.dm @@ -16,8 +16,7 @@ var/breakout_time = 450 /obj/machinery/abductor/experiment/MouseDrop_T(mob/target, mob/user) - var/mob/living/L = user - if(user.stat || (isliving(user) && (!(L.mobility_flags & MOBILITY_STAND) || !(L.mobility_flags & MOBILITY_UI))) || !Adjacent(user) || !target.Adjacent(user) || !ishuman(target)) + if(user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_UI_BLOCKED) || !Adjacent(user) || !target.Adjacent(user) || !ishuman(target)) return if(isabductor(target)) return diff --git a/code/modules/antagonists/blob/blob_mobs.dm b/code/modules/antagonists/blob/blob_mobs.dm index 6763875819065..d2e8650552041 100644 --- a/code/modules/antagonists/blob/blob_mobs.dm +++ b/code/modules/antagonists/blob/blob_mobs.dm @@ -15,7 +15,7 @@ maxbodytemp = 360 unique_name = 1 a_intent = INTENT_HARM - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE initial_language_holder = /datum/language_holder/empty var/mob/camera/blob/overmind = null @@ -104,7 +104,8 @@ melee_damage = 4 obj_damage = 20 environment_smash = ENVIRONMENT_SMASH_STRUCTURES - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/genhit1.ogg' movement_type = FLYING del_on_death = TRUE @@ -241,7 +242,8 @@ damage_coeff = list(BRUTE = 0.5, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) melee_damage = 20 obj_damage = 60 - attacktext = "slams" + attack_verb_continuous = "slams" + attack_verb_simple = "slam" attack_sound = 'sound/effects/blobattack.ogg' verb_say = "gurgles" verb_ask = "demands" @@ -306,10 +308,10 @@ ..() if(overmind) //if we have an overmind, we're doing chemical reactions instead of pure damage melee_damage = 4 - attacktext = overmind.blobstrain.blobbernaut_message + attack_verb_continuous = overmind.blobstrain.blobbernaut_message else melee_damage = initial(melee_damage) - attacktext = initial(attacktext) + attack_verb_continuous = overmind.blobstrain.blobbernaut_message /mob/living/simple_animal/hostile/blob/blobbernaut/death(gibbed) ..(gibbed) diff --git a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm index 34b82011cd1e7..ca64a3aeb3822 100644 --- a/code/modules/antagonists/blob/blobstrains/_blobstrain.dm +++ b/code/modules/antagonists/blob/blobstrains/_blobstrain.dm @@ -52,7 +52,7 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/ if(resource_delay <= world.time) resource_delay = world.time + 10 // 1 second overmind.add_points(point_rate) - overmind.blob_core.obj_integrity = min(overmind.blob_core.max_integrity, overmind.blob_core.obj_integrity+core_regen) + overmind.blob_core.repair_damage(core_regen) /datum/blobstrain/proc/attack_living(var/mob/living/L) // When the blob attacks people send_message(L) diff --git a/code/modules/antagonists/blob/blobstrains/energized_jelly.dm b/code/modules/antagonists/blob/blobstrains/energized_jelly.dm index dc4033f2f2284..9d95096285b9a 100644 --- a/code/modules/antagonists/blob/blobstrains/energized_jelly.dm +++ b/code/modules/antagonists/blob/blobstrains/energized_jelly.dm @@ -10,7 +10,7 @@ reagent = /datum/reagent/blob/energized_jelly /datum/blobstrain/reagent/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && B.obj_integrity - damage <= 0 && prob(10)) + if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && B.get_integrity() - damage <= 0 && prob(10)) do_sparks(rand(2, 4), FALSE, B) return ..() diff --git a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blobstrains/reactive_spines.dm index fed527ad1f0e6..4b562ea6b902c 100644 --- a/code/modules/antagonists/blob/blobstrains/reactive_spines.dm +++ b/code/modules/antagonists/blob/blobstrains/reactive_spines.dm @@ -12,7 +12,7 @@ reagent = /datum/reagent/blob/reactive_spines /datum/blobstrain/reagent/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if(damage && damage_type == BRUTE && B.obj_integrity - damage > 0) //is there any damage, is it brute, and will we be alive + if(damage && damage_type == BRUTE && B.get_integrity() - damage > 0) //is there any damage, is it brute, and will we be alive if(damage_flag == MELEE) B.visible_message("The blob retaliates, lashing out!") for(var/atom/A as() in range(1, B)) diff --git a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm index c9cdba3224f84..58c5cf96346a2 100644 --- a/code/modules/antagonists/blob/blobstrains/replicating_foam.dm +++ b/code/modules/antagonists/blob/blobstrains/replicating_foam.dm @@ -13,10 +13,10 @@ /datum/blobstrain/reagent/replicating_foam/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) if(damage_type == BRUTE) damage = damage * 2 - else if(damage_type == BURN && damage > 0 && B.obj_integrity - damage > 0 && prob(60)) + else if(damage_type == BURN && damage > 0 && B.get_integrity() - damage > 0 && prob(60)) var/obj/structure/blob/newB = B.expand(null, null, 0) if(newB) - newB.obj_integrity = B.obj_integrity - damage + newB.update_integrity(B.get_integrity() - damage) newB.update_icon() return ..() diff --git a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm b/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm index c36e27c79a282..9ba70ffbc69ee 100644 --- a/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm +++ b/code/modules/antagonists/blob/blobstrains/shifting_fragments.dm @@ -15,7 +15,7 @@ B.forceMove(T) /datum/blobstrain/reagent/shifting_fragments/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage)) + if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage > 0 && B.get_integrity() - damage > 0 && prob(60-damage)) var/list/blobstopick = list() for(var/obj/structure/blob/OB in orange(1, B)) if((istype(OB, /obj/structure/blob/normal) || (istype(OB, /obj/structure/blob/shield) && prob(25))) && OB.overmind && OB.overmind.blobstrain.type == B.overmind.blobstrain.type) diff --git a/code/modules/antagonists/blob/blobstrains/zombifying_pods.dm b/code/modules/antagonists/blob/blobstrains/zombifying_pods.dm index 66625f40fbdaf..06e97d89a66c0 100644 --- a/code/modules/antagonists/blob/blobstrains/zombifying_pods.dm +++ b/code/modules/antagonists/blob/blobstrains/zombifying_pods.dm @@ -12,7 +12,7 @@ reagent = /datum/reagent/blob/zombifying_pods /datum/blobstrain/reagent/zombifying_pods/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) - if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore. + if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage <= 20 && B.get_integrity() - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore. B.visible_message("A spore floats free of the blob!") var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc) BS.overmind = B.overmind diff --git a/code/modules/antagonists/blob/overmind.dm b/code/modules/antagonists/blob/overmind.dm index fb2e7fba7d486..051efd9ab8a97 100644 --- a/code/modules/antagonists/blob/overmind.dm +++ b/code/modules/antagonists/blob/overmind.dm @@ -13,7 +13,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) icon_state = "marker" mouse_opacity = MOUSE_OPACITY_ICON move_on_shuttle = 1 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE invisibility = INVISIBILITY_OBSERVER layer = FLY_LAYER @@ -115,7 +115,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) else if(!victory_in_progress && (blobs_legit.len >= blobwincount)) victory_in_progress = TRUE priority_announce("Biohazard has reached critical mass. Station loss is imminent.", "Biohazard Alert", SSstation.announcer.get_rand_alert_sound()) - set_security_level("delta") + SSsecurity_level.set_level(SEC_LEVEL_DELTA) max_blob_points = INFINITY blob_points = INFINITY addtimer(CALLBACK(src, PROC_REF(victory)), 450) @@ -197,7 +197,9 @@ GLOBAL_LIST_EMPTY(blob_nodes) return ..() /mob/camera/blob/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, "You are the overmind!") blob_help() update_health_hud() @@ -211,10 +213,11 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/update_health_hud() if(blob_core) - hud_used.healths.maptext = MAPTEXT("
    [round(blob_core.obj_integrity)]
    ") + var/current_health = round((blob_core.get_integrity() / blob_core.max_integrity) * 100) + hud_used.healths.maptext = MAPTEXT("
    [current_health]
    ") for(var/mob/living/simple_animal/hostile/blob/blobbernaut/B in blob_mobs) if(B.hud_used?.blobpwrdisplay) - B.hud_used.blobpwrdisplay.maptext = MAPTEXT("
    [round(blob_core.obj_integrity)]
    ") + B.hud_used.blobpwrdisplay.maptext = MAPTEXT("
    [current_health]
    ") /mob/camera/blob/proc/add_points(points) blob_points = clamp(blob_points + points, 0, max_blob_points) @@ -264,7 +267,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) /mob/camera/blob/get_stat_tab_status() var/list/tab_data = ..() if(blob_core) - tab_data["Core Health"] = GENERATE_STAT_TEXT("[blob_core.obj_integrity]") + tab_data["Core Health"] = GENERATE_STAT_TEXT("[blob_core.get_integrity()]") tab_data["Power Stored"] = GENERATE_STAT_TEXT("[blob_points]/[max_blob_points]") tab_data["Blobs to Win"] = GENERATE_STAT_TEXT("[blobs_legit.len]/[blobwincount]") if(free_strain_rerolls) diff --git a/code/modules/antagonists/blob/powers.dm b/code/modules/antagonists/blob/powers.dm index e7964f479467a..4cff5d61a3f47 100644 --- a/code/modules/antagonists/blob/powers.dm +++ b/code/modules/antagonists/blob/powers.dm @@ -128,7 +128,7 @@ if(S) if(!can_buy(BLOB_REFLECTOR_COST)) return - if(S.obj_integrity < S.max_integrity * 0.5) + if(S.get_integrity() < S.max_integrity * 0.5) add_points(BLOB_REFLECTOR_COST) to_chat(src, "This shield blob is too damaged to be modified properly!") return @@ -167,7 +167,7 @@ if(B.naut) //if it already made a blobbernaut, it can't do it again to_chat(src, "This factory blob is already sustaining a blobbernaut.") return - if(B.obj_integrity < B.max_integrity * 0.5) + if(B.get_integrity() < B.max_integrity * 0.5) to_chat(src, "This factory blob is too damaged to sustain a blobbernaut.") return if(!can_buy(40)) @@ -177,8 +177,7 @@ to_chat(src, "You attempt to produce a blobbernaut.") var/list/mob/dead/observer/candidates = poll_ghost_candidates("Do you want to play as a [blobstrain.name] blobbernaut?", ROLE_BLOB, /datum/role_preference/midround_ghost/blob, 7.5 SECONDS, ignore_category = POLL_IGNORE_BLOB_HELPER) //players must answer rapidly if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now. - B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health - B.obj_integrity = min(B.obj_integrity, B.max_integrity) + B.modify_max_integrity(initial(B.max_integrity) * 0.25) //factories that produced a blobbernaut have much lower health B.update_icon() B.visible_message("The blobbernaut [pick("rips", "tears", "shreds")] its way out of the factory blob!") playsound(B.loc, 'sound/effects/splat.ogg', 50, 1) diff --git a/code/modules/antagonists/blob/structures/_blob.dm b/code/modules/antagonists/blob/structures/_blob.dm index b08aa5276472d..e7870b87acfaf 100644 --- a/code/modules/antagonists/blob/structures/_blob.dm +++ b/code/modules/antagonists/blob/structures/_blob.dm @@ -332,11 +332,14 @@ name = "normal blob" icon_state = "blob" light_range = 0 - obj_integrity = 21 //doesn't start at full health max_integrity = 25 health_regen = 1 brute_resist = 0.25 +/obj/structure/blob/normal/Initialize(mapload) + . = ..() + update_integrity(21) //doesn't start at full health + /obj/structure/blob/normal/scannerreport() if(obj_integrity <= 15) return "Currently weak to brute damage." diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 05f2b8016d034..5dea5ea3a8c3d 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -11,7 +11,7 @@ //Recover from stuns. /datum/action/changeling/adrenaline/sting_action(mob/living/user) ..() - to_chat(user, "Energy rushes through us.[(!(user.mobility_flags & MOBILITY_STAND)) ? " We arise." : ""]") + to_chat(user, "Energy rushes through us.[(user.body_position == LYING_DOWN) ? " We arise." : ""]") user.SetSleeping(0) user.SetUnconscious(0) user.SetStun(0) diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index 13a40871292d9..1d068e1352658 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -24,7 +24,6 @@ else to_chat(user, "We begin our stasis, preparing energy to arise once more.") user.fakedeath("changeling") //play dead - user.update_mobility() addtimer(CALLBACK(src, PROC_REF(ready_to_regenerate), user.mind), LING_FAKEDEATH_TIME, TIMER_UNIQUE) return TRUE diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 34353516d251a..39da9eafa0d9c 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -158,7 +158,8 @@ throw_speed = 0 block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") sharpness = IS_SHARP bleed_force = BLEED_CUT var/can_drop = FALSE @@ -405,6 +406,9 @@ armor = list(MELEE = 35, BULLET = 25, LASER = 25, ENERGY = 30, BOMB = 30, BIO = 20, RAD = 20, FIRE = 90, ACID = 90, STAMINA = 10, BLEED = 80)//Bit less armoured than the Syndicate space suit slowdown = 0.2 var/datum/reagent/salbutamol = /datum/reagent/medicine/salbutamol + actions_types = list() + cell = null + show_hud = FALSE /obj/item/clothing/suit/space/changeling/Initialize(mapload) . = ..() @@ -413,10 +417,15 @@ loc.visible_message("[loc.name]\'s flesh rapidly inflates, forming a bloated mass around [loc.p_their()] body!", "We inflate our flesh, creating a spaceproof suit!", "You hear organic matter ripping and tearing!") START_PROCESSING(SSobj, src) +// seal the cell door +/obj/item/clothing/suit/space/changeling/toggle_spacesuit_cell(mob/user) + return + /obj/item/clothing/suit/space/changeling/process(delta_time) if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.reagents.add_reagent(salbutamol, initial(salbutamol.metabolization_rate) * (delta_time / SSMOBS_DT)) + H.adjust_bodytemperature(temperature_setting - H.bodytemperature) // force changelings to normal temp step mode played badly /obj/item/clothing/head/helmet/space/changeling name = "flesh mass" diff --git a/code/modules/antagonists/changeling/powers/regenerate.dm b/code/modules/antagonists/changeling/powers/regenerate.dm index 787e04af944b6..7987a3761650d 100644 --- a/code/modules/antagonists/changeling/powers/regenerate.dm +++ b/code/modules/antagonists/changeling/powers/regenerate.dm @@ -73,7 +73,6 @@ "Our [BP] forms into a horrifying snake and heads towards our attackers!") BP.dismember() BP.Destroy() - C.update_mobility() //Deploy limbsnake var/mob/living/snek = new /mob/living/simple_animal/hostile/poison/limbsnake(get_turf(user)) //assign faction @@ -90,10 +89,12 @@ health = 50 maxHealth = 50 melee_damage = 3 - attacktext = "bites" - response_help = "pokes" - response_disarm = "shoos" - response_harm = "steps on" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "steps on" + response_harm_simple = "step on" ventcrawler = VENTCRAWLER_ALWAYS density = FALSE pass_flags = PASSTABLE | PASSMOB diff --git a/code/modules/antagonists/clock_cult/clockwork_massive.dm b/code/modules/antagonists/clock_cult/clockwork_massive.dm index 46c74b77669fa..aa19c1480fbce 100644 --- a/code/modules/antagonists/clock_cult/clockwork_massive.dm +++ b/code/modules/antagonists/clock_cult/clockwork_massive.dm @@ -88,7 +88,7 @@ GLOBAL_LIST_INIT(clockwork_portals, list()) for(var/obj/effect/portal/wormhole/clockcult/CC in GLOB.all_wormholes) qdel(CC) SSshuttle.clearHostileEnvironment(src) - set_security_level(SEC_LEVEL_RED) + SSsecurity_level.set_level(SEC_LEVEL_RED) addtimer(CALLBACK(src, PROC_REF(clockies_win)), 300) /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/clockies_win() @@ -134,7 +134,7 @@ GLOBAL_LIST_INIT(clockwork_portals, list()) /obj/structure/destructible/clockwork/massive/celestial_gateway/proc/announce_gateway() set_dynamic_high_impact_event("clockwork ark has opened") activated = TRUE - set_security_level(SEC_LEVEL_DELTA) + SSsecurity_level.set_level(SEC_LEVEL_DELTA) mass_recall(TRUE) var/grace_time = GLOB.narsie_breaching ? 0 : 1800 addtimer(CALLBACK(src, PROC_REF(begin_assault)), grace_time) diff --git a/code/modules/antagonists/clock_cult/clockwork_turfs.dm b/code/modules/antagonists/clock_cult/clockwork_turfs.dm index ad2d939e21422..329b56ba411c8 100644 --- a/code/modules/antagonists/clock_cult/clockwork_turfs.dm +++ b/code/modules/antagonists/clock_cult/clockwork_turfs.dm @@ -500,7 +500,6 @@ /obj/structure/grille/ratvar/broken icon_state = "brokenratvargrille" density = FALSE - obj_integrity = 20 broken = TRUE rods_type = /obj/item/stack/sheet/brass rods_amount = 1 @@ -508,6 +507,10 @@ grille_type = /obj/structure/grille/ratvar broken_type = null +/obj/structure/grille/ratvar/broken/Initialize(mapload) + . = ..() + take_damage(max_integrity * 0.6) + //================================================= //Ratvar Window: A transparent window //================================================= diff --git a/code/modules/antagonists/clock_cult/helpers/clockcult_ending.dm b/code/modules/antagonists/clock_cult/helpers/clockcult_ending.dm index de51ca0ba2f06..6085f97b93802 100644 --- a/code/modules/antagonists/clock_cult/helpers/clockcult_ending.dm +++ b/code/modules/antagonists/clock_cult/helpers/clockcult_ending.dm @@ -1,7 +1,7 @@ /proc/trigger_clockcult_victory(hostile) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(clockcult_gg)), 700) sleep(50) - set_security_level("delta") + SSsecurity_level.set_level(SEC_LEVEL_DELTA) priority_announce("Huge gravitational-energy spike detected emminating from a neutron star near your sector. Event has been determined to be survivable by 0% of life. ESTIMATED TIME UNTIL ENERGY PULSE REACHES [GLOB.station_name]: 56 SECONDS. Godspeed crew, glory to Nanotrasen. -Admiral Telvig.", "Central Command Anomolous Materials Division", 'sound/misc/bloblarm.ogg') for(var/client/C in GLOB.clients) SEND_SOUND(C, sound('sound/misc/airraid.ogg', 1)) diff --git a/code/modules/antagonists/clock_cult/items/clockwork_weapon.dm b/code/modules/antagonists/clock_cult/items/clockwork_weapon.dm index 85d88b5dc51ca..830ecd6b589c6 100644 --- a/code/modules/antagonists/clock_cult/items/clockwork_weapon.dm +++ b/code/modules/antagonists/clock_cult/items/clockwork_weapon.dm @@ -17,7 +17,8 @@ armour_penetration = 10 custom_materials = list(/datum/material/iron=1150, /datum/material/gold=2750) hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "poked", "jabbed", "torn", "gored") + attack_verb_continuous = list("attacks", "pokes", "jabs", "tears", "lacerates", "gores") + attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") sharpness = IS_SHARP_ACCURATE bleed_force = BLEED_CUT max_integrity = 200 @@ -99,7 +100,8 @@ throwforce = 25 armour_penetration = 6 sharpness = IS_BLUNT - attack_verb = list("bashed", "smitted", "hammered", "attacked") + attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks") + attack_verb_simple = list("bash", "bludgeon", "thrash", "whack") clockwork_hint = "Enemies hit by this will be flung back while on Reebe." /obj/item/clockwork/weapon/brass_battlehammer/ComponentInitialize() @@ -122,7 +124,8 @@ force = 26 throwforce = 20 armour_penetration = 12 - attack_verb = list("attacked", "slashed", "cut", "torn", "gored") + attack_verb_continuous = list("attacks", "pokes", "jabs", "tears", "lacerates", "gores") + attack_verb_simple = list("attack", "poke", "jab", "tear", "lacerate", "gore") clockwork_hint = "Targets will be struck with a powerful electromagnetic pulse while on Reebe." COOLDOWN_DECLARE(emp_cooldown) diff --git a/code/modules/antagonists/clock_cult/items/replica_fabricator.dm b/code/modules/antagonists/clock_cult/items/replica_fabricator.dm index 3ede705c2568a..069bbeb1f9b1b 100644 --- a/code/modules/antagonists/clock_cult/items/replica_fabricator.dm +++ b/code/modules/antagonists/clock_cult/items/replica_fabricator.dm @@ -44,12 +44,12 @@ if(GLOB.clockcult_power < 200) to_chat(user, "You need [200 - GLOB.clockcult_power]W more to repair the [C]...") return - if(C.max_integrity == C.obj_integrity) + if(C.max_integrity == C.get_integrity()) to_chat(user, "\The [C] is already repaired!") return to_chat(user, "You begin repairing [C]...") if(do_after(user, 60, target=target)) - if(C.max_integrity == C.obj_integrity) + if(C.max_integrity == C.get_integrity()) to_chat(user, "\The [C] is already repaired!") return if(GLOB.clockcult_power < 200) @@ -57,7 +57,7 @@ return GLOB.clockcult_power -= 200 to_chat(user, "You repair some of the damage on \the [C].") - C.obj_integrity = clamp(C.obj_integrity + 15, 0, C.max_integrity) + C.repair_damage(clamp(C.get_integrity() + 15, 0, C.max_integrity)) else to_chat(user, "You fail to repair the damage of \the [C]...") diff --git a/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm b/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm index 2e7bfb21164af..3e0490b4b8b51 100644 --- a/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clock_cult/mobs/clockwork_marauder.dm @@ -22,7 +22,8 @@ GLOBAL_LIST_EMPTY(clockwork_marauders) pass_flags = PASSTABLE damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - attacktext = "slices" + attack_verb_continuous = "slices" + attack_verb_simple = "slice" attack_sound = 'sound/weapons/bladeslice.ogg' chat_color = "#CAA25B" mobchatspan = "brassmobsay" @@ -49,6 +50,8 @@ GLOBAL_LIST_EMPTY(clockwork_marauders) /mob/living/simple_animal/hostile/clockwork_marauder/Login() . = ..() + if(!. || !client) + return FALSE add_servant_of_ratvar(src) to_chat(src, "You can block up to 4 attacks with your shield, however it requires a welder to be repaired.") diff --git a/code/modules/antagonists/clock_cult/mobs/eminence.dm b/code/modules/antagonists/clock_cult/mobs/eminence.dm index 06056a2d9e95f..751b249b7bea7 100644 --- a/code/modules/antagonists/clock_cult/mobs/eminence.dm +++ b/code/modules/antagonists/clock_cult/mobs/eminence.dm @@ -14,7 +14,7 @@ sight = SEE_SELF throwforce = 0 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 0, BURN = 0, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) @@ -101,6 +101,8 @@ /mob/living/simple_animal/eminence/Login() . = ..() + if(!. || !client) + return FALSE var/datum/antagonist/servant_of_ratvar/S = add_servant_of_ratvar(src, silent=TRUE) S.prefix = CLOCKCULT_PREFIX_EMINENCE to_chat(src, "You are the Eminence!") diff --git a/code/modules/antagonists/clock_cult/scriptures/abstraction_crystal.dm b/code/modules/antagonists/clock_cult/scriptures/abstraction_crystal.dm index 9879bc03fa191..8df79d2861c15 100644 --- a/code/modules/antagonists/clock_cult/scriptures/abstraction_crystal.dm +++ b/code/modules/antagonists/clock_cult/scriptures/abstraction_crystal.dm @@ -85,7 +85,7 @@ GLOBAL_LIST_INIT(abstraction_crystals, list()) var/health_lost = last_check_health - health if(health_lost > 0) damage_crystal(health_lost) - var/required_health = (linked_crystal.obj_integrity / linked_crystal.max_integrity) * maxHealth + var/required_health = (linked_crystal.get_integrity() / linked_crystal.max_integrity) * maxHealth var/health_delta_needed = max(health - required_health, 0) adjustCloneLoss(health_delta_needed) //Adjust clone loss so that our health = crystals health last_check_health = health diff --git a/code/modules/antagonists/clock_cult/scriptures/interdiction_lens.dm b/code/modules/antagonists/clock_cult/scriptures/interdiction_lens.dm index 89bec9d8fad8c..39b5e43984879 100644 --- a/code/modules/antagonists/clock_cult/scriptures/interdiction_lens.dm +++ b/code/modules/antagonists/clock_cult/scriptures/interdiction_lens.dm @@ -20,7 +20,6 @@ anchored = TRUE break_message = "The interdiction lens breaks into multiple fragments, which gently float to the ground." max_integrity = 150 - obj_integrity = 150 minimum_power = 5 var/enabled = FALSE //Misnomer - Whether we want to be enabled or not, processing would be if we are enabled var/processing = FALSE diff --git a/code/modules/antagonists/clock_cult/scriptures/kindle.dm b/code/modules/antagonists/clock_cult/scriptures/kindle.dm index 31fc93a3febe0..ae944eba40d30 100644 --- a/code/modules/antagonists/clock_cult/scriptures/kindle.dm +++ b/code/modules/antagonists/clock_cult/scriptures/kindle.dm @@ -27,7 +27,7 @@ //Anti magic abilities var/anti_magic_source = M.anti_magic_check(holy = TRUE) if(anti_magic_source) - M.mob_light(_color = LIGHT_COLOR_HOLY_MAGIC, _range = 2, _duration = 100) + M.mob_light(color = LIGHT_COLOR_HOLY_MAGIC, range = 2, duration = 100) var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", CALCULATE_MOB_OVERLAY_LAYER(MUTATIONS_LAYER)) M.add_overlay(forbearance) addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) @@ -37,7 +37,7 @@ return TRUE //Blood Cultist Effect if(iscultist(M)) - M.mob_light(_color = LIGHT_COLOR_BLOOD_MAGIC, _range = 2, _duration = 300) + M.mob_light(color = LIGHT_COLOR_BLOOD_MAGIC, range = 2, duration = 300) M.stuttering += 15 M.Jitter(15) var/mob_color = M.color @@ -48,7 +48,7 @@ playsound(invoker, 'sound/magic/mm_hit.ogg', 50, TRUE) return TRUE //Successful Invokation - invoker.mob_light(_color = LIGHT_COLOR_CLOCKWORK, _range = 2, _duration = 10) + invoker.mob_light(color = LIGHT_COLOR_CLOCKWORK, range = 2, duration = 10) if(!is_reebe(invoker.z)) if(!HAS_TRAIT(M, TRAIT_MINDSHIELD)) M.Paralyze(150) diff --git a/code/modules/antagonists/clock_cult/scriptures/prosperity_prism.dm b/code/modules/antagonists/clock_cult/scriptures/prosperity_prism.dm index 3a954e39edd8d..7eb2b5e49d47b 100644 --- a/code/modules/antagonists/clock_cult/scriptures/prosperity_prism.dm +++ b/code/modules/antagonists/clock_cult/scriptures/prosperity_prism.dm @@ -22,7 +22,6 @@ anchored = TRUE break_message = "The prism falls apart, toxic liquid leaking out into the air." max_integrity = 150 - obj_integrity = 150 minimum_power = 4 var/powered = FALSE var/toggled_on = TRUE diff --git a/code/modules/antagonists/clock_cult/traps/receivers/skewer.dm b/code/modules/antagonists/clock_cult/traps/receivers/skewer.dm index 4f331d7abd43d..d951eb4e22e5f 100644 --- a/code/modules/antagonists/clock_cult/traps/receivers/skewer.dm +++ b/code/modules/antagonists/clock_cult/traps/receivers/skewer.dm @@ -12,7 +12,6 @@ unwrench_path = /obj/item/clockwork/trap_placer/skewer buckle_lying = FALSE max_integrity = 40 - obj_integrity = 40 var/cooldown = 0 var/extended = FALSE var/mutable_appearance/stab_overlay diff --git a/code/modules/antagonists/clock_cult/traps/senders/delay.dm b/code/modules/antagonists/clock_cult/traps/senders/delay.dm index 58597b4927f31..2ae5b7dd28b5f 100644 --- a/code/modules/antagonists/clock_cult/traps/senders/delay.dm +++ b/code/modules/antagonists/clock_cult/traps/senders/delay.dm @@ -11,7 +11,6 @@ component_datum = /datum/component/clockwork_trap/delay unwrench_path = /obj/item/wallframe/clocktrap/delay max_integrity = 15 - obj_integrity = 15 /datum/component/clockwork_trap/delay takes_input = TRUE diff --git a/code/modules/antagonists/clock_cult/traps/senders/lever.dm b/code/modules/antagonists/clock_cult/traps/senders/lever.dm index c5bc5f074dfd3..b2fb0c7989b7f 100644 --- a/code/modules/antagonists/clock_cult/traps/senders/lever.dm +++ b/code/modules/antagonists/clock_cult/traps/senders/lever.dm @@ -11,7 +11,6 @@ unwrench_path = /obj/item/wallframe/clocktrap/lever component_datum = /datum/component/clockwork_trap/lever max_integrity = 75 - obj_integrity = 75 /datum/component/clockwork_trap/lever sends_input = TRUE diff --git a/code/modules/antagonists/clock_cult/traps/senders/pressure_sensor.dm b/code/modules/antagonists/clock_cult/traps/senders/pressure_sensor.dm index 8673d10476393..159afb8ace32e 100644 --- a/code/modules/antagonists/clock_cult/traps/senders/pressure_sensor.dm +++ b/code/modules/antagonists/clock_cult/traps/senders/pressure_sensor.dm @@ -13,7 +13,6 @@ alpha = 60 layer = PRESSURE_PLATE_LAYER max_integrity = 5 - obj_integrity = 5 /datum/component/clockwork_trap/pressure_sensor sends_input = TRUE diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 11024cdb515d4..42da7a651f33e 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -423,13 +423,12 @@ if(iscultist(user)) user.visible_message("[user] floods [L]'s mind with an eldritch energy!", \ "You attempt to stun [L] with the spell!") - - user.mob_light(_range = 3, _color = LIGHT_COLOR_BLOOD_MAGIC, _duration = 0.2 SECONDS) + user.mob_light(range = 3, color = LIGHT_COLOR_BLOOD_MAGIC, duration = 0.2 SECONDS) var/anti_magic_source = L.anti_magic_check(holy = TRUE) if(anti_magic_source) - L.mob_light(_range = 2, _color = LIGHT_COLOR_HOLY_MAGIC, _duration = 10 SECONDS) + L.mob_light(range = 2, color = LIGHT_COLOR_HOLY_MAGIC, duration = 10 SECONDS) var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", CALCULATE_MOB_OVERLAY_LAYER(MUTATIONS_LAYER)) L.add_overlay(forbearance) addtimer(CALLBACK(L, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) @@ -512,7 +511,7 @@ /obj/item/melee/blood_magic/shackles/afterattack(atom/target, mob/living/carbon/user, proximity) if(iscultist(user) && iscarbon(target) && proximity) var/mob/living/carbon/C = target - if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()) + if(C.canBeHandcuffed()) CuffAttack(C, user) else user.visible_message("This victim doesn't have enough arms to complete the restraint!") diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 7547343839ea3..6af798845c3a3 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -55,10 +55,9 @@ Striking a noncultist, however, will tear their flesh."} block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "rended") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") force = 23 - /// Force dealt to people that have holy protection, including from holding bibles - var/holy_force = 16 /obj/item/melee/cultblade/Initialize(mapload) . = ..() @@ -229,10 +228,8 @@ Striking a noncultist, however, will tear their flesh."} /obj/item/clothing/suit/hooded/cultrobes/cult_shield/anyone allow_any = TRUE -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/Initialize() - . = ..() - // note that these charges don't regenerate - AddComponent(/datum/component/shielded, recharge_start_delay = 0, shield_icon_file = 'icons/effects/cult_effects.dmi', shield_icon = "shield-cult", run_hit_callback = CALLBACK(src, PROC_REF(shield_damaged))) +/obj/item/clothing/suit/hooded/cultrobes/cult_shield/setup_shielding() + AddComponent(/datum/component/shielded, recharge_start_delay = 0 SECONDS, shield_icon_file = 'icons/effects/cult_effects.dmi', shield_icon = "shield-cult", run_hit_callback = CALLBACK(src, PROC_REF(shield_damaged))) /// A proc for callback when the shield breaks, since cult robes are stupid and have different effects /obj/item/clothing/suit/hooded/cultrobes/cult_shield/proc/shield_damaged(mob/living/wearer, attack_text, new_current_charges) @@ -326,7 +323,7 @@ Striking a noncultist, however, will tear their flesh."} if(SSshuttle.emergency.mode == SHUTTLE_CALL) var/cursetime = 1800 var/timer = SSshuttle.emergency.timeLeft(1) + cursetime - var/security_num = seclevel2num(get_security_level()) + var/security_num = SSsecurity_level.get_current_level_as_number() var/set_coefficient = 1 switch(security_num) if(SEC_LEVEL_GREEN) @@ -478,7 +475,8 @@ Striking a noncultist, however, will tear their flesh."} throw_speed = 2 armour_penetration = 30 block_upgrade_walk = 1 - attack_verb = list("attacked", "impaled", "stabbed", "tore", "gored") + attack_verb_continuous = list("attacks", "impales", "stabs", "tears", "lacerates", "gores") + attack_verb_simple = list("attack", "impale", "stab", "tear", "lacerate", "gore") sharpness = IS_SHARP bleed_force = BLEED_CUT hitsound = 'sound/weapons/bladeslice.ogg' @@ -741,7 +739,8 @@ Striking a noncultist, however, will tear their flesh."} max_integrity = 50 w_class = WEIGHT_CLASS_BULKY block_flags = BLOCKING_PROJECTILE - attack_verb = list("bumped", "prodded") + attack_verb_continuous = list("bumps", "prods") + attack_verb_simple = list("bump", "prod") hitsound = 'sound/weapons/smash.ogg' var/illusions = 4 diff --git a/code/modules/antagonists/cult/narsie.dm b/code/modules/antagonists/cult/narsie.dm index 3fd0470a5fd2d..73a3102022e85 100644 --- a/code/modules/antagonists/cult/narsie.dm +++ b/code/modules/antagonists/cult/narsie.dm @@ -206,7 +206,7 @@ sleep(500) priority_announce("Simulations on acausal dimensional event complete. Deploying solution package now. Deployment ETA: ONE MINUTE. ", "Central Command Higher Dimensional Affairs", SSstation.announcer.get_rand_alert_sound()) sleep(50) - set_security_level("delta") + SSsecurity_level.set_level(SEC_LEVEL_DELTA) SSshuttle.registerHostileEnvironment(src) sleep(600) if(resolved == FALSE) diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm index 0b8f25b0a25c8..c776de8226153 100644 --- a/code/modules/antagonists/devil/imp/imp.dm +++ b/code/modules/antagonists/devil/imp/imp.dm @@ -7,9 +7,12 @@ desc = "A large, menacing creature covered in armored black scales." speak_emote = list("cackles") emote_hear = list("cackles","screeches") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/mob.dmi' icon_state = "imp" icon_living = "imp" @@ -23,14 +26,15 @@ minbodytemp = 250 //Weak to cold maxbodytemp = INFINITY faction = list("hell") - attacktext = "wildly tears into" + attack_verb_continuous = "wildly tears into" + attack_verb_simple = "wildly tear into" maxHealth = 200 health = 200 healable = 0 environment_smash = ENVIRONMENT_SMASH_STRUCTURES obj_damage = 40 melee_damage = 10 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE var/boost = 0 bloodcrawl = BLOODCRAWL_EAT diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 02140568d4254..4a77905073865 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -19,8 +19,14 @@ spacewalk = TRUE mob_size = MOB_SIZE_LARGE held_items = list(null, null) - bodyparts = list(/obj/item/bodypart/chest/devil, /obj/item/bodypart/head/devil, /obj/item/bodypart/l_arm/devil, - /obj/item/bodypart/r_arm/devil, /obj/item/bodypart/r_leg/devil, /obj/item/bodypart/l_leg/devil) + bodyparts = list( + /obj/item/bodypart/chest/devil, + /obj/item/bodypart/head/devil, + /obj/item/bodypart/l_arm/devil, + /obj/item/bodypart/r_arm/devil, + /obj/item/bodypart/r_leg/devil, + /obj/item/bodypart/l_leg/devil + ) hud_type = /datum/hud/devil var/ascended = FALSE var/mob/living/oldform @@ -52,7 +58,9 @@ real_name = name /mob/living/carbon/true_devil/Login() - ..() + . = ..() + if(!. || !client) + return FALSE var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil) devilinfo.greet() mind.announce_objectives() @@ -122,8 +130,8 @@ var/weakness = check_weakness(I, user) apply_damage(I.force * weakness, I.damtype, def_zone) var/message_verb = "" - if(I.attack_verb?.len) - message_verb = "[pick(I.attack_verb)]" + if(length(I.attack_verb_continuous)) + message_verb = "[pick(I.attack_verb_continuous)]" else if(I.force) message_verb = "attacked" @@ -172,7 +180,7 @@ log_combat(M, src, "attacked", M) updatehealth() if ("disarm") - if (!(mobility_flags & MOBILITY_STAND) && !ascended) //No stealing the arch devil's pitchfork. + if (body_position == LYING_DOWN && !ascended) //No stealing the arch devil's pitchfork. if (prob(5)) Unconscious(40) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index 0c908df48b41b..1f3385c65b49d 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -15,7 +15,8 @@ force = 24 throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") var/after_use_message = "" /obj/item/melee/sickly_blade/attack(mob/living/M, mob/living/user) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm index 025238b8cdf2f..b1defc3b27bc6 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm @@ -32,7 +32,7 @@ /datum/status_effect/unholy_determination/tick() // The amount we heal of each damage type per tick. If we're missing legs we heal better because we can't dodge. - var/healing_amount = 1 + (2 - owner.get_num_legs()) + var/healing_amount = 1 + (2 - owner.usable_legs) // In softcrit you're, strong enough to stay up. if(owner.health <= owner.crit_threshold && owner.health >= HEALTH_THRESHOLD_FULLCRIT) diff --git a/code/modules/antagonists/heretic/knowledge/side_ash_flesh.dm b/code/modules/antagonists/heretic/knowledge/side_ash_flesh.dm index 7715f45988a4f..b8cc3ee7df2f8 100644 --- a/code/modules/antagonists/heretic/knowledge/side_ash_flesh.dm +++ b/code/modules/antagonists/heretic/knowledge/side_ash_flesh.dm @@ -38,22 +38,25 @@ route = HERETIC_PATH_SIDE /datum/heretic_knowledge/curse/paralysis/curse(mob/living/carbon/human/chosen_mob) - if(chosen_mob.get_num_legs() <= 0) // What're you gonna do, curse someone who already can't walk? + if(chosen_mob.usable_legs <= 0) // What're you gonna do, curse someone who already can't walk? to_chat(chosen_mob, "You feel a slight pain for a moment, but it passes shortly. Odd.") else - to_chat(chosen_mob, "You suddenly lose feeling in your leg[chosen_mob.get_num_legs() == 1 ? "":"s"]!") + to_chat(chosen_mob, "You suddenly lose feeling in your leg[chosen_mob.usable_legs == 1 ? "":"s"]!") ADD_TRAIT(chosen_mob, TRAIT_PARALYSIS_L_LEG, type) ADD_TRAIT(chosen_mob, TRAIT_PARALYSIS_R_LEG, type) /datum/heretic_knowledge/curse/paralysis/uncurse(mob/living/carbon/human/chosen_mob) + if(QDELETED(chosen_mob)) + return + REMOVE_TRAIT(chosen_mob, TRAIT_PARALYSIS_L_LEG, type) REMOVE_TRAIT(chosen_mob, TRAIT_PARALYSIS_R_LEG, type) - if(chosen_mob.get_num_legs() <= 0) // What're you gonna do, curse someone who already can't walk? + if(chosen_mob.usable_legs <= 0) // What're you gonna do, curse someone who already can't walk? to_chat(chosen_mob, "The slight pain returns, but disperses shortly.") else - to_chat(chosen_mob, "You regain feeling in your leg[chosen_mob.get_num_legs() == 1 ? "":"s"]!") + to_chat(chosen_mob, "You regain feeling in your leg[chosen_mob.usable_legs == 1 ? "":"s"]!") /datum/heretic_knowledge/summon/ashy name = "Ashen Ritual" diff --git a/code/modules/antagonists/heretic/structures/carving_knife.dm b/code/modules/antagonists/heretic/structures/carving_knife.dm index 070b1370df972..5977d7504c73d 100644 --- a/code/modules/antagonists/heretic/structures/carving_knife.dm +++ b/code/modules/antagonists/heretic/structures/carving_knife.dm @@ -12,7 +12,8 @@ force = 10 throwforce = 20 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") actions_types = list(/datum/action/item_action/rune_shatter) embedding = list( ignore_throwspeed_threshold = TRUE, diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 58683171015e9..bb1ab16feefe0 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -23,11 +23,12 @@ healable = 0 obj_damage = 50 melee_damage = 20 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE vision_range = 1 // Only attack when target is close wander = FALSE - attacktext = "glomps" + attack_verb_continuous = "glomps" + attack_verb_simple = "glomp" attack_sound = 'sound/effects/blobattack.ogg' butcher_results = list(/obj/item/food/meat/slab = 2) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index 4f65c750f2b65..1da124706b09f 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -46,7 +46,7 @@ STOP_PROCESSING(SSobj, core) update_icon() AddElement(/datum/element/point_of_interest) - previous_level = get_security_level() + previous_level = SSsecurity_level.get_current_level_as_text() /obj/machinery/nuclearbomb/Destroy() safety = FALSE @@ -427,7 +427,7 @@ safety = !safety if(safety) if(timing) - set_security_level(previous_level) + SSsecurity_level.set_level(previous_level) stop_soundtrack_music(stop_playing = TRUE) for(var/obj/item/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list) S.switch_mode_to(initial(S.mode)) @@ -443,12 +443,12 @@ return timing = !timing if(timing) - previous_level = get_security_level() + previous_level = SSsecurity_level.get_current_level_as_number() detonation_timer = world.time + (timer_set * 10) for(var/obj/item/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list) S.switch_mode_to(TRACK_INFILTRATOR) countdown.start() - set_security_level(SEC_LEVEL_DELTA) + SSsecurity_level.set_level(SEC_LEVEL_DELTA) if (proper_bomb) // Why does this exist set_dynamic_high_impact_event("nuclear bomb has been armed") @@ -456,7 +456,7 @@ else detonation_timer = null - set_security_level(previous_level) + SSsecurity_level.set_level(previous_level) stop_soundtrack_music(stop_playing = TRUE) for(var/obj/item/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list) @@ -585,7 +585,7 @@ detonation_timer = null exploding = FALSE exploded = TRUE - set_security_level(previous_level) + SSsecurity_level.set_level(previous_level) for(var/obj/item/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list) S.switch_mode_to(initial(S.mode)) S.alert = FALSE diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index ec1ab12c6282b..4dcd3d8d278b0 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -25,18 +25,21 @@ spacewalk = TRUE sight = SEE_SELF throwforce = 0 - - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - response_help = "passes through" - response_disarm = "swings through" - response_harm = "punches through" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "swings through" + response_disarm_simple = "swing through" + response_harm_continuous = "punches through" + response_harm_simple = "punch through" unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = INFINITY - friendly = "touches" + friendly_verb_continuous = "touches" + friendly_verb_simple = "touch" status_flags = 0 wander = FALSE density = FALSE @@ -115,7 +118,9 @@ name = built_name /mob/living/simple_animal/revenant/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, "You are a revenant.") to_chat(src, "Your formerly mundane spirit has been infused with alien energies and empowered into a revenant.") to_chat(src, "You are not dead, not alive, but somewhere in between. You are capable of limited interaction with both worlds.") diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index 5ac98e68db402..fd4c1bd5423f5 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -29,7 +29,7 @@ /datum/disease/revblight/stage_act() ..() affected_mob.adjustStaminaLoss(1) //Provides gradual exhaustion, but mostly to prevent regeneration and set an upper limit on disease duration to about five minutes - if(!(affected_mob.mobility_flags & MOBILITY_STAND)) + if(affected_mob.body_position == LYING_DOWN) if(HAS_TRAIT_FROM(affected_mob, TRAIT_INCAPACITATED, STAMINA) && !finalstage) stage = 5 if(!startresting || restingat != get_turf(affected_mob)) diff --git a/code/modules/antagonists/role_preference/role_antagonists.dm b/code/modules/antagonists/role_preference/role_antagonists.dm index d5a24a49f900f..07f1b18a58bc0 100644 --- a/code/modules/antagonists/role_preference/role_antagonists.dm +++ b/code/modules/antagonists/role_preference/role_antagonists.dm @@ -368,7 +368,7 @@ /datum/outfit/nuclear_operative name = "Nuclear Operative (Preview only)" - suit = /obj/item/clothing/suit/space/hardsuit/syndi + suit = /obj/item/clothing/suit/space/hardsuit/syndipreview head = /obj/item/clothing/head/helmet/space/hardsuit/syndi /datum/role_preference/antagonist/wizard diff --git a/code/modules/antagonists/role_preference/role_midrounds.dm b/code/modules/antagonists/role_preference/role_midrounds.dm index cf7f35082f362..806ba77182bd0 100644 --- a/code/modules/antagonists/role_preference/role_midrounds.dm +++ b/code/modules/antagonists/role_preference/role_midrounds.dm @@ -127,7 +127,7 @@ /datum/outfit/pirate_space_preview name = "Space Pirate (Preview only)" uniform = /obj/item/clothing/under/costume/pirate - suit = /obj/item/clothing/suit/space/pirate + suit = /obj/item/clothing/suit/costume/pirate head = /obj/item/clothing/head/helmet/space/pirate/bandana glasses = /obj/item/clothing/glasses/eyepatch diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 3536532c69e9d..696dbe1d60cd9 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -6,9 +6,12 @@ desc = "A large, menacing creature covered in armored black scales." speak_emote = list("gurgles") emote_hear = list("wails","screeches") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/mob.dmi' icon_state = "daemon" icon_living = "daemon" @@ -24,14 +27,15 @@ minbodytemp = 0 maxbodytemp = INFINITY faction = list("slaughter") - attacktext = "wildly tears into" + attack_verb_continuous = "wildly tears into" + attack_verb_simple = "wildly tear into" maxHealth = 200 health = 200 healable = 0 environment_smash = ENVIRONMENT_SMASH_STRUCTURES obj_damage = 50 melee_damage = 30 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE bloodcrawl = BLOODCRAWL_EAT hardattacks = TRUE @@ -118,8 +122,9 @@ desc = "A large, adorable creature covered in armor with pink bows." speak_emote = list("giggles","titters","chuckles") emote_hear = list("guffaws","laughs") - response_help = "hugs" - attacktext = "wildly tickles" + response_help_continuous = "hugs" + attack_verb_continuous = "wildly tickles" + attack_verb_simple = "wildly tickle" attack_sound = 'sound/items/bikehorn.ogg' feast_sound = 'sound/spookoween/scary_horn2.ogg' diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index 245088e55c1f1..5e4a70d793e83 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -76,9 +76,11 @@ hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD) obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - attacktext = "shocks" + attack_verb_continuous = "shocks" + attack_verb_simple = "shock" attack_sound = 'sound/effects/empulse.ogg' - friendly = "pinches" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" speed = 0 faction = list("swarmer") AIStatus = AI_OFF diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 3332b7e412fc1..c9a15ce60686e 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -326,7 +326,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( if(!owner || QDELETED(owner)) return priority_announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", ANNOUNCER_AIMALF) - set_security_level("delta") + SSsecurity_level.set_level(SEC_LEVEL_DELTA) owner.log_message("activated malf module [name]", LOG_GAME) var/obj/machinery/doomsday_device/DOOM = new(owner_AI) owner_AI.nuking = TRUE @@ -424,7 +424,6 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( /datum/AI_Module/large/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) turret.max_integrity = 200 - turret.obj_integrity = 200 turret.emp_proofing = TRUE turret.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES | EMP_PROTECT_CONTENTS) turret.stun_projectile = /obj/projectile/beam/disabler/pass_glass //// AI defenses are often built with glass, so this is big. diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index 494bcf7d613dc..b90cc238e660f 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -462,7 +462,6 @@ user.invisibility = initial(user.invisibility) user.status_flags &= ~GODMODE REMOVE_TRAIT(user, TRAIT_IMMOBILIZED, WARPWHISTLE_TRAIT) - user.update_mobility() /obj/item/warpwhistle/attack_self(mob/living/carbon/user) if(!istype(user) || on_cooldown) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index fd338255106c6..411269dfffb60 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -72,7 +72,8 @@ if(istype(S)) // Things that *really should always* happen to the shade when it comes out should go here. S.status_flags &= ~GODMODE - S.mobility_flags = MOBILITY_FLAGS_DEFAULT + REMOVE_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) + REMOVE_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) S.cancel_camera() if(theme == THEME_HOLY) S.icon_state = "shade_angelic" @@ -346,7 +347,8 @@ T.dust_animation() var/mob/living/simple_animal/shade/S = new /mob/living/simple_animal/shade(src) S.status_flags |= GODMODE //So they won't die inside the stone somehow - S.mobility_flags = NONE //Can't move out of the soul stone + ADD_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) + ADD_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) S.name = "Shade of [T.real_name]" S.real_name = "Shade of [T.real_name]" S.key = shade_controller.key diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 804c52dda0ec4..33004949966fd 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -255,7 +255,7 @@ to_chat(M, "You are blinded by [src]!") //Will be 0 if the user has no stmaina loss, will be 1 if they are in stamcrit var/flash_proportion = CLAMP01(M.getStaminaLoss() / (M.maxHealth - M.crit_threshold)) - if (!(M.mobility_flags & MOBILITY_STAND)) + if (M.body_position == LYING_DOWN) flash_proportion = 1 if(flash_proportion > 0.4) M.Paralyze(70 * flash_proportion) diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index 476f6a1fb717e..a3158f5a33ae6 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -234,9 +234,4 @@ /obj/effect/hotspot/singularity_pull() return -/obj/effect/dummy/lighting_obj/moblight/fire - name = "fire" - light_color = LIGHT_COLOR_FIRE - light_range = LIGHT_RANGE_FIRE - #undef INSUFFICIENT diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 5a0b6dbc6590b..f02f560c3ab11 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -865,7 +865,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 24) new /obj/item/stack/sheet/iron(loc, 2) var/obj/item/I = new /obj/item/electronics/airalarm(loc) if(!disassembled) - I.obj_integrity = I.max_integrity * 0.5 + I.take_damage(I.max_integrity * 0.5, sound_effect=FALSE) new /obj/item/stack/cable_coil(loc, 3) qdel(src) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 4078955b94e27..f484ea71a372d 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -249,7 +249,7 @@ var/obj/item/pipe/stored = new construction_type(loc, null, dir, src) stored.setPipingLayer(piping_layer) if(!disassembled) - stored.obj_integrity = stored.max_integrity * 0.5 + stored.take_damage(stored.max_integrity * 0.5, sound_effect=FALSE) transfer_fingerprints_to(stored) . = stored ..() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 4728101cdb604..3ef275765c9ce 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -261,7 +261,7 @@ update_parents() -/obj/machinery/atmospherics/components/unary/cryo_cell/relaymove(mob/user) +/obj/machinery/atmospherics/components/unary/cryo_cell/relaymove(mob/living/user, direction) if(message_cooldown <= world.time) message_cooldown = world.time + 50 to_chat(user, "[src]'s door won't budge!") @@ -271,9 +271,6 @@ on = FALSE for(var/mob/M in contents) //only drop mobs M.forceMove(get_turf(src)) - if(isliving(M)) - var/mob/living/L = M - L.update_mobility() set_occupant(null) flick("pod-open-anim", src) ..() diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm index c03e608a92018..b0070488a00af 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/he_pipes.dm @@ -2,7 +2,7 @@ var/minimum_temperature_difference = 1 var/thermal_conductivity = WINDOW_HEAT_TRANSFER_COEFFICIENT color = "#404040" - buckle_lying = -1 + buckle_lying = NO_BUCKLE_LYING var/icon_temperature = T20C //stop small changes in temperature causing icon refresh resistance_flags = LAVA_PROOF | FIRE_PROOF hide = TRUE diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index d01b60d5b508a..d0473acdaab3d 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -129,16 +129,15 @@ back_nodes[i] = null update_appearance() -/obj/machinery/atmospherics/pipe/layer_manifold/relaymove(mob/living/user, dir) - if(initialize_directions & dir) +/obj/machinery/atmospherics/pipe/layer_manifold/relaymove(mob/living/user, direction) + if(initialize_directions & direction) return ..() - if((NORTH|EAST) & dir) + if((NORTH|EAST) & direction) user.ventcrawl_layer = clamp(user.ventcrawl_layer + 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) - if((SOUTH|WEST) & dir) + if((SOUTH|WEST) & direction) user.ventcrawl_layer = clamp(user.ventcrawl_layer - 1, PIPING_LAYER_MIN, PIPING_LAYER_MAX) to_chat(user, "You align yourself with the [user.ventcrawl_layer]\th output.") /obj/machinery/atmospherics/pipe/layer_manifold/visible hide = FALSE layer = GAS_PIPE_VISIBLE_LAYER - hide = FALSE diff --git a/code/modules/atmospherics/machinery/pipes/mapping.dm b/code/modules/atmospherics/machinery/pipes/mapping.dm index cafb0053ce1b3..1be896d3882c6 100644 --- a/code/modules/atmospherics/machinery/pipes/mapping.dm +++ b/code/modules/atmospherics/machinery/pipes/mapping.dm @@ -18,6 +18,14 @@ piping_layer = 4; \ icon_state = Iconbase + "-4"; \ } \ + ##Fulltype/visible/layer1 { \ + piping_layer = 1; \ + icon_state = Iconbase + "-1"; \ + } \ + ##Fulltype/visible/layer5 { \ + piping_layer = 5; \ + icon_state = Iconbase + "-5"; \ + } \ ##Fulltype/hidden { \ hide = TRUE; \ } \ @@ -28,6 +36,14 @@ ##Fulltype/hidden/layer4 { \ piping_layer = 4; \ icon_state = Iconbase + "-4"; \ + } \ + ##Fulltype/hidden/layer1 { \ + piping_layer = 1; \ + icon_state = Iconbase + "-1"; \ + } \ + ##Fulltype/hidden/layer5 { \ + piping_layer = 5; \ + icon_state = Iconbase + "-5"; \ } #define HELPER_PARTIAL_NAMED(Fulltype, Type, Iconbase, Color, Name) \ @@ -39,12 +55,14 @@ #define HELPER(Type, Color) \ HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/simple/##Type, #Type, "pipe11", Color) \ HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/manifold/##Type, #Type, "manifold", Color) \ - HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/manifold4w/##Type, #Type, "manifold4w", Color) + HELPER_PARTIAL(/obj/machinery/atmospherics/pipe/manifold4w/##Type, #Type, "manifold4w", Color) \ + HELPER_PARTIAL(/obj/effect/mapping_helpers/simple_pipes/##Type, #Type, "pipe", Color) #define HELPER_NAMED(Type, Name, Color) \ HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/simple/##Type, #Type, "pipe11", Color, Name) \ HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/manifold/##Type, #Type, "manifold", Color, Name) \ - HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/manifold4w/##Type, #Type, "manifold4w", Color, Name) + HELPER_PARTIAL_NAMED(/obj/machinery/atmospherics/pipe/manifold4w/##Type, #Type, "manifold4w", Color, Name) \ + HELPER_PARTIAL_NAMED(/obj/effect/mapping_helpers/simple_pipes/##Type, #Type, "pipe", Color, Name) HELPER(general, null) HELPER(yellow, rgb(255, 198, 0)) diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 4ace48b93e9cf..1258f5504392b 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -10,13 +10,13 @@ //Buckling can_buckle = 1 buckle_requires_restraints = 1 - buckle_lying = -1 + buckle_lying = NO_BUCKLE_LYING FASTDMM_PROP(\ set_instance_vars(\ icon_state = INSTANCE_VAR_DEFAULT\ - ),\ - ) + ),\ + ) /obj/machinery/atmospherics/pipe/New() add_atom_colour(pipe_color, FIXED_COLOUR_PRIORITY) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 19bd2559278a8..556863d9f45a8 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -424,7 +424,7 @@ continue if(isstructure(atm)) var/obj/structure/S = atm - S.obj_integrity = S.max_integrity + S.repair_damage(S.max_integrity - S.get_integrity()) else if(!is_type_in_typecache(atm, ctf_object_typecache)) qdel(atm) @@ -568,7 +568,7 @@ name = "CTF" ears = /obj/item/radio/headset uniform = /obj/item/clothing/under/syndicate - suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf + suit = /obj/item/clothing/suit/armor/vest/ctf toggle_helmet = FALSE // see the whites of their eyes shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/combat @@ -601,7 +601,7 @@ shoes = /obj/item/clothing/shoes/jackboots/fast /datum/outfit/ctf/red - suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/red + suit = /obj/item/clothing/suit/armor/vest/ctf/red r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/red l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red r_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red @@ -611,7 +611,7 @@ shoes = /obj/item/clothing/shoes/jackboots/fast /datum/outfit/ctf/blue - suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue + suit = /obj/item/clothing/suit/armor/vest/ctf/blue r_hand = /obj/item/gun/ballistic/automatic/laser/ctf/blue l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue r_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue diff --git a/code/modules/awaymissions/mission_code/TheFactory.dm b/code/modules/awaymissions/mission_code/TheFactory.dm index e7af03ac9ed62..8b8818a34ce4e 100644 --- a/code/modules/awaymissions/mission_code/TheFactory.dm +++ b/code/modules/awaymissions/mission_code/TheFactory.dm @@ -240,7 +240,8 @@ search_objects = 1 a_intent = INTENT_HARM attack_sound = 'sound/weapons/cqchit2.ogg' - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" robust_searching = 1 melee_damage = 12 speed = 0 @@ -253,9 +254,6 @@ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 10 loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" var/cooldown = 0 /mob/living/simple_animal/hostile/factory/death(gibbed) @@ -356,7 +354,8 @@ maxHealth = 250 melee_damage = 20 rapid_melee = 3 - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/genhit3.ogg' projectilesound = 'sound/weapons/sniper_shot.ogg' speak_chance = 2 @@ -392,13 +391,11 @@ icon = 'icons/mob/simple_human.dmi' icon_state = "psycho" icon_living = "psycho" - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) turns_per_move = 0 del_on_death = TRUE - response_help = "pokes" - response_disarm = "touches" - response_harm = "hits" speak_chance = 5 attack_sound = 'sound/weapons/bite.ogg' speak = list("I'm not mad!","What insanity?","Kill") @@ -459,7 +456,6 @@ /mob/living/simple_animal/hostile/psycho/muzzle icon_state = "psychomuzzle" icon_living = "psychomuzzle" - attacktext = "headbutts" attack_sound = null speak_chance = 0 melee_damage = 9 @@ -507,7 +503,6 @@ move_to_delay = 2 melee_damage = 15 attack_sound = null - attacktext = "headbutts" loot = list(/obj/effect/mob_spawn/human/corpse/psychost/trap) var/cooldown = 0 var/static/list/idle_sounds @@ -567,7 +562,8 @@ speak_chance = 0 speak = null aggro_vision_range = 9 - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/genhit3.ogg' retreat_distance = 2 melee_queue_distance = 1 diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 065eb1c286158..0ff32fdc3e236 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -187,9 +187,7 @@ if("snow" in L.weather_immunities) continue - var/buckle_check = L.buckling - if(!buckle_check) - buckle_check = L.buckled + var/buckle_check = L.buckled if(isobj(buckle_check)) var/obj/O = buckle_check if(O.resistance_flags & FREEZE_PROOF) diff --git a/code/modules/cargo/bounties/mech.dm b/code/modules/cargo/bounties/mech.dm index 32fa49d4bc940..cfef7a18656e3 100644 --- a/code/modules/cargo/bounties/mech.dm +++ b/code/modules/cargo/bounties/mech.dm @@ -18,10 +18,10 @@ reward = 13000 wanted_types = list(/obj/vehicle/sealed/mecha/working/ripley/mk2) -/datum/bounty/item/mech/firefighter - name = "APLU \"Firefighter\"" - reward = 18000 - wanted_types = list(/obj/vehicle/sealed/mecha/working/ripley/firefighter) +/datum/bounty/item/mech/clarke + name = "Clarke" + reward = 16000 + wanted_types = list(/obj/vehicle/sealed/mecha/working/clarke) /datum/bounty/item/mech/odysseus name = "Odysseus" diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 5a698b7f13e7a..64796239d48d3 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -2,9 +2,12 @@ name = "gondola" real_name = "gondola" desc = "The silent walker. This one seems to be part of a delivery agency." - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("gondola") turns_per_move = 10 icon = 'icons/obj/supplypods.dmi' diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index c18f42cd9b678..6f7043fd0ac3b 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -11,6 +11,7 @@ allow_dense = TRUE delivery_icon = null can_weld_shut = FALSE + divable = FALSE armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 100, BIO = 0, RAD = 0, FIRE = 100, ACID = 80, STAMINA = 0, BLEED = 0) anchored = TRUE //So it cant slide around after landing anchorable = FALSE diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 44d399d74d434..723509ef40772 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -11,7 +11,7 @@ resistance_flags = FLAMMABLE max_integrity = 200 integrity_failure = 0.4 - var/damaged_clothes = 0 //similar to machine's BROKEN stat and structure's broken var + var/damaged_clothes = CLOTHING_PRISTINE //similar to machine's BROKEN stat and structure's broken var var/flash_protect = 0 //What level of bright light protection item has. 1 = Flashers, Flashes, & Flashbangs | 2 = Welding | -1 = OH GOD WELDING BURNT OUT MY RETINAS var/bang_protect = 0 //what level of sound protection the item has. 1 is the level of a normal bowman. var/tint = 0 //Sets the item's level of visual impairment tint, normally set to the same as flash_protect @@ -31,6 +31,9 @@ var/clothing_flags = NONE + /// What items can be consumed to repair this clothing (must by an /obj/item/stack) + var/repairable_by = /obj/item/stack/sheet/cotton/cloth + var/can_be_bloody = TRUE //Var modification - PLEASE be careful with this I know who you are and where you live @@ -51,6 +54,13 @@ var/high_pressure_multiplier = 1 var/static/list/high_pressure_multiplier_types = list(MELEE, BULLET, LASER, ENERGY, BOMB) + /// How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb + var/list/damage_by_parts + /// How much integrity is in a specific limb before that limb is disabled (for use in [/obj/item/clothing/proc/take_damage_zone], and only if we cover multiple zones.) Set to 0 to disable shredding. + var/limb_integrity = 0 + /// How many zones (body parts, not precise) we have disabled so far, for naming purposes + var/zones_disabled + /// A lazily initiated "food" version of the clothing for moths var/obj/item/food/clothing/moth_snack @@ -113,26 +123,127 @@ else qdel(src) -/obj/item/clothing/attack(mob/attacker, mob/user, def_zone) - if(user.a_intent != INTENT_HARM && (ismoth(attacker) || ispsyphoza(attacker)) && !(clothing_flags & NOTCONSUMABLE) && !(resistance_flags & INDESTRUCTIBLE) && (armor.getRating(MELEE) == 0)) - if (isnull(moth_snack)) - moth_snack = new - moth_snack.name = name - moth_snack.clothing = WEAKREF(src) - moth_snack.attack(attacker, user, def_zone) - else - return ..() +/obj/item/clothing/attack(mob/attacker, mob/user, params) + if(user.a_intent == INTENT_HARM) + return //Harm intent does not eat + //if(!ismoth(attacker) || !ispsyphoza(attacker)) + // return ..() //Not a clotheater species? No Clotheating! + //if((clothing_flags & NOTCONSUMABLE) && (resistance_flags & INDESTRUCTIBLE) && (armor.getRating(MELEE) != 0)) + // return ..() //Any remaining flags that make eating it impossible? + + if (isnull(moth_snack)) + moth_snack = new + moth_snack.name = name + moth_snack.clothing = WEAKREF(src) + moth_snack.attack(attacker, user, params) /obj/item/clothing/attackby(obj/item/W, mob/user, params) - if(damaged_clothes && istype(W, /obj/item/stack/sheet/cotton/cloth)) - var/obj/item/stack/sheet/cotton/cloth/C = W - C.use(1) - update_clothes_damaged_state(FALSE) - obj_integrity = max_integrity - to_chat(user, "You fix the damage on [src] with [C].") - return 1 + if(!istype(W, repairable_by)) + return ..() + + switch(damaged_clothes) + if(CLOTHING_PRISTINE) + return..() + if(CLOTHING_DAMAGED) + var/obj/item/stack/cloth_repair = W + cloth_repair.use(1) + repair(user, params) + return TRUE + if(CLOTHING_SHREDDED) + var/obj/item/stack/cloth_repair = W + if(cloth_repair.amount < 3) + to_chat(user, "You require 3 [cloth_repair.name] to repair [src].") + return TRUE + to_chat(user, "You begin fixing the damage to [src] with [cloth_repair]...") + if(!do_after(user, 6 SECONDS, src) || !cloth_repair.use(3)) + return TRUE + repair(user, params) + return TRUE + return ..() +/// Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up +/obj/item/clothing/proc/repair(mob/user, params) + update_clothes_damaged_state(CLOTHING_PRISTINE) + obj_integrity = max_integrity + name = initial(name) // remove "tattered" or "shredded" if there's a prefix + body_parts_covered = initial(body_parts_covered) + slot_flags = initial(slot_flags) + damage_by_parts = null + if(user) + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + to_chat(user, "You fix the damage on [src].") + update_appearance() + +/** + * take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from [/obj/item/bodypart/proc/check_woundings_mods()] + * + * This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers + * more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. + * Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it. + * + * Arguments: + * * def_zone: The bodypart zone in question + * * damage_amount: Incoming damage + * * damage_type: BRUTE or BURN + * * armour_penetration: If the attack had armour_penetration + */ +/obj/item/clothing/proc/take_damage_zone(def_zone, damage_amount, damage_type, armour_penetration) + if(!def_zone || !limb_integrity || (initial(body_parts_covered) in GLOB.bitflags)) // the second check sees if we only cover one bodypart anyway and don't need to bother with this + return + var/list/covered_limbs = body_parts_covered2organ_names(body_parts_covered) // what do we actually cover? + if(!(def_zone in covered_limbs)) + return + + var/damage_dealt = take_damage(damage_amount * 0.1, damage_type, armour_penetration, FALSE) * 10 // only deal 10% of the damage to the general integrity damage, then multiply it by 10 so we know how much to deal to limb + LAZYINITLIST(damage_by_parts) + damage_by_parts[def_zone] += damage_dealt + if(damage_by_parts[def_zone] > limb_integrity) + disable_zone(def_zone, damage_type) + +/** + * disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from [/obj/item/clothing/proc/take_damage_zone()] + * + * This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) + * If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in + * order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled. + * + * Arguments: + * * def_zone: The bodypart zone we're disabling + * * damage_type: Only really relevant for the verb for describing the breaking, and maybe obj_destruction() + */ +/obj/item/clothing/proc/disable_zone(def_zone, damage_type) + var/list/covered_limbs = body_parts_covered2organ_names(body_parts_covered) + if(!(def_zone in covered_limbs)) + return + + var/zone_name = parse_zone(def_zone) + var/break_verb = ((damage_type == BRUTE) ? "torn" : "burned") + + if(iscarbon(loc)) + var/mob/living/carbon/C = loc + C.visible_message("The [zone_name] on [C]'s [src.name] is [break_verb] away!", "The [zone_name] on your [src.name] is [break_verb] away!", vision_distance = COMBAT_MESSAGE_RANGE) + RegisterSignal(C, COMSIG_MOVABLE_MOVED, PROC_REF(bristle)) + + zones_disabled++ + for(var/i in body_zone2cover_flags(def_zone)) + body_parts_covered &= ~i + + if(body_parts_covered == NONE) // if there are no more parts to break then the whole thing is kaput + obj_destruction((damage_type == BRUTE ? "melee" : "laser")) // melee/laser is good enough since this only procs from direct attacks anyway and not from fire/bombs + return + + switch(zones_disabled) + if(1) + name = "damaged [initial(name)]" + if(2) + name = "mangy [initial(name)]" + if(3 to INFINITY) // take better care of your shit, dude + name = "tattered [initial(name)]" + + update_clothes_damaged_state(CLOTHING_DAMAGED) + update_appearance() + /obj/item/clothing/Destroy() user_vars_remembered = null //Oh god somebody put REFERENCES in here? not to worry, we'll clean it up QDEL_NULL(moth_snack) @@ -142,6 +253,8 @@ ..() if(!istype(user)) return + UnregisterSignal(user, COMSIG_MOVABLE_MOVED) + if(LAZYLEN(user_vars_remembered)) for(var/variable in user_vars_remembered) if(variable in user.vars) @@ -154,7 +267,10 @@ if (!istype(user)) return if(slot_flags & slot) //Was equipped to a valid slot for this item? - if (LAZYLEN(user_vars_to_edit)) + if(iscarbon(user) && LAZYLEN(zones_disabled)) + RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(bristle)) + + if(LAZYLEN(user_vars_to_edit)) for(var/variable in user_vars_to_edit) if(variable in user.vars) LAZYSET(user_vars_remembered, variable, user.vars[variable]) @@ -162,6 +278,10 @@ /obj/item/clothing/examine(mob/user) . = ..() + if(damaged_clothes == CLOTHING_SHREDDED) + . += "[p_theyre(TRUE)] completely shredded and require[p_s()] mending before [p_they()] can be worn again!" + return + switch (max_heat_protection_temperature) if (400 to 1000) . += "[src] offers the wearer limited protection from fire." @@ -169,22 +289,17 @@ . += "[src] offers the wearer some protection from fire." if (1601 to 35000) . += "[src] offers the wearer robust protection from fire." - if(damaged_clothes) - . += "It looks damaged!" - /* Bodypart wounds-related shit for when we eventually port https://github.com/tgstation/tgstation/pull/50558 - * for(var/zone in damage_by_parts) var/pct_damage_part = damage_by_parts[zone] / limb_integrity * 100 var/zone_name = parse_zone(zone) switch(pct_damage_part) if(100 to INFINITY) - . += span_warning("The [zone_name] is useless and requires mending!") + . += "The [zone_name] is useless and requires mending!" if(60 to 99) - . += span_warning("The [zone_name] is heavily shredded!") + . += "The [zone_name] is heavily shredded!" if(30 to 59) - . += span_danger("The [zone_name] is partially shredded.") - */ + . += "The [zone_name] is partially shredded." var/datum/component/storage/pockets = GetComponent(/datum/component/storage) if(pockets) @@ -218,7 +333,7 @@ compare_to = thing break var/list/readout = list("PROTECTION CLASSES") - if(armor.bio || armor.bomb || armor.bullet || armor.energy || armor.laser || armor.magic || armor.melee || armor.rad || armor.stamina || armor.bleed) + if(armor.bio || armor.bomb || armor.bullet || armor.energy || armor.laser || armor.melee || armor.rad || armor.stamina || armor.bleed) readout += "
    ARMOR (I-X)" if(armor.bio || compare_to?.armor?.bio) readout += "
    TOXIN [armor_to_protection_class(armor.bio, compare_to?.armor?.bio)]" @@ -230,8 +345,6 @@ readout += "
    ENERGY [armor_to_protection_class(armor.energy, compare_to?.armor?.energy)]" if(armor.laser || compare_to?.armor?.laser) readout += "
    LASER [armor_to_protection_class(armor.laser, compare_to?.armor?.laser)]" - if(armor.magic || compare_to?.armor?.magic) - readout += "
    MAGIC [armor_to_protection_class(armor.magic, compare_to?.armor?.magic)]" if(armor.melee || compare_to?.armor?.melee) readout += "
    MELEE [armor_to_protection_class(armor.melee, compare_to?.armor?.melee)]" if(armor.rad || compare_to?.armor?.rad) @@ -277,32 +390,32 @@ . = "[.]" /obj/item/clothing/obj_break(damage_flag) - if(!damaged_clothes) - update_clothes_damaged_state(TRUE) - if(ismob(loc)) //It's not important enough to warrant a message if nobody's wearing it - var/mob/M = loc - to_chat(M, "Your [name] starts to fall apart!") + . = ..() + update_clothes_damaged_state(CLOTHING_DAMAGED) + + if(isliving(loc)) //It's not important enough to warrant a message if it's not on someone + var/mob/living/M = loc + if(src in M.get_equipped_items(FALSE)) + to_chat(M, "Your [name] start[p_s()] to fall apart!") + else + to_chat(M, "[src] start[p_s()] to fall apart!") //This mostly exists so subtypes can call appriopriate update icon calls on the wearer. -/obj/item/clothing/proc/update_clothes_damaged_state(damaging = TRUE) - if(damaging) - damaged_clothes = 1 - else - damaged_clothes = 0 +/obj/item/clothing/proc/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) + damaged_clothes = damaged_state /obj/item/clothing/update_overlays() . = ..() if(!damaged_clothes) return - var/initial_icon = initial(icon) - var/index = "[REF(initial_icon)]-[initial(icon_state)]" + var/index = "[REF(icon)]-[icon_state]" var/static/list/damaged_clothes_icons = list() var/icon/damaged_clothes_icon = damaged_clothes_icons[index] if(!damaged_clothes_icon) - damaged_clothes_icon = icon(icon, icon_state, null, 1) - damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) + damaged_clothes_icon = icon(icon, icon_state, , 1) + damaged_clothes_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) damaged_clothes_icon.Blend(icon('icons/effects/item_damage.dmi', "itemdamaged"), ICON_MULTIPLY) //adds damage effect and the remaining white areas become transparant damaged_clothes_icon = fcopy_rsc(damaged_clothes_icon) damaged_clothes_icons[index] = damaged_clothes_icon @@ -315,15 +428,15 @@ SEE_MOBS // can see all mobs, no matter what SEE_OBJS // can see all objs, no matter what SEE_TURFS // can see all turfs (and areas), no matter what SEE_PIXELS// if an object is located on an unlit area, but some of its pixels are - // in a lit area (via pixel_x,y or smooth movement), can see those pixels + // in a lit area (via pixel_x,y or smooth movement), can see those pixels BLIND // can't see anything */ /proc/generate_female_clothing(index,t_color,icon,type) - var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color) + var/icon/female_clothing_icon = icon("icon"=icon, "icon_state"=t_color) var/icon/female_s = icon("icon"='icons/mob/clothing/under/masking_helpers.dmi', "icon_state"="[(type == FEMALE_UNIFORM_FULL) ? "female_full" : "female_top"]") female_clothing_icon.Blend(female_s, ICON_MULTIPLY) - female_clothing_icon = fcopy_rsc(female_clothing_icon) + female_clothing_icon = fcopy_rsc(female_clothing_icon) GLOB.female_clothing_icons[index] = female_clothing_icon /obj/item/clothing/under/proc/set_sensors(mob/user) @@ -437,11 +550,19 @@ BLIND // can't see anything fitted = NO_FEMALE_UNIFORM if(!alt_covers_chest) // for the special snowflake suits that expose the chest when adjusted body_parts_covered &= ~CHEST + body_parts_covered &= ~ARMS else fitted = initial(fitted) envirosealed = initial(envirosealed) if(!alt_covers_chest) body_parts_covered |= CHEST + body_parts_covered |= ARMS + if(!LAZYLEN(damage_by_parts)) + return adjusted + for(var/zone in list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) // ugly check to make sure we don't reenable protection on a disabled part + if(damage_by_parts[zone] > limb_integrity) + for(var/part in body_zone2cover_flags(zone)) + body_parts_covered &= part return adjusted /obj/item/clothing/proc/weldingvisortoggle(mob/user) //proc to toggle welding visors on helmets, masks, goggles, etc. @@ -485,12 +606,13 @@ BLIND // can't see anything return 1 return 0 +/obj/item/clothing/proc/_spawn_shreds() + new /obj/effect/decal/cleanable/shreds(get_turf(src), name) + /obj/item/clothing/obj_destruction(damage_flag) - if(damage_flag == BOMB || damage_flag == MELEE) - var/turf/T = get_turf(src) - spawn(1) //so the shred survives potential turf change from the explosion. - var/obj/effect/decal/cleanable/shreds/Shreds = new(T) - Shreds.desc = "The sad remains of what used to be [name]." + if(damage_flag == BOMB) + //so the shred survives potential turf change from the explosion. + addtimer(CALLBACK(src, PROC_REF(_spawn_shreds)), 1) deconstruct(FALSE) if(damage_flag == CONSUME) //This allows for moths to fully consume clothing, rather than damaging it like other sources like brute var/turf/current_position = get_turf(src) @@ -499,9 +621,31 @@ BLIND // can't see anything var/mob/living/possessing_mob = loc possessing_mob.visible_message("[src] is consumed until naught but shreds remains!", "[src] falls apart into little bits!") deconstruct(FALSE) + else if(!(damage_flag in list(ACID, FIRE))) + body_parts_covered = NONE + slot_flags = NONE + update_clothes_damaged_state(CLOTHING_SHREDDED) + if(isliving(loc)) + var/mob/living/M = loc + if(src in M.get_equipped_items(FALSE)) //make sure they were wearing it and not attacking the item in their hands + M.visible_message("[M]'s [src.name] fall[p_s()] off, [p_theyre()] completely shredded!", "Your [src.name] fall[p_s()] off, [p_theyre()] completely shredded!", vision_distance = COMBAT_MESSAGE_RANGE) + M.dropItemToGround(src) + else + M.visible_message("[src] fall[p_s()] apart, completely shredded!", vision_distance = COMBAT_MESSAGE_RANGE) + name = "shredded [initial(name)]" // change the name -after- the message, not before. + update_appearance() else ..() +/// If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged +/obj/item/clothing/proc/bristle(mob/living/L) + SIGNAL_HANDLER + + if(!istype(L)) + return + if(prob(0.2)) + to_chat(L, "The damaged threads on your [src.name] chafe!") + /obj/item/clothing/get_armor_rating(d_type, mob/wearer) . = ..() if(high_pressure_multiplier == 1) diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index 2b2d663dc7bcb..7eb20bdca3c0c 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -31,7 +31,7 @@ /obj/item/clothing/glasses/examine(mob/user) . = ..() if(glass_colour_type && ishuman(user)) - . += "Alt-click to toggle its colors." + . += "Alt-click to toggle [p_their()] colors." /obj/item/clothing/glasses/update_overlays() . = ..() @@ -120,7 +120,8 @@ force = 10 throwforce = 10 throw_speed = 4 - attack_verb = list("sliced") + attack_verb_continuous = list("slices") + attack_verb_simple = list("slice") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE @@ -221,7 +222,8 @@ force = 10 throwforce = 20 throw_speed = 4 - attack_verb = list("sliced") + attack_verb_continuous = list("slices") + attack_verb_simple = list("slice") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE @@ -305,7 +307,8 @@ force = 10 throwforce = 10 throw_speed = 4 - attack_verb = list("sliced") + attack_verb_continuous = list("slices") + attack_verb_simple = list("slice") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE @@ -326,7 +329,8 @@ force = 10 throwforce = 10 throw_speed = 4 - attack_verb = list("sliced") + attack_verb_continuous = list("slices") + attack_verb_simple = list("slice") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE @@ -538,7 +542,7 @@ clothing_flags = SCAN_REAGENTS | SCAN_BOOZEPOWER lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE resistance_flags = LAVA_PROOF | FIRE_PROOF - vision_correction = 1 // why should the eye of a god have bad vision? + vision_correction = 1 // why should the eye of a god have bad vision? /obj/item/clothing/glasses/godeye/Initialize(mapload) . = ..() diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 7750907ad3cdb..b3beba00edd23 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -164,6 +164,7 @@ icon_state = "diagnostichud" emissive_state = "hud_emissive" hud_type = DATA_HUD_DIAGNOSTIC_BASIC + hud_trait = TRAIT_DIAGNOSTIC_HUD glass_colour_type = /datum/client_colour/glass_colour/lightorange /obj/item/clothing/glasses/hud/diagnostic/night @@ -289,7 +290,8 @@ force = 10 throwforce = 10 throw_speed = 4 - attack_verb = list("sliced") + attack_verb_continuous = list("slices") + attack_verb_simple = list("slice") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_SURFACE diff --git a/code/modules/clothing/gloves/_gloves.dm b/code/modules/clothing/gloves/_gloves.dm index 445ea0d1d5a68..7c601c0c419f4 100644 --- a/code/modules/clothing/gloves/_gloves.dm +++ b/code/modules/clothing/gloves/_gloves.dm @@ -9,7 +9,8 @@ siemens_coefficient = 0.5 body_parts_covered = HANDS slot_flags = ITEM_SLOT_GLOVES - attack_verb = list("challenged") + attack_verb_continuous = list("challenges") + attack_verb_simple = list("challenge") var/transfer_prints = FALSE strip_delay = 20 equip_delay_other = 40 @@ -30,12 +31,14 @@ /obj/item/clothing/gloves/worn_overlays(mutable_appearance/standing, isinhands = FALSE, icon_file, item_layer, atom/origin) . = list() if(!isinhands) - if(damaged_clothes) - . += mutable_appearance('icons/effects/item_damage.dmi', "damagedgloves", item_layer) - if(HAS_BLOOD_DNA(src)) - . += mutable_appearance('icons/effects/blood.dmi', "bloodyhands", item_layer) + return + + if(damaged_clothes) + . += mutable_appearance('icons/effects/item_damage.dmi', "damagedgloves", item_layer) + if(HAS_BLOOD_DNA(src)) + . += mutable_appearance('icons/effects/blood.dmi', "bloodyhands", item_layer) -/obj/item/clothing/gloves/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/gloves/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc diff --git a/code/modules/clothing/head/_head.dm b/code/modules/clothing/head/_head.dm index 464766aff8062..48d68753eecb8 100644 --- a/code/modules/clothing/head/_head.dm +++ b/code/modules/clothing/head/_head.dm @@ -143,7 +143,7 @@ if(HAS_BLOOD_DNA(src)) . += mutable_appearance('icons/effects/blood.dmi', "helmetblood", item_layer) -/obj/item/clothing/head/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/head/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc diff --git a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm index c9983bdb383e7..4586c6553f567 100644 --- a/code/modules/clothing/head/collectable.dm +++ b/code/modules/clothing/head/collectable.dm @@ -36,6 +36,10 @@ worn_icon = 'icons/mob/clothing/head/costume.dmi' icon_state = null +/obj/item/clothing/head/collectable/Initialize(mapload) + . = ..() + AddElement(/datum/element/series, /obj/item/clothing/head/collectable, "Super duper collectable hats") + /obj/item/clothing/head/collectable/petehat name = "ultra rare Pete's hat" desc = "It smells faintly of plasma." diff --git a/code/modules/clothing/head/flowercrown.dm b/code/modules/clothing/head/flowercrown.dm index 347ed86c03e65..aa1d846dd8b72 100644 --- a/code/modules/clothing/head/flowercrown.dm +++ b/code/modules/clothing/head/flowercrown.dm @@ -5,7 +5,8 @@ worn_icon = 'icons/mob/clothing/head/hydroponics.dmi' icon_state = "lily_crown" dynamic_hair_suffix = "" - attack_verb = list("crowned") + attack_verb_continuous = list("crowns") + attack_verb_simple = list("crown") /obj/item/clothing/head/flowercrown/equipped(mob/user, slot) . = ..() diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index 3d56556c11896..53a77aaffcd89 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -13,7 +13,7 @@ resistance_flags = FIRE_PROOF clothing_flags = SNUG_FIT - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 light_power = 0.8 light_on = FALSE diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 457e800ba29f6..9f53df84a6946 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -149,7 +149,7 @@ /obj/item/clothing/head/helmet/toggleable/justice/Initialize(mapload) . = ..() - weewooloop = new(list(src), FALSE, FALSE) + weewooloop = new(src, FALSE, FALSE) /obj/item/clothing/head/helmet/toggleable/justice/Destroy() QDEL_NULL(weewooloop) @@ -316,7 +316,7 @@ item_state = "rus_ushanka" body_parts_covered = HEAD cold_protection = HEAD - min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 10, BOMB = 20, BIO = 50, RAD = 20, FIRE = -10, ACID = 50, STAMINA = 20, BLEED = 15) /obj/item/clothing/head/helmet/outlaw diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 0ac290f63fdb3..d119d3cb42aca 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -10,7 +10,8 @@ throw_speed = 2 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - attack_verb = list("warned", "cautioned", "smashed") + attack_verb_continuous = list("warns", "cautions", "smashes") + attack_verb_simple = list("warn", "caution", "smash") resistance_flags = NONE dynamic_hair_suffix = "" diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 9540fed92cca0..e25003b96afd4 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -47,7 +47,7 @@ if(HAS_BLOOD_DNA(src)) . += mutable_appearance('icons/effects/blood.dmi', "maskblood", item_layer) -/obj/item/clothing/mask/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/mask/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 15facfa135331..4c3778b87311f 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -19,6 +19,7 @@ /obj/item/debug/human_spawner=1,\ /obj/item/debug/omnitool=1,\ /obj/item/xenoartifact_labeler/debug=1,\ + /obj/item/map_template_diver=1,\ /obj/item/debug/orb_of_power=1 ) diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index 6c5e6d1a16b43..7470dc01e32df 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -61,7 +61,7 @@ if(offset && equipped_before_drop) restore_offsets(user) -/obj/item/clothing/shoes/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/shoes/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 2b67cb1555e3f..6e3a364ab8ff3 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -90,7 +90,7 @@ return var/turf/T = user.loc for (var/mob/living/A in T) - if (A != user && !(A.mobility_flags & MOBILITY_STAND)) + if (A != user && A.body_position == LYING_DOWN) A.adjustBruteLoss(rand(10,13)) to_chat(A,"[user]'s magboots press down on you, crushing you!") INVOKE_ASYNC(A, TYPE_PROC_REF(/mob, emote), "scream") diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index 5ea087070c7c4..10f1173c51507 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -1,5 +1,7 @@ -//Note: Everything in modules/clothing/spacesuits should have the entire suit grouped together. -// Meaning the the suit is defined directly after the corrisponding helmet. Just like below! +#define THERMAL_REGULATOR_COST 18 // the cost per tick for the thermal regulator + +//Note: Everything in modules/clothing/spacesuits should have the entire suit grouped together. +// Meaning the the suit is defined directly after the corrisponding helmet. Just like below! /obj/item/clothing/head/helmet/space name = "space helmet" icon = 'icons/obj/clothing/head/spacehelm.dmi' @@ -36,14 +38,229 @@ permeability_coefficient = 0.02 clothing_flags = NOTCONSUMABLE | STOPSPRESSUREDAMAGE | THICKMATERIAL body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/flashlight, /obj/item/tank/internals) + allowed = list( + /obj/item/flashlight, + /obj/item/tank/internals, + ) slowdown = 1 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 50, FIRE = 80, ACID = 70, STAMINA = 10, BLEED = 50) flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT_OFF heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT strip_delay = 80 equip_delay_other = 80 resistance_flags = NONE + actions_types = list(/datum/action/item_action/toggle_spacesuit) + var/temperature_setting = BODYTEMP_NORMAL /// The default temperature setting + var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high /// If this is a path, this gets created as an object in Initialize. + var/cell_cover_open = FALSE /// Status of the cell cover on the suit + var/thermal_on = FALSE /// Status of the thermal regulator + var/show_hud = TRUE /// If this is FALSE the battery status UI will be disabled. This is used for suits that don't use batteries like the changeling's flesh suit mutation. + +/obj/item/clothing/suit/space/Initialize(mapload) + . = ..() + if(ispath(cell)) + cell = new cell(src) + +/// Start Processing on the space suit when it is worn to heat the wearer +/obj/item/clothing/suit/space/equipped(mob/user, slot) + . = ..() + if(slot == ITEM_SLOT_OCLOTHING) // Check that the slot is valid + START_PROCESSING(SSobj, src) + update_hud_icon(user) // update the hud + +// On removal stop processing, save battery +/obj/item/clothing/suit/space/dropped(mob/user) + . = ..() + STOP_PROCESSING(SSobj, src) + var/mob/living/carbon/human/human = user + if(istype(human)) + human.update_spacesuit_hud_icon("0") + +// Space Suit temperature regulation and power usage +/obj/item/clothing/suit/space/process() + var/mob/living/carbon/human/user = src.loc + if(!user || !ishuman(user) || !(user.wear_suit == src)) + return + + // Do nothing if thermal regulators are off + if(!thermal_on) + return + + // If we got here, thermal regulators are on. If there's no cell, turn them + // off + if(!cell) + toggle_spacesuit() + update_hud_icon(user) + return + + // cell.use will return FALSE if charge is lower than THERMAL_REGULATOR_COST + if(!cell.use(THERMAL_REGULATOR_COST)) + toggle_spacesuit() + update_hud_icon(user) + to_chat(user, "The thermal regulator cuts off as [cell] runs out of charge.") + return + + // If we got here, it means thermals are on, the cell is in and the cell has + // just had enough charge subtracted from it to power the thermal regulator + user.adjust_bodytemperature(get_temp_change_amount((temperature_setting - user.bodytemperature), 0.16)) + update_hud_icon(user) + +// Clean up the cell on destroy +/obj/item/clothing/suit/space/Destroy() + if(cell) + QDEL_NULL(cell) + var/mob/living/carbon/human/human = src.loc + if(istype(human)) + human.update_spacesuit_hud_icon("0") + STOP_PROCESSING(SSobj, src) + return ..() + +// Clean up the cell on destroy +/obj/item/clothing/suit/space/handle_atom_del(atom/A) + if(A == cell) + cell = null + thermal_on = FALSE + return ..() + +// support for items that interact with the cell +/obj/item/clothing/suit/space/get_cell() + return cell + +// Show the status of the suit and the cell +/obj/item/clothing/suit/space/examine(mob/user) + . = ..() + if(in_range(src, user) || isobserver(user)) + . += "The thermal regulator is [thermal_on ? "on" : "off"] and the temperature is set to \ + [round(temperature_setting-T0C,0.1)] °C ([round(temperature_setting*1.8-459.67,0.1)] °F)" + . += "The power meter shows [cell ? "[round(cell.percent(), 0.1)]%" : "!invalid!"] charge remaining." + if(cell_cover_open) + . += "The cell cover is open exposing the cell and setting knobs." + if(!cell) + . += "The slot for a cell is empty." + else + . += "\The [cell] is firmly in place." + +// object handling for accessing features of the suit +/obj/item/clothing/suit/space/attackby(obj/item/I, mob/user, params) + if(I.tool_behaviour == TOOL_CROWBAR) + toggle_spacesuit_cell(user) + return + else if(cell_cover_open && I.tool_behaviour == TOOL_SCREWDRIVER) + var/range_low = 20 // Default min temp c + var/range_high = 45 // default max temp c + if(obj_flags & EMAGGED) + range_low = -20 // emagged min temp c + range_high = 120 // emagged max temp c + + var/deg_c = input(user, "What temperature would you like to set the thermal regulator to? \ + ([range_low]-[range_high] degrees celcius)") as null|num + if(deg_c && deg_c >= range_low && deg_c <= range_high) + temperature_setting = round(T0C + deg_c, 0.1) + to_chat(user, "You see the readout change to [deg_c] c.") + return + else if(cell_cover_open && istype(I, /obj/item/stock_parts/cell)) + if(cell) + to_chat(user, "[src] already has a cell installed.") + return + if(user.transferItemToLoc(I, src)) + cell = I + to_chat(user, "You successfully install \the [cell] into [src].") + return + return ..() + +/// Open the cell cover when ALT+Click on the suit +/obj/item/clothing/suit/space/AltClick(mob/living/user) + if(!user || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return ..() + toggle_spacesuit_cell(user) + +/// Remove the cell whent he cover is open on CTRL+Click +/obj/item/clothing/suit/space/CtrlClick(mob/living/user) + if(user && user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + if(cell_cover_open && cell) + remove_cell(user) + return + return ..() + +// Remove the cell when using the suit on its self +/obj/item/clothing/suit/space/attack_self(mob/user) + remove_cell(user) + +/// Remove the cell from the suit if the cell cover is open +/obj/item/clothing/suit/space/proc/remove_cell(mob/user) + if(cell_cover_open && cell) + user.visible_message("[user] removes \the [cell] from [src]!", \ + "You remove [cell].") + cell.add_fingerprint(user) + user.put_in_hands(cell) + cell = null + +/// Toggle the space suit's cell cover +/obj/item/clothing/suit/space/proc/toggle_spacesuit_cell(mob/user) + cell_cover_open = !cell_cover_open + to_chat(user, "You [cell_cover_open ? "open" : "close"] the cell cover on \the [src].") + +/// Toggle the space suit's thermal regulator status +/obj/item/clothing/suit/space/proc/toggle_spacesuit() + // If we're turning thermal protection on, check for valid cell and for enough + // charge that cell. If it's too low, we shouldn't bother with setting the + // thermal protection value and should just return out early. + var/mob/living/carbon/human/user = src.loc + if(!thermal_on && !(cell && cell.charge >= THERMAL_REGULATOR_COST)) + to_chat(user, "The thermal regulator on \the [src] has no charge.") + return + + thermal_on = !thermal_on + min_cold_protection_temperature = thermal_on ? SPACE_SUIT_MIN_TEMP_PROTECT : SPACE_SUIT_MIN_TEMP_PROTECT_OFF + if(user) + to_chat(user, "You turn [thermal_on ? "on" : "off"] \the [src]'s thermal regulator.") + SEND_SIGNAL(src, COMSIG_SUIT_SPACE_TOGGLE) + +// let emags override the temperature settings +/obj/item/clothing/suit/space/on_emag(mob/user) + ..() + user.visible_message("You emag [src], overwriting thermal regulator restrictions.") + log_game("[key_name(user)] emagged [src] at [AREACOORD(src)], overwriting thermal regulator restrictions.") + playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + +// update the HUD icon +/obj/item/clothing/suit/space/proc/update_hud_icon(mob/user) + var/mob/living/carbon/human/human = user + + if(!show_hud) + return + + if(!cell) + human.update_spacesuit_hud_icon("missing") + return + + var/cell_percent = cell.percent() + + // Check if there's enough charge to trigger a thermal regulator tick and + // if there is, whethere the cell's capacity indicates high, medium or low + // charge based on it. + if(cell.charge >= THERMAL_REGULATOR_COST) + if(cell_percent > 60) + human.update_spacesuit_hud_icon("high") + return + if(cell_percent > 20) + human.update_spacesuit_hud_icon("mid") + return + human.update_spacesuit_hud_icon("low") + return + + human.update_spacesuit_hud_icon("empty") + return + +// zap the cell if we get hit with an emp +/obj/item/clothing/suit/space/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_CONTENTS) + return + if(cell) + cell.emp_act(severity) + +#undef THERMAL_REGULATOR_COST diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index e15ddf4ad1a74..a9dbc7b1f9c47 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -23,7 +23,7 @@ desc = "An advanced spacesuit equipped with time-bluespace teleportation and anti-compression technology." icon_state = "chronosuit" item_state = "chronosuit" - actions_types = list(/datum/action/item_action/toggle) + actions_types = list(/datum/action/item_action/toggle_spacesuit, /datum/action/item_action/toggle) armor = list(MELEE = 60, BULLET = 60, LASER = 60, ENERGY = 60, BOMB = 30, BIO = 90, RAD = 90, FIRE = 100, ACID = 1000, STAMINA = 70, BLEED = 80) resistance_flags = FIRE_PROOF | ACID_PROOF var/list/chronosafe_items = list(/obj/item/chrono_eraser, /obj/item/gun/energy/chrono_gun) @@ -166,6 +166,7 @@ finish_chronowalk(user, to_turf) /obj/item/clothing/suit/space/chronos/process() + . = ..() if(activated) var/mob/living/carbon/human/user = src.loc if(user && ishuman(user) && (user.wear_suit == src)) @@ -178,8 +179,6 @@ camera.remove_target_ui() else new_camera(user) - else - STOP_PROCESSING(SSobj, src) /obj/item/clothing/suit/space/chronos/proc/activate() if(!activating && !activated && !teleporting) @@ -199,7 +198,6 @@ to_chat(user, "\[ ok \] Starting ui display driver") to_chat(user, "\[ ok \] Initializing chronowalk4-view") new_camera(user) - START_PROCESSING(SSobj, src) activated = 1 else to_chat(user, "\[ fail \] Mounting /dev/helm") diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 0b5843e948e0b..448e6be1c812e 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -1,4 +1,7 @@ - //Baseline hardsuits +/// How much damage you take from an emp when wearing a hardsuit +#define HARDSUIT_EMP_BURN 2 // a very orange number + +//Baseline hardsuits /obj/item/clothing/head/helmet/space/hardsuit name = "hardsuit helmet" desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding." @@ -8,7 +11,7 @@ item_state = "eng_helm" max_integrity = 300 armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 15, BOMB = 10, BIO = 100, RAD = 75, FIRE = 50, ACID = 75, STAMINA = 20, BLEED = 70) - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 light_power = 1 light_on = FALSE @@ -137,7 +140,10 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/construction/rcd, /obj/item/pipe_dispenser) siemens_coefficient = 0 var/obj/item/clothing/head/helmet/space/hardsuit/helmet - actions_types = list(/datum/action/item_action/toggle_helmet) + actions_types = list( + /datum/action/item_action/toggle_spacesuit, + /datum/action/item_action/toggle_helmet + ) var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit var/obj/item/tank/jetpack/suit/jetpack = null pocket_storage_component_path = null @@ -154,6 +160,11 @@ user.changeNext_move(CLICK_CD_MELEE) ..() +/obj/item/clothing/suit/space/hardsuit/examine(mob/user) + . = ..() + if(!helmet && helmettype) + . += " The helmet on [src] seems to be malfunctioning. It's light bulb needs to be replaced." + /obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/tank/jetpack/suit)) if(jetpack) @@ -167,7 +178,7 @@ jetpack = I to_chat(user, "You successfully install the jetpack into [src].") return - else if(I.tool_behaviour == TOOL_SCREWDRIVER) + else if(!cell_cover_open && I.tool_behaviour == TOOL_SCREWDRIVER) if(!jetpack) to_chat(user, "[src] has no jetpack installed.") return @@ -180,6 +191,22 @@ jetpack = null to_chat(user, "You successfully remove the jetpack from [src].") return + else if(istype(I, /obj/item/light) && helmettype) + if(src == user.get_item_by_slot(ITEM_SLOT_OCLOTHING)) + to_chat(user, "You cannot replace the bulb in the helmet of [src] while wearing it.") + return + if(helmet) + to_chat(user, "The helmet of [src] does not require a new bulb.") + return + var/obj/item/light/L = I + if(L.status) + to_chat(user, "This bulb is too damaged to use as a replacement!") + return + if(do_after(user, 5 SECONDS, 1, src)) + qdel(I) + helmet = new helmettype(src) + to_chat(user, "You have successfully repaired [src]'s helmet.") + new /obj/item/light/bulb/broken(drop_location()) return ..() @@ -236,6 +263,18 @@ if(slot == ITEM_SLOT_OCLOTHING) //we only give the mob the ability to toggle the helmet if he's wearing the hardsuit. return 1 +/// Burn the person inside the hard suit just a little, the suit got really hot for a moment +/obj/item/clothing/suit/space/emp_act(severity) + . = ..() + var/mob/living/carbon/human/user = src.loc + if(istype(user)) + user.apply_damage(HARDSUIT_EMP_BURN, BURN) + to_chat(user, "You feel \the [src] heat up from the EMP burning you slightly.") + + // Chance to scream + if (user.stat < UNCONSCIOUS && prob(10)) + user.emote("scream") + //Engineering /obj/item/clothing/head/helmet/space/hardsuit/engine name = "engineering hardsuit helmet" @@ -298,6 +337,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite jetpack = /obj/item/tank/jetpack/suit + cell = /obj/item/stock_parts/cell/super //Mining hardsuit /obj/item/clothing/head/helmet/space/hardsuit/mining @@ -373,13 +413,9 @@ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/exploration heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - actions_types = list( - /datum/action/item_action/toggle_helmet - ) - - //Cybersun Hardsuit - //A kind of side-grade to the explorer suit, sacrificing burn protection for brute. If you can kill the guy inside it, anyways. +//Cybersun Hardsuit +//A kind of side-grade to the explorer suit, sacrificing burn protection for brute. If you can kill the guy inside it, anyways. /obj/item/clothing/head/helmet/space/hardsuit/cybersun name = "Cybersun hardsuit helmet" desc = "A bulbous red helmet designed for scavenging in hazardous, low pressure environments. Has dual floodlights, and a 360 Degree view." @@ -412,8 +448,10 @@ armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 55, BOMB = 35, BIO = 100, RAD = 50, FIRE = 50, ACID = 90, STAMINA = 60, BLEED = 70) on = TRUE var/obj/item/clothing/suit/space/hardsuit/syndi/linkedsuit = null - actions_types = list(/datum/action/item_action/toggle_helmet_mode,\ - /datum/action/item_action/toggle_beacon_hud) + actions_types = list( + /datum/action/item_action/toggle_helmet_mode, + /datum/action/item_action/toggle_beacon_hud + ) visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDEEARS|HIDESNOUT visor_flags = STOPSPRESSUREDAMAGE | HEADINTERNALS @@ -502,9 +540,11 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi jetpack = /obj/item/tank/jetpack/suit + cell = /obj/item/stock_parts/cell/hyper item_flags = ILLEGAL //Syndicate only and difficult to obtain outside of uplink anyway. Nukie hardsuits on the ship are illegal. slowdown = 0.5 actions_types = list( + /datum/action/item_action/toggle_spacesuit, /datum/action/item_action/toggle_helmet, /datum/action/item_action/toggle_beacon, /datum/action/item_action/toggle_beacon_frequency @@ -555,6 +595,15 @@ H.update_inv_wear_suit() H.update_inv_w_uniform() +//Stupid snowflake type so we dont freak out the spritesheets. Its not actually used ingame +/obj/item/clothing/suit/space/hardsuit/syndipreview + name = "blood-red hardsuit" + icon_state = "hardsuit1-syndi" + item_state = "syndie_hardsuit" + hardsuit_type = "syndi" + cell = null + show_hud = FALSE + //Elite Syndie suit /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite name = "elite syndicate hardsuit helmet" @@ -578,6 +627,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF + cell = /obj/item/stock_parts/cell/bluespace //The Owl Hardsuit /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl @@ -625,6 +675,7 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard + cell = /obj/item/stock_parts/cell/hyper jetpack = /obj/item/tank/jetpack/suit slowdown = 0.3 @@ -676,7 +727,10 @@ armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 15, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80, STAMINA = 30, BLEED = 70) var/obj/machinery/doppler_array/integrated/bomb_radar clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT | SCAN_REAGENTS | HEADINTERNALS - actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_research_scanner) + actions_types = list( + /datum/action/item_action/toggle_helmet_light, + /datum/action/item_action/toggle_research_scanner + ) /obj/item/clothing/head/helmet/space/hardsuit/rd/Initialize(mapload) . = ..() @@ -706,6 +760,7 @@ /obj/item/hand_tele, /obj/item/aicard) armor = list(MELEE = 30, BULLET = 5, LASER = 10, ENERGY = 15, BOMB = 100, BIO = 100, RAD = 60, FIRE = 60, ACID = 80, STAMINA = 30, BLEED = 70) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd + cell = /obj/item/stock_parts/cell/super /obj/item/clothing/suit/space/hardsuit/research_director/ComponentInitialize() . = ..() @@ -751,6 +806,7 @@ armor = list(MELEE = 35, BULLET = 35, LASER = 30, ENERGY = 50, BOMB = 40, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, STAMINA = 50, BLEED = 70) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos jetpack = /obj/item/tank/jetpack/suit + cell = /obj/item/stock_parts/cell/super //SWAT MKII /obj/item/clothing/head/helmet/space/hardsuit/swat @@ -765,7 +821,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT actions_types = list() -/obj/item/clothing/head/helmet/space/hardsuit/swat/attack_self() +/obj/item/clothing/head/helmet/space/hardsuit/swat/attack_self() //What the fuck /obj/item/clothing/suit/space/hardsuit/swat name = "\improper MK.II SWAT Suit" @@ -778,6 +834,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago helmettype = /obj/item/clothing/head/helmet/space/hardsuit/swat +// SWAT and Captain get EMP Protection /obj/item/clothing/suit/space/hardsuit/swat/Initialize(mapload) . = ..() allowed = GLOB.security_hardsuit_allowed @@ -795,6 +852,7 @@ icon_state = "caparmor" item_state = "capspacesuit" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/swat/captain + cell = /obj/item/stock_parts/cell/super //Clown /obj/item/clothing/head/helmet/space/hardsuit/clown @@ -856,81 +914,81 @@ supports_variations = DIGITIGRADE_VARIATION armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, STAMINA = 60, BLEED = 70) resistance_flags = FIRE_PROOF | ACID_PROOF - /// How many charges total the shielding has - var/max_charges = 3 - /// How long after we've been shot before we can start recharging. - var/recharge_delay = 20 SECONDS - /// How quickly the shield recharges each charge once it starts charging - var/recharge_rate = 1 SECONDS - /// The icon for the shield - var/shield_icon = "shield-old" - -/obj/item/clothing/suit/space/hardsuit/shielded/Initialize(mapload) - . = ..() - if(!allowed) - allowed = GLOB.advanced_hardsuit_allowed -/obj/item/clothing/suit/space/hardsuit/shielded/ComponentInitialize() - . = ..() - AddComponent(/datum/component/shielded, max_charges = max_charges, recharge_start_delay = recharge_delay, charge_increment_delay = recharge_rate, shield_icon = shield_icon) +/obj/item/clothing/suit/space/hardsuit/shielded/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 3, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon = "shield-old") /obj/item/clothing/head/helmet/space/hardsuit/shielded resistance_flags = FIRE_PROOF | ACID_PROOF ///////////////Capture the Flag//////////////////// -/obj/item/clothing/suit/space/hardsuit/shielded/ctf - name = "white shielded hardsuit" - desc = "Standard issue hardsuit for playing capture the flag." - icon_state = "ert_medical" - item_state = "ert_medical" - hardsuit_type = "ert_medical" +// SHIELDED VEST + +/obj/item/clothing/suit/armor/vest/ctf + name = "white shielded vest" + desc = "Standard issue vest for playing capture the flag." + icon = 'icons/mob/clothing/suits/ctf.dmi' + worn_icon = 'icons/mob/clothing/suits/ctf.dmi' + icon_state = "standard" // Adding TRAIT_NODROP is done when the CTF spawner equips people - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf - armor = list(MELEE = 0, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 50, BIO = 100, RAD = 100, FIRE = 95, ACID = 95, STAMINA = 0, BLEED = 0) - slowdown = 0 - max_charges = 5 + armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0, BLEED = 0) // CTF gear gives no protection outside of the shield + allowed = null + greyscale_config = /datum/greyscale_config/ctf_standard + greyscale_config_worn = /datum/greyscale_config/ctf_standard_worn + greyscale_colors = "#ffffff" -/obj/item/clothing/suit/space/hardsuit/shielded/ctf/red - name = "red shielded hardsuit" - icon_state = "ert_security" - item_state = "ert_security" - hardsuit_type = "ert_security" - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red - shield_icon = "shield-red" - -/obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue - name = "blue shielded hardsuit" - desc = "Standard issue hardsuit for playing capture the flag." - icon_state = "ert_command" - item_state = "ert_command" - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue + ///Icon state to be fed into the shielded component + var/team_shield_icon = "shield-old" +/obj/item/clothing/suit/armor/vest/ctf/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 150, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 30, lose_multiple_charges = TRUE, shield_icon = team_shield_icon) +// LIGHT SHIELDED VEST -/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf - name = "shielded hardsuit helmet" - desc = "Standard issue hardsuit helmet for playing capture the flag." - icon_state = "hardsuit0-ert_medical" - item_state = "hardsuit0-ert_medical" - hardsuit_type = "ert_medical" - armor = list(MELEE = 0, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 50, BIO = 100, RAD = 100, FIRE = 95, ACID = 95, STAMINA = 0, BLEED = 0) +/obj/item/clothing/suit/armor/vest/ctf/light + name = "light white shielded vest" + desc = "Lightweight vest for playing capture the flag." + icon_state = "light" + greyscale_config = /datum/greyscale_config/ctf_light + greyscale_config_worn = /datum/greyscale_config/ctf_light_worn + slowdown = -0.25 +/obj/item/clothing/suit/armor/vest/ctf/light/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 30, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 30, lose_multiple_charges = TRUE, shield_icon = team_shield_icon) -/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/red - icon_state = "hardsuit0-ert_security" - item_state = "hardsuit0-ert_security" - hardsuit_type = "ert_security" +// RED TEAM SUITS -/obj/item/clothing/head/helmet/space/hardsuit/shielded/ctf/blue - name = "shielded hardsuit helmet" - desc = "Standard issue hardsuit helmet for playing capture the flag." - icon_state = "hardsuit0-ert_commander" - item_state = "hardsuit0-ert_commander" - hardsuit_type = "ert_commander" +// Regular +/obj/item/clothing/suit/armor/vest/ctf/red + name = "red shielded vest" + item_state = "ert_security" + team_shield_icon = "shield-red" + greyscale_colors = COLOR_VIVID_RED +// Light +/obj/item/clothing/suit/armor/vest/ctf/light/red + name = "light red shielded vest" + item_state = "ert_security" + team_shield_icon = "shield-red" + greyscale_colors = COLOR_VIVID_RED +// BLUE TEAM SUITS + +// Regular +/obj/item/clothing/suit/armor/vest/ctf/blue + name = "blue shielded vest" + item_state = "ert_command" + team_shield_icon = "shield-old" + greyscale_colors = COLOR_DARK_CYAN + +// Light +/obj/item/clothing/suit/armor/vest/ctf/light/blue + name = "light blue shielded vest" + item_state = "ert_command" + team_shield_icon = "shield-old" + greyscale_colors = COLOR_DARK_CYAN //////Syndicate Version @@ -945,14 +1003,17 @@ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi slowdown = 0 - shield_icon = "shield-red" actions_types = list( + /datum/action/item_action/toggle_spacesuit, /datum/action/item_action/toggle_helmet, /datum/action/item_action/toggle_beacon, /datum/action/item_action/toggle_beacon_frequency ) jetpack = /obj/item/tank/jetpack/suit +/obj/item/clothing/suit/space/hardsuit/shielded/syndi/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 3, recharge_start_delay = 20 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon = "shield-red") + /obj/item/clothing/suit/space/hardsuit/shielded/syndi/ComponentInitialize() . = ..() AddComponent(/datum/component/anti_artifact, INFINITY, FALSE, 100) @@ -975,8 +1036,10 @@ item_state = "syndie_helm" hardsuit_type = "syndi" armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 35, BIO = 100, RAD = 50, FIRE = 100, ACID = 100, STAMINA = 60, BLEED = 70) - actions_types = list(/datum/action/item_action/toggle_helmet_light,\ - /datum/action/item_action/toggle_beacon_hud) + actions_types = list( + /datum/action/item_action/toggle_helmet_light, + /datum/action/item_action/toggle_beacon_hud + ) /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi/Initialize(mapload) . = ..() @@ -1002,8 +1065,6 @@ icon_state = "deathsquad" item_state = "swat_suit" hardsuit_type = "syndi" - max_charges = 4 - recharge_delay = 1.5 SECONDS armor = list(MELEE = 80, BULLET = 80, LASER = 50, ENERGY =60, BOMB = 100, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, STAMINA = 100, BLEED = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -1011,6 +1072,9 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat dog_fashion = /datum/dog_fashion/back/deathsquad +/obj/item/clothing/suit/space/hardsuit/shielded/swat/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 4, recharge_start_delay = 1.5 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon = "shield-old") + /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat name = "death commando helmet" desc = "A tactical helmet with built in energy shielding." @@ -1044,8 +1108,6 @@ desc = "A somehow spaceworthy set of armor with outstanding protection against almost everything. Comes in an oddly nostalgic green. " icon_state = "doomguy" item_state = "doomguy" - max_charges = 1 - recharge_delay = 100 armor = list(MELEE = 135, BULLET = 135, LASER = 135, ENERGY = 135, BOMB = 135, BIO = 100, RAD = 100, FIRE = 100, ACID = 100, STAMINA = 100, BLEED = 100) strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT @@ -1053,6 +1115,9 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/doomguy dog_fashion = /datum/dog_fashion/back/deathsquad +/obj/item/clothing/suit/space/hardsuit/shielded/doomguy/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 1, recharge_start_delay = 1 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon = "shield-old") + /obj/item/clothing/head/helmet/space/hardsuit/shielded/doomguy name = "juggernaut helmet" desc = "A dusty old helmet, somehow capable of resisting the strongest of blows." @@ -1062,3 +1127,5 @@ strip_delay = 130 max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT actions_types = list() + +#undef HARDSUIT_EMP_BURN diff --git a/code/modules/clothing/spacesuits/miscellaneous.dm b/code/modules/clothing/spacesuits/miscellaneous.dm index 6d17f4c639af0..af61ae8dab4be 100644 --- a/code/modules/clothing/spacesuits/miscellaneous.dm +++ b/code/modules/clothing/spacesuits/miscellaneous.dm @@ -43,6 +43,7 @@ Contains: resistance_flags = FIRE_PROOF | ACID_PROOF helmettype = /obj/item/clothing/head/helmet/space/hardsuit/deathsquad dog_fashion = /datum/dog_fashion/back/deathsquad + cell = /obj/item/stock_parts/cell/bluespace move_sound = list('sound/effects/suitstep1.ogg', 'sound/effects/suitstep2.ogg') /obj/item/clothing/head/helmet/space/beret @@ -134,7 +135,6 @@ Contains: icon_state = "pirate" item_state = "pirate" w_class = WEIGHT_CLASS_NORMAL - flags_inv = 0 allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals, /obj/item/melee/transforming/energy/sword/pirate, /obj/item/clothing/glasses/eyepatch, /obj/item/reagent_containers/food/drinks/bottle/rum) slowdown = 0 armor = list(MELEE = 30, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 60, ACID = 75, STAMINA = 20, BLEED = 20) @@ -197,6 +197,11 @@ Contains: /datum/action/item_action/toggle_beacon_frequency ) +// ERT suit's gets EMP Protection +/obj/item/clothing/suit/space/hardsuit/ert/Initialize(mapload) + . = ..() + AddElement(/datum/element/empprotection, EMP_PROTECT_CONTENTS) + /obj/item/clothing/suit/space/hardsuit/ert/ui_action_click(mob/user, datum/actiontype) switch(actiontype.type) if(/datum/action/item_action/toggle_helmet) @@ -422,6 +427,7 @@ Contains: armor = list(melee = 60, bullet = 40, laser = 40, energy = 50, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100, stamina = 70, BLEED = 70) strip_delay = 130 resistance_flags = FIRE_PROOF | ACID_PROOF + cell = /obj/item/stock_parts/cell/hyper /obj/item/clothing/head/helmet/space/hardsuit/skinsuit name = "skinsuit helmet" diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index cbb70b6fb407a..a5b0dd6acb854 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -53,7 +53,7 @@ tint = 2 armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 0, FIRE = 100, ACID = 75, STAMINA = 0, BLEED = 10) resistance_flags = FIRE_PROOF - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 4 light_on = FALSE var/helmet_on = FALSE diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm index 4124a4c74e964..8d6552506a5ca 100644 --- a/code/modules/clothing/spacesuits/syndi.dm +++ b/code/modules/clothing/spacesuits/syndi.dm @@ -14,7 +14,7 @@ w_class = WEIGHT_CLASS_NORMAL allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) armor = list(MELEE = 40, BULLET = 50, LASER = 30, ENERGY = 40, BOMB = 30, BIO = 30, RAD = 30, FIRE = 80, ACID = 85, STAMINA = 50, BLEED = 40) - + cell = /obj/item/stock_parts/cell/hyper //Green syndicate space suit /obj/item/clothing/head/helmet/space/syndicate/green diff --git a/code/modules/clothing/suits/_suits.dm b/code/modules/clothing/suits/_suits.dm index cedfcb6216b46..a2411a769ca29 100644 --- a/code/modules/clothing/suits/_suits.dm +++ b/code/modules/clothing/suits/_suits.dm @@ -18,6 +18,9 @@ var/mob/listeningTo pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo +/obj/item/clothing/suit/Initialize(mapload) + . = ..() + setup_shielding() /obj/item/clothing/suit/worn_overlays(mutable_appearance/standing, isinhands = FALSE, icon_file, item_layer, atom/origin) . = list() @@ -34,7 +37,7 @@ if(A.above_suit) . += U.accessory_overlay -/obj/item/clothing/suit/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/suit/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc @@ -81,4 +84,13 @@ listeningTo = null . = ..() +/** + * Wrapper proc to apply shielding through AddComponent(). + * Called in /obj/item/clothing/Initialize(). + * Override with an AddComponent(/datum/component/shielded, args) call containing the desired shield statistics. + * See /datum/component/shielded documentation for a description of the arguments + **/ +/obj/item/clothing/suit/proc/setup_shielding() + return + #undef FOOTSTEP_COOLDOWN diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index cd7a215162672..c4738d10b14c4 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -42,10 +42,12 @@ /obj/item/clothing/suit/armor/vest/blueshirt name = "large armor vest" - desc = "A large, yet comfortable piece of armor, protecting you from some threats. Type H-L" + desc = "A type H-L armored vest which provides greater protection than its I-A counterpart, at the cost of being bulkier." icon_state = "blueshift" item_state = null custom_premium_price = 600 + armor = list(MELEE = 40, BULLET = 40, LASER = 40, ENERGY = 45, BOMB = 30, BIO = 0, RAD = 0, FIRE = 50, ACID = 50, STAMINA = 40) + slowdown = 0.14 /obj/item/clothing/suit/armor/vest/corporate name = "corporate Jacket" @@ -54,6 +56,7 @@ item_state = "secjacket" body_parts_covered = CHEST|ARMS armor = list(MELEE = 25, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 20, BIO = 0, RAD = 0, FIRE = 45, ACID = 45, STAMINA = 30, BLEED = 20) + slowdown = 0.02 /obj/item/clothing/suit/armor/hos name = "armored greatcoat" diff --git a/code/modules/clothing/suits/toggles.dm b/code/modules/clothing/suits/toggles.dm index 62c1aae304ab3..1acedc879ad5a 100644 --- a/code/modules/clothing/suits/toggles.dm +++ b/code/modules/clothing/suits/toggles.dm @@ -41,7 +41,7 @@ /obj/item/clothing/suit/hooded/proc/RemoveHood() src.icon_state = "[initial(icon_state)]" hood_up = FALSE - + if(hood) if(ishuman(hood.loc)) var/mob/living/carbon/human/H = hood.loc @@ -175,6 +175,7 @@ if(!helmettype) return if(!helmet) + to_chat(H, "The helmet's lightbulb seems to be damaged! You'll need a replacement bulb.") return if(!helmet_on) if(ishuman(src.loc)) diff --git a/code/modules/clothing/suits/wetfloor.dm b/code/modules/clothing/suits/wetfloor.dm index 2f281b38ff246..3e06527657ac5 100644 --- a/code/modules/clothing/suits/wetfloor.dm +++ b/code/modules/clothing/suits/wetfloor.dm @@ -12,6 +12,7 @@ throw_range = 5 w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN - attack_verb = list("warned", "cautioned", "smashed") + attack_verb_continuous = list("warns", "cautions", "smashes") + attack_verb_simple = list("warn", "caution", "smash") armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 0, ACID = 0, STAMINA = 0) pocket_storage_component_path = null diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index d47eba0058b2a..c357091cca300 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -56,17 +56,19 @@ /obj/item/clothing/suit/hooded/wintercoat/security name = "security winter coat" + desc = "A thick jacket made from a light, fire-resistant kevlar-like material which provides some protection to the user. It is particularly effective against energy-based threats due to its thickness and insulation." icon_state = "coatsecurity" item_state = "coatsecurity" - armor = list(MELEE = 25, BULLET = 15, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 45, STAMINA = 20) hoodtype = /obj/item/clothing/head/hooded/winterhood/security - slowdown = 0.05 + armor = list(MELEE = 15, BULLET = 15, LASER = 40, ENERGY = 50, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 45, STAMINA = 40) + slowdown = 0.04 /obj/item/clothing/suit/hooded/wintercoat/security/Initialize(mapload) . = ..() allowed = GLOB.security_wintercoat_allowed /obj/item/clothing/head/hooded/winterhood/security + armor = list(MELEE = 15, BULLET = 15, LASER = 40, ENERGY = 50, BOMB = 25, BIO = 0, RAD = 0, FIRE = 60, ACID = 45, STAMINA = 40) icon_state = "winterhood_security" /obj/item/clothing/suit/hooded/wintercoat/detective diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 23405168631ed..fb3781dbb0315 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -210,9 +210,6 @@ desc = "Not all wizards are afraid of getting up close and personal." icon_state = "battlemage" item_state = "battlemage" - recharge_delay = 0 // no auto-recharge - max_charges = 15 - shield_icon = "shield-red" min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard @@ -220,6 +217,9 @@ slowdown = 0 resistance_flags = FIRE_PROOF | ACID_PROOF +/obj/item/clothing/suit/space/hardsuit/shielded/wizard/setup_shielding() + AddComponent(/datum/component/shielded, max_charges = 15, recharge_start_delay = 0 SECONDS, charge_increment_delay = 1 SECONDS, charge_recovery = 1, lose_multiple_charges = FALSE, shield_icon = "shield-red") + /obj/item/clothing/head/helmet/space/hardsuit/shielded/wizard name = "battlemage helmet" desc = "A suitably impressive helmet.." diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 2b1d78cfd6b5f..fbbe7af58d8dd 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -42,14 +42,16 @@ if(!attach_accessory(I, user)) return ..() -/obj/item/clothing/under/update_clothes_damaged_state(damaging = TRUE) +/obj/item/clothing/under/update_clothes_damaged_state(damaged_state = CLOTHING_DAMAGED) ..() if(ismob(loc)) var/mob/M = loc M.update_inv_w_uniform() - if(has_sensor > NO_SENSORS) + if(damaged_state == CLOTHING_SHREDDED && has_sensor > NO_SENSORS) has_sensor = BROKEN_SENSORS - update_sensors(NO_SENSORS) + else if(damaged_state == CLOTHING_PRISTINE && has_sensor == BROKEN_SENSORS) + has_sensor = HAS_SENSORS + update_sensors(NO_SENSORS) /obj/item/clothing/under/Initialize(mapload) . = ..() diff --git a/code/modules/events/asteroid_impact.dm b/code/modules/events/asteroid_impact.dm index 0db2eb2892264..a303576af65c3 100644 --- a/code/modules/events/asteroid_impact.dm +++ b/code/modules/events/asteroid_impact.dm @@ -13,7 +13,7 @@ /datum/round_event/asteroid_impact/announce(fake) priority_announce("A class-A asteroid has been detected on a collision course with the station. Destruction of the station is innevitable.", SSstation.announcer.get_rand_alert_sound()) if(!fake) - set_security_level(SEC_LEVEL_DELTA) + SSsecurity_level.set_level(SEC_LEVEL_DELTA) var/area/A = GLOB.areas_by_type[/area/centcom] if(EMERGENCY_IDLE_OR_RECALLED) SSshuttle.emergency.request(null, A, "Automatic Shuttle Call: Station destruction imminent.", TRUE) diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index eebf6f200c896..97236848b2e4e 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -132,7 +132,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 else if (isobj(clong)) if(clong.density) var/obj/hit_obj = clong - hit_obj.take_damage(hit_obj.obj_integrity, armour_penetration = 100) + hit_obj.take_damage(hit_obj.get_integrity(), armour_penetration = 100) else if(isliving(clong)) penetrate(clong) else if(istype(clong, type)) diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm index 0f3a56cd1de40..b1e12c936440e 100644 --- a/code/modules/events/spacevine.dm +++ b/code/modules/events/spacevine.dm @@ -278,8 +278,7 @@ /datum/spacevine_mutation/woodening/on_grow(obj/structure/spacevine/holder) if(holder.energy) holder.set_density(TRUE) - holder.max_integrity = 100 - holder.obj_integrity = holder.max_integrity + holder.modify_max_integrity(100) /datum/spacevine_mutation/woodening/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage) if(I?.is_sharp()) diff --git a/code/modules/fields/timestop.dm b/code/modules/fields/timestop.dm index 7b27d3609fb2d..7efa781d7818b 100644 --- a/code/modules/fields/timestop.dm +++ b/code/modules/fields/timestop.dm @@ -146,7 +146,7 @@ /datum/proximity_monitor/advanced/timestop/process() for(var/i in frozen_mobs) var/mob/living/m = i - m.Stun(20, 1, 1) + m.Stun(20, ignore_canstun = TRUE) /datum/proximity_monitor/advanced/timestop/setup_field_turf(turf/T) for(var/i in T.contents) @@ -165,7 +165,7 @@ if(L.anti_magic_check(check_anti_magic, check_holy)) immune += L return - L.Stun(20, 1, 1) + L.Stun(20, ignore_canstun = TRUE) SSmove_manager.stop_looping(src) //stops them mid pathing even if they're stunimmune //This is really dumb if(isanimal(L)) var/mob/living/simple_animal/S = L @@ -175,7 +175,7 @@ H.LoseTarget() /datum/proximity_monitor/advanced/timestop/proc/unfreeze_mob(mob/living/L) - L.AdjustStun(-20, 1, 1) + L.AdjustStun(-20, ignore_canstun = TRUE) frozen_mobs -= L if(isanimal(L)) var/mob/living/simple_animal/S = L diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index c169b897c6d70..12cead679c170 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -132,7 +132,8 @@ w_class = WEIGHT_CLASS_TINY item_state = "beer" hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("stabbed", "slashed", "attacked") + attack_verb_continuous = list("stabs", "slashes", "attacks") + attack_verb_simple = list("stab", "slash", "attack") sharpness = IS_SHARP bleed_force = BLEED_SURFACE var/static/icon/broken_outline = icon('icons/obj/drinks.dmi', "broken") diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index 62a221e032ede..829315e552629 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -57,7 +57,7 @@ /obj/machinery/gibber/container_resist(mob/living/user) go_out() -/obj/machinery/gibber/relaymove(mob/living/user) +/obj/machinery/gibber/relaymove(mob/living/user, direction) go_out() /obj/machinery/gibber/attack_hand(mob/user) diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 28392c2115d13..8d2481f06b64f 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -134,19 +134,25 @@ icon_state = "egg-[eggcolor]" /obj/item/suprise_egg/proc/dispensePrize(turf/where) - var/static/list/prize_list = list(/obj/item/clothing/head/costume/bunnyhead, - /obj/item/clothing/suit/bunnysuit, - /obj/item/food/grown/carrot, - /obj/item/food/chocolateegg, - /obj/item/toy/balloon, - /obj/item/toy/gun, - /obj/item/toy/sword, - /obj/item/toy/foamblade, - /obj/item/toy/prize/ripley, - /obj/item/toy/prize/honk, - /obj/item/toy/plush/carpplushie, - /obj/item/toy/redbutton, - /obj/item/clothing/head/collectable/rabbitears) + var/static/list/prize_list = list( + /obj/item/clothing/head/costume/bunnyhead, + /obj/item/clothing/suit/bunnysuit, + /obj/item/food/grown/carrot, + /obj/item/toy/balloon, + /obj/item/toy/gun, + /obj/item/toy/sword, + /obj/item/toy/talking/AI, + /obj/item/toy/talking/owl, + /obj/item/toy/talking/griffin, + /obj/item/toy/minimeteor, + /obj/item/toy/clockwork_watch, + /obj/item/toy/toy_xeno, + /obj/item/toy/foamblade, + /obj/item/toy/plush/carpplushie, + /obj/item/toy/redbutton, + /obj/item/toy/windupToolbox, + /obj/item/clothing/head/collectable/rabbitears + ) + subtypesof(/obj/item/toy/mecha) var/won = pick(prize_list) new won(where) new/obj/item/food/chocolateegg(where) diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index 9ec4c9776e9fa..8b613e6113f92 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -50,14 +50,14 @@ deck.card_throwforce = 0 deck.card_throw_speed = 3 deck.card_throw_range = 7 - deck.card_attack_verb = list("attacked") + deck.card_attack_verb_continuous = list("attacks") else deck.card_hitsound = 'sound/weapons/bladeslice.ogg' deck.card_force = 5 deck.card_throwforce = 10 deck.card_throw_speed = 3 deck.card_throw_range = 7 - deck.card_attack_verb = list("attacked", "sliced", "diced", "slashed", "cut") + deck.card_attack_verb_continuous = list("attacks", "slices", "dices", "slashes", "cuts") /obj/effect/holodeck_effect/sparks/activate(var/obj/machinery/computer/holodeck/HC) diff --git a/code/modules/holodeck/mobs.dm b/code/modules/holodeck/mobs.dm index adac4ea7b2d34..121989bf1e718 100644 --- a/code/modules/holodeck/mobs.dm +++ b/code/modules/holodeck/mobs.dm @@ -15,6 +15,9 @@ speak_chance = 1 turns_per_move = 2 butcher_results = list() - response_help = "pets" - response_disarm = "pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pushes aside" + response_disarm_simple = "push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" diff --git a/code/modules/holoparasite/_holoparasite.dm b/code/modules/holoparasite/_holoparasite.dm index 99fdb77fbe344..30c7e5f0eb9bf 100644 --- a/code/modules/holoparasite/_holoparasite.dm +++ b/code/modules/holoparasite/_holoparasite.dm @@ -8,9 +8,12 @@ GLOBAL_LIST_EMPTY_TYPED(holoparasites, /mob/living/simple_animal/hostile/holopar gender = NEUTER mob_biotypes = list(MOB_INORGANIC) bubble_icon = "guardian" - response_help = "passes through" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" icon = 'icons/mob/holoparasite.dmi' icon_state = "magicOrange" icon_living = "magicOrange" @@ -27,7 +30,8 @@ GLOBAL_LIST_EMPTY_TYPED(holoparasites, /mob/living/simple_animal/hostile/holopar atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = INFINITY - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" maxHealth = INFINITY // The spirit itself is invincible health = INFINITY healable = FALSE // Don't bruise pack the holopara! @@ -140,6 +144,8 @@ GLOBAL_LIST_EMPTY_TYPED(holoparasites, /mob/living/simple_animal/hostile/holopar if(mind && key && key != mind.key) // Ooh, new player! first_time_show_popup = mind.has_antag_datum(/datum/antagonist/holoparasite) . = ..() + if(!. || !client) + return FALSE if(mind) mind.name = "[real_name]" if(QDELETED(summoner?.current)) diff --git a/code/modules/holoparasite/abilities/major/healing.dm b/code/modules/holoparasite/abilities/major/healing.dm index 7b770b8e0fcc1..6806c36edbd67 100644 --- a/code/modules/holoparasite/abilities/major/healing.dm +++ b/code/modules/holoparasite/abilities/major/healing.dm @@ -188,12 +188,12 @@ * Heals an object. */ /datum/holoparasite_ability/major/healing/proc/heal_obj(obj/target) - var/old_integrity = target.obj_integrity - target.obj_integrity = min(target.obj_integrity + (target.max_integrity * 0.1), target.max_integrity) - if(old_integrity > target.obj_integrity) + var/old_integrity = target.get_integrity() + target.repair_damage(target.get_integrity() + (target.max_integrity * 0.1), target.max_integrity) + if(old_integrity > target.get_integrity()) SSblackbox.record_feedback("associative", "holoparasite_obj_damage_healed", 1, list( "target" = replacetext("[target.type]", "/obj/", ""), - "amount" = max(old_integrity - target.obj_integrity, 0) + "amount" = max(old_integrity - target.get_integrity(), 0) )) /** diff --git a/code/modules/holoparasite/abilities/weapon/dextrous.dm b/code/modules/holoparasite/abilities/weapon/dextrous.dm index 22224dbb061f4..c13dfab9ea0eb 100644 --- a/code/modules/holoparasite/abilities/weapon/dextrous.dm +++ b/code/modules/holoparasite/abilities/weapon/dextrous.dm @@ -107,8 +107,10 @@ owner.ranged = FALSE if(isnull(owner.theme.mob_info[HOLOPARA_THEME_ATTACK_SOUND])) owner.attack_sound = "punch" - owner.response_harm = "weakly punches" - owner.attacktext = "weakly punches" + owner.response_harm_continuous = "weakly punches" + owner.response_harm_simple = "weakly punch" + owner.attack_verb_continuous = "weakly punches" + owner.attack_verb_simple = "weakly punch" owner.environment_smash = NONE . = ..() @@ -125,8 +127,10 @@ owner.ranged = initial(owner.ranged) if(isnull(owner.theme.mob_info[HOLOPARA_THEME_ATTACK_SOUND])) owner.attack_sound = initial(owner.attack_sound) - owner.response_harm = initial(owner.response_harm) - owner.attacktext = initial(owner.attacktext) + owner.response_harm_continuous = initial(owner.response_harm_continuous) + owner.response_harm_simple = initial(owner.response_harm_simple) + owner.attack_verb_continuous = initial(owner.attack_verb_continuous) + owner.attack_verb_simple = initial(owner.attack_verb_simple) owner.environment_smash = initial(owner.environment_smash) . = ..() diff --git a/code/modules/holoparasite/abilities/weapon/projectile.dm b/code/modules/holoparasite/abilities/weapon/projectile.dm index ba7248ed639d8..efec69a231a3e 100644 --- a/code/modules/holoparasite/abilities/weapon/projectile.dm +++ b/code/modules/holoparasite/abilities/weapon/projectile.dm @@ -20,8 +20,10 @@ owner.ranged_cooldown_time = 17.5 / master_stats.speed owner.melee_damage = 6 + round((master_stats.damage - 1) * 0.8) // barely stronger than a normal human punch owner.obj_damage = 6 + round((master_stats.damage - 1) * 0.8) - owner.response_harm = "weakly punches" - owner.attacktext = "weakly punches" + owner.response_harm_continuous = "weakly punches" + owner.response_harm_simple = "weakly punch" + owner.attack_verb_continuous = "weakly punches" + owner.attack_verb_simple = "weakly punch" /datum/holoparasite_ability/weapon/ranged/remove() . = ..() @@ -29,5 +31,7 @@ owner.ranged_cooldown_time = initial(owner.ranged_cooldown_time) owner.melee_damage = initial(owner.melee_damage) owner.obj_damage = initial(owner.obj_damage) - owner.response_harm = initial(owner.response_harm) - owner.attacktext = initial(owner.attacktext) + owner.response_harm_continuous = initial(owner.response_harm_continuous) + owner.response_harm_simple = initial(owner.response_harm_simple) + owner.attack_verb_continuous = initial(owner.attack_verb_continuous) + owner.attack_verb_simple = initial(owner.attack_verb_simple) diff --git a/code/modules/holoparasite/abilities/weapon/stab.dm b/code/modules/holoparasite/abilities/weapon/stab.dm index a6cffc338f284..957c24aad437e 100644 --- a/code/modules/holoparasite/abilities/weapon/stab.dm +++ b/code/modules/holoparasite/abilities/weapon/stab.dm @@ -25,8 +25,10 @@ owner.armour_penetration = max(master_stats.potential - 1, 0) * 15 if(isnull(owner.theme.mob_info[HOLOPARA_THEME_ATTACK_SOUND])) owner.attack_sound = 'sound/weapons/bladeslice.ogg' - owner.response_harm = "stabs" - owner.attacktext = "stabs" + owner.response_harm_continuous = "stabs" + owner.response_harm_simple = "stab" + owner.attack_verb_continuous = "stabs" + owner.attack_verb_simple = "stab" bleed_level = (master_stats.damage / 5) * (BLEED_DEEP_WOUND - BLEED_SURFACE) + BLEED_SURFACE /datum/holoparasite_ability/weapon/blade/remove() @@ -36,8 +38,10 @@ owner.armour_penetration = initial(owner.armour_penetration) if(isnull(owner.theme.mob_info[HOLOPARA_THEME_ATTACK_SOUND])) owner.attack_sound = initial(owner.attack_sound) - owner.response_harm = initial(owner.response_harm) - owner.attacktext = initial(owner.attacktext) + owner.response_harm_continuous = initial(owner.response_harm_continuous) + owner.response_harm_simple = initial(owner.response_harm_simple) + owner.attack_verb_continuous = initial(owner.attack_verb_continuous) + owner.attack_verb_simple = initial(owner.attack_verb_simple) /datum/holoparasite_ability/weapon/blade/attack_effect(atom/movable/target, successful) . = ..() diff --git a/code/modules/hydroponics/grown/cotton.dm b/code/modules/hydroponics/grown/cotton.dm index 07cfee24cab52..624c4290225d1 100644 --- a/code/modules/hydroponics/grown/cotton.dm +++ b/code/modules/hydroponics/grown/cotton.dm @@ -27,7 +27,8 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 2 throw_range = 3 - attack_verb = list("pomfed") + attack_verb_continuous = list("pomfs") + attack_verb_simple = list("pomf") var/cotton_type = /obj/item/stack/sheet/cotton var/cotton_name = "raw cotton" @@ -74,7 +75,8 @@ w_class = WEIGHT_CLASS_NORMAL throw_speed = 2 throw_range = 3 - attack_verb = list("bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "whack") cotton_type = /obj/item/stack/sheet/cotton/durathread cotton_name = "raw durathread" discovery_points = 300 diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm index f5ac141a8a77b..18f58db509e2d 100644 --- a/code/modules/hydroponics/grown/flowers.dm +++ b/code/modules/hydroponics/grown/flowers.dm @@ -280,7 +280,8 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 1 throw_range = 3 - attack_verb = list("roasted", "scorched", "burned") + attack_verb_continuous = list("roasts", "scorches", "burns") + attack_verb_simple = list("roast", "scorch", "burn") grind_results = list(/datum/reagent/consumable/capsaicin = 0, /datum/reagent/consumable/condensedcapsaicin = 0) discovery_points = 300 diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index c02e39bd26ca7..480f95742a172 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -44,7 +44,8 @@ w_class = WEIGHT_CLASS_TINY throw_speed = 1 throw_range = 3 - attack_verb = list("stung") + attack_verb_continuous = list("stings") + attack_verb_simple = list("sting") /obj/item/food/grown/nettle/suicide_act(mob/user) user.visible_message("[user] is eating some of [src]! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/hydroponics/grown/pineapple.dm b/code/modules/hydroponics/grown/pineapple.dm index 463282323ba2b..0427b3196f938 100644 --- a/code/modules/hydroponics/grown/pineapple.dm +++ b/code/modules/hydroponics/grown/pineapple.dm @@ -23,7 +23,8 @@ force = 4 throwforce = 8 hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("stung", "pined") + attack_verb_continuous = list("stings", "pines") + attack_verb_simple = list("sting", "pine") throw_speed = 1 throw_range = 5 w_class = WEIGHT_CLASS_NORMAL diff --git a/code/modules/hydroponics/grown/rainbow_bunch.dm b/code/modules/hydroponics/grown/rainbow_bunch.dm index 877ba1891791b..99ef95a9b961d 100644 --- a/code/modules/hydroponics/grown/rainbow_bunch.dm +++ b/code/modules/hydroponics/grown/rainbow_bunch.dm @@ -28,7 +28,8 @@ throw_range = 3 bite_consumption_mod = 0 foodtypes = null - attack_verb = list("pompfed") + attack_verb_continuous = list("pompfs") + attack_verb_simple = list("pompf") /obj/item/food/grown/flower/rainbow/Initialize(mapload) . = ..() diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 694593f8e28f7..4f885592a0b24 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -42,7 +42,8 @@ w_class = WEIGHT_CLASS_NORMAL throw_speed = 2 throw_range = 3 - attack_verb = list("bashed", "battered", "bludgeoned", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "whack") var/plank_type = /obj/item/stack/sheet/wood var/plank_name = "wooden planks" var/static/list/accepted = typecacheof(list(/obj/item/food/grown/tobacco, diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index feb342f3196fc..e23f4ed6ee784 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -60,7 +60,8 @@ throwforce = 7 w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=50) - attack_verb = list("slashed", "sliced", "cut", "clawed") + attack_verb_continuous = list("slashes", "slices", "cuts", "claws") + attack_verb_simple = list("slash", "slice", "cut", "claw") hitsound = 'sound/weapons/bladeslice.ogg' /obj/item/cultivator/suicide_act(mob/living/user) @@ -83,7 +84,8 @@ throw_speed = 3 throw_range = 4 custom_materials = list(/datum/material/iron = 15000) - attack_verb = list("chopped", "tore", "cut") + attack_verb_continuous = list("chops", "tears", "lacerates", "cuts") + attack_verb_simple = list("chop", "tear", "lacerate", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP bleed_force = BLEED_CUT @@ -112,7 +114,8 @@ flags_1 = CONDUCT_1 armour_penetration = 20 slot_flags = ITEM_SLOT_BACK - attack_verb = list("chopped", "sliced", "cut", "reaped") + attack_verb_continuous = list("chops", "slices", "cuts", "reaps") + attack_verb_simple = list("chop", "slice", "cut", "reap") hitsound = 'sound/weapons/bladeslice.ogg' var/swiping = FALSE diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index a0bcec6999935..308c55f277b5d 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -78,7 +78,8 @@ desc = "A 'Mura' brand banjo. It's pretty much just a drum with a neck and strings." icon_state = "banjo" item_state = "banjo" - attack_verb = list("scruggs-styled", "hum-diggitied", "shin-digged", "clawhammered") + attack_verb_continuous = list("scruggs-styles", "hum-diggitys", "shin-digs", "clawhammers") + attack_verb_simple = list("scruggs-style", "hum-diggity", "shin-dig", "clawhammer") hitsound = 'sound/weapons/banjoslap.ogg' allowed_instrument_ids = "banjo" @@ -87,7 +88,8 @@ desc = "It's made of wood and has bronze strings." icon_state = "guitar" item_state = "guitar" - attack_verb = list("played metal on", "serenaded", "crashed", "smashed") + attack_verb_continuous = list("plays metal on", "serenades", "crashes", "smashes") + attack_verb_simple = list("play metal on", "serenade", "crash", "smash") hitsound = 'sound/weapons/stringsmash.ogg' allowed_instrument_ids = list("guitar","csteelgt","cnylongt", "ccleangt", "cmutedgt") @@ -97,7 +99,8 @@ icon_state = "eguitar" item_state = "eguitar" force = 12 - attack_verb = list("played metal on", "shredded", "crashed", "smashed") + attack_verb_continuous = list("plays metal on", "shreds", "crashes", "smashes") + attack_verb_simple = list("play metal on", "shred", "crash", "smash") hitsound = 'sound/weapons/stringsmash.ogg' allowed_instrument_ids = "eguitar" @@ -128,7 +131,8 @@ icon_state = "trumpet" item_state = "trombone" force = 0 - attack_verb = list("played","jazzed","trumpeted","mourned","dooted","spooked") + attack_verb_continuous = list("plays", "jazzes", "trumpets", "mourns", "doots", "spooks") + attack_verb_simple = list("play", "jazz", "trumpet", "mourn", "doot", "spook") /obj/item/instrument/trumpet/spectral/Initialize(mapload) . = ..() @@ -152,7 +156,8 @@ item_state = "saxophone" allowed_instrument_ids = "saxophone" force = 0 - attack_verb = list("played","jazzed","saxxed","mourned","dooted","spooked") + attack_verb_continuous = list("plays", "jazzes", "saxxes", "mourns", "doots", "spooks") + attack_verb_simple = list("play", "jazz", "sax", "mourn", "doot", "spook") /obj/item/instrument/saxophone/spectral/Initialize(mapload) . = ..() @@ -175,7 +180,8 @@ icon_state = "trombone" item_state = "trombone" force = 0 - attack_verb = list("played","jazzed","tromboned","mourned","dooted","spooked") + attack_verb_continuous = list("plays", "jazzes", "trombones", "mourns", "doots", "spooks") + attack_verb_simple = list("play", "jazz", "trombone", "mourn", "doot", "spook") /obj/item/instrument/trombone/spectral/Initialize(mapload) . = ..() @@ -226,7 +232,8 @@ item_state = "bike_horn" lefthand_file = 'icons/mob/inhands/equipment/horns_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/horns_righthand.dmi' - attack_verb = list("beautifully honks") + attack_verb_continuous = list("beautifully honks") + attack_verb_simple = list("beautifully honk") allowed_instrument_ids = list("bikehorn", "honk") w_class = WEIGHT_CLASS_TINY force = 0 @@ -293,7 +300,8 @@ desc = "Despite its popularity, this controversial musical toy was eventually banned due to its unethically sampled sounds of moths screaming in agony." icon_state = "mothsician" allowed_instrument_ids = "mothscream" - attack_verb = list("flutter", "flap") + attack_verb_continuous = list("flutters", "flaps") + attack_verb_simple = list("flutter", "flap") w_class = WEIGHT_CLASS_TINY force = 0 hitsound = 'sound/voice/moth/scream_moth.ogg' diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index e43692c90534b..9776bb8c450b2 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -56,7 +56,7 @@ gloves = /obj/item/clothing/gloves/color/black head = /obj/item/clothing/head/hats/hos/beret glasses = /obj/item/clothing/glasses/hud/security/sunglasses - suit_store = /obj/item/gun/energy/e_gun/mini/heads + suit_store = /obj/item/gun/energy/disabler r_pocket = /obj/item/modular_computer/tablet/pda/heads/head_of_security backpack = /obj/item/storage/backpack/security diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index a583a00d3c955..3ed4731b5b846 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -224,7 +224,8 @@ item_flags = ISWEAPON drop_sound = 'sound/items/handling/book_drop.ogg' pickup_sound = 'sound/items/handling/book_pickup.ogg' - attack_verb = list("bashed", "whacked", "educated") + attack_verb_continuous = list("bashes", "whacks", "educates") + attack_verb_simple = list("bash", "whack", "educate") resistance_flags = FLAMMABLE var/dat //Actual page content var/due_date = 0 //Game time in 1/10th seconds diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 0d7524b3811fd..01ba5e8c812c4 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -10,19 +10,24 @@ // The proc you should always use to set the light of this atom. // Nonesensical value for l_color default, so we can detect if it gets set to null. #define NONSENSICAL_VALUE -99999 -/atom/proc/set_light(var/l_range, var/l_power, var/l_color = NONSENSICAL_VALUE) +/atom/proc/set_light(l_range, l_power, l_color = NONSENSICAL_VALUE, l_on) if(l_range > 0 && l_range < MINIMUM_USEFUL_LIGHT_RANGE) - l_range = MINIMUM_USEFUL_LIGHT_RANGE //Brings the range up to 1.4, which is just barely brighter than the soft lighting that surrounds players. - if (l_power != null) - light_power = l_power + l_range = MINIMUM_USEFUL_LIGHT_RANGE //Brings the range up to 1.4, which is just barely brighter than the soft lighting that surrounds players. - if (l_range != null) - light_range = l_range + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT, l_range, l_power, l_color, l_on) & COMPONENT_BLOCK_LIGHT_UPDATE) + return + + if(!isnull(l_power)) + set_light_power(l_power) - if (l_color != NONSENSICAL_VALUE) - light_color = l_color + if(!isnull(l_range)) + set_light_range(l_range) - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT, l_range, l_power, l_color) + if(l_color != NONSENSICAL_VALUE) + set_light_color(l_color) + + if(!isnull(l_on)) + set_light_on(l_on) update_light() @@ -38,7 +43,7 @@ if(light_system != STATIC_LIGHT) CRASH("update_light() for [src] with following light_system value: [light_system]") - if (!light_power || !light_range) // We won't emit light anyways, destroy the light source. + if (!light_power || !light_range || !light_on) // We won't emit light anyways, destroy the light source. QDEL_NULL(light) else if (!ismovable(loc)) // We choose what atom should be the top atom of the light here. @@ -85,11 +90,8 @@ /atom/movable/Moved(atom/OldLoc, Dir) . = ..() - var/datum/light_source/L - var/thing - for (thing in light_sources) // Cycle through the light sources on this atom and tell them to update. - L = thing - L.source_atom.update_light() + for (var/datum/light_source/light as anything in light_sources) // Cycle through the light sources on this atom and tell them to update. + light.source_atom.update_light() /atom/vv_edit_var(var_name, var_value) switch (var_name) @@ -120,66 +122,65 @@ return ..() -/atom/proc/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = COLOR_WHITE, _duration = FLASH_LIGHT_DURATION) - return - - -/turf/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = COLOR_WHITE, _duration = FLASH_LIGHT_DURATION) - if(!_duration) - stack_trace("Lighting FX obj created on a turf without a duration") - new /obj/effect/dummy/lighting_obj (src, _range, _power, _color, _duration) - - -/obj/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = COLOR_WHITE, _duration = FLASH_LIGHT_DURATION) - if(!_duration) - stack_trace("Lighting FX obj created on a obj without a duration") - new /obj/effect/dummy/lighting_obj (get_turf(src), _range, _power, _color, _duration) - +/atom/proc/flash_lighting_fx(range = FLASH_LIGHT_RANGE, power = FLASH_LIGHT_POWER, color = COLOR_WHITE, duration = FLASH_LIGHT_DURATION, light_type = /obj/effect/dummy/lighting_obj) + if(!duration) + stack_trace("Lighting FX obj created on \[[type]\] without a duration") + var/obj/effect/dummy/light_obj = new light_type(get_turf(src), range, power, color, duration) + return light_obj -/mob/living/flash_lighting_fx(_range = FLASH_LIGHT_RANGE, _power = FLASH_LIGHT_POWER, _color = COLOR_WHITE, _duration = FLASH_LIGHT_DURATION) - mob_light(_range, _power, _color, _duration) +/mob/living/flash_lighting_fx(range = FLASH_LIGHT_RANGE, power = FLASH_LIGHT_POWER, color = COLOR_WHITE, duration = FLASH_LIGHT_DURATION, light_type = /obj/effect/dummy/lighting_obj/moblight) + return mob_light(range, power, color, duration) - -/mob/living/proc/mob_light(_range, _power, _color, _duration) - var/obj/effect/dummy/lighting_obj/moblight/mob_light_obj = new (src, _range, _power, _color, _duration) +/mob/living/proc/mob_light(range, power, color, duration, light_type = /obj/effect/dummy/lighting_obj/moblight) + var/obj/effect/dummy/lighting_obj/moblight/mob_light_obj = new light_type(src, range, power, color, duration) return mob_light_obj - -/atom/proc/set_light_range(new_range) - if(new_range == light_range) - return - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_RANGE, new_range) - . = light_range - light_range = new_range - - +/// Setter for the light power of this atom. /atom/proc/set_light_power(new_power) if(new_power == light_power) return - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_POWER, new_power) + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_POWER, new_power) & COMPONENT_BLOCK_LIGHT_UPDATE) + return . = light_power light_power = new_power + SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_LIGHT_POWER, .) +/// Setter for the light range of this atom. +/atom/proc/set_light_range(new_range) + if(new_range == light_range) + return + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_RANGE, new_range) & COMPONENT_BLOCK_LIGHT_UPDATE) + return + . = light_range + light_range = new_range + SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_LIGHT_RANGE, .) +/// Setter for the light color of this atom. /atom/proc/set_light_color(new_color) if(new_color == light_color) return - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_COLOR, new_color) + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_COLOR, new_color) & COMPONENT_BLOCK_LIGHT_UPDATE) + return . = light_color light_color = new_color + SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_LIGHT_COLOR, .) - +/// Setter for whether or not this atom's light is on. /atom/proc/set_light_on(new_value) if(new_value == light_on) return - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_ON, new_value) + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_ON, new_value) & COMPONENT_BLOCK_LIGHT_UPDATE) + return . = light_on light_on = new_value + SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_LIGHT_ON, .) - +/// Setter for the light flags of this atom. /atom/proc/set_light_flags(new_value) if(new_value == light_flags) return - SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_FLAGS, new_value) + if(SEND_SIGNAL(src, COMSIG_ATOM_SET_LIGHT_FLAGS, new_value) & COMPONENT_BLOCK_LIGHT_UPDATE) + return . = light_flags light_flags = new_value + SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_LIGHT_FLAGS, .) diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index c8b48f2ac056f..fac6a30c9361e 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -321,6 +321,129 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) organ.organ_flags |= ORGAN_FROZEN container.update_icon() +/obj/effect/mapping_helpers/simple_pipes + name = "Simple Pipes" + late = TRUE + icon_state = "pipe-3" + alpha = 175 + layer = GAS_PIPE_VISIBLE_LAYER + var/piping_layer = 3 + var/pipe_color = "" + var/hide = FALSE + + var/list/pipe_types = list( + /obj/machinery/atmospherics/pipe/simple/general/visible, + /obj/machinery/atmospherics/pipe/simple/general/visible, + /obj/machinery/atmospherics/pipe/manifold/general/visible, + /obj/machinery/atmospherics/pipe/manifold4w/general/visible + ) + +/obj/effect/mapping_helpers/simple_pipes/Initialize() + preform_layer(piping_layer, pipe_color) + qdel(src) + +/obj/effect/mapping_helpers/simple_pipes/proc/preform_layer(override_layer, override_color, override_name = null) + var/list/connections = list( dir2text(NORTH) = FALSE, dir2text(SOUTH) = FALSE , dir2text(EAST) = FALSE , dir2text(WEST) = FALSE) + var/list/valid_connectors = typecacheof(/obj/machinery/atmospherics) + var/connection_num = 0 + for(var/direction in connections) + var/turf/T = get_step(src, text2dir(direction)) + for(var/thing in T.contents) + // If it is a mapping helper + if(istype(thing, /obj/effect/mapping_helpers/simple_pipes)) + var/obj/effect/mapping_helpers/simple_pipes/found = thing + + // If it is a supply_scrubber mapping helper + if(istype(found, /obj/effect/mapping_helpers/simple_pipes/supply_scrubber)) + if(override_layer != 2 && override_layer != 4 && !istype(src, /obj/effect/mapping_helpers/simple_pipes/supply_scrubber)) + continue // We allow it if we're also a supply_scrubber helper, otherwise we gotta be on layers 2 or 4. + + // If it is a regular mapping helper + else + if(found.piping_layer != override_layer) + continue // We have to have the same layer to allow it. + + connections[direction] = TRUE + connection_num++ + break + + if(!is_type_in_typecache(thing, valid_connectors)) + continue + + var/obj/machinery/atmospherics/AM = thing + if(AM.piping_layer != override_layer && !istype(AM, /obj/machinery/atmospherics/pipe/layer_manifold)) + continue + + if(angle2dir(dir2angle(text2dir(direction))+180) & AM.initialize_directions) + connections[direction] = TRUE + connection_num++ + break + + switch(connection_num) + if(1) + for(var/direction in connections) + if(connections[direction] != TRUE) + continue + spawn_pipe(direction, connection_num, override_layer, override_color, override_name) + return + if(2) + for(var/direction in connections) + if(connections[direction] != TRUE) + continue + //Detects straight pipes connected from east to west , north to south etc. + if(connections[dir2text(angle2dir(dir2angle(text2dir(direction))+180))] == TRUE) + spawn_pipe(direction, connection_num, override_layer, override_color, override_name) + return + + for(var/direction2 in (connections - direction)) + if(connections[direction2] != TRUE) + continue + spawn_pipe(dir2text(text2dir(direction)+text2dir(direction2)), connection_num, override_layer, override_color, override_name) + return + if(3) + for(var/direction in connections) + if(connections[direction] == FALSE) + spawn_pipe(direction, connection_num, override_layer, override_color, override_name) + return + if(4) + spawn_pipe(dir2text(NORTH), connection_num, override_layer, override_color, override_name) + return + +/// Spawn the pipe on the layer we specify +/obj/effect/mapping_helpers/simple_pipes/proc/spawn_pipe(direction, connection_num, override_layer, override_color, override_name = null) + var/T = pipe_types[connection_num] + var/obj/machinery/atmospherics/pipe/pipe = new T(get_turf(src), TRUE, text2dir(direction)) + + if(!isnull(override_name)) + pipe.name = override_name + pipe.piping_layer = override_layer + pipe.update_layer() + pipe.paint(override_color) + // prevents duplicates on the station blueprints mode since the effect is on + pipe.obj_flags &= ~ON_BLUEPRINTS + +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber + name = "Simple Supply/Scrubber Pipes" + icon_state = "pipe-2-4" + color = rgb(128, 0, 128) // purple in-between pipe + +// Instead of using our current layer, we use +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/Initialize() + preform_layer(2, rgb(0, 0, 255), override_name = "air supply pipe") + preform_layer(4, rgb(255, 0, 0), override_name = "scrubbers pipe") + + qdel(src) + +/obj/effect/mapping_helpers/simple_pipes/supply_scrubber/hidden + name = "Hidden Simple Supply/Scrubber Pipes" + hide = TRUE + pipe_types = list( + /obj/machinery/atmospherics/pipe/simple/general/hidden, + /obj/machinery/atmospherics/pipe/simple/general/hidden, + /obj/machinery/atmospherics/pipe/manifold/general/hidden, + /obj/machinery/atmospherics/pipe/manifold4w/general/hidden + ) + //Color correction helper - only use of these per area, it will convert the entire area /obj/effect/mapping_helpers/color_correction name = "color correction helper" @@ -394,3 +517,176 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) qdel(src) return CRASH("Failed to find a portable atmospherics or a portables connector at [AREACOORD(src)]") + +// This will put directional windows to adjucant turfs if airs will likely be vaccuumed. +// Putting this on a space turf is recommended. If you put this on an open tile, it will place directional windows anyway. +// If a turf is not valid to put a tile, it will automatically make a turf for failsafe. +// NOTE: This helper is specialised for space-proof, not just for standard mapping. +/obj/effect/mapping_helpers/space_window_placer + name = "Placer: Spaceproof directional windows" + icon_state = "space_directional_window_placer" + late = TRUE + + /** Mapper options **/ + /// Determines which window type it will create + var/window_type = /obj/structure/window/reinforced + + /** internal code variables - not for mappers **/ + /// used to skip a direction on a turf + var/skip_direction + /// there are a few stuff that "CanAtmosPass()" is not reliable + var/static/list/unliable_atmos_blockers + + +/obj/effect/mapping_helpers/space_window_placer/Initialize(mapload) + . = ..() + if(!unliable_atmos_blockers) + unliable_atmos_blockers = typecacheof(list(/obj/machinery/door)) + +/obj/effect/mapping_helpers/space_window_placer/LateInitialize() + . = ..() + if(!z || !x || !y) + CRASH("It's not unable to place Spaceproof directional windoe placer - xyz is null.") + + var/turf/my_turf = get_turf(src) + if(!my_turf) + CRASH("Spaceproof directional windoe placer failed to find a turf.") + + // checks if turfs are fine to place a directional window + var/unliable_atmos_blocking + for(var/turf/each_turf in get_adjacent_open_turfs(my_turf)) + if(isspaceturf(each_turf) || isopenspace(each_turf)) + continue + + if(!each_turf.CanAtmosPass(my_turf)) + for(var/atom/movable/movable_content as anything in each_turf.contents) + if(is_type_in_typecache(movable_content, unliable_atmos_blockers)) + unliable_atmos_blocking = TRUE + break + if(unliable_atmos_blocking) + break + + var/list/nearby_turfs = list() + for(var/turf/each_turf in get_adjacent_open_turfs(my_turf)) + if(unliable_atmos_blocking) + var/obj/effect/mapping_helpers/space_window_placer/nearby_placer = locate() in each_turf + if(nearby_placer) // we don't place windows there + give a value to skip directon + nearby_placer.skip_direction |= get_dir(each_turf, my_turf) + continue + if(skip_direction & get_dir(my_turf, each_turf)) + continue + nearby_turfs += each_turf + + + // well, it's a bad idea to put a directional window here. Mapping failsafe process here. + if(unliable_atmos_blocking && (isspaceturf(my_turf) || isopenspace(my_turf))) + my_turf.PlaceOnTop(list(/turf/open/floor/plating, /turf/open/floor/iron), flags = CHANGETURF_INHERIT_AIR) + for(var/turf/each_turf in nearby_turfs) + if(isspaceturf(each_turf) || isopenspace(each_turf)) + var/obj/d_glass = new window_type(my_turf) + d_glass.dir = get_dir(my_turf, each_turf) + else + var/improper_dir = get_dir(each_turf, my_turf) + for(var/obj/structure/window/d_glass in each_turf.contents) + if(d_glass.dir == improper_dir) + qdel(d_glass) + qdel(src) + return + + // puts a directional window for each direction. + for(var/turf/each_turf in nearby_turfs) + if(!each_turf.CanAtmosPass(my_turf) || isspaceturf(each_turf) || isopenspace(each_turf)) + continue + + var/obj/d_glass = new window_type(each_turf) + d_glass.dir = get_dir(d_glass, my_turf) + + qdel(src) + +/obj/effect/mapping_helpers/group_window_placer + name = "Placer: Grouped directional windows" + icon_state = "group_directional_window_placer" + late = TRUE + + /** Mapper options **/ + /// Determines which window type it will create. + /// Make a subtype of this mapping helper to change this value instead of manual change in DMM. + var/window_type = /obj/structure/window/reinforced + /// Directional window will not be placed to a direction from the adjacent turf where a fulltile glass exists. + /// If you set this TRUE, the windows will be placed. + var/place_onto_fulltile_window + /// Set TRUE to ignore group chain initialization + var/single + + /** internal code variables - not for mappers **/ + /// failsafe var to prevent it to run a code + var/to_be_initialized + /// a list of mappers that will be initialized together. + var/list/init_group + +/obj/effect/mapping_helpers/group_window_placer/LateInitialize() + . = ..() + if(to_be_initialized) + return + + if(!z || !x || !y) + CRASH("It's not unable to use group_window_placer - xyz is null.") + + var/turf/my_turf = get_turf(src) + if(!my_turf) + CRASH("group_window_placer failed to find a turf.") + + if(single) + to_be_initialized = TRUE + finish_late_init(list(WEAKREF(src))) + return + + init_group = list() + build_group(init_group) + finish_late_init() + +/obj/effect/mapping_helpers/group_window_placer/proc/build_group(list/chain_init_group) + if(to_be_initialized) // shouldn't reach here but just in case + return + to_be_initialized = TRUE + chain_init_group[WEAKREF(src)] = TRUE + for(var/turf/each_turf in get_adjacent_open_turfs(get_turf(src))) + var/obj/effect/mapping_helpers/group_window_placer/placer = locate() in each_turf + if(!placer || chain_init_group[WEAKREF(placer)] || placer.to_be_initialized) + continue + placer.build_group(chain_init_group) + +/obj/effect/mapping_helpers/group_window_placer/proc/finish_late_init() + for(var/datum/weakref/each_ref in init_group) + var/obj/effect/mapping_helpers/group_window_placer/each_placer = each_ref.resolve() + var/turf/my_turf = get_turf(each_placer) + var/list/nearby_turfs = list() + for(var/turf/each_turf in get_adjacent_open_turfs(my_turf)) + if(each_turf.density) + continue + if(locate(/obj/effect/mapping_helpers/group_window_placer) in each_turf) + continue + // skip this - that direction should be connected + if(locate(/obj/effect/mapping_helpers/space_window_placer) in each_turf) + continue + // skip this - you won't want to have two directional window in the same directional spot. + // NOTE: this is "SPACE" window placer, not "GROUP" + if(place_onto_fulltile_window) + var/is_fulltile + for(var/obj/structure/window/window_on_turf in my_turf.contents) + if(window_on_turf.fulltile) + is_fulltile = TRUE + break + if(is_fulltile) + continue + nearby_turfs += each_turf + + for(var/turf/each_turf in nearby_turfs) + var/obj/d_glass = new each_placer.window_type(my_turf) + d_glass.dir = get_dir(my_turf, each_turf) + + for(var/datum/weakref/each_ref in init_group) + var/obj/effect/mapping_helpers/group_window_placer/each_placer = each_ref.resolve() + qdel(each_placer) + init_group.Cut() + diff --git a/code/modules/mapping/random_rooms.dm b/code/modules/mapping/random_rooms.dm index 1e884ffbf0f9c..fc0559e960894 100644 --- a/code/modules/mapping/random_rooms.dm +++ b/code/modules/mapping/random_rooms.dm @@ -1509,6 +1509,15 @@ template_width = 5 weight = 2 +/datum/map_template/random_room/sk_rdm176 + name = "Room with spaceproof windows" + room_id = "sk_rdm176_spacewindowroom" + mappath = "_maps/RandomRooms/10x10/sk_rdm176_spacewindowroom.dmm" + centerspawner = FALSE + template_height = 10 + template_width = 10 + weight = 1 + //Flandstation Dedicated Random Room /datum/map_template/random_room/sk_rdm_fln_01 diff --git a/code/modules/metacoin/metacoin.dm b/code/modules/metacoin/metacoin.dm index febd06f1fe33a..2da399183dc72 100644 --- a/code/modules/metacoin/metacoin.dm +++ b/code/modules/metacoin/metacoin.dm @@ -33,6 +33,9 @@ CRASH("Metacoin amount fetched before value initialized") return metabalance_cached +/client/proc/get_metabalance_async() + return metabalance_cached || get_metabalance_db() + /// Gets the user's metabalance from the DB. Blocking. /client/proc/get_metabalance_db() var/datum/db_query/query_get_metacoins = SSdbcore.NewQuery( diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index de88fe2384b86..f62fc62f87519 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -161,7 +161,7 @@ if(53 to 54) new /obj/item/toy/balloon(src) if(55 to 56) - var/newitem = pick(subtypesof(/obj/item/toy/prize)) + var/newitem = pick(subtypesof(/obj/item/toy/mecha)) new newitem(src) if(57 to 58) new /obj/item/toy/syndicateballoon(src) diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm index 848a74e0b792c..dec029001110a 100644 --- a/code/modules/mining/aux_base.dm +++ b/code/modules/mining/aux_base.dm @@ -56,7 +56,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also Unit | Condition | Status | Direction | Distance
    " for(var/PDT in turrets) var/obj/machinery/porta_turret/aux_base/T = PDT - var/integrity = max((T.obj_integrity-T.integrity_failure * T.max_integrity)/(T.max_integrity-T.integrity_failure * max_integrity)*100, 0) + var/integrity = max((T.get_integrity()-T.integrity_failure * T.max_integrity)/(T.max_integrity-T.integrity_failure * max_integrity)*100, 0) var/status if(T.machine_stat & BROKEN) status = "ERROR" diff --git a/code/modules/mining/aux_base_camera.dm b/code/modules/mining/aux_base_camera.dm index 186904ea06743..747fbe11bc53f 100644 --- a/code/modules/mining/aux_base_camera.dm +++ b/code/modules/mining/aux_base_camera.dm @@ -16,9 +16,10 @@ return ..() //While players are only allowed to build in the base area, but consoles starting outside the base can move into the base area to begin work. -/mob/camera/ai_eye/remote/base_construction/relaymove(mob/user, direct) - dir = direct //This camera eye is visible as a drone, and needs to keep the dir updated - ..() + +/mob/camera/ai_eye/remote/base_construction/relaymove(mob/living/user, direction) + dir = direction //This camera eye is visible as a drone, and needs to keep the dir updated + return ..() /obj/item/construction/rcd/internal //Base console's internal RCD. Roundstart consoles are filled, rebuilt cosoles start empty. name = "internal RCD" diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 5151bf289b803..080ee5fad139e 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -90,13 +90,9 @@ /obj/item/clothing/suit/space/hostile_environment/Initialize(mapload) . = ..() AddComponent(/datum/component/spraycan_paintable) - START_PROCESSING(SSobj, src) - -/obj/item/clothing/suit/space/hostile_environment/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() /obj/item/clothing/suit/space/hostile_environment/process(delta_time) + . = ..() var/mob/living/carbon/C = loc if(istype(C) && DT_PROB(1, delta_time)) //cursed by bubblegum if(DT_PROB(7.5, delta_time)) diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index bb1140c266ffe..7199aa1e6b220 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -16,7 +16,8 @@ armour_penetration = 10 custom_materials = list(/datum/material/iron=1150, /datum/material/glass=2075) hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") + attack_verb_continuous = list("smashes", "crushes", "cleaves", "chops", "pulps") + attack_verb_simple = list("smash", "crush", "cleave", "chop", "pulp") sharpness = IS_SHARP bleed_force = BLEED_CUT actions_types = list(/datum/action/item_action/toggle_light) diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm index 4edef3cd9e48e..9169da8fd5fba 100644 --- a/code/modules/mining/equipment/mining_tools.dm +++ b/code/modules/mining/equipment/mining_tools.dm @@ -16,7 +16,8 @@ tool_behaviour = TOOL_MINING toolspeed = 1 usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') - attack_verb = list("hit", "pierced", "sliced", "attacked") + attack_verb_continuous = list("hits", "pierces", "slices", "attacks") + attack_verb_simple = list("hit", "pierce", "slice", "attack") /obj/item/pickaxe/suicide_act(mob/living/user) user.visible_message("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!") @@ -112,7 +113,8 @@ throwforce = 4 w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=50) - attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") + attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks") + attack_verb_simple = list("bash", "batter", "bludgeon", "whack") sharpness = IS_SHARP /obj/item/shovel/Initialize(mapload) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 13db434039bf2..936e5c2db5ef3 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -655,7 +655,7 @@ to_chat(user, "You unfold the ladder. It extends much farther than you were expecting.") var/last_ladder = null for(var/i in 1 to world.maxz) - if(is_centcom_level(i) || is_reserved_level(i) || is_reebe(i) || is_away_level(i)) + if(is_centcom_level(i) || is_reserved_level(i) || is_reebe(i) || is_away_level(i) || is_debug_level(i)) continue var/turf/T2 = locate(ladder_x, ladder_y, i) last_ladder = new /obj/structure/ladder/unbreakable/jacob(T2, null, last_ladder) @@ -705,8 +705,8 @@ icon_state_on = "cleaving_saw_open" worn_icon_state = "cleaving_saw" slot_flags = ITEM_SLOT_BELT - attack_verb_off = list("attacked", "sawed", "sliced", "tore", "ripped", "diced", "cut") - attack_verb_on = list("cleaved", "swiped", "slashed", "chopped") + attack_verb_off = list("attacks", "saws", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_on = list("cleaves", "swipes", "slashes", "chops") hitsound = 'sound/weapons/bladeslice.ogg' hitsound_on = 'sound/weapons/bladeslice.ogg' w_class = WEIGHT_CLASS_BULKY @@ -814,7 +814,8 @@ block_power = 20 block_flags = BLOCKING_ACTIVE | BLOCKING_NASTY hitsound = 'sound/effects/ghost2.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "rended") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") var/summon_cooldown = 0 var/list/mob/dead/observer/spirits @@ -1113,7 +1114,8 @@ slot_flags = ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY force = 5 //Melee attacks also invoke a 15 burn damage AoE, for a total of 20 damage - attack_verb = list("clubbed", "beat", "pummeled") + attack_verb_continuous = list("clubs", "beats", "pummels") + attack_verb_simple = list("club", "beat", "pummel") hitsound = 'sound/weapons/sonic_jackhammer.ogg' actions_types = list(/datum/action/item_action/vortex_recall, /datum/action/item_action/toggle_unfriendly_fire) var/power = 15 //Damage of the magic tiles diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index a6a7b9d1098f3..e03a81faa1ce8 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -39,8 +39,10 @@ /obj/item/stack/ore/plasma, /obj/item/stack/ore/uranium, /obj/item/stack/ore/iron, /obj/item/stack/ore/bananium, /obj/item/stack/ore/titanium) // Response verbs - response_help = "pets" - attacktext = "drills" + response_help_continuous = "pets" + response_help_simple = "pet" + attack_verb_continuous = "drills" + attack_verb_simple = "drill" attack_sound = 'sound/weapons/circsawhit.ogg' speak_emote = list("states") // Light handling diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 235b7b8dd3ae0..9067617c458fa 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -102,6 +102,8 @@ INITIALIZE_IMMEDIATE(/mob/dead) /mob/dead/Login() . = ..() + if(!. || !client) + return FALSE var/turf/T = get_turf(src) if (isturf(T)) update_z(T.z) diff --git a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm index ef150786f64c8..562377de00801 100644 --- a/code/modules/mob/dead/new_player/login.dm +++ b/code/modules/mob/dead/new_player/login.dm @@ -1,4 +1,6 @@ /mob/dead/new_player/Login() + if(!client) + return if(CONFIG_GET(flag/use_exp_tracking)) client.set_exp_from_db() if(!client) // client null during sleep @@ -11,7 +13,9 @@ mind.active = TRUE mind.set_current(src) - ..() + . = ..() + if(!. || !client) + return FALSE var/motd = global.config.motd if(motd) diff --git a/code/modules/mob/dead/new_player/sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories.dm index 68a2795bfe9ec..619dcf3d7b8b9 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -683,6 +683,10 @@ name = "Short Bangs" icon_state = "hair_shortbangs" +/datum/sprite_accessory/hair/shortbangs2 + name = "Short Bangs 2" + icon_state = "hair_shortbangs2" + /datum/sprite_accessory/hair/short name = "Short Hair" icon_state = "hair_a" diff --git a/code/modules/mob/dead/observer/login.dm b/code/modules/mob/dead/observer/login.dm index 9bb48f0c46380..b2c114412bfa2 100644 --- a/code/modules/mob/dead/observer/login.dm +++ b/code/modules/mob/dead/observer/login.dm @@ -1,5 +1,7 @@ /mob/dead/observer/Login() - ..() + . = ..() + if(!. || !client) + return FALSE ghost_accs = client.prefs.read_player_preference(/datum/preference/choiced/ghost_accessories) ghost_others = client.prefs.read_player_preference(/datum/preference/choiced/ghost_others) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 4673766d135c7..49cad7d8e675f 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -825,6 +825,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/is_literate() return TRUE +/mob/dead/observer/can_read(obj/O) + return TRUE + /mob/dead/observer/vv_edit_var(var_name, var_value) . = ..() switch(var_name) diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 70fc560d7c1ee..7851d62ac9e6a 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -27,9 +27,9 @@ /mob/proc/get_item_for_held_index(i) - if(!length(held_items)) - return null - return held_items[i] + if(!length(held_items)) + return null + return held_items[i] //Odd = left. Even = right /mob/proc/held_index_to_dir(i) @@ -507,7 +507,7 @@ var/obj/item/bodypart/BP = new path () BP.owner = src BP.held_index = i - bodyparts += BP + add_bodypart(BP) hand_bodyparts[i] = BP ..() //Don't redraw hands until we have organs for them diff --git a/code/modules/mob/living/basic/basic.dm b/code/modules/mob/living/basic/basic.dm index 6faef22b7178b..e853c16df621a 100644 --- a/code/modules/mob/living/basic/basic.dm +++ b/code/modules/mob/living/basic/basic.dm @@ -134,14 +134,13 @@ // copied from simplemobs /mob/living/basic/revive(full_heal = 0, admin_revive = 0) - if(..()) //successfully ressuscitated from death - icon = initial(icon) - icon_state = icon_living - set_density(initial(density)) - mobility_flags = MOBILITY_FLAGS_DEFAULT - update_mobility() - . = 1 - setMovetype(initial(movement_type)) + . = ..() + if(!.) + return + icon = initial(icon) + icon_state = icon_living + density = initial(density) + setMovetype(initial(movement_type)) /mob/living/basic/proc/melee_attack(atom/target) src.face_atom(target) diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm index 48d30725dfe27..d909cea4e0eb2 100644 --- a/code/modules/mob/living/bloodcrawl.dm +++ b/code/modules/mob/living/bloodcrawl.dm @@ -8,7 +8,7 @@ invisibility = 60 resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF -/obj/effect/dummy/phased_mob/slaughter/relaymove(mob/user, direction) +/obj/effect/dummy/phased_mob/slaughter/relaymove(mob/living/user, direction) forceMove(get_step(src,direction)) /obj/effect/dummy/phased_mob/slaughter/ex_act() diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm index 9856506f8e6f9..1cd2ac78d6863 100644 --- a/code/modules/mob/living/brain/MMI.dm +++ b/code/modules/mob/living/brain/MMI.dm @@ -24,7 +24,7 @@ if(iscyborg(loc)) var/mob/living/silicon/robot/borg = loc borg.mmi = null - mecha = null + set_mecha(null) QDEL_NULL(brainmob) QDEL_NULL(brain) QDEL_NULL(radio) @@ -68,7 +68,7 @@ log_attack("[key_name(user)] inserted [newbrain] into \the [src] at [AREACOORD(src)].") SEND_SIGNAL(src, COMSIG_MMI_SET_BRAINMOB, newbrain.brainmob) - brainmob = newbrain.brainmob + set_brainmob(newbrain.brainmob) newbrain.brainmob = null brainmob.forceMove(src) brainmob.container = src @@ -144,7 +144,7 @@ brain.organ_flags |= ORGAN_FROZEN brain.transfer_identity(L) - brainmob = brain.brainmob + set_brainmob(brain.brainmob) brainmob.container = src brain.name = "[L.real_name]'s brain" @@ -152,6 +152,39 @@ update_icon() return +/// Proc to hook behavior associated to the change in value of the [/obj/item/mmi/var/brainmob] variable. +/obj/item/mmi/proc/set_brainmob(mob/living/brain/new_brainmob) + if(brainmob == new_brainmob) + return FALSE + . = brainmob + brainmob = new_brainmob + if(new_brainmob) + if(mecha) + REMOVE_TRAIT(new_brainmob, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + REMOVE_TRAIT(new_brainmob, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) + else + ADD_TRAIT(new_brainmob, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + ADD_TRAIT(new_brainmob, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) + if(.) + var/mob/living/brain/old_brainmob = . + ADD_TRAIT(old_brainmob, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + ADD_TRAIT(old_brainmob, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) + + +/// Proc to hook behavior associated to the change in value of the [obj/vehicle/sealed/var/mecha] variable. +/obj/item/mmi/proc/set_mecha(obj/vehicle/sealed/mecha/new_mecha) + if(mecha == new_mecha) + return FALSE + . = mecha + mecha = new_mecha + if(new_mecha) + if(!. && brainmob) // There was no mecha, there now is, and we have a brain mob that is no longer unaided. + REMOVE_TRAIT(brainmob, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + REMOVE_TRAIT(brainmob, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) + else if(. && brainmob) // There was a mecha, there no longer is one, and there is a brain mob that is now again unaided. + ADD_TRAIT(brainmob, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + ADD_TRAIT(brainmob, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) + /obj/item/mmi/proc/replacement_ai_name() return brainmob.name @@ -206,7 +239,7 @@ else . += "The MMI indicates the brain is active." -/obj/item/mmi/relaymove(mob/user) +/obj/item/mmi/relaymove(mob/living/user, direction) return //so that the MMI won't get a warning about not being able to move if it tries to move /obj/item/mmi/proc/brain_check(mob/user) diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 1bc31d5427f68..ef41226772bf9 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -16,6 +16,9 @@ var/obj/item/organ/brain/OB = new(loc) //we create a new brain organ for it. OB.brainmob = src forceMove(OB) + if(!container?.mecha) //Unless inside a mecha, brains are rather helpless. + ADD_TRAIT(src, TRAIT_IMMOBILIZED, BRAIN_UNAIDED) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, BRAIN_UNAIDED) /mob/living/brain/proc/create_dna() @@ -35,12 +38,6 @@ QDEL_NULL(stored_dna) return ..() -/mob/living/brain/update_mobility() - if(in_contents_of(/obj/vehicle/sealed/mecha)) - mobility_flags = MOBILITY_FLAGS_DEFAULT - else - mobility_flags = NONE - /mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up. return diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 65ab71b9b94fb..4379df50c3d95 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -8,7 +8,8 @@ zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_BRAIN organ_flags = ORGAN_VITAL|ORGAN_EDIBLE - attack_verb = list("attacked", "slapped", "whacked") + attack_verb_continuous = list("attacks", "slaps", "whacks") + attack_verb_simple = list("attack", "slap", "whack") ///The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth decay_factor = STANDARD_ORGAN_DECAY / 2 //30 minutes of decaying to result in a fully damaged brain, since a fast decay rate would be unfun gameplay-wise diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm index 352a37cf114dc..a8e4655e2276e 100644 --- a/code/modules/mob/living/brain/posibrain.dm +++ b/code/modules/mob/living/brain/posibrain.dm @@ -9,9 +9,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) var/next_ask var/askDelay = 600 //one minute var/searching = FALSE - brainmob = null req_access = list(ACCESS_ROBOTICS) - mecha = null//This does not appear to be used outside of reference in mecha.dm. braintype = "Android" var/autoping = TRUE //if it pings on creation immediately var/begin_activation_message = "You carefully locate the manual activation switch and start the positronic brain's boot process." @@ -42,7 +40,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) /obj/item/mmi/posibrain/attack_self(mob/user) if(!brainmob) - brainmob = new(src) + set_brainmob(new /mob/living/brain(src)) if(!(GLOB.ghost_role_flags & GHOSTROLE_SILICONS)) to_chat(user, "Central Command has temporarily outlawed posibrain sentience in this sector...") return @@ -171,7 +169,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) /obj/item/mmi/posibrain/Initialize(mapload) . = ..() - brainmob = new(src) + set_brainmob(new /mob/living/brain(src)) var/new_name if(!LAZYLEN(possible_names)) new_name = pick(GLOB.posibrain_names) @@ -184,6 +182,7 @@ GLOBAL_VAR(posibrain_notify_cooldown) if(autoping) ping_ghosts("created", TRUE) + /obj/item/mmi/posibrain/attackby(obj/item/O, mob/user) return diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index 4d216614734a0..594fb65d2a303 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -25,7 +25,8 @@ /mob/living/carbon/alien/Initialize(mapload) add_verb(/mob/living/proc/mob_sleep) - add_verb(/mob/living/proc/lay_down) + add_verb(/mob/living/proc/toggle_resting) + create_bodyparts() //initialize bodyparts create_internal_organs() return ..() @@ -104,6 +105,8 @@ Des: Removes all infected images from the alien. return /mob/living/carbon/alien/canBeHandcuffed() + if(num_hands < 2) + return FALSE return TRUE /mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno) @@ -119,3 +122,11 @@ Des: Removes all infected images from the alien. /mob/living/carbon/alien/can_hold_items() return has_fine_manipulation + +/mob/living/carbon/alien/on_lying_down(new_lying_angle) + . = ..() + update_icons() + +/mob/living/carbon/alien/on_standing_up() + . = ..() + update_icons() diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm index 1327acbc9b2e4..383f9afec9951 100644 --- a/code/modules/mob/living/carbon/alien/alien_defense.dm +++ b/code/modules/mob/living/carbon/alien/alien_defense.dm @@ -39,6 +39,7 @@ In all, this is a lot like the monkey code. /N playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) visible_message("[M.name] playfully bites [src]!", \ "[M.name] playfully bites you!", null, COMBAT_MESSAGE_RANGE) + to_chat(M, "You playfully bite [src]!") adjustBruteLoss(1) log_combat(M, src, "attacked", M) updatehealth() diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm index 3a80e4617dadc..1b024ec6aa2b5 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm @@ -29,7 +29,7 @@ #define MAX_ALIEN_LEAP_DIST 7 /mob/living/carbon/alien/humanoid/hunter/proc/leap_at(atom/A) - if((mobility_flags & (MOBILITY_MOVE | MOBILITY_STAND)) != (MOBILITY_MOVE | MOBILITY_STAND) || leaping) + if(body_position == LYING_DOWN || HAS_TRAIT(src, TRAIT_IMMOBILIZED) || leaping) return if(!(COOLDOWN_FINISHED(src, pounce_cooldown))) @@ -77,17 +77,16 @@ sleep(0.2 SECONDS)//Runtime prevention (infinite bump() calls on hulks) step_towards(src, L) else - Paralyze(40, 1, 1) + Paralyze(40, ignore_canstun = TRUE) toggle_leap(FALSE) else if(hit_atom.density && !hit_atom.CanPass(src, get_dir(hit_atom, src))) visible_message("[src] smashes into [hit_atom]!", "[src] smashes into [hit_atom]!") - Paralyze(40, 1, 1) + Paralyze(40, ignore_canstun = TRUE) if(leaping) //check that toggles out of leaping mode if the alien gets hit or otherwise interrupted leaping = FALSE update_icons() - update_mobility() /mob/living/carbon/alien/humanoid/float(on) if(leaping) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 8fab76f902be7..1b19cd7eb2b4e 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -7,8 +7,14 @@ limb_destroyer = TRUE hud_type = /datum/hud/alien deathsound = 'sound/voice/hiss6.ogg' - bodyparts = list(/obj/item/bodypart/chest/alien, /obj/item/bodypart/head/alien, /obj/item/bodypart/l_arm/alien, - /obj/item/bodypart/r_arm/alien, /obj/item/bodypart/r_leg/alien, /obj/item/bodypart/l_leg/alien) + bodyparts = list( + /obj/item/bodypart/chest/alien, + /obj/item/bodypart/head/alien, + /obj/item/bodypart/l_arm/alien, + /obj/item/bodypart/r_arm/alien, + /obj/item/bodypart/r_leg/alien, + /obj/item/bodypart/l_leg/alien, + ) var/caste = "" var/alt_icon = 'icons/mob/alienleap.dmi' //used to switch between the two alien icon files. var/leap_on_click = FALSE diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm index 187fe81bf6665..32abe5ebc7686 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm @@ -2,15 +2,16 @@ if(user.a_intent == INTENT_HARM) ..(user, 1) adjustBruteLoss(15) - var/hitverb = "punches" + var/hitverb = "hit" if(mob_size < MOB_SIZE_LARGE) step_away(src,user,15) sleep(1) step_away(src,user,15) - hitverb = "slams" + hitverb = "slam" playsound(loc, "punch", 25, 1, -1) - visible_message("[user] [hitverb] [src]!", \ - "[user] [hitverb] you!", null, COMBAT_MESSAGE_RANGE) + visible_message("[user] [hitverb]s [src]!", \ + "[user] [hitverb]s you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "You [hitverb] [src]!") return TRUE /mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect) diff --git a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm index b21d8a356b2c1..42264f2534440 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/update_icons.dm @@ -17,7 +17,7 @@ else if(leap_on_click) icon_state = "alien[caste]_pounce" - else if(!(mobility_flags & MOBILITY_STAND)) + else if(body_position == LYING_DOWN) icon_state = "alien[caste]_sleep" else if(mob_size == MOB_SIZE_LARGE) icon_state = "alien[caste]" diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 0a1f7f00083a3..2702d366724b5 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -11,12 +11,22 @@ health = 25 hardcrit_threshold = HEALTH_THRESHOLD_CRIT + rotate_on_lying = FALSE + + default_num_legs = 1 + num_legs = 1 //Alien larvas always have a movable apendage. + usable_legs = 1 //Alien larvas always have a movable apendage. + default_num_hands = 0 + + bodyparts = list( + /obj/item/bodypart/chest/larva, + /obj/item/bodypart/head/larva, + ) + var/amount_grown = 0 var/max_grown = 100 var/time_of_birth - rotate_on_lying = 0 - bodyparts = list(/obj/item/bodypart/chest/larva, /obj/item/bodypart/head/larva) flavor_text = FLAVOR_TEXT_EVIL playable = TRUE @@ -63,3 +73,6 @@ /mob/living/carbon/alien/larva/stripPanelEquip(obj/item/what, mob/who) to_chat(src, "You don't have the dexterity to do this!") return + +/mob/living/carbon/alien/larva/canBeHandcuffed() + return TRUE diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm index a92f211318191..fa0fe464132e8 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm @@ -5,7 +5,8 @@ playsound(loc, "punch", 25, 1, -1) log_combat(M, src, "attacked", M) visible_message("[M] kicks [src]!", \ - "[M] kicks you!", null, COMBAT_MESSAGE_RANGE) + "[M] kicks you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You kick [src]!") var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.get_combat_bodyzone(src))) apply_damage(M.dna.species.punchdamage, BRUTE, affecting) diff --git a/code/modules/mob/living/carbon/alien/larva/life.dm b/code/modules/mob/living/carbon/alien/larva/life.dm index fe53dfa71772e..1eb88506709c9 100644 --- a/code/modules/mob/living/carbon/alien/larva/life.dm +++ b/code/modules/mob/living/carbon/alien/larva/life.dm @@ -24,6 +24,5 @@ if(stat == UNCONSCIOUS) set_resting(FALSE) set_stat(CONSCIOUS) - update_mobility() update_damage_hud() update_health_hud() diff --git a/code/modules/mob/living/carbon/alien/larva/update_icons.dm b/code/modules/mob/living/carbon/alien/larva/update_icons.dm index 983544e8c72e9..24734a31851c5 100644 --- a/code/modules/mob/living/carbon/alien/larva/update_icons.dm +++ b/code/modules/mob/living/carbon/alien/larva/update_icons.dm @@ -14,10 +14,10 @@ icon_state = "larva[state]_dead" else if(handcuffed || legcuffed) //This should be an overlay. Who made this an icon_state? icon_state = "larva[state]_cuff" - else if(!(mobility_flags & MOBILITY_STAND)) - icon_state = "larva[state]_sleep" - else if(IsStun()) + else if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) icon_state = "larva[state]_stun" + else if(body_position == LYING_DOWN) + icon_state = "larva[state]_sleep" else icon_state = "larva[state]" @@ -28,4 +28,5 @@ /mob/living/carbon/alien/larva/update_inv_handcuffed() update_icons() //larva icon_state changes if cuffed/uncuffed. - +/mob/living/carbon/alien/larva/lying_angle_on_lying_down(new_lying_angle) + return // Larvas don't rotate on lying down, they have their own custom icons. diff --git a/code/modules/mob/living/carbon/alien/login.dm b/code/modules/mob/living/carbon/alien/login.dm index bb6eb084becca..13383568cfe9c 100644 --- a/code/modules/mob/living/carbon/alien/login.dm +++ b/code/modules/mob/living/carbon/alien/login.dm @@ -1,3 +1,5 @@ /mob/living/carbon/alien/Login() . = ..() + if(!. || !client) + return FALSE AddInfectionImages() diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index c7ff101a5236c..a54238d10635f 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -102,17 +102,20 @@ var/mob/living/carbon/alien/larva/new_xeno = new(xeno_loc) new_xeno.key = ghost.key SEND_SOUND(new_xeno, sound('sound/voice/hiss5.ogg',0,0,0,100)) //To get the player's attention - new_xeno.mobility_flags = NONE //so we don't move during the bursting animation + ADD_TRAIT(new_xeno, TRAIT_IMMOBILIZED, type) //so we don't move during the bursting animation + ADD_TRAIT(new_xeno, TRAIT_HANDS_BLOCKED, type) new_xeno.notransform = 1 new_xeno.invisibility = INVISIBILITY_MAXIMUM sleep(6) if(QDELETED(src) || QDELETED(owner)) - return + qdel(new_xeno) + CRASH("AttemptGrow failed due to the early qdeletion of source or owner.") if(new_xeno) - new_xeno.mobility_flags = MOBILITY_FLAGS_DEFAULT + REMOVE_TRAIT(new_xeno, TRAIT_IMMOBILIZED, type) + REMOVE_TRAIT(new_xeno, TRAIT_HANDS_BLOCKED, type) new_xeno.notransform = 0 new_xeno.invisibility = 0 diff --git a/code/modules/mob/living/carbon/alien/status_procs.dm b/code/modules/mob/living/carbon/alien/status_procs.dm index 0affc187a12f0..cd8ada8bd7adf 100644 --- a/code/modules/mob/living/carbon/alien/status_procs.dm +++ b/code/modules/mob/living/carbon/alien/status_procs.dm @@ -4,17 +4,17 @@ /////////////////////////////////// STUN //////////////////////////////////// -/mob/living/carbon/alien/Stun(amount, updating = 1, ignore_canstun = 0) +/mob/living/carbon/alien/Stun(amount, ignore_canstun = FALSE) . = ..() if(!.) move_delay_add = min(move_delay_add + round(amount / 2), 10) //a maximum delay of 10 -/mob/living/carbon/alien/SetStun(amount, updating = 1, ignore_canstun = 0) +/mob/living/carbon/alien/SetStun(amount, ignore_canstun = FALSE) . = ..() if(!.) move_delay_add = min(move_delay_add + round(amount / 2), 10) -/mob/living/carbon/alien/AdjustStun(amount, updating = 1, ignore_canstun = 0) +/mob/living/carbon/alien/AdjustStun(amount, ignore_canstun = FALSE) . = ..() if(!.) move_delay_add = clamp(move_delay_add + round(amount/2), 0, 10) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index b82416e450c2b..2e521d1b91055 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -61,7 +61,7 @@ /mob/living/carbon/attackby(obj/item/I, mob/user, params) for(var/datum/surgery/S in surgeries) - if(!(mobility_flags & MOBILITY_STAND) || !S.lying_required) + if(body_position == LYING_DOWN || !S.lying_required) if((S.self_operable || user != src) && (user.a_intent == INTENT_HELP || user.a_intent == INTENT_DISARM)) if(S.next_step(user,user.a_intent)) return TRUE @@ -218,7 +218,7 @@ if(HAS_TRAIT(src, TRAIT_RESTRAINED)) changeNext_move(CLICK_CD_BREAKOUT) last_special = world.time + CLICK_CD_BREAKOUT - var/buckle_cd = 600 + var/buckle_cd = 60 SECONDS if(handcuffed) var/obj/item/restraints/O = src.get_item_by_slot(ITEM_SLOT_HANDCUFFED) buckle_cd = O.breakouttime @@ -236,7 +236,7 @@ /mob/living/carbon/resist_fire() fire_stacks -= 5 - Paralyze(60, TRUE, TRUE) + Paralyze(60, ignore_canstun = TRUE) spin(32,2) visible_message("[src] rolls on the floor, trying to put [p_them()]self out!", \ "You stop, drop, and roll!") @@ -326,21 +326,23 @@ /mob/living/carbon/proc/clear_cuffs(obj/item/I, cuff_break) if(!I.loc || buckled) - return + return FALSE + if(I != handcuffed && I != legcuffed) + return FALSE visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!") to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].") if(cuff_break) . = !((I == handcuffed) || (I == legcuffed)) qdel(I) - return + return TRUE else if(I == handcuffed) handcuffed.forceMove(drop_location()) set_handcuffed(null) I.dropped(src) - if(buckled && buckled.buckle_requires_restraints) + if(buckled?.buckle_requires_restraints) buckled.unbuckle_mob(src) update_handcuffed() return @@ -349,10 +351,8 @@ legcuffed = null I.dropped(src) update_inv_legcuffed() - return - else - dropItemToGround(I) - return + return TRUE + /mob/living/carbon/proc/accident(obj/item/I) if(!I || (I.item_flags & ABSTRACT) || HAS_TRAIT(I, TRAIT_NODROP)) @@ -474,9 +474,11 @@ if(dna) dna.real_name = real_name -/mob/living/carbon/update_mobility() +/mob/living/carbon/set_body_position(new_value) . = ..() - if(!(mobility_flags & MOBILITY_STAND)) + if(isnull(.)) + return + if(new_value == LYING_DOWN) add_movespeed_modifier(/datum/movespeed_modifier/carbon_crawling) else remove_movespeed_modifier(/datum/movespeed_modifier/carbon_crawling) @@ -495,7 +497,6 @@ set_health(round(maxHealth - getOxyLoss() - getToxLoss() - getCloneLoss() - total_burn - total_brute, DAMAGE_PRECISION)) staminaloss = round(total_stamina, DAMAGE_PRECISION) update_stat() - update_mobility() if(((maxHealth - total_burn) < HEALTH_THRESHOLD_DEAD*2) && stat == DEAD ) become_husk("burn") med_hud_set_health() @@ -509,7 +510,7 @@ /mob/living/carbon/update_stamina(extend_stam_crit = FALSE) var/stam = getStaminaLoss() if(stam >= DAMAGE_PRECISION && (maxHealth - stam) <= crit_threshold && !stat && !HAS_TRAIT(src, TRAIT_NOSTAMCRIT)) - if(extend_stam_crit || !HAS_TRAIT_FROM(src, TRAIT_INCAPACITATED, STAMINA)) + if(!stat) enter_stamcrit() else if(HAS_TRAIT_FROM(src, TRAIT_INCAPACITATED, STAMINA)) REMOVE_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) @@ -524,7 +525,7 @@ return if(stat == DEAD) sight = (SEE_TURFS|SEE_MOBS|SEE_OBJS) - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE see_invisible = SEE_INVISIBLE_OBSERVER return @@ -728,9 +729,14 @@ hud_used.healths.icon_state = "health7" /mob/living/carbon/proc/update_internals_hud_icon(internal_state = 0) - if(hud_used && hud_used.internals) + if(hud_used?.internals) hud_used.internals.icon_state = "internal[internal_state]" +/mob/living/carbon/proc/update_spacesuit_hud_icon(cell_state = "empty") + if(hud_used?.spacesuit) + hud_used.spacesuit.icon_state = "spacesuit_[cell_state]" + + /mob/living/carbon/set_health(new_value) . = ..() if(. > hardcrit_threshold) @@ -763,7 +769,6 @@ if(!is_blind()) var/datum/component/blind_sense/B = GetComponent(/datum/component/blind_sense) B?.RemoveComponent() - update_mobility() update_damage_hud() update_health_hud() med_hud_set_status() @@ -781,7 +786,7 @@ update_action_buttons_icon() //some of our action buttons might be unusable when we're handcuffed. update_inv_handcuffed() update_hud_handcuffed() - update_mobility() + /mob/living/carbon/heal_and_revive(heal_to = 75, revive_message) // We can't heal them if they're missing a heart @@ -868,29 +873,57 @@ /mob/living/carbon/proc/create_bodyparts() var/l_arm_index_next = -1 var/r_arm_index_next = 0 - for(var/X in bodyparts) - var/obj/item/bodypart/O = new X() - O.owner = src - bodyparts.Remove(X) - bodyparts.Add(O) - if(O.body_part == ARM_LEFT) - l_arm_index_next += 2 - O.held_index = l_arm_index_next //1, 3, 5, 7... - hand_bodyparts += O - else if(O.body_part == ARM_RIGHT) - r_arm_index_next += 2 - O.held_index = r_arm_index_next //2, 4, 6, 8... - hand_bodyparts += O + for(var/bodypart_path in bodyparts) + var/obj/item/bodypart/bodypart_instance = new bodypart_path() + bodypart_instance.set_owner(src) + bodyparts.Remove(bodypart_path) + add_bodypart(bodypart_instance) + switch(bodypart_instance.body_part) + if(ARM_LEFT) + l_arm_index_next += 2 + bodypart_instance.held_index = l_arm_index_next //1, 3, 5, 7... + hand_bodyparts += bodypart_instance + if(ARM_RIGHT) + r_arm_index_next += 2 + bodypart_instance.held_index = r_arm_index_next //2, 4, 6, 8... + hand_bodyparts += bodypart_instance + + +///Proc to hook behavior on bodypart additions. +/mob/living/carbon/proc/add_bodypart(obj/item/bodypart/new_bodypart) + bodyparts += new_bodypart + new_bodypart.set_owner(src) + + switch(new_bodypart.body_part) + if(LEG_LEFT, LEG_RIGHT) + set_num_legs(num_legs + 1) + if(!new_bodypart.bodypart_disabled) + set_usable_legs(usable_legs + 1) + if(ARM_LEFT, ARM_RIGHT) + set_num_hands(num_hands + 1) + if(!new_bodypart.bodypart_disabled) + set_usable_hands(usable_hands + 1) + + +///Proc to hook behavior on bodypart removals. +/mob/living/carbon/proc/remove_bodypart(obj/item/bodypart/old_bodypart) + bodyparts -= old_bodypart + + switch(old_bodypart.body_part) + if(LEG_LEFT, LEG_RIGHT) + set_num_legs(num_legs - 1) + if(!old_bodypart.bodypart_disabled) + set_usable_legs(usable_legs - 1) + if(ARM_LEFT, ARM_RIGHT) + set_num_hands(num_hands - 1) + if(!old_bodypart.bodypart_disabled) + set_usable_hands(usable_hands - 1) /mob/living/carbon/proc/create_internal_organs() for(var/X in internal_organs) var/obj/item/organ/I = X I.Insert(src) -/mob/living/carbon/proc/update_disabled_bodyparts() - for(var/obj/item/bodypart/BP as() in bodyparts) - BP.update_disabled() - /mob/living/carbon/vv_get_dropdown() . = ..() VV_DROPDOWN_OPTION("", "---------") @@ -1146,7 +1179,19 @@ if(.) if(!handcuffed) REMOVE_TRAIT(src, TRAIT_RESTRAINED, HANDCUFFED_TRAIT) - REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, HANDCUFFED_TRAIT) else if(handcuffed) ADD_TRAIT(src, TRAIT_RESTRAINED, HANDCUFFED_TRAIT) - ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, HANDCUFFED_TRAIT) + + +/mob/living/carbon/on_lying_down(new_lying_angle) + . = ..() + if(!buckled || buckled.buckle_lying != 0) + lying_angle_on_lying_down(new_lying_angle) + + +/// Special carbon interaction on lying down, to transform its sprite by a rotation. +/mob/living/carbon/proc/lying_angle_on_lying_down(new_lying_angle) + if(!new_lying_angle) + set_lying_angle(pick(90, 270)) + else + set_lying_angle(new_lying_angle) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 5e5901766ed86..04b250a5a5f42 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -116,6 +116,43 @@ playsound(get_turf(src), I.get_dismember_sound(), 80, 1) return TRUE //successful attack +/mob/living/carbon/send_item_attack_message(obj/item/I, mob/living/user, hit_area, obj/item/bodypart/hit_bodypart) + if(!I.force && !length(I.attack_verb_simple) && !length(I.attack_verb_continuous)) + return + var/message_verb_continuous = length(I.attack_verb_continuous) ? "[pick(I.attack_verb_continuous)]" : "attacks" + var/message_verb_simple = length(I.attack_verb_simple) ? "[pick(I.attack_verb_simple)]" : "attack" + + var/extra_wound_details = "" + /* + if(I.damtype == BRUTE && hit_bodypart.can_dismember()) + var/mangled_state = hit_bodypart.get_mangled_state() + var/bio_state = get_biological_state() + if(mangled_state == BODYPART_MANGLED_BOTH) + extra_wound_details = ", threatening to sever it entirely" + else if((mangled_state == BODYPART_MANGLED_FLESH && I.get_sharpness()) || (mangled_state & BODYPART_MANGLED_BONE && bio_state == BIO_JUST_BONE)) + extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] through to the bone" + else if((mangled_state == BODYPART_MANGLED_BONE && I.get_sharpness()) || (mangled_state & BODYPART_MANGLED_FLESH && bio_state == BIO_JUST_FLESH)) + extra_wound_details = ", [I.get_sharpness() == SHARP_EDGED ? "slicing" : "piercing"] at the remaining tissue" + */ + + var/message_hit_area = "" + if(hit_area) + message_hit_area = " in the [hit_area]" + var/attack_message_spectator = "[src] [message_verb_continuous][message_hit_area] with [I][extra_wound_details]!" + var/attack_message_victim = "You're [message_verb_continuous][message_hit_area] with [I][extra_wound_details]!" + var/attack_message_attacker = "You [message_verb_simple] [src][message_hit_area] with [I]!" + if(user in viewers(src, null)) + attack_message_spectator = "[user] [message_verb_continuous] [src][message_hit_area] with [I][extra_wound_details]!" + attack_message_victim = "[user] [message_verb_continuous] you[message_hit_area] with [I][extra_wound_details]!" + if(user == src) + attack_message_victim = "You [message_verb_simple] yourself[message_hit_area] with [I][extra_wound_details]!" + visible_message("[attack_message_spectator]",\ + "[attack_message_victim]", null, COMBAT_MESSAGE_RANGE, user) + if(user != src) + to_chat(user, "[attack_message_attacker]") + return TRUE + + /mob/living/carbon/attack_drone(mob/living/simple_animal/drone/user) return //so we don't call the carbon's attack_hand(). @@ -136,7 +173,7 @@ ContactContractDisease(D) for(var/datum/surgery/S in surgeries) - if(!(mobility_flags & MOBILITY_STAND) || !S.lying_required) + if(body_position == LYING_DOWN || !S.lying_required) if(user.a_intent == INTENT_HELP || user.a_intent == INTENT_DISARM) if(S.next_step(user, user.a_intent)) return 1 @@ -294,7 +331,7 @@ if(M == src && check_self_for_injuries()) return - if(!(mobility_flags & MOBILITY_STAND)) + if(body_position == LYING_DOWN) if(buckled) to_chat(M, "You need to unbuckle [src] first to do that!") return @@ -351,6 +388,8 @@ AdjustParalyzed(-60) AdjustImmobilized(-60) set_resting(FALSE) + if(body_position != STANDING_UP && !resting && !buckled && !HAS_TRAIT(src, TRAIT_FLOORED)) + get_up(TRUE) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 6c0a149f894cc..f8b65dad3234a 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -5,6 +5,10 @@ hud_possible = list(HEALTH_HUD,STATUS_HUD,ANTAG_HUD,GLAND_HUD,NANITE_HUD,DIAG_NANITE_FULL_HUD) has_limbs = 1 held_items = list(null, null) + num_legs = 0 //Populated on init through list/bodyparts + usable_legs = 0 //Populated on init through list/bodyparts + num_hands = 0 //Populated on init through list/bodyparts + usable_hands = 0 //Populated on init through list/bodyparts var/list/internal_organs = list() //List of /obj/item/organ in the mob. They don't go in the contents for some reason I don't want to know. var/list/internal_organs_slot= list() //Same as above, but stores "slot ID" - "organ" pairs for easy access. var/silent = FALSE //Can't talk. Value goes down every life proc. //NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU. diff --git a/code/modules/mob/living/carbon/carbon_movement.dm b/code/modules/mob/living/carbon/carbon_movement.dm index ee3e69b02cafd..33b556e736336 100644 --- a/code/modules/mob/living/carbon/carbon_movement.dm +++ b/code/modules/mob/living/carbon/carbon_movement.dm @@ -28,3 +28,55 @@ adjust_nutrition(-(HUNGER_FACTOR/10)) if(m_intent == MOVE_INTENT_RUN) adjust_nutrition(-(HUNGER_FACTOR/10)) + +/mob/living/carbon/set_usable_legs(new_value) + . = ..() + if(isnull(.)) + return + if(. == 0) + if(usable_legs != 0) //From having no usable legs to having some. + REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + else if(usable_legs == 0 && !(movement_type & (FLYING | FLOATING))) //From having usable legs to no longer having them. + ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(!usable_hands) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + + +/mob/living/carbon/set_usable_hands(new_value) + . = ..() + if(isnull(.)) + return + if(. == 0) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, LACKING_MANIPULATION_APPENDAGES_TRAIT) + if(usable_hands != 0) //From having no usable hands to having some. + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + else if(usable_hands == 0 && default_num_hands > 0) //From having usable hands to no longer having them. + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, LACKING_MANIPULATION_APPENDAGES_TRAIT) + if(!usable_legs && !(movement_type & (FLYING | FLOATING))) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + + +/mob/living/carbon/setMovetype(newval) + . = ..() + if(isnull(.)) + return + if(!(. & (FLYING | FLOATING))) + if(movement_type & (FLYING | FLOATING)) //From not flying to flying. + remove_movespeed_modifier(/datum/movespeed_modifier/limbless) + REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + else if(!(movement_type & (FLYING | FLOATING))) //From flying to no longer flying. + var/limbless_slowdown = 0 + if(usable_legs < default_num_legs) + limbless_slowdown += (default_num_legs - usable_legs) * 3 + if(!usable_legs) + ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(usable_hands < default_num_hands) + limbless_slowdown += (default_num_hands - usable_hands) * 3 + if(!usable_hands) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(limbless_slowdown) + add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) + else + remove_movespeed_modifier(/datum/movespeed_modifier/limbless) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 6d1d236fa8e86..5b817e0757e12 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -37,8 +37,8 @@ var/list/msg = list("") var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) var/list/disabled = list() - for(var/obj/item/bodypart/BP as() in bodyparts) - if(BP.disabled) + for(var/obj/item/bodypart/BP as anything in bodyparts) + if(BP.bodypart_disabled) disabled += BP missing -= BP.body_zone for(var/obj/item/I in BP.embedded_objects) diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 15d16372a1a4d..c755e27290862 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -59,9 +59,8 @@ if(gloves && !(obscured & ITEM_SLOT_GLOVES) && !(gloves.item_flags & EXAMINE_SKIP)) . += "[t_He] [t_has] [gloves.get_examine_string(user)] on [t_his] hands." else if(FR && length(FR.blood_DNA)) - var/hand_number = get_num_arms(FALSE) - if(hand_number) - . += "[t_He] [t_has] [hand_number > 1 ? "" : "a"] blood-stained hand[hand_number > 1 ? "s" : ""]!" + if(num_hands) + . += "[t_He] [t_has] [num_hands > 1 ? "" : "a"] blood-stained hand[num_hands > 1 ? "s" : ""]!" //belt if(belt && !(belt.item_flags & EXAMINE_SKIP)) @@ -136,7 +135,7 @@ var/list/disabled = list() for(var/obj/item/bodypart/BP as() in bodyparts) - if(BP.disabled) + if(BP.bodypart_disabled) disabled += BP missing -= BP.body_zone for(var/obj/item/I in BP.embedded_objects) @@ -146,13 +145,17 @@ msg += "[t_He] [t_has] [icon2html(I, user)] \a [I] embedded in [t_his] [BP.name]!\n" for(var/X in disabled) - var/obj/item/bodypart/BP = X + var/obj/item/bodypart/body_part = X var/damage_text - if(!(BP.get_damage(include_stamina = FALSE) >= BP.max_damage)) //Stamina is disabling the limb + /* + if(HAS_TRAIT(body_part, TRAIT_DISABLED_BY_WOUND)) + continue // skip if it's disabled by a wound (cuz we'll be able to see the bone sticking out!) + */ + if(!(body_part.get_damage(include_stamina = FALSE) >= body_part.max_damage)) //we don't care if it's stamcritted damage_text = "limp and lifeless" else - damage_text = (BP.brute_dam >= BP.burn_dam) ? BP.heavy_brute_msg : BP.heavy_burn_msg - msg += "[capitalize(t_his)] [BP.name] is [damage_text]!\n" + damage_text = (body_part.brute_dam >= body_part.burn_dam) ? body_part.heavy_brute_msg : body_part.heavy_burn_msg + msg += "[capitalize(t_his)] [body_part.name] is [damage_text]!\n" //stores missing limbs var/l_limbs_missing = 0 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 438f87f2c1e68..7372fb37f1ef1 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -7,7 +7,7 @@ /mob/living/carbon/human/Initialize(mapload) add_verb(/mob/living/proc/mob_sleep) - add_verb(/mob/living/proc/lay_down) + add_verb(/mob/living/proc/toggle_resting) icon_state = "" //Remove the inherent human icon that is visible on the map editor. We're rendering ourselves limb by limb, having it still be there results in a bug where the basic human icon appears below as south in all directions and generally looks nasty. @@ -116,6 +116,10 @@ tab_data["Internal Atmosphere Info"] = GENERATE_STAT_TEXT("[target_tank.name]") tab_data["Tank Pressure"] = GENERATE_STAT_TEXT("[target_tank.air_contents.return_pressure()]") tab_data["Distribution Pressure"] = GENERATE_STAT_TEXT("[target_tank.distribute_pressure]") + if(istype(wear_suit, /obj/item/clothing/suit/space)) + var/obj/item/clothing/suit/space/S = wear_suit + tab_data["Thermal Regulator"] = GENERATE_STAT_TEXT("[S.thermal_on ? "on" : "off"]") + tab_data["Cell Charge"] = GENERATE_STAT_TEXT("[S.cell ? "[round(S.cell.percent(), 0.1)]%" : "!invalid!"]") if(mind) var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) @@ -943,10 +947,10 @@ . = ..() if(ishuman(over)) var/mob/living/carbon/human/T = over // curbstomp, ported from PP with modifications - if(!src.is_busy && (src.is_zone_selected(BODY_ZONE_HEAD) || src.is_zone_selected(BODY_ZONE_PRECISE_GROIN)) && get_turf(src) == get_turf(T) && !(T.mobility_flags & MOBILITY_STAND) && src.a_intent != INTENT_HELP && !HAS_TRAIT(src, TRAIT_PACIFISM)) //all the stars align, time to curbstomp + if(!src.is_busy && (src.is_zone_selected(BODY_ZONE_HEAD) || src.is_zone_selected(BODY_ZONE_PRECISE_GROIN)) && get_turf(src) == get_turf(T) && (T.body_position == LYING_DOWN) && src.a_intent != INTENT_HELP && !HAS_TRAIT(src, TRAIT_PACIFISM)) //all the stars align, time to curbstomp src.is_busy = TRUE - if (!do_after(src, 2.5 SECONDS, T) || get_turf(src) != get_turf(T) || (T.mobility_flags & MOBILITY_STAND) || src.a_intent == INTENT_HELP || src == T) //wait 30ds and make sure the stars still align (Body zone check removed after PR #958) + if (!do_after(src, 2.5 SECONDS, T) || get_turf(src) != get_turf(T) || (T.body_position == STANDING_UP) || src.a_intent == INTENT_HELP || src == T) //wait 30ds and make sure the stars still align (Body zone check removed after PR #958) src.is_busy = FALSE return @@ -1023,10 +1027,10 @@ //src is the user that will be carrying, target is the mob to be carried /mob/living/carbon/human/proc/can_piggyback(mob/living/carbon/target) - return (istype(target) && target.stat == CONSCIOUS && (target.mobility_flags & MOBILITY_STAND)) + return (istype(target) && target.stat == CONSCIOUS && target.body_position == STANDING_UP) /mob/living/carbon/human/proc/can_be_firemanned(mob/living/carbon/target) - return ((ishuman(target) || ismonkey(target)) && !(target.mobility_flags & MOBILITY_STAND)) + return ((ishuman(target) || ismonkey(target)) && target.body_position == LYING_DOWN) /mob/living/carbon/human/proc/fireman_carry(mob/living/carbon/target) var/carrydelay = 50 //if you have latex you are faster at grabbing diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index dea570726a922..ff02f8efca6fb 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -47,6 +47,19 @@ protection *= 1 - CLAMP01(physiology.armor.getRating(d_type) / 100) return (1 - protection) * 100 +///Get all the clothing on a specific body part +/mob/living/carbon/human/proc/clothingonpart(obj/item/bodypart/def_zone) + var/list/covering_part = list() + var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, back, gloves, shoes, belt, s_store, glasses, ears, wear_id, wear_neck) //Everything but pockets. Pockets are l_store and r_store. (if pockets were allowed, putting something armored, gloves or hats for example, would double up on the armor) + for(var/bp in body_parts) + if(!bp) + continue + if(bp && istype(bp , /obj/item/clothing)) + var/obj/item/clothing/C = bp + if(C.body_parts_covered & def_zone.body_part) + covering_part += C + return covering_part + /mob/living/carbon/human/on_hit(obj/projectile/P) if(dna?.species) dna.species.on_hit(P, src) @@ -202,10 +215,10 @@ if(check_shields(user, 15, "the [hulk_verb]ing")) return ..(user, 1) - playsound(loc, user.dna.species.attack_sound, 25, 1, -1) - var/message = "[user] has [hulk_verb]ed [src]!" - visible_message("[message]", \ - "[message]") + playsound(loc, user.dna.species.attack_sound, 25, TRUE, -1) + visible_message("[user] [hulk_verb]ed [src]!", \ + "[user] [hulk_verb]ed [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user) + to_chat(user, "You [hulk_verb] [src]!") var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.get_combat_bodyzone(src))) if(!affecting) affecting = get_bodypart(BODY_ZONE_CHEST) @@ -223,7 +236,8 @@ /mob/living/carbon/human/attack_paw(mob/living/carbon/monkey/M) if(check_shields(M, 0, "the [M.name]", UNARMED_ATTACK)) visible_message("[M] attempts to touch [src]!", \ - "[M] attempts to touch you!") + "[M] attempts to touch you!", "You hear a swoosh!", null, M) + to_chat(M, "You attempt to touch [src]!") return 0 var/dam_zone = pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone)) @@ -250,7 +264,8 @@ /mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/M) if(check_shields(M, 20, "the [M.name]", UNARMED_ATTACK)) visible_message("[M] attempts to touch [src]!", \ - "[M] attempts to touch you!") + "[M] attempts to touch you!", "You hear a swoosh!", null, M) + to_chat(M, "You attempt to touch [src]!") return 0 if(..()) @@ -264,7 +279,8 @@ playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) visible_message("[M] slashes at [src]!", \ - "[M] slashes at you!") + "[M] slashes at you!", "You hear a sickening sound of a slice!", null, M) + to_chat(M, "You slash at [src]!") log_combat(M, src, "attacked", M) if(!dismembering_strike(M, M.get_combat_bodyzone(src))) //Dismemberment successful return 1 @@ -280,7 +296,8 @@ var/armor_block = run_armor_check(affecting, MELEE,"","",10) apply_damage(30, STAMINA, affecting, armor_block) visible_message("[M] tackles [src] down!", \ - "[M] tackles you down!") + "[M] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, M) + to_chat(M, "You tackle [src] down!") /mob/living/carbon/human/attack_larva(mob/living/carbon/alien/larva/L) @@ -647,6 +664,9 @@ missing -= LB.body_zone if(LB.is_pseudopart) //don't show injury text for fake bodyparts; ie chainsaw arms or synthetic armblades continue + var/self_aware = FALSE + if(HAS_TRAIT(src, TRAIT_SELF_AWARE)) + self_aware = TRUE var/limb_max_damage = LB.max_damage var/status = "" var/brutedamage = LB.brute_dam @@ -684,7 +704,14 @@ var/no_damage if(status == "OK" || status == "no damage") no_damage = TRUE - to_chat(src, "\t Your [LB.name] [HAS_TRAIT(src, TRAIT_SELF_AWARE) ? "has" : "is"] [status].") + var/isdisabled = " " + if(LB.bodypart_disabled) + isdisabled = " is disabled " + if(no_damage) + isdisabled += " but otherwise " + else + isdisabled += " and " + to_chat(src, "\t Your [LB.name][isdisabled][self_aware ? " has " : " is "][status].") for(var/obj/item/I in LB.embedded_objects) if(I.isEmbedHarmless()) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 08d190c2f4999..f268c0dae5a83 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -1,8 +1,7 @@ /mob/living/carbon/human/canBeHandcuffed() - if(get_num_arms(FALSE) >= 2) - return TRUE - else + if(num_hands < 2) return FALSE + return TRUE //gets assignment from ID or ID inside PDA or PDA itself //Useful when player do something with computers diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index e6de200042cbb..6a4e59b5da79e 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -42,7 +42,7 @@ /mob/living/carbon/human/Move(NewLoc, direct) . = ..() - if(shoes && (mobility_flags & MOBILITY_STAND) && loc == NewLoc && has_gravity(loc)) + if(shoes && body_position == STANDING_UP && loc == NewLoc && has_gravity(loc)) SEND_SIGNAL(shoes, COMSIG_SHOES_STEP_ACTION) /mob/living/carbon/human/Process_Spacemove(movement_dir = 0) //Temporary laziness thing. Will change to handles by species reee. diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index fd0ce7c60b9a5..c235f766776a4 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -119,7 +119,6 @@ update_inv_w_uniform() if(wear_suit.breakouttime) //when equipping a straightjacket ADD_TRAIT(src, TRAIT_RESTRAINED, SUIT_TRAIT) - ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, SUIT_TRAIT) stop_pulling() //can't pull if restrained update_action_buttons_icon() //certain action buttons will no longer be usable. update_inv_wear_suit() @@ -167,7 +166,6 @@ dropItemToGround(s_store, TRUE) //It makes no sense for your suit storage to stay on you if you drop your suit. if(wear_suit.breakouttime) //when unequipping a straightjacket REMOVE_TRAIT(src, TRAIT_RESTRAINED, SUIT_TRAIT) - REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, SUIT_TRAIT) drop_all_held_items() //suit is restraining update_action_buttons_icon() //certain action buttons may be usable again. wear_suit = null diff --git a/code/modules/mob/living/carbon/human/physiology.dm b/code/modules/mob/living/carbon/human/physiology.dm index 2a197b64ee29f..6a0511102408a 100644 --- a/code/modules/mob/living/carbon/human/physiology.dm +++ b/code/modules/mob/living/carbon/human/physiology.dm @@ -17,7 +17,8 @@ var/siemens_coeff = 1 // resistance to shocks - var/stun_mod = 1 // % stun modifier + var/stun_add = 0 // % additive stun increaser + var/stun_mod = 1 // % multiplicitive stun multiplayer, applied after additive is applied var/bleed_mod = 1 // % bleeding modifier var/datum/armor/armor // internal armor datum diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index be7e41ed5c02f..26475d7b13865 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -89,6 +89,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/organ/lungs/mutantlungs = null var/breathid = "o2" + var/list/required_organs = list() var/obj/item/organ/brain/mutant_brain = /obj/item/organ/brain var/obj/item/organ/heart/mutant_heart = /obj/item/organ/heart var/obj/item/organ/eyes/mutanteyes = /obj/item/organ/eyes @@ -258,13 +259,16 @@ GLOBAL_LIST_EMPTY(features_by_species) if(heart && (!should_have_heart || replace_current)) heart.Remove(C,1) + required_organs -= /obj/item/organ/heart QDEL_NULL(heart) if(should_have_heart && !heart) heart = new mutant_heart() heart.Insert(C) + required_organs |= /obj/item/organ/heart if(lungs && (!should_have_lungs || replace_current)) lungs.Remove(C,1) + required_organs -= /obj/item/organ/lungs QDEL_NULL(lungs) if(should_have_lungs && !lungs) if(mutantlungs) @@ -272,9 +276,11 @@ GLOBAL_LIST_EMPTY(features_by_species) else lungs = new() lungs.Insert(C) + required_organs |= /obj/item/organ/lungs if(liver && (!should_have_liver || replace_current)) liver.Remove(C,1) + required_organs -= /obj/item/organ/liver QDEL_NULL(liver) if(should_have_liver && !liver) if(mutantliver) @@ -282,9 +288,11 @@ GLOBAL_LIST_EMPTY(features_by_species) else liver = new() liver.Insert(C) + required_organs |= /obj/item/organ/liver if(stomach && (!should_have_stomach || replace_current)) stomach.Remove(C,1) + required_organs -= /obj/item/organ/stomach QDEL_NULL(stomach) if(should_have_stomach && !stomach) if(mutantstomach) @@ -292,16 +300,20 @@ GLOBAL_LIST_EMPTY(features_by_species) else stomach = new() stomach.Insert(C) + required_organs |= /obj/item/organ/stomach if(appendix && (!should_have_appendix || replace_current)) appendix.Remove(C,1) + required_organs -= /obj/item/organ/appendix QDEL_NULL(appendix) if(should_have_appendix && !appendix) appendix = new() appendix.Insert(C) + required_organs |= /obj/item/organ/appendix if(tail && (!should_have_tail || replace_current)) tail.Remove(C,1) + required_organs -= /obj/item/organ/tail QDEL_NULL(tail) if(should_have_tail && !tail) tail = new mutanttail() @@ -311,9 +323,11 @@ GLOBAL_LIST_EMPTY(features_by_species) lizard_tail.spines = C.dna.features["spines"] tail = lizard_tail tail.Insert(C) + required_organs |= /obj/item/organ/tail if(wings && (!should_have_wings || replace_current)) wings.Remove(C,1) + required_organs -= /obj/item/organ/wings QDEL_NULL(wings) if(should_have_wings && !wings) wings = new mutantwings() @@ -323,47 +337,58 @@ GLOBAL_LIST_EMPTY(features_by_species) if(locate(/datum/mutation/strongwings) in C.dna.mutations) wings.flight_level = WINGS_FLYING wings.Insert(C) + required_organs |= /obj/item/organ/wings if(C.get_bodypart(BODY_ZONE_HEAD)) if(brain && (replace_current || !should_have_brain)) if(!brain.decoy_override)//Just keep it if it's fake brain.Remove(C,TRUE,TRUE) + required_organs -= /obj/item/organ/brain QDEL_NULL(brain) if(should_have_brain && !brain) brain = new mutant_brain() brain.Insert(C, TRUE, TRUE) + required_organs |= /obj/item/organ/brain if(eyes && (replace_current || !should_have_eyes)) eyes.Remove(C,1) + required_organs -= /obj/item/organ/eyes QDEL_NULL(eyes) if(should_have_eyes && !eyes) eyes = new mutanteyes eyes.Insert(C) + required_organs |= /obj/item/organ/eyes if(ears && (replace_current || !should_have_ears)) ears.Remove(C,1) + required_organs -= /obj/item/organ/ears QDEL_NULL(ears) if(should_have_ears && !ears) ears = new mutantears ears.Insert(C) + required_organs |= /obj/item/organ/ears if(tongue && (replace_current || !should_have_tongue)) tongue.Remove(C,1) + required_organs -= /obj/item/organ/tongue QDEL_NULL(tongue) if(should_have_tongue && !tongue) tongue = new mutanttongue tongue.Insert(C) + required_organs |= /obj/item/organ/tongue if(old_species) for(var/mutantorgan in old_species.mutant_organs) var/obj/item/organ/I = C.getorgan(mutantorgan) if(I) I.Remove(C) + required_organs -= I.type QDEL_NULL(I) for(var/path in mutant_organs) var/obj/item/organ/I = new path() I.Insert(C) + required_organs |= I.type /datum/species/proc/replace_body(mob/living/carbon/C, var/datum/species/new_species) new_species ||= C.dna.species //If no new species is provided, assume its src. @@ -806,7 +831,7 @@ GLOBAL_LIST_EMPTY(features_by_species) else standing += mutable_appearance(undershirt.icon, undershirt.icon_state, CALCULATE_MOB_OVERLAY_LAYER(BODY_LAYER)) - if(H.socks && H.get_num_legs(FALSE) >= 2 && !(H.dna.species.bodytype & BODYTYPE_DIGITIGRADE) && !(NOSOCKS in species_traits)) + if(H.socks && H.num_legs >= 2 && !(H.dna.species.bodytype & BODYTYPE_DIGITIGRADE) && !(NOSOCKS in species_traits)) var/datum/sprite_accessory/socks/socks = GLOB.socks_list[H.socks] if(socks) standing += mutable_appearance(socks.icon, socks.icon_state, CALCULATE_MOB_OVERLAY_LAYER(BODY_LAYER)) @@ -1113,8 +1138,6 @@ GLOBAL_LIST_EMPTY(features_by_species) if(I.species_restricted & H.dna?.species.bodyflag) to_chat(H, "Your species cannot wear this item!") return FALSE - var/num_arms = H.get_num_arms(FALSE) - var/num_legs = H.get_num_legs(FALSE) switch(slot) if(ITEM_SLOT_HANDS) @@ -1152,7 +1175,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return FALSE if( !(I.slot_flags & ITEM_SLOT_GLOVES) ) return FALSE - if(num_arms < 2) + if(H.num_hands < 2) return FALSE return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_FEET) @@ -1160,7 +1183,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return FALSE if( !(I.slot_flags & ITEM_SLOT_FEET) ) return FALSE - if(num_legs < 2) + if(H.num_legs < 2) return FALSE if((bodytype & BODYTYPE_DIGITIGRADE) && !(I.supports_variations & DIGITIGRADE_VARIATION)) if(!disable_warning) @@ -1279,7 +1302,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return FALSE if(!istype(I, /obj/item/restraints/handcuffs)) return FALSE - if(num_arms < 2) + if(H.num_legs < 2) return FALSE return TRUE if(ITEM_SLOT_LEGCUFFED) @@ -1287,7 +1310,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return FALSE if(!istype(I, /obj/item/restraints/legcuffs)) return FALSE - if(num_legs < 2) + if(H.num_legs < 2) return FALSE return TRUE if(ITEM_SLOT_BACKPACK) @@ -1538,11 +1561,11 @@ GLOBAL_LIST_EMPTY(features_by_species) return /datum/species/proc/help(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) - if(!((target.health < 0 || HAS_TRAIT(target, TRAIT_FAKEDEATH)) && !(target.mobility_flags & MOBILITY_STAND))) + if(target.body_position == STANDING_UP || (target.health >= 0 && !HAS_TRAIT(target, TRAIT_FAKEDEATH))) target.help_shake_act(user) if(target != user) log_combat(user, target, "shaken") - return 1 + return TRUE else var/we_breathe = !HAS_TRAIT(user, TRAIT_NOBREATH) var/we_lung = user.getorganslot(ORGAN_SLOT_LUNGS) @@ -1556,25 +1579,28 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_block()) - target.visible_message("[target] blocks [user]'s grab attempt!", \ - "You block [user]'s grab attempt!") + target.visible_message("[target] blocks [user]'s grab!", \ + "You block [user]'s grab!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "Your grab at [target] was blocked!") return FALSE if(attacker_style && attacker_style.grab_act(user,target)) return TRUE else //Steal them shoes - if(!(target.mobility_flags & MOBILITY_STAND) && (user.is_zone_selected(BODY_ZONE_L_LEG) || user.is_zone_selected(BODY_ZONE_R_LEG)) && user.a_intent == INTENT_GRAB && target.shoes) + if(target.body_position == LYING_DOWN && (user.is_zone_selected(BODY_ZONE_L_LEG) || user.is_zone_selected(BODY_ZONE_R_LEG)) && user.a_intent == INTENT_GRAB && target.shoes) if(HAS_TRAIT(target.shoes, TRAIT_NODROP)) target.grabbedby(user) return TRUE - user.visible_message("[user] starts stealing [target]'s shoes!", - "You start stealing [target]'s shoes!") var/obj/item/I = target.shoes + user.visible_message("[user] starts stealing [target]'s [I.name]!", + "You start stealing [target]'s [I.name]...", null, null, target) + to_chat(target, "[user] starts stealing your [I.name]!") if(do_after(user, I.strip_delay, target)) target.dropItemToGround(I, TRUE) user.put_in_hands(I) - user.visible_message("[user] stole your [I]!", - "You steal [target]'s [I]!") + user.visible_message("[user] stole [target]'s [I.name]!", + "You stole [target]'s [I.name]!", null, null, target) + to_chat(target, "[user] stole your [I.name]!") target.grabbedby(user) return TRUE @@ -1584,14 +1610,15 @@ GLOBAL_LIST_EMPTY(features_by_species) return FALSE if(target.check_block()) target.visible_message("[target] blocks [user]'s attack!", \ - "You block [user]'s attack!") + "You block [user]'s attack!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "Your attack at [target] was blocked!") return FALSE if(attacker_style && attacker_style.harm_act(user,target)) return TRUE else var/atk_verb = user.dna.species.attack_verb - if(!(target.mobility_flags & MOBILITY_STAND)) + if(target.body_position == LYING_DOWN) atk_verb = ATTACK_EFFECT_KICK switch(atk_verb)//this code is really stupid but some genius apparently made "claw" and "slash" two attack types but also the same one so it's needed i guess @@ -1610,8 +1637,9 @@ GLOBAL_LIST_EMPTY(features_by_species) if(!damage || !affecting)//future-proofing for species that have 0 damage/weird cases where no zone is targeted playsound(target.loc, user.dna.species.miss_sound, 25, 1, -1) - target.visible_message("[user]'s [atk_verb] misses [target]!",\ - "[user]'s [atk_verb] misses you!", null, COMBAT_MESSAGE_RANGE) + target.visible_message("[user]'s [atk_verb] misses [target]!", \ + "You avoid [user]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "Your [atk_verb] misses [target]!") log_combat(user, target, "attempted to punch") return FALSE @@ -1620,7 +1648,8 @@ GLOBAL_LIST_EMPTY(features_by_species) playsound(target.loc, user.dna.species.attack_sound, 25, 1, -1) target.visible_message("[user] [atk_verb]ed [target]!", \ - "[user] [atk_verb]ed you!", null, COMBAT_MESSAGE_RANGE) + "You're [atk_verb]ed by [user]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "You [atk_verb] [target]!") target.lastattacker = user.real_name target.lastattackerckey = user.ckey @@ -1646,8 +1675,9 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/disarm(mob/living/carbon/user, mob/living/carbon/human/target, datum/martial_art/attacker_style) if(target.check_block()) - target.visible_message("[target] blocks [user]'s shoving attempt!", \ - "You block [user]'s shoving attempt!") + target.visible_message("[user]'s shove is blocked by [target]!", \ + "You block [user]'s shove!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user) + to_chat(user, "Your shove at [target] was blocked!") return FALSE if(attacker_style && attacker_style.disarm_act(user,target)) return TRUE @@ -1676,7 +1706,8 @@ GLOBAL_LIST_EMPTY(features_by_species) if((M != H) && M.a_intent != INTENT_HELP && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK)) log_combat(M, H, "attempted to touch") H.visible_message("[M] attempts to touch [H]!", \ - "[M] attempts to touch you!") + "[M] attempts to touch you!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You attempt to touch [H]!") return 0 SEND_SIGNAL(M, COMSIG_MOB_ATTACK_HAND, M, H, attacker_style) SEND_SIGNAL(H, COMSIG_MOB_HAND_ATTACKED, H, M, attacker_style) @@ -1950,7 +1981,7 @@ GLOBAL_LIST_EMPTY(features_by_species) // Get the changes to the skin from the core temp var/core_skin_diff = humi.coretemperature - humi.bodytemperature // change rate of 0.08 to reflect temp back in to the core at the same rate as core to skin - var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.08) + var/core_skin_change = (1 + thermal_protection) * get_temp_change_amount(core_skin_diff, 0.09) // We do not want to over shoot after using protection if(core_skin_diff > 0) @@ -2232,7 +2263,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(H.getorgan(/obj/item/organ/wings)) if(wings.flight_level >= WINGS_FLYING && H.movement_type & FLYING) flyslip(H) - . = stunmod * H.physiology.stun_mod * amount + . = max(stunmod + H.physiology.stun_add, 0) * H.physiology.stun_mod * amount ////////////// //Space Move// @@ -2279,7 +2310,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/organ/wings/wings = H.getorganslot(ORGAN_SLOT_WINGS) if(!H.getorgan(/obj/item/organ/wings)) return FALSE - if(H.stat || !(H.mobility_flags & MOBILITY_STAND)) + if(H.stat || H.body_position == LYING_DOWN) return FALSE var/turf/T = get_turf(H) if(!T) @@ -2321,7 +2352,6 @@ GLOBAL_LIST_EMPTY(features_by_species) H.setMovetype(H.movement_type | FLYING) override_float = TRUE H.pass_flags |= PASSTABLE - H.update_mobility() if(("wings" in H.dna.species.mutant_bodyparts) || ("moth_wings" in H.dna.species.mutant_bodyparts)) H.Togglewings() else 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 3ab82a79610c2..be59dc9e0cc70 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -36,33 +36,29 @@ bodytemp_cold_damage_limit = (T20C - 10) // about 10c var/current_color - var/EMPeffect = FALSE - var/emageffect = FALSE + //var/default_color var/r1 var/g1 var/b1 var/static/r2 = 237 var/static/g2 = 164 var/static/b2 = 149 + var/EMPeffect = FALSE + var/emageffect = FALSE //this is shit but how do i fix it? no clue. var/drain_time = 0 //used to keep ethereals from spam draining power sources inert_mutation = OVERLOAD var/obj/effect/dummy/lighting_obj/ethereal_light - /datum/species/ethereal/Destroy(force) - if(ethereal_light) - QDEL_NULL(ethereal_light) + QDEL_NULL(ethereal_light) return ..() -/datum/species/ethereal/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) - ethereal_light = C.mob_light() - +/datum/species/ethereal/on_species_gain(mob/living/carbon/new_ethereal, datum/species/old_species, pref_load) . = ..() - - if(!ishuman(C)) + if(!ishuman(new_ethereal)) return - var/mob/living/carbon/human/ethereal = C + var/mob/living/carbon/human/ethereal = new_ethereal default_color = "#[ethereal.dna.features["ethcolor"]]" r1 = GETREDPART(default_color) g1 = GETGREENPART(default_color) @@ -70,15 +66,14 @@ RegisterSignal(ethereal, COMSIG_ATOM_SHOULD_EMAG, PROC_REF(should_emag)) RegisterSignal(ethereal, COMSIG_ATOM_ON_EMAG, PROC_REF(on_emag)) RegisterSignal(ethereal, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) - + ethereal_light = ethereal.mob_light(light_type = /obj/effect/dummy/lighting_obj/moblight/species) spec_updatehealth(ethereal) - //The following code is literally only to make admin-spawned ethereals not be black. - C.dna.features["mcolor"] = C.dna.features["ethcolor"] //Ethcolor and Mut color are both dogshit and will be replaced - for(var/obj/item/bodypart/BP as() in C.bodyparts) - if(BP.limb_id == SPECIES_ETHEREAL) - BP.update_limb(is_creating = TRUE) + new_ethereal.dna.features["mcolor"] = new_ethereal.dna.features["ethcolor"] //Ethcolor and Mut color are both dogshit and will be replaced + for(var/obj/item/bodypart/limb as anything in new_ethereal.bodyparts) + if(limb.limb_id == SPECIES_ETHEREAL) + limb.update_limb(is_creating = TRUE) /datum/species/ethereal/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) UnregisterSignal(C, COMSIG_ATOM_SHOULD_EMAG) @@ -87,7 +82,6 @@ QDEL_NULL(ethereal_light) return ..() - /datum/species/ethereal/random_name(gender, unique, lastname, attempts) . = "[pick(GLOB.ethereal_names)] [random_capital_letter()]" if(prob(65)) @@ -97,11 +91,12 @@ if(findname(.)) . = .(gender, TRUE, lastname, ++attempts) - -/datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/H) +/datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/ethereal) . = ..() - if(H.stat != DEAD && !EMPeffect) - var/healthpercent = max(H.health, 0) / 100 + if(!ethereal_light) + return + if(ethereal.stat != DEAD && !EMPeffect) + var/healthpercent = max(ethereal.health, 0) / 100 if(!emageffect) current_color = rgb(r2 + ((r1-r2)*healthpercent), g2 + ((g1-g2)*healthpercent), b2 + ((b1-b2)*healthpercent)) ethereal_light.set_light_range_power_color(1 + (2 * healthpercent), 1 + (1 * healthpercent), current_color) @@ -110,11 +105,11 @@ else ethereal_light.set_light_on(FALSE) fixed_mut_color = rgb(128,128,128) - H.update_body() + ethereal.update_body() + //ethereal.update_hair() /datum/species/ethereal/proc/on_emp_act(mob/living/carbon/human/H, severity) SIGNAL_HANDLER - EMPeffect = TRUE spec_updatehealth(H) to_chat(H, "You feel the light of your body leave you.") 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 d0cb954bb596b..acda8d150343a 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -99,7 +99,7 @@ //Check to make sure legs are working var/obj/item/bodypart/left_leg = H.get_bodypart(BODY_ZONE_L_LEG) var/obj/item/bodypart/right_leg = H.get_bodypart(BODY_ZONE_R_LEG) - if(!left_leg || !right_leg || left_leg.disabled || right_leg.disabled) + if(!left_leg || !right_leg || left_leg.bodypart_disabled || right_leg.bodypart_disabled) return ..() if(levels == 1) //Nailed it! diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 1e1a45b1d25c9..8b46658c88f6e 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -68,6 +68,12 @@ SPECIES_PERK_NAME = "Asimov Superiority", SPECIES_PERK_DESC = "The AI and their cyborgs are often (but not always) subservient only \ to humans. As a human, silicons are required to both protect and obey you under the Asimov lawset.", + ), + list( + SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, + SPECIES_PERK_ICON = "users", + SPECIES_PERK_NAME = "Indomitable Human Spirit", + SPECIES_PERK_DESC = "You're a human, you were born to inherit the stars!", )) if(CONFIG_GET(flag/enforce_human_authority)) 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 d9493fe6a43c0..7f4c9f3d5ec1c 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -309,7 +309,7 @@ plural_form = null id = SPECIES_LUMINESCENT var/glow_intensity = LUMINESCENT_DEFAULT_GLOW - var/obj/effect/dummy/luminescent_glow/glow + var/obj/effect/dummy/lighting_obj/moblight/glow var/obj/item/slime_extract/current_extract var/datum/action/innate/integrate_extract/integrate_extract var/datum/action/innate/use_extract/extract_minor @@ -319,7 +319,7 @@ examine_limb_id = SPECIES_OOZELING //Species datums don't normally implement destroy, but JELLIES SUCK ASS OUT OF A STEEL STRAW -/datum/species/oozeling/luminescent/Destroy(force, ...) +/datum/species/oozeling/luminescent/Destroy(force) current_extract = null QDEL_NULL(glow) QDEL_NULL(integrate_extract) @@ -327,27 +327,16 @@ QDEL_NULL(extract_minor) return ..() - -/datum/species/oozeling/luminescent/on_species_loss(mob/living/carbon/C) - ..() - if(current_extract) - current_extract.forceMove(C.drop_location()) - current_extract = null - QDEL_NULL(glow) - QDEL_NULL(integrate_extract) - QDEL_NULL(extract_major) - QDEL_NULL(extract_minor) - -/datum/species/oozeling/luminescent/on_species_gain(mob/living/carbon/C, datum/species/old_species) +/datum/species/oozeling/luminescent/on_species_gain(mob/living/carbon/new_jellyperson, datum/species/old_species) ..() - glow = new(C) - update_glow(C) + glow = new_jellyperson.mob_light(light_type = /obj/effect/dummy/lighting_obj/moblight/species) + update_glow(new_jellyperson) integrate_extract = new(src) - integrate_extract.Grant(C) + integrate_extract.Grant(new_jellyperson) extract_minor = new(src) - extract_minor.Grant(C) + extract_minor.Grant(new_jellyperson) extract_major = new(src) - extract_major.Grant(C) + extract_major.Grant(new_jellyperson) /datum/species/oozeling/luminescent/proc/update_slime_actions() integrate_extract.update_name() @@ -355,25 +344,21 @@ extract_minor.UpdateButtonIcon() extract_major.UpdateButtonIcon() -/datum/species/oozeling/luminescent/proc/update_glow(mob/living/carbon/C, intensity) - if(intensity) - glow_intensity = intensity - glow.set_light(glow_intensity, glow_intensity, C.dna.features["mcolor"]) - -/obj/effect/dummy/luminescent_glow - name = "luminescent glow" - desc = "Tell a coder if you're seeing this." - icon_state = "nothing" - light_color = "#FFFFFF" - light_range = LUMINESCENT_DEFAULT_GLOW - light_system = MOVABLE_LIGHT - light_power = 2.5 - -/obj/effect/dummy/luminescent_glow/Initialize(mapload) +/datum/species/oozeling/luminescent/on_species_loss(mob/living/carbon/C) . = ..() - if(!isliving(loc)) - return INITIALIZE_HINT_QDEL + if(current_extract) + current_extract.forceMove(C.drop_location()) + current_extract = null + QDEL_NULL(glow) + QDEL_NULL(integrate_extract) + QDEL_NULL(extract_major) + QDEL_NULL(extract_minor) +/// Updates the glow of our internal glow object +/datum/species/oozeling/luminescent/proc/update_glow(mob/living/carbon/human/glowie, intensity) + if(intensity) + glow_intensity = intensity + glow.set_light_range_power_color(glow_intensity, glow_intensity, glowie.dna.features["mcolor"]) /datum/action/innate/integrate_extract name = "Integrate Extract" diff --git a/code/modules/mob/living/carbon/human/status_procs.dm b/code/modules/mob/living/carbon/human/status_procs.dm index f61f5e5ae8964..337cba0d5413e 100644 --- a/code/modules/mob/living/carbon/human/status_procs.dm +++ b/code/modules/mob/living/carbon/human/status_procs.dm @@ -1,27 +1,27 @@ -/mob/living/carbon/human/Stun(amount, updating = TRUE, ignore_canstun = FALSE) +/mob/living/carbon/human/Stun(amount, ignore_canstun = FALSE) amount = dna.species.spec_stun(src,amount) return ..() -/mob/living/carbon/human/Knockdown(amount, updating = TRUE, ignore_canstun = FALSE) +/mob/living/carbon/human/Knockdown(amount, ignore_canstun = FALSE) amount = dna.species.spec_stun(src,amount) return ..() -/mob/living/carbon/human/Paralyze(amount, updating = TRUE, ignore_canstun = FALSE) +/mob/living/carbon/human/Paralyze(amount, ignore_canstun = FALSE) amount = dna.species.spec_stun(src, amount) return ..() -/mob/living/carbon/human/Immobilize(amount, updating = TRUE, ignore_canstun = FALSE) +/mob/living/carbon/human/Immobilize(amount, ignore_canstun = FALSE) amount = dna.species.spec_stun(src, amount) return ..() -/mob/living/carbon/human/Unconscious(amount, updating = 1, ignore_canunconscious = 0) +/mob/living/carbon/human/Unconscious(amount, ignore_canstun = FALSE) amount = dna.species.spec_stun(src,amount) if(HAS_TRAIT(src, TRAIT_HEAVY_SLEEPER)) amount *= rand(1.25, 1.3) return ..() -/mob/living/carbon/human/Sleeping(amount, updating = 1, ignore_sleepimmune = 0) +/mob/living/carbon/human/Sleeping(amount) if(HAS_TRAIT(src, TRAIT_HEAVY_SLEEPER)) amount *= rand(1.25, 1.3) return ..() diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 649f6d8dd4f53..59cbfeef54f6b 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -52,11 +52,9 @@ There are several things that need to be remembered: /mob/living/carbon/human/update_hair() dna.species.handle_hair(src) -//used when putting/removing clothes that hide certain mutant body parts to just update those and not update the whole body. /mob/living/carbon/human/proc/update_mutant_bodyparts() dna.species.handle_mutant_bodyparts(src) - /mob/living/carbon/human/update_body() remove_overlay(BODY_LAYER) dna.species.handle_body(src) @@ -218,7 +216,7 @@ There are several things that need to be remembered: if(!gloves && blood_in_hands) var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) - if(get_num_arms(FALSE) < 2) + if(num_hands < 2) if(has_left_hand(FALSE)) bloody_overlay.icon_state = "bloodyhands_left" else if(has_right_hand(FALSE)) @@ -342,7 +340,7 @@ There are several things that need to be remembered: /mob/living/carbon/human/update_inv_shoes() remove_overlay(SHOES_LAYER) - if(get_num_legs(FALSE) <2) + if(num_legs < 2) return if(client && hud_used) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 19863f210eb53..7ad738ff2a83a 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -274,7 +274,8 @@ //Fourth and final link in a breath chain /mob/living/carbon/proc/handle_breath_temperature(datum/gas_mixture/breath) - return + // The air you breathe out should match your body temperature + breath.set_temperature(bodytemperature) /// Attempts to take a breath from the external or internal air tank. /mob/living/carbon/proc/get_breath_from_internal(volume_needed) @@ -647,12 +648,12 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put /mob/living/carbon/proc/share_bodytemperature(mob/living/carbon/M) var/temp_diff = bodytemperature - M.bodytemperature if(temp_diff > 0) // you are warm share the heat of life - M.adjust_bodytemperature(temp_diff, use_insulation=TRUE, use_steps=TRUE) // warm up the giver - adjust_bodytemperature((temp_diff * -1), use_insulation=TRUE, use_steps=TRUE) // cool down the reciver + M.adjust_bodytemperature((temp_diff * 0.5), use_insulation=TRUE, use_steps=TRUE) // warm up the giver + adjust_bodytemperature((temp_diff * -0.5), use_insulation=TRUE, use_steps=TRUE) // cool down the reciver else // they are warmer leech from them - adjust_bodytemperature(temp_diff, use_insulation=TRUE, use_steps=TRUE) // warm up the reciver - M.adjust_bodytemperature((temp_diff * -1), use_insulation=TRUE, use_steps=TRUE) // cool down the giver + adjust_bodytemperature((temp_diff * -0.5) , use_insulation=TRUE, use_steps=TRUE) // warm up the reciver + M.adjust_bodytemperature((temp_diff * 0.5), use_insulation=TRUE, use_steps=TRUE) // cool down the giver /** * Adjust the body temperature of a mob @@ -664,21 +665,19 @@ GLOBAL_LIST_INIT(ballmer_windows_me_msg, list("Yo man, what if, we like, uh, put * * max_temp (optional) The maximum body temperature after adjustment * * use_insulation (optional) modifies the amount based on the amount of insulation the mob has * * use_steps (optional) Use the body temp divisors and max change rates - * * hardsuit_fix (optional) num bodytemp_normal - H.bodytemperature Use hardsuit override until hardsuits fix is done... + * * capped (optional) default True used to cap step mode */ -/mob/living/carbon/adjust_bodytemperature(amount, min_temp=0, max_temp=INFINITY, use_insulation=FALSE, use_steps=FALSE, \ - hardsuit_fix=FALSE) +/mob/living/carbon/adjust_bodytemperature(amount, min_temp=0, max_temp=INFINITY, use_insulation=FALSE, use_steps=FALSE, capped=TRUE) // apply insulation to the amount of change if(use_insulation) amount *= (1 - get_insulation_protection(bodytemperature + amount)) - // Extra calculation for hardsuits to bleed off heat - if(hardsuit_fix) - amount += hardsuit_fix - // Use the bodytemp divisors to get the change step, with max step size if(use_steps) - amount = (amount > 0) ? min(amount / BODYTEMP_HEAT_DIVISOR, BODYTEMP_HEATING_MAX) : max(amount / BODYTEMP_COLD_DIVISOR, BODYTEMP_COOLING_MAX) + amount = (amount > 0) ? (amount / BODYTEMP_HEAT_DIVISOR) : (amount / BODYTEMP_COLD_DIVISOR) + // Clamp the results to the min and max step size + if(capped) + amount = (amount > 0) ? min(amount, BODYTEMP_HEATING_MAX) : max(amount, BODYTEMP_COOLING_MAX) if(bodytemperature >= min_temp && bodytemperature <= max_temp) bodytemperature = clamp(bodytemperature + amount, min_temp, max_temp) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index 5c5f429b56e67..752f12d8cfb1c 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -47,6 +47,8 @@ if(1000 to INFINITY) adjustFireLoss(8) + . = ..() // interact with body heat after dealing with the hot air + /mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) // Run base mob body temperature proc before taking damage // this balances body temp to the enviroment and natural stabilization diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index e317af6a671b3..4d5ac25067f0e 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -14,8 +14,14 @@ gib_type = /obj/effect/decal/cleanable/blood/gibs unique_name = TRUE blocks_emissive = EMISSIVE_BLOCK_UNIQUE - bodyparts = list(/obj/item/bodypart/chest/monkey, /obj/item/bodypart/head/monkey, /obj/item/bodypart/l_arm/monkey, - /obj/item/bodypart/r_arm/monkey, /obj/item/bodypart/r_leg/monkey, /obj/item/bodypart/l_leg/monkey) + bodyparts = list( + /obj/item/bodypart/chest/monkey, + /obj/item/bodypart/head/monkey, + /obj/item/bodypart/l_arm/monkey, + /obj/item/bodypart/r_arm/monkey, + /obj/item/bodypart/r_leg/monkey, + /obj/item/bodypart/l_leg/monkey + ) hud_type = /datum/hud/monkey mobchatspan = "monkeyhive" ai_controller = /datum/ai_controller/monkey @@ -39,7 +45,7 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list( /mob/living/carbon/monkey/Initialize(mapload, cubespawned=FALSE, mob/spawner) add_verb(/mob/living/proc/mob_sleep) - add_verb(/mob/living/proc/lay_down) + add_verb(/mob/living/proc/toggle_resting) icon_state = null @@ -136,6 +142,8 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list( return FALSE /mob/living/carbon/monkey/canBeHandcuffed() + if(num_hands < 2) + return FALSE return TRUE /mob/living/carbon/monkey/assess_threat(judgment_criteria, lasercolor = "", datum/callback/weaponcheck=null) diff --git a/code/modules/mob/living/carbon/monkey/monkey_defense.dm b/code/modules/mob/living/carbon/monkey/monkey_defense.dm index 33346b7eea42a..7355cac739930 100644 --- a/code/modules/mob/living/carbon/monkey/monkey_defense.dm +++ b/code/modules/mob/living/carbon/monkey/monkey_defense.dm @@ -39,7 +39,8 @@ if("harm") M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) visible_message("[M] punches [name]!", \ - "[M] punches you!", null, COMBAT_MESSAGE_RANGE) + "[M] punches you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You punch [name]!") playsound(loc, "punch", 25, 1, -1) var/damage = M.dna.species.punchdamage var/obj/item/bodypart/affecting = get_bodypart(check_zone(M.get_combat_bodyzone(src))) @@ -62,10 +63,12 @@ if(AmountUnconscious() < 300) Unconscious(rand(200, 300)) visible_message("[M] wounds [name]!", \ - "[M] wounds you!", null, COMBAT_MESSAGE_RANGE) + "[M] wounds you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You wound [name]!") else visible_message("[M] slashes [name]!", \ - "[M] slashes you!", null, COMBAT_MESSAGE_RANGE) + "[M] slashes you!", "You hear a sickening sound of a slice!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You slash [name]!") var/obj/item/bodypart/affecting = get_bodypart(ran_zone(M.get_combat_bodyzone(src))) log_combat(M, src, "attacked", M) @@ -78,7 +81,8 @@ else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) visible_message("[M]'s lunge misses [name]!", \ - "[M]'s lunge misses you!", null, COMBAT_MESSAGE_RANGE) + "You avoid [M]'s lunge!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "Your lunge misses [name]!") if (M.a_intent == INTENT_DISARM) var/obj/item/I = null @@ -86,12 +90,14 @@ if(prob(95)) Paralyze(20) visible_message("[M] tackles [name] down!", \ - "[M] tackles you down!", null, COMBAT_MESSAGE_RANGE) + "[M] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You tackle [name] down!") else I = get_active_held_item() if(dropItemToGround(I)) visible_message("[M] disarms [name]!", \ - "[M] disarms you!", null, COMBAT_MESSAGE_RANGE) + "[M] disarms you!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You disarm [name]!") else I = null log_combat(M, src, "disarmed", null, "[I ? " removing \the [I]" : ""]", important = FALSE) diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm index e54a50bcfbc76..ae540b3b78506 100644 --- a/code/modules/mob/living/carbon/status_procs.dm +++ b/code/modules/mob/living/carbon/status_procs.dm @@ -16,7 +16,7 @@ ADD_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) ADD_TRAIT(src, TRAIT_FLOORED, STAMINA) - update_mobility() + /mob/living/carbon/adjust_drugginess(amount) druggy = max(druggy+amount, 0) diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index d644c52a83e5b..505201504141c 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -208,7 +208,6 @@ /obj/item/proc/worn_overlays(mutable_appearance/standing, isinhands = FALSE, icon_file, item_layer, atom/origin) . = list() - /mob/living/carbon/update_body() update_body_parts() diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 7737f0629daa1..78891afb06589 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -72,7 +72,6 @@ update_action_buttons_icon() update_health_hud() - update_mobility() med_hud_set_health() med_hud_set_status() diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 2dbe321d48597..6908a0bbb88da 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -245,8 +245,8 @@ message_param = initial(message_param) // reset if(ishuman(user) && intentional) var/mob/living/carbon/human/H = user - if(H.get_num_arms() == 0) - if(H.get_num_legs() != 0) + if(H.usable_hands == 0) + if(H.usable_legs != 0) message_param = "tries to point at %t with a leg, falling down in the process!" H.Paralyze(20) else @@ -389,6 +389,9 @@ message = null mob_type_blacklist_typecache = /mob/living/brain +/datum/emote/living/custom/can_run_emote(mob/user, status_check, intentional) + . = ..() && intentional + /datum/emote/living/custom/proc/check_invalid(mob/user, input) var/static/regex/stop_bad_mime = regex(@"says|exclaims|yells|asks") if(stop_bad_mime.Find(input, 1, 1)) @@ -396,9 +399,6 @@ return TRUE return FALSE -/datum/emote/living/custom/can_run_emote(mob/user, status_check, intentional) - . = ..() && intentional - /datum/emote/living/custom/run_emote(mob/user, params, type_override = null, intentional = FALSE) if(!can_run_emote(user, TRUE, intentional)) return FALSE diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm index 3181de18cd9c8..61a25fa4d2728 100644 --- a/code/modules/mob/living/inhand_holder.dm +++ b/code/modules/mob/living/inhand_holder.dm @@ -86,7 +86,7 @@ releasing = FALSE return TRUE -/obj/item/clothing/head/mob_holder/relaymove(mob/user) +/obj/item/clothing/head/mob_holder/relaymove(mob/living/user, direction) release() /obj/item/clothing/head/mob_holder/container_resist() diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index 290c774b656a8..108570a584da3 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -9,12 +9,27 @@ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_gain)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_IMMOBILIZED), PROC_REF(on_immobilized_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FLOORED), PROC_REF(on_floored_trait_loss)) + + //RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_FORCED_STANDING), PROC_REF(on_forced_standing_trait_gain)) + //RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_FORCED_STANDING), PROC_REF(on_forced_standing_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_gain)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_HANDS_BLOCKED), PROC_REF(on_handsblocked_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UI_BLOCKED), PROC_REF(on_ui_blocked_trait_loss)) + + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PULL_BLOCKED), PROC_REF(on_pull_blocked_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PULL_BLOCKED), PROC_REF(on_pull_blocked_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_INCAPACITATED), PROC_REF(on_incapacitated_trait_gain)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_INCAPACITATED), PROC_REF(on_incapacitated_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_loss)) + RegisterSignals(src, list( SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), SIGNAL_REMOVETRAIT(TRAIT_CRITICAL_CONDITION), @@ -35,7 +50,6 @@ if(stat <= UNCONSCIOUS) update_stat() - ///Called when TRAIT_DEATHCOMA is added to the mob. /mob/living/proc/on_deathcoma_trait_gain(datum/source) SIGNAL_HANDLER @@ -51,42 +65,111 @@ /mob/living/proc/on_immobilized_trait_gain(datum/source) SIGNAL_HANDLER mobility_flags &= ~MOBILITY_MOVE + if(living_flags & MOVES_ON_ITS_OWN) + walk(src, 0) //stop mid walk ///Called when TRAIT_IMMOBILIZED is removed from the mob. /mob/living/proc/on_immobilized_trait_loss(datum/source) SIGNAL_HANDLER mobility_flags |= MOBILITY_MOVE -///Called when TRAIT_HANDS_BLOCKED is added to the mob. + +/// Called when [TRAIT_FLOORED] is added to the mob. +/mob/living/proc/on_floored_trait_gain(datum/source) + SIGNAL_HANDLER + if(buckled && buckled.buckle_lying != NO_BUCKLE_LYING) + return // Handled by the buckle. + mobility_flags &= ~MOBILITY_STAND + on_floored_start() + + +/// Called when [TRAIT_FLOORED] is removed from the mob. +/mob/living/proc/on_floored_trait_loss(datum/source) + SIGNAL_HANDLER + mobility_flags |= MOBILITY_STAND + on_floored_end() + + +/// Called when [TRAIT_HANDS_BLOCKED] is added to the mob. /mob/living/proc/on_handsblocked_trait_gain(datum/source) SIGNAL_HANDLER mobility_flags &= ~(MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_STORAGE) - drop_all_held_items() + on_handsblocked_start() if (active_storage) active_storage.hide_from(src) update_action_buttons_icon(TRUE) -///Called when TRAIT_HANDS_BLOCKED is removed from the mob. +/// Called when [TRAIT_HANDS_BLOCKED] is removed from the mob. /mob/living/proc/on_handsblocked_trait_loss(datum/source) SIGNAL_HANDLER mobility_flags |= (MOBILITY_USE | MOBILITY_PICKUP | MOBILITY_STORAGE) + on_handsblocked_end() update_action_buttons_icon(TRUE) -/// Called when traits that alter succumbing are added/removed. -/// Will show or hide the succumb alert prompt. -/mob/living/proc/update_succumb_action() + +/// Called when [TRAIT_UI_BLOCKED] is added to the mob. +/mob/living/proc/on_ui_blocked_trait_gain(datum/source) SIGNAL_HANDLER - if (CAN_SUCCUMB(src)) - throw_alert("succumb", /atom/movable/screen/alert/succumb) - else - clear_alert("succumb") + mobility_flags &= ~(MOBILITY_UI) + unset_machine() + update_action_buttons_icon() + +/// Called when [TRAIT_UI_BLOCKED] is removed from the mob. +/mob/living/proc/on_ui_blocked_trait_loss(datum/source) + SIGNAL_HANDLER + mobility_flags |= MOBILITY_UI + update_action_buttons_icon() + + +/// Called when [TRAIT_PULL_BLOCKED] is added to the mob. +/mob/living/proc/on_pull_blocked_trait_gain(datum/source) + SIGNAL_HANDLER + mobility_flags &= ~(MOBILITY_PULL) + if(pulling) + stop_pulling() + +/// Called when [TRAIT_PULL_BLOCKED] is removed from the mob. +/mob/living/proc/on_pull_blocked_trait_loss(datum/source) + SIGNAL_HANDLER + mobility_flags |= MOBILITY_PULL + -///Called when TRAIT_INCAPACITATED is added to the mob. +/// Called when [TRAIT_INCAPACITATED] is added to the mob. /mob/living/proc/on_incapacitated_trait_gain(datum/source) SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) + ADD_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) + update_icon() update_action_buttons_icon(TRUE) -///Called when TRAIT_INCAPACITATED is removed from the mob. +/// Called when [TRAIT_INCAPACITATED] is removed from the mob. /mob/living/proc/on_incapacitated_trait_loss(datum/source) SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_INCAPACITATED) + REMOVE_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_INCAPACITATED) + update_icon() update_action_buttons_icon(TRUE) + + +/// Called when [TRAIT_RESTRAINED] is added to the mob. +/mob/living/proc/on_restrained_trait_gain(datum/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_RESTRAINED) + +/// Called when [TRAIT_RESTRAINED] is removed from the mob. +/mob/living/proc/on_restrained_trait_loss(datum/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_RESTRAINED) + + +/** + * Called when traits that alter succumbing are added/removed. + * + * Will show or hide the succumb alert prompt. + */ +/mob/living/proc/update_succumb_action() + SIGNAL_HANDLER + if (CAN_SUCCUMB(src)) + throw_alert("succumb", /atom/movable/screen/alert/succumb) + else + clear_alert("succumb") diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b5b61b73a2edc..caf4b857864ca 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -60,7 +60,7 @@ return if(buckled || now_pushing) return - if(confused && stat == CONSCIOUS && (mobility_flags & MOBILITY_STAND) && m_intent == "run" && !ismovable(A) && !HAS_MOB_PROPERTY(src, PROP_CANTBUMPSLAM)) // ported from VORE, sue me + if(confused && stat == CONSCIOUS && body_position == STANDING_UP && m_intent == "run" && !ismovable(A) && !HAS_MOB_PROPERTY(src, PROP_CANTBUMPSLAM)) // ported from VORE, sue me //Suing you rn APPLY_MOB_PROPERTY(src, PROP_CANTBUMPSLAM, src.type) //Bump() is called continuously so ratelimit the check to 20 seconds if it passes or 5 if it doesn't if(prob(10)) playsound(get_turf(src), "punch", 25, 1, -1) @@ -288,7 +288,9 @@ if(AM.pulledby) if(!supress_message) - visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.") + AM.visible_message("[src] has pulled [AM] from [AM.pulledby]'s grip.", \ + "[src] has pulled you from [AM.pulledby]'s grip.", null, null, src) + to_chat(src, "You pull [AM] from [AM.pulledby]'s grip!") log_combat(AM, AM.pulledby, "pulled from", src, important = FALSE) AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once. @@ -432,11 +434,11 @@ death() /mob/living/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_stasis = FALSE) - if(stat || HAS_TRAIT(src, TRAIT_INCAPACITATED) || (!ignore_restraints && (HAS_TRAIT(src, TRAIT_RESTRAINED) || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_NECK))) || (!ignore_stasis && IS_IN_STASIS(src))) + if(HAS_TRAIT(src, TRAIT_INCAPACITATED) || (!ignore_restraints && (HAS_TRAIT(src, TRAIT_RESTRAINED) || (!ignore_grab && pulledby && pulledby.grab_state >= GRAB_NECK))) || (!ignore_stasis && IS_IN_STASIS(src))) return TRUE /mob/living/canUseStorage() - if (get_num_arms() <= 0) + if (usable_hands <= 0) return FALSE return TRUE @@ -481,42 +483,97 @@ else if(alert(src, "You sure you want to sleep for a while?", "Sleep", "Yes", "No") == "Yes") SetSleeping(400) //Short nap - update_mobility() + /mob/proc/get_contents() -/mob/living/proc/lay_down() + +/mob/living/proc/toggle_resting() set name = "Rest" set category = "IC" - if(!resting) - set_resting(TRUE, FALSE) - else - if(do_after(src, 10, target = src, timed_action_flags = IGNORE_RESTRAINED | IGNORE_HELD_ITEM | IGNORE_USER_LOC_CHANGE)) - set_resting(FALSE, FALSE) - else - to_chat(src, "You fail to get up.") + set_resting(!resting, FALSE) + ///Proc to hook behavior to the change of value in the resting variable. -/mob/living/proc/set_resting(rest, silent = TRUE) - if(rest == resting) +/mob/living/proc/set_resting(new_resting, silent = TRUE, instant = FALSE) + if(new_resting == resting) return - if(!silent) - if(rest) - to_chat(src, "You are now resting.") + . = resting + resting = new_resting + if(new_resting) + if(body_position == LYING_DOWN) + if(!silent) + to_chat(src, "You will now try to stay lying down on the floor.") + else if(buckled && buckled.buckle_lying != NO_BUCKLE_LYING) + if(!silent) + to_chat(src, "You will now lay down as soon as you are able to.") + else + if(!silent) + to_chat(src, "You lay down.") + set_lying_down() + else + if(body_position == STANDING_UP) + if(!silent) + to_chat(src, "You will now try to remain standing up.") + else if(HAS_TRAIT(src, TRAIT_FLOORED) || (buckled && buckled.buckle_lying != NO_BUCKLE_LYING)) + if(!silent) + to_chat(src, "You will now stand up as soon as you are able to.") else - to_chat(src, "You get up.") - . = rest - resting = rest + if(!silent) + to_chat(src, "You stand up.") + get_up(instant) + update_resting() +/// Proc to append and redefine behavior to the change of the [/mob/living/var/resting] variable. /mob/living/proc/update_resting() update_rest_hud_icon() - update_mobility() SEND_SIGNAL(src, COMSIG_LIVING_RESTING_UPDATED, resting) +/mob/living/proc/get_up(instant = FALSE) + set waitfor = FALSE + if(!instant && !do_after(src, 1 SECONDS, src, timed_action_flags = (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE|IGNORE_HELD_ITEM), extra_checks = CALLBACK(src, TYPE_PROC_REF(/mob/living, rest_checks_callback)))) + return + if(resting || body_position == STANDING_UP || HAS_TRAIT(src, TRAIT_FLOORED)) + return + set_body_position(STANDING_UP) + set_lying_angle(0) + + +/mob/living/proc/rest_checks_callback() + if(resting || lying_angle == 0 || HAS_TRAIT(src, TRAIT_FLOORED)) + return FALSE + return TRUE + + +/// Change the [body_position] to [LYING_DOWN] and update associated behavior. +/mob/living/proc/set_lying_down(new_lying_angle) + set_body_position(LYING_DOWN) + + +/// Proc to append behavior related to lying down. +/mob/living/proc/on_lying_down(new_lying_angle) + if(layer == initial(layer)) //to avoid things like hiding larvas. + layer = LYING_MOB_LAYER //so mob lying always appear behind standing mobs + ADD_TRAIT(src, TRAIT_UI_BLOCKED, LYING_DOWN_TRAIT) + ADD_TRAIT(src, TRAIT_PULL_BLOCKED, LYING_DOWN_TRAIT) + density = FALSE // We lose density and stop bumping passable dense things. + if(HAS_TRAIT(src, TRAIT_FLOORED) && !(dir & (NORTH|SOUTH))) + setDir(pick(NORTH, SOUTH)) // We are and look helpless. + + +/// Proc to append behavior related to lying down. +/mob/living/proc/on_standing_up() + if(layer == LYING_MOB_LAYER) + layer = initial(layer) + density = initial(density) // We were prone before, so we become dense and things can bump into us again. + REMOVE_TRAIT(src, TRAIT_UI_BLOCKED, LYING_DOWN_TRAIT) + REMOVE_TRAIT(src, TRAIT_PULL_BLOCKED, LYING_DOWN_TRAIT) + + //Recursive function to find everything a mob is holding. Really shitty proc tbh. /mob/living/get_contents() var/list/ret = list() @@ -572,7 +629,6 @@ set_suicide(FALSE) set_stat(UNCONSCIOUS) //the mob starts unconscious, updatehealth() //then we check if the mob should wake up. - update_mobility() update_sight() clear_alert("not_enough_oxy") reload_fullscreen() @@ -626,16 +682,15 @@ return stat != DEAD -/mob/living/proc/remove_CC(should_update_mobility = TRUE) - SetStun(0, FALSE) - SetKnockdown(0, FALSE) - SetImmobilized(0, FALSE) - SetParalyzed(0, FALSE) - SetSleeping(0, FALSE) +/mob/living/proc/remove_CC() + SetStun(0) + SetKnockdown(0) + SetImmobilized(0) + SetParalyzed(0) + SetSleeping(0) setStaminaLoss(0) - SetUnconscious(0, FALSE) - if(should_update_mobility) - update_mobility() + SetUnconscious(0) + //proc used to completely heal a mob. /mob/living/proc/fully_heal(admin_revive = FALSE) @@ -675,9 +730,9 @@ var/datum/component/mood/mood = GetComponent(/datum/component/mood) if (mood) mood.remove_temp_moods(admin_revive) - update_mobility() stop_sound_channel(CHANNEL_HEARTBEAT) + //proc called by revive(), to check if we can actually ressuscitate the mob (we don't want to revive him and have him instantly die again) /mob/living/proc/can_be_revived() . = 1 @@ -714,9 +769,10 @@ if(active_storage && !(CanReach(active_storage.parent,view_only = TRUE))) active_storage.close(src) - if(!(mobility_flags & MOBILITY_STAND) && !buckled && prob(getBruteLoss()*200/maxHealth)) + if(body_position == LYING_DOWN && !buckled && prob(getBruteLoss()*200/maxHealth)) makeTrail(newloc, T, old_direction) + ///Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling. /mob/living/proc/lying_angle_on_movement(direct) if(direct & EAST) @@ -848,12 +904,16 @@ var/resist_chance = BASE_GRAB_RESIST_CHANCE // see defines/combat.dm resist_chance = max(resist_chance/altered_grab_state-sqrt((getStaminaLoss()+getBruteLoss()/2)*(3-altered_grab_state)), 0) // https://i.imgur.com/6yAT90T.png for sample output values if(prob(resist_chance)) - visible_message("[src] has broken free of [pulledby]'s grip!") + visible_message("[src] breaks free of [pulledby]'s grip!", \ + "You break free of [pulledby]'s grip!", null, null, pulledby) + to_chat(pulledby, "[src] breaks free of your grip!") log_combat(pulledby, src, "broke grab") pulledby.stop_pulling() return FALSE else - visible_message("[src] struggles as they fail to break free of [pulledby]'s grip!") + visible_message("[src] struggles as they fail to break free of [pulledby]'s grip!", \ + "You struggle as you fail to break free of [pulledby]'s grip!", null, null, pulledby) + to_chat(pulledby, "[src] struggles as they fail to break free of your grip!") if(moving_resist && client) //we resisted by trying to move client.move_delay = world.time + 2 SECONDS else @@ -909,8 +969,9 @@ if(!what.canStrip(who)) to_chat(src, "You can't remove [what.name], it appears to be stuck!") return - who.visible_message("[src] tries to remove [who]'s [what.name].", \ - "[src] tries to remove your [what.name].") + who.visible_message("[src] tries to remove [who]'s [what.name].", \ + "[src] tries to remove your [what.name].", null, null, src) + to_chat(src, "You try to remove [who]'s [what.name]...") what.add_fingerprint(src) if(do_after(src, what.strip_delay, who)) if(what && Adjacent(who)) @@ -945,7 +1006,8 @@ return who.visible_message("[src] tries to put [what] on [who].", \ - "[src] tries to put [what] on you.") + "[src] tries to put [what] on you.", null, null, src) + to_chat(src, "You try to put [what] on [who]...") if(do_after(src, what.equip_delay_other, who)) if(what && Adjacent(who) && what.mob_can_equip(who, src, final_where, TRUE, TRUE)) if(temporarilyRemoveItemFromInventory(what)) @@ -1199,65 +1261,8 @@ /mob/living/can_be_pulled() return ..() && !(buckled && buckled.buckle_prevents_pull) -//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it. -//Robots, animals and brains have their own version so don't worry about them -/mob/living/proc/update_mobility() - var/has_legs = get_num_legs() - var/has_arms = get_num_arms() - var/ignore_legs = get_leg_ignore() - var/canmove = !HAS_TRAIT(src, TRAIT_IMMOBILIZED) && (has_arms || ignore_legs || has_legs) - if(canmove) - mobility_flags |= MOBILITY_MOVE - else - mobility_flags &= ~MOBILITY_MOVE - var/canstand_involuntary = !HAS_TRAIT(src, TRAIT_FLOORED) && (ignore_legs || has_legs) - var/canstand = canstand_involuntary && !resting - if(buckled && buckled.buckle_lying != -1) - if(buckled.buckle_lying != 0) - mobility_flags &= ~MOBILITY_STAND - else - mobility_flags |= MOBILITY_STAND - set_lying_angle(buckled.buckle_lying) - else if(!canstand) - mobility_flags &= ~MOBILITY_STAND - if(lying_angle == 0) //force them on the ground - set_lying_angle(pick(90, 270)) - if(!canstand_involuntary) - on_fall() - else - mobility_flags |= MOBILITY_STAND - set_lying_angle(0) - - if(lying_angle != 0 || HAS_TRAIT(src, TRAIT_HANDS_BLOCKED) || incapacitated()) - mobility_flags &= ~(MOBILITY_UI|MOBILITY_PULL) - else - mobility_flags |= MOBILITY_UI|MOBILITY_PULL - - update_action_buttons_icon(TRUE) - - if(stat == UNCONSCIOUS) - drop_all_held_items() - if(!(mobility_flags & MOBILITY_PULL)) - if(pulling) - stop_pulling() - if(!(mobility_flags & MOBILITY_UI)) - unset_machine() - - // Movespeed mods based on arms/legs quantity - if(!get_leg_ignore()) - var/limbless_slowdown = 0 - // These checks for <2 should be swapped out for something else if we ever end up with a species with more than 2 - if(has_legs < 2) - limbless_slowdown += 6 - (has_legs * 3) - if(!has_legs && has_arms < 2) - limbless_slowdown += 6 - (has_arms * 3) - if(limbless_slowdown) - add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) - else - remove_movespeed_modifier(/datum/movespeed_modifier/limbless) - -///Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment, through update_mobility() +/// Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment. /mob/living/proc/on_fall() return @@ -1298,7 +1303,7 @@ if(.) if(client) reset_perspective() - update_mobility() //if the mob was asleep inside a container and then got forceMoved out we need to make them fall. + /mob/living/set_stat(new_stat) . = ..() @@ -1308,12 +1313,12 @@ if(CONSCIOUS) if(stat >= UNCONSCIOUS) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) - ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_KNOCKEDOUT) - ADD_TRAIT(src, TRAIT_FLOORED, UNCONSCIOUS_TRAIT) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, STAT_TRAIT) + ADD_TRAIT(src, TRAIT_INCAPACITATED, STAT_TRAIT) + ADD_TRAIT(src, TRAIT_FLOORED, STAT_TRAIT) if(SOFT_CRIT) if(stat >= UNCONSCIOUS) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) //adding trait sources should come before removing to avoid unnecessary updates - ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_KNOCKEDOUT) if(pulledby) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, PULLED_WHILE_SOFTCRIT_TRAIT) if(UNCONSCIOUS) @@ -1326,15 +1331,15 @@ if(CONSCIOUS) if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) - REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_KNOCKEDOUT) - REMOVE_TRAIT(src, TRAIT_FLOORED, UNCONSCIOUS_TRAIT) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, STAT_TRAIT) + REMOVE_TRAIT(src, TRAIT_INCAPACITATED, STAT_TRAIT) + REMOVE_TRAIT(src, TRAIT_FLOORED, STAT_TRAIT) REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) if(SOFT_CRIT) if(pulledby) ADD_TRAIT(src, TRAIT_IMMOBILIZED, PULLED_WHILE_SOFTCRIT_TRAIT) //adding trait sources should come before removing to avoid unnecessary updates if(. >= UNCONSCIOUS) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_KNOCKEDOUT) - REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_KNOCKEDOUT) ADD_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) if(UNCONSCIOUS) if(. != HARD_CRIT) @@ -1358,14 +1363,25 @@ . = buckled buckled = new_buckled if(buckled) - if(!.) - if(!HAS_TRAIT(buckled, TRAIT_NO_IMMOBILIZE)) //check if the object being buckled to that would normally immobilize has the NO_Immobilize trait, i.e. Wheelchairs. People buckled to wheelchairs obviously have more free movement that those buckled to stasis beds - ADD_TRAIT(src, TRAIT_IMMOBILIZED, BUCKLED_TRAIT) - if(buckled.buckle_lying) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, BUCKLED_TRAIT) + switch(buckled.buckle_lying) + if(NO_BUCKLE_LYING) // The buckle doesn't force a lying angle. + REMOVE_TRAIT(src, TRAIT_FLOORED, BUCKLED_TRAIT) + if(0) // Forcing to a standing position. + REMOVE_TRAIT(src, TRAIT_FLOORED, BUCKLED_TRAIT) + set_body_position(STANDING_UP) + set_lying_angle(0) + else // Forcing to a lying position. ADD_TRAIT(src, TRAIT_FLOORED, BUCKLED_TRAIT) - else if(.) + set_body_position(LYING_DOWN) + set_lying_angle(buckled.buckle_lying) + else REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, BUCKLED_TRAIT) REMOVE_TRAIT(src, TRAIT_FLOORED, BUCKLED_TRAIT) + if(.) // We unbuckled from something. + var/atom/movable/old_buckled = . + if(old_buckled.buckle_lying == 0 && (resting || HAS_TRAIT(src, TRAIT_FLOORED))) // The buckle forced us to stay up (like a chair) + set_lying_down() // We want to rest or are otherwise floored, so let's drop on the ground. /mob/living/set_pulledby(new_pulledby) @@ -1439,7 +1455,9 @@ if(buckled) to_chat(user, "[src] is buckled to something!") return FALSE - user.visible_message("[user] starts trying to scoop up [src]!") + user.visible_message("[user] starts trying to scoop up [src]!", \ + "You start trying to scoop up [src]...", null, null, src) + to_chat(src, "[user] starts trying to scoop you up!") if(!do_after(user, 20, target = src)) return FALSE mob_pickup(user) @@ -1540,16 +1558,6 @@ if(lying_angle != lying_prev) update_transform() lying_prev = lying_angle - if(lying_angle != 0) //We are not standing up. - if(layer == initial(layer)) //to avoid things like hiding larvas. - layer = LYING_MOB_LAYER //so mob lying always appear behind standing mobs - if(. == 0) //We became prone and were not before. We lose density and stop bumping passable dense things. - density = FALSE - else //We are prone. - if(layer == LYING_MOB_LAYER) - layer = initial(layer) - if(.) //We weren't pone before, so we become dense and things can bump into us again. - density = initial(density) /** * add_body_temperature_change Adds modifications to the body temperature @@ -1607,3 +1615,96 @@ remove_client_colour(current_correction) add_client_colour(entered.color_correction) current_correction = entered.color_correction + + +///Proc to modify the value of num_legs and hook behavior associated to this event. +/mob/living/proc/set_num_legs(new_value) + if(num_legs == new_value) + return + . = num_legs + num_legs = new_value + + +///Proc to modify the value of usable_legs and hook behavior associated to this event. +/mob/living/proc/set_usable_legs(new_value) + if(usable_legs == new_value) + return + . = usable_legs + usable_legs = new_value + + if(new_value > .) // Gained leg usage. + REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + else if(!(movement_type & (FLYING | FLOATING))) //Lost leg usage, not flying. + if(!usable_legs) + ADD_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + if(!usable_hands) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + + if(usable_legs < default_num_legs) + var/limbless_slowdown = (default_num_legs - usable_legs) * 3 + if(!usable_legs && usable_hands < default_num_hands) + limbless_slowdown += (default_num_hands - usable_hands) * 3 + add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) + else + remove_movespeed_modifier(/datum/movespeed_modifier/limbless) + + +///Proc to modify the value of num_hands and hook behavior associated to this event. +/mob/living/proc/set_num_hands(new_value) + if(num_hands == new_value) + return + . = num_hands + num_hands = new_value + + +///Proc to modify the value of usable_hands and hook behavior associated to this event. +/mob/living/proc/set_usable_hands(new_value) + if(usable_hands == new_value) + return + . = usable_hands + usable_hands = new_value + + if(new_value > .) // Gained hand usage. + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + else if(!(movement_type & (FLYING | FLOATING)) && !usable_hands && !usable_legs) //Lost a hand, not flying, no hands left, no legs. + ADD_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) + + +/// Changes the value of the [living/body_position] variable. +/mob/living/proc/set_body_position(new_value) + if(body_position == new_value) + return + . = body_position + body_position = new_value + if(new_value == LYING_DOWN) // From standing to lying down. + on_lying_down() + else // From lying down to standing up. + on_standing_up() + + +/// Proc to append behavior to the condition of being floored. Called when the condition starts. +/mob/living/proc/on_floored_start() + if(body_position == STANDING_UP) //force them on the ground + set_lying_angle(pick(90, 270)) + set_body_position(LYING_DOWN) + on_fall() + + +/// Proc to append behavior to the condition of being floored. Called when the condition ends. +/mob/living/proc/on_floored_end() + if(!resting) + get_up() + + +/// Proc to append behavior to the condition of being handsblocked. Called when the condition starts. +/mob/living/proc/on_handsblocked_start() + drop_all_held_items() + ADD_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_HANDS_BLOCKED) + ADD_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_HANDS_BLOCKED) + + +/// Proc to append behavior to the condition of being handsblocked. Called when the condition ends. +/mob/living/proc/on_handsblocked_end() + REMOVE_TRAIT(src, TRAIT_UI_BLOCKED, TRAIT_HANDS_BLOCKED) + REMOVE_TRAIT(src, TRAIT_PULL_BLOCKED, TRAIT_HANDS_BLOCKED) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 3a8100582d674..a34ecf210817b 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -158,54 +158,57 @@ var/mob/living/carbon/human/H = user if(H.dna.species.grab_sound) sound_to_play = H.dna.species.grab_sound - playsound(src.loc, sound_to_play, 50, 1, -1) + playsound(src.loc, sound_to_play, 50, TRUE, -1) if(user.grab_state) //only the first upgrade is instantaneous var/old_grab_state = user.grab_state var/grab_upgrade_time = instant ? 0 : 30 visible_message("[user] starts to tighten [user.p_their()] grip on [src]!", \ - "[user] starts to tighten [user.p_their()] grip on you!") + "[user] starts to tighten [user.p_their()] grip on you!", "You hear aggressive shuffling!", null, user) + to_chat(user, "You start to tighten your grip on [src]!") switch(user.grab_state) if(GRAB_AGGRESSIVE) log_combat(user, src, "attempted to neck grab", addition="neck grab") if(GRAB_NECK) log_combat(user, src, "attempted to strangle", addition="kill grab") if(!do_after(user, grab_upgrade_time, src)) - return 0 + return FALSE if(!user.pulling || user.pulling != src || user.grab_state != old_grab_state) - return 0 + return FALSE if(user.a_intent != INTENT_GRAB) to_chat(user, "You must be on grab intent to upgrade your grab further!") - return 0 + return FALSE user.setGrabState(user.grab_state + 1) switch(user.grab_state) if(GRAB_AGGRESSIVE) var/add_log = "" if(HAS_TRAIT(user, TRAIT_PACIFISM)) visible_message("[user] firmly grips [src]!", - "[user] firmly grips you!") + "[user] firmly grips you!", "You hear aggressive shuffling!", null, user) + to_chat(user, "You firmly grip [src]!") add_log = " (pacifist)" else visible_message("[user] grabs [src] aggressively!", \ - "[user] grabs you aggressively!") + "[user] grabs you aggressively!", "You hear aggressive shuffling!", null, user) + to_chat(user, "You grab [src] aggressively!") stop_pulling() log_combat(user, src, "grabbed", addition="aggressive grab[add_log]") if(GRAB_NECK) log_combat(user, src, "grabbed", addition="neck grab") visible_message("[user] grabs [src] by the neck!",\ - "[user] grabs you by the neck!") - update_mobility() //we fall down + "[user] grabs you by the neck!", "You hear aggressive shuffling!", null, user) + to_chat(user, "You grab [src] by the neck!") if(!buckled && !density) Move(user.loc) if(GRAB_KILL) log_combat(user, src, "strangled", addition="kill grab") visible_message("[user] is strangling [src]!", \ - "[user] is strangling you!") - update_mobility() //we fall down + "[user] is strangling you!", "You hear aggressive shuffling!", null, user) + to_chat(user, "You're strangling [src]!") if(!buckled && !density) Move(user.loc) user.set_pull_offsets(src, grab_state) - return 1 + return TRUE /mob/living/attack_slime(mob/living/simple_animal/slime/M) @@ -226,7 +229,8 @@ log_combat(M, src, "attacked") M.do_attack_animation(src) visible_message("\The [M.name] glomps [src]!", \ - "\The [M.name] glomps you!", null, COMBAT_MESSAGE_RANGE) + "\The [M.name] glomps you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You glomp [src]!") return TRUE /mob/living/attack_basic_mob(mob/living/basic/user) @@ -252,8 +256,9 @@ /mob/living/attack_animal(mob/living/simple_animal/M) M.face_atom(src) if(M.melee_damage == 0) - visible_message("\The [M] [M.friendly] [src]!", \ - "\The [M] [M.friendly] you!", null, COMBAT_MESSAGE_RANGE) + visible_message("\The [M] [M.friendly_verb_continuous] [src]!", \ + "\The [M] [M.friendly_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You [M.friendly_verb_simple] [src]!") return FALSE if(HAS_TRAIT(M, TRAIT_PACIFISM)) to_chat(M, "You don't want to hurt anyone!") @@ -262,8 +267,9 @@ if(M.attack_sound) playsound(loc, M.attack_sound, 50, 1, 1) M.do_attack_animation(src) - visible_message("\The [M] [M.attacktext] [src]!", \ - "\The [M] [M.attacktext] you!", null, COMBAT_MESSAGE_RANGE) + visible_message("\The [M] [M.attack_verb_continuous] [src]!", \ + "\The [M] [M.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You [M.attack_verb_simple] [src]!") log_combat(M, src, "attacked") return TRUE @@ -285,7 +291,8 @@ log_combat(M, src, "attacked") playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) visible_message("[M.name] bites [src]!", \ - "[M.name] bites you!", null, COMBAT_MESSAGE_RANGE) + "[M.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You bite [src]!") return TRUE return FALSE @@ -293,7 +300,8 @@ switch(L.a_intent) if("help") visible_message("[L.name] rubs its head against [src].", \ - "[L.name] rubs its head against you.") + "[L.name] rubs its head against you.", null, null, L) + to_chat(L, "You rub your head against [src].") return FALSE else @@ -305,12 +313,14 @@ if(prob(90)) log_combat(L, src, "attacked") visible_message("[L.name] bites [src]!", \ - "[L.name] bites you!", null, COMBAT_MESSAGE_RANGE) - playsound(loc, 'sound/weapons/bite.ogg', 50, 1, -1) + "[L.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, L) + to_chat(L, "You bite [src]!") + playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1) return TRUE else visible_message("[L.name]'s bite misses [src]!", \ - "[L.name]'s bite misses you!", null, COMBAT_MESSAGE_RANGE) + "You avoid [L.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, L) + to_chat(L, "Your bite misses [src]!") return FALSE /mob/living/attack_alien(mob/living/carbon/alien/humanoid/M) @@ -318,7 +328,8 @@ switch(M.a_intent) if ("help") visible_message("[M] caresses [src] with its scythe-like arm.", \ - "[M] caresses you with its scythe-like arm.") + "[M] caresses you with its scythe-like arm.", null, null, M) + to_chat(M, "You caress [src] with your scythe-like arm.") return FALSE if ("grab") grabbedby(M) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index fb7c267d1d8e9..b8c67e9328cfe 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -26,12 +26,20 @@ ///When the mob enters hard critical state and is fully incapacitated. var/hardcrit_threshold = HEALTH_THRESHOLD_FULLCRIT + /// Generic bitflags for boolean conditions at the [/mob/living] level. Keep this for inherent traits of living types, instead of runtime-changeable ones. + var/living_flags = NONE + + /// Flags that determine the potential of a mob to perform certain actions. Do not change this directly. var/mobility_flags = MOBILITY_FLAGS_DEFAULT var/resting = FALSE - VAR_PROTECTED/lying_angle = 0 ///number of degrees. DO NOT USE THIS IN CHECKS. CHECK FOR MOBILITY FLAGS INSTEAD!! - var/lying_prev = 0 //last value of lying on update_mobility + /// Variable to track the body position of a mob, regardless of the actual angle of rotation (usually matching it, but not necessarily). + var/body_position = STANDING_UP + /// Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on. + VAR_PROTECTED/lying_angle = 0 + /// Value of lying lying_angle before last change. TODO: Remove the need for this. + var/lying_prev = 0 var/confused = 0 //Makes the mob move in random directions. @@ -63,6 +71,20 @@ var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. var/has_limbs = 0 //does the mob have distinct limbs?(arms,legs, chest,head) + ///How many legs does this mob have by default. This shouldn't change at runtime. + var/default_num_legs = 2 + ///How many legs does this mob currently have. Should only be changed through set_num_legs() + var/num_legs = 2 + ///How many usable legs this mob currently has. Should only be changed through set_usable_legs() + var/usable_legs = 2 + + ///How many hands does this mob have by default. This shouldn't change at runtime. + var/default_num_hands = 2 + ///How many hands hands does this mob currently have. Should only be changed through set_num_hands() + var/num_hands = 2 + ///How many usable hands does this mob currently have. Should only be changed through set_usable_hands() + var/usable_hands = 2 + var/list/pipes_shown = list() var/last_played_vent @@ -135,6 +157,9 @@ var/icon/head_icon = 'icons/mob/pets_held.dmi'//what it looks like on your head var/held_state = ""//icon state for the above + /// Is this mob allowed to be buckled/unbuckled to/from things? + var/can_buckle_to = TRUE + //is mob player controllable var/playable = FALSE var/flavor_text = FLAVOR_TEXT_NONE diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index 24c834a72e20b..eaf9b84962334 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -3,17 +3,18 @@ update_turf_movespeed(loc) update_looking_move() + /mob/living/CanAllowThrough(atom/movable/mover, border_dir) . = ..() if(.) return if(mover.throwing) - return (!density || !(mobility_flags & MOBILITY_STAND) || (mover.throwing.thrower == src && !ismob(mover))) + return (!density || (body_position == LYING_DOWN) || (mover.throwing.thrower == src && !ismob(mover))) if(buckled == mover) return TRUE if(ismob(mover) && (mover in buckled_mobs)) return TRUE - return !mover.density || !(mobility_flags & MOBILITY_STAND) + return !mover.density || body_position == LYING_DOWN /mob/living/toggle_move_intent() . = ..() @@ -32,11 +33,12 @@ else remove_movespeed_modifier(/datum/movespeed_modifier/turf_slowdown) + /mob/living/proc/update_pull_movespeed() if(pulling) if(isliving(pulling)) var/mob/living/L = pulling - if(!slowed_by_drag || (L.mobility_flags & MOBILITY_STAND) || L.buckled || grab_state >= GRAB_AGGRESSIVE) + if(!slowed_by_drag || L.body_position == STANDING_UP || L.buckled || grab_state >= GRAB_AGGRESSIVE) remove_movespeed_modifier(/datum/movespeed_modifier/bulky_drag) return add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/bulky_drag, multiplicative_slowdown = PULL_PRONE_SLOWDOWN) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index c8f1f02c6bc9b..388d0ba0f5ccf 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -1,5 +1,8 @@ /mob/living/Login() - ..() + . = ..() + if(!. || !client) + return FALSE + //Mind updates sync_mind() mind.show_memory(src, 0) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1971406933154..f8aa16bae1d83 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -19,17 +19,17 @@ icon_state = "ai" move_resist = MOVE_FORCE_VERY_STRONG density = TRUE - mobility_flags = ALL status_flags = CANSTUN|CANPUSH a_intent = INTENT_HARM //so we always get pushed instead of trying to swap sight = SEE_TURFS | SEE_MOBS | SEE_OBJS - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE hud_type = /datum/hud/ai med_hud = DATA_HUD_MEDICAL_BASIC sec_hud = DATA_HUD_SECURITY_BASIC d_hud = DATA_HUD_DIAGNOSTIC_ADVANCED mob_size = MOB_SIZE_LARGE radio = /obj/item/radio/headset/silicon/ai + can_buckle_to = FALSE var/battery = 200 //emergency power if the AI's APC is off var/list/network = list("ss13") var/list/connected_robots = list() @@ -37,7 +37,7 @@ /// Station alert datum for showing alerts UI var/datum/station_alert/alert_control - var/aiRestorePowerRoutine = 0 + var/aiRestorePowerRoutine = POWER_RESTORATION_OFF var/requires_power = POWER_REQ_ALL var/can_be_carded = TRUE var/icon/holo_icon //Default is assigned when AI is created. @@ -178,6 +178,9 @@ builtInCamera = new (src) builtInCamera.network = list("ss13") + ADD_TRAIT(src, TRAIT_PULL_BLOCKED, ROUNDSTART_TRAIT) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, ROUNDSTART_TRAIT) + alert_control = new(src, list(ALARM_ATMOS, ALARM_FIRE, ALARM_POWER, ALARM_CAMERA, ALARM_BURGLAR, ALARM_MOTION), list(z), camera_view = TRUE) RegisterSignal(alert_control.listener, COMSIG_ALARM_TRIGGERED, PROC_REF(alarm_triggered)) RegisterSignal(alert_control.listener, COMSIG_ALARM_CLEARED, PROC_REF(alarm_cleared)) @@ -398,12 +401,6 @@ if(ai_tracking_target) ai_stop_tracking() -/mob/living/silicon/ai/update_mobility() //If the AI dies, mobs won't go through it anymore - if(stat != CONSCIOUS) - mobility_flags = NONE - else - mobility_flags = ALL - /mob/living/silicon/ai/proc/ai_cancel_call() set category = "Malfunction" if(control_disabled) @@ -794,13 +791,6 @@ to_chat(src, "You have been downloaded to a mobile storage device. Remote device connection severed.") to_chat(user, "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.") -/mob/living/silicon/ai/can_buckle() - return 0 - -/mob/living/silicon/ai/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_stasis = FALSE) - if(aiRestorePowerRoutine) - return TRUE - return ..() /mob/living/silicon/ai/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE) if(control_disabled || incapacitated()) @@ -1063,3 +1053,35 @@ /mob/living/silicon/ai/zMove(dir, feedback = FALSE, feedback_to = src) . = eyeobj.zMove(dir, feedback, feedback_to) + +/// Proc to hook behavior to the changes of the value of [aiRestorePowerRoutine]. +/mob/living/silicon/ai/proc/setAiRestorePowerRoutine(new_value) + if(new_value == aiRestorePowerRoutine) + return + . = aiRestorePowerRoutine + aiRestorePowerRoutine = new_value + if(aiRestorePowerRoutine) + if(!.) + ADD_TRAIT(src, TRAIT_INCAPACITATED, POWER_LACK_TRAIT) + else if(.) + REMOVE_TRAIT(src, TRAIT_INCAPACITATED, POWER_LACK_TRAIT) + + +/mob/living/silicon/on_handsblocked_start() + return // AIs have no hands + +/mob/living/silicon/on_handsblocked_end() + return // AIs have no hands + +/mob/living/silicon/ai/verb/change_photo_camera_radius() + set category = "AI Commands" + set name = "Adjust Camera Zoom" + set desc = "Change the zoom of your builtin camera." + + if(incapacitated()) + return + if(isnull(aicamera)) + to_chat(usr, "You don't have a built-in camera!") + return + + aicamera.adjust_zoom(src) diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm index fa4346abb58f0..a9b65598d65e3 100644 --- a/code/modules/mob/living/silicon/ai/death.dm +++ b/code/modules/mob/living/silicon/ai/death.dm @@ -46,7 +46,7 @@ /mob/living/silicon/ai/proc/ShutOffDoomsdayDevice() if(nuking) - set_security_level("red") + SSsecurity_level.set_level(SEC_LEVEL_RED) nuking = FALSE for(var/obj/item/pinpointer/nuke/P in GLOB.pinpointer_list) P.switch_mode_to(TRACK_NUKE_DISK) //Party's over, back to work, everyone diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index c7e70556d3d00..81e5ff91e12a8 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -1,8 +1,3 @@ -#define POWER_RESTORATION_OFF 0 -#define POWER_RESTORATION_START 1 -#define POWER_RESTORATION_SEARCH_APC 2 -#define POWER_RESTORATION_APC_FOUND 3 - /mob/living/silicon/ai/Life(delta_time) if (stat == DEAD) return @@ -112,7 +107,7 @@ T = get_turf(src) if(isspaceturf(T)) to_chat(src, "Unable to verify! No power connection detected!") - aiRestorePowerRoutine = POWER_RESTORATION_SEARCH_APC + setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC) return to_chat(src, "Connection verified. Searching for APC in power network.") sleep(5 SECONDS) @@ -130,7 +125,7 @@ to_chat(src, "Unable to locate APC!") else to_chat(src, "Lost connection with the APC!") - aiRestorePowerRoutine = POWER_RESTORATION_SEARCH_APC + setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC) return if(AIarea.power_equip) if(!isspaceturf(T)) @@ -151,7 +146,7 @@ to_chat(src, "APC ready for connection.") apc_override = theAPC theAPC.ui_interact(src) - aiRestorePowerRoutine = POWER_RESTORATION_APC_FOUND + setAiRestorePowerRoutine(POWER_RESTORATION_APC_FOUND) sleep(5 SECONDS) theAPC = null @@ -163,20 +158,15 @@ to_chat(src, "APC Backdoor has been closed.") //No change in behavior, just tells the AI why they have to rehack their APC and turn the power back on else to_chat(src, "Alert cancelled. Power has been restored without our assistance.") - aiRestorePowerRoutine = POWER_RESTORATION_OFF + setAiRestorePowerRoutine(POWER_RESTORATION_OFF) set_blindness(0) apc_override = null update_sight() /mob/living/silicon/ai/proc/ai_lose_power() disconnect_shell() - aiRestorePowerRoutine = POWER_RESTORATION_START + setAiRestorePowerRoutine(POWER_RESTORATION_START) adjust_blindness(1) update_sight() to_chat(src, "You've lost power!") addtimer(CALLBACK(src, PROC_REF(start_RestorePowerRoutine)), 20) - -#undef POWER_RESTORATION_OFF -#undef POWER_RESTORATION_START -#undef POWER_RESTORATION_SEARCH_APC -#undef POWER_RESTORATION_APC_FOUND diff --git a/code/modules/mob/living/silicon/ai/login.dm b/code/modules/mob/living/silicon/ai/login.dm index 2909b915bb888..ae8bcc4af66e5 100644 --- a/code/modules/mob/living/silicon/ai/login.dm +++ b/code/modules/mob/living/silicon/ai/login.dm @@ -1,5 +1,7 @@ /mob/living/silicon/ai/Login() - ..() + . = ..() + if(!. || !client) + return FALSE if(stat != DEAD) if(lacks_power() && apc_override) //Placing this in Login() in case the AI doesn't have this link for whatever reason. to_chat(usr, "Main power is unavailable, backup power in use. Diagnostics scan complete. Local APC ready for connection.") diff --git a/code/modules/mob/living/silicon/ai/say.dm b/code/modules/mob/living/silicon/ai/say.dm index 5d4fbc6d22507..c634c8fc2c102 100644 --- a/code/modules/mob/living/silicon/ai/say.dm +++ b/code/modules/mob/living/silicon/ai/say.dm @@ -82,7 +82,7 @@
  • You can only say 30 words for every announcement.
  • Do not use punctuation as you would normally, if you want a pause you can use the full stop and comma characters by separating them with spaces, like so: 'Alpha . Test , Bravo'.
  • Numbers are in word format, e.g. eight, sixty, etc
  • -
  • Sound effects begin with an 's' before the actual word, e.g. scensor
  • +
  • Sound effects begin with 'sound' before the actual word, e.g. soundcensor. They're all at the top of the list.
  • Use Ctrl+F to see if a word exists in the list.

  • "} diff --git a/code/modules/mob/living/silicon/ai/vox_sounds.dm b/code/modules/mob/living/silicon/ai/vox_sounds.dm index b90e425100811..ec0749687e6ce 100644 --- a/code/modules/mob/living/silicon/ai/vox_sounds.dm +++ b/code/modules/mob/living/silicon/ai/vox_sounds.dm @@ -7,7 +7,15 @@ // For vim // :%s/\(\(.*\)\.ogg\)/"\2" = 'sound\/vox_fem\/\1',/g -GLOBAL_LIST_INIT(vox_sounds, list("abduction" = 'sound/vox_fem/abduction.ogg', +GLOBAL_LIST_INIT(vox_sounds, list( +"soundairhorn" = 'sound/vox_fem/soundairhorn.ogg', +"soundalarm1" = 'sound/vox_fem/soundalarm1.ogg', +"soundalarm2" = 'sound/vox_fem/soundalarm2.ogg', +"soundannounce" = 'sound/vox_fem/soundannounce.ogg', +"soundcensor" = 'sound/vox_fem/soundcensor.ogg', +"soundhonk" = 'sound/vox_fem/soundhonk.ogg', +"soundwhitenoise" = 'sound/vox_fem/soundwhitenoise.ogg', +"abduction" = 'sound/vox_fem/abduction.ogg', "abortions" = 'sound/vox_fem/abortions.ogg', "above" = 'sound/vox_fem/above.ogg', "abstain" = 'sound/vox_fem/abstain.ogg', @@ -714,12 +722,10 @@ GLOBAL_LIST_INIT(vox_sounds, list("abduction" = 'sound/vox_fem/abduction.ogg', "sabotage" = 'sound/vox_fem/sabotage.ogg', "safe" = 'sound/vox_fem/safe.ogg', "safety" = 'sound/vox_fem/safety.ogg', -"sairhorn" = 'sound/vox_fem/sairhorn.ogg', "sarah" = 'sound/vox_fem/sarah.ogg', "sargeant" = 'sound/vox_fem/sargeant.ogg', "satellite" = 'sound/vox_fem/satellite.ogg', "save" = 'sound/vox_fem/save.ogg', -"scensor" = 'sound/vox_fem/scensor.ogg', "science" = 'sound/vox_fem/science.ogg', "scientist" = 'sound/vox_fem/scientist.ogg', "scream" = 'sound/vox_fem/scream.ogg', @@ -755,7 +761,6 @@ GLOBAL_LIST_INIT(vox_sounds, list("abduction" = 'sound/vox_fem/abduction.ogg', "shits" = 'sound/vox_fem/shits.ogg', "shitting" = 'sound/vox_fem/shitting.ogg', "shock" = 'sound/vox_fem/shock.ogg', -"shonk" = 'sound/vox_fem/shonk.ogg', "shoot" = 'sound/vox_fem/shoot.ogg', "shower" = 'sound/vox_fem/shower.ogg', "shut" = 'sound/vox_fem/shut.ogg', @@ -816,7 +821,6 @@ GLOBAL_LIST_INIT(vox_sounds, list("abduction" = 'sound/vox_fem/abduction.ogg', "surrounded" = 'sound/vox_fem/surrounded.ogg', "surround" = 'sound/vox_fem/surround.ogg', "sweating" = 'sound/vox_fem/sweating.ogg', -"swhitenoise" = 'sound/vox_fem/swhitenoise.ogg', "switch" = 'sound/vox_fem/switch.ogg', "syndicate" = 'sound/vox_fem/syndicate.ogg', "system" = 'sound/vox_fem/system.ogg', diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index 541736da1a6a1..9b787a67797b2 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -4,7 +4,7 @@ var/datum/antagonist/rev/rev = mind.has_antag_datum(/datum/antagonist/rev) if(rev) rev.remove_revolutionary(TRUE) - ..() + return ..() /mob/living/silicon/auto_deadmin_on_login() if(!client?.holder) diff --git a/code/modules/mob/living/silicon/pai/death.dm b/code/modules/mob/living/silicon/pai/death.dm index fd5e049e67fea..6adcb4949cd9d 100644 --- a/code/modules/mob/living/silicon/pai/death.dm +++ b/code/modules/mob/living/silicon/pai/death.dm @@ -2,7 +2,6 @@ if(stat == DEAD) return set_stat(DEAD) - mobility_flags = NONE update_sight() clear_fullscreens() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 3fd62b6140a8c..a3f4d8aac6c34 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -14,6 +14,7 @@ layer = BELOW_MOB_LAYER can_be_held = TRUE radio = /obj/item/radio/headset/silicon/pai + can_buckle_to = FALSE move_force = 0 pull_force = 0 move_resist = 0 @@ -108,12 +109,6 @@ var/atom/movable/screen/ai/modpc/interface_button -/mob/living/silicon/pai/can_unbuckle() - return FALSE - -/mob/living/silicon/pai/can_buckle() - return FALSE - /mob/living/silicon/pai/handle_atom_del(atom/A) if(A == hacking_cable) hacking_cable = null @@ -175,6 +170,11 @@ emittersemicd = TRUE addtimer(CALLBACK(src, PROC_REF(emittercool)), 600) + + if(!holoform) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED) + return INITIALIZE_HINT_LATELOAD @@ -214,7 +214,9 @@ return TRUE /mob/living/silicon/pai/Login() - ..() + . = ..() + if(!. || !client) + return FALSE var/datum/asset/notes_assets = get_asset_datum(/datum/asset/simple/pAI) mind.assigned_role = JOB_NAME_PAI notes_assets.send(client) @@ -296,7 +298,7 @@ /datum/action/innate/pai/rest/Trigger() ..() - P.lay_down() + P.toggle_resting() /datum/action/innate/pai/light name = "Toggle Integrated Lights" diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index de891dda0bdbc..f237bf6c1b078 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -18,7 +18,8 @@ emittersemicd = TRUE addtimer(CALLBACK(src, PROC_REF(emittercool)), emittercd) - mobility_flags = MOBILITY_FLAGS_DEFAULT + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED) set_density(TRUE) if(isliving(card.loc)) var/mob/living/L = card.loc @@ -63,7 +64,8 @@ var/turf/T = drop_location() card.forceMove(T) forceMove(card) - mobility_flags = NONE + ADD_TRAIT(src, TRAIT_IMMOBILIZED, PAI_FOLDED) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, PAI_FOLDED) set_density(FALSE) set_light_on(FALSE) holoform = FALSE diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 7f4c27719abbf..193438412356a 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -98,11 +98,3 @@ else cut_overlay(fire_overlay) -/mob/living/silicon/robot/update_mobility() - if(HAS_TRAIT(src, TRAIT_IMMOBILIZED)) - mobility_flags &= ~MOBILITY_MOVE - else - mobility_flags = MOBILITY_FLAGS_DEFAULT - update_transform() - update_action_buttons_icon() - diff --git a/code/modules/mob/living/silicon/robot/login.dm b/code/modules/mob/living/silicon/robot/login.dm index 3856dd40d1564..86c3f731ea99c 100644 --- a/code/modules/mob/living/silicon/robot/login.dm +++ b/code/modules/mob/living/silicon/robot/login.dm @@ -1,5 +1,7 @@ /mob/living/silicon/robot/Login() - ..() + . = ..() + if(!. || !client) + return FALSE regenerate_icons() show_laws(0) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 1fbb99af208e1..1715cb7dd0177 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -7,12 +7,22 @@ health = 200 bubble_icon = "robot" designation = "Default" //used for displaying the prefix & getting the current module of cyborg - has_limbs = 1 + has_limbs = TRUE hud_type = /datum/hud/robot + radio = /obj/item/radio/borg + blocks_emissive = EMISSIVE_BLOCK_UNIQUE - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_on = FALSE + + //AI shell + var/shell = FALSE + var/deployed = FALSE + var/mob/living/silicon/ai/mainframe = null + var/datum/action/innate/undeployment/undeployment_action = new + +// ------------------------------------------ Parts var/custom_name = "" var/braintype = "Cyborg" var/obj/item/robot_suit/robot_suit = null //Used for deconstruction to remember what the borg was constructed out of.. @@ -20,10 +30,6 @@ ///The last time this mob was flashed. Used for flash cooldowns var/last_flashed = 0 - var/shell = FALSE - var/deployed = FALSE - var/mob/living/silicon/ai/mainframe = null - var/datum/action/innate/undeployment/undeployment_action = new var/obj/item/clockwork/clockwork_slab/internal_clock_slab = null var/ratvar = FALSE @@ -164,7 +170,7 @@ mmi.brain.organ_flags |= ORGAN_FROZEN mmi.brain.name = "[real_name]'s brain" mmi.name = "[initial(mmi.name)]: [real_name]" - mmi.brainmob = new(mmi) + mmi.set_brainmob(new /mob/living/brain(mmi)) mmi.brainmob.name = src.real_name mmi.brainmob.real_name = src.real_name mmi.brainmob.container = mmi @@ -707,7 +713,6 @@ ADD_TRAIT(src, TRAIT_IMMOBILIZED, LOCKED_BORG_TRAIT) else if(.) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LOCKED_BORG_TRAIT) - update_mobility() logevent("System lockdown [lockcharge?"triggered":"released"].") @@ -977,7 +982,7 @@ return if(stat == DEAD) sight = (SEE_TURFS|SEE_MOBS|SEE_OBJS) - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE see_invisible = SEE_INVISIBLE_OBSERVER return @@ -1004,12 +1009,12 @@ if(sight_mode & BORGXRAY) sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_invisible = SEE_INVISIBLE_LIVING - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE if(sight_mode & BORGTHERM) sight |= SEE_MOBS see_invisible = min(see_invisible, SEE_INVISIBLE_LIVING) - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE if(see_override) see_invisible = see_override @@ -1027,7 +1032,6 @@ set_stat(UNCONSCIOUS) else set_stat(CONSCIOUS) - update_mobility() diag_hud_set_status() diag_hud_set_health() diag_hud_set_aishell() @@ -1231,9 +1235,9 @@ cell = null /mob/living/silicon/robot/mouse_buckle_handling(mob/living/M, mob/living/user) + //Don't try buckling on INTENT_HARM so that silicons can search people's inventories without loading them if(can_buckle && istype(M) && !(M in buckled_mobs) && ((user!=src)||(a_intent != INTENT_HARM))) - if(buckle_mob(M)) - return TRUE + return user_buckle_mob(M, user, check_loc = FALSE) /mob/living/silicon/robot/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) if(!is_type_in_typecache(M, can_ride_typecache)) @@ -1256,7 +1260,7 @@ M.visible_message("Unfortunately, [M] just can't seem to hold onto [src]!") return if(iscarbon(M) && (!riding_datum.equip_buckle_inhands(M, 1))) - if (M.get_num_arms() <= 0) + if(M.usable_hands == 0) M.visible_message("[M] can't climb onto [src] because [M.p_they()] don't have any usable arms!") else M.visible_message("[M] can't climb onto [src] because [M.p_their()] hands are full!") diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm index 4327ac64e5c91..be6024e1f743c 100644 --- a/code/modules/mob/living/silicon/robot/robot_defense.dm +++ b/code/modules/mob/living/silicon/robot/robot_defense.dm @@ -12,7 +12,7 @@ /mob/living/silicon/robot/attack_alien(mob/living/carbon/alien/humanoid/M) if (M.a_intent == INTENT_DISARM) - if(mobility_flags & MOBILITY_STAND) + if(body_position == STANDING_UP) M.do_attack_animation(src, ATTACK_EFFECT_DISARM) var/obj/item/I = get_active_held_item() if(I) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 8c9f416283761..2936cf2ca3ee4 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -6,7 +6,7 @@ verb_exclaim = "declares" verb_yell = "alarms" initial_language_holder = /datum/language_holder/synthetic - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE bubble_icon = "machine" weather_immunities = list("ash") possible_a_intents = list(INTENT_HELP, INTENT_HARM) @@ -469,6 +469,18 @@ /mob/living/silicon/hears_radio() return FALSE +/mob/living/silicon/on_floored_start() + return // Silicons are always standing by default. + +/mob/living/silicon/on_floored_end() + return // Silicons are always standing by default. + +/mob/living/silicon/on_lying_down() + return // Silicons are always standing by default. + +/mob/living/silicon/on_standing_up() + return // Silicons are always standing by default. + /** * Records an IC event log entry in the cyborg's internal tablet. * diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index 3fbe8f1a1bc92..77a38249d0ac2 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -12,7 +12,8 @@ log_combat(M, src, "attacked", M) playsound(loc, 'sound/weapons/slash.ogg', 25, 1, -1) visible_message("[M] slashes at [src]!", \ - "[M] slashes at you!") + "[M] slashes at you!", null, null, M) + to_chat(M, "You slash at [src]!") if(prob(8)) flash_act(affect_silicon = 1) log_combat(M, src, "attacked", M) @@ -21,7 +22,8 @@ else playsound(loc, 'sound/weapons/slashmiss.ogg', 25, 1, -1) visible_message("[M]'s swipe misses [src]!", \ - "[M]'s swipe misses you!") + "You avoid [M]'s swipe!", null, null, M) + to_chat(M, "Your swipe misses [src]!") /mob/living/silicon/attack_animal(mob/living/simple_animal/M) . = ..() @@ -31,8 +33,9 @@ for(var/mob/living/N in buckled_mobs) N.Paralyze(20) unbuckle_mob(N) - N.visible_message("[N] is knocked off of [src] by [M]!", \ - "You're knocked off of [src] by [M]!") + N.visible_message("[N] is knocked off of [src] by [M]!", \ + "You're knocked off of [src] by [M]!", null, null, M) + to_chat(M, "You knock [N] off of [src]!") switch(M.melee_damage_type) if(BRUTE) adjustBruteLoss(damage) @@ -60,7 +63,8 @@ adjustBruteLoss(rand(10, 15)) playsound(loc, "punch", 25, 1, -1) visible_message("[user] punches [src]!", \ - "[user] punches you!", null, COMBAT_MESSAGE_RANGE) + "[user] punches you!", null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, "You punch [src]!") return 1 return 0 @@ -71,8 +75,9 @@ . = TRUE switch(M.a_intent) if ("help") - M.visible_message("[M] pets [src].", \ - "You pet [src].") + visible_message("[M] pets [src].", \ + "[M] pets you.", null, null, M) + to_chat(M, "You pet [src].") if("grab") grabbedby(M) else @@ -89,7 +94,8 @@ M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) playsound(src.loc, 'sound/effects/bang.ogg', 10, 1) visible_message("[M] punches [src], but doesn't leave a dent!", \ - "[M] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE) + "[M] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You punch [src], but don't leave a dent!") log_combat(M, src, "tried to punch", important = FALSE) /mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M) diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm index a5e3a17fcc9a7..b396e9d2508b2 100644 --- a/code/modules/mob/living/simple_animal/animal_defense.dm +++ b/code/modules/mob/living/simple_animal/animal_defense.dm @@ -5,8 +5,9 @@ switch(M.a_intent) if("help") if (health > 0) - visible_message("[M] [response_help] [src].", \ - "[M] [response_help] you.") + visible_message("[M] [response_help_continuous] [src].", \ + "[M] [response_help_continuous] you.", null, null, M) + to_chat(M, "You [response_help_simple] [src].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) if("grab") @@ -33,8 +34,9 @@ to_chat(M, "You don't want to hurt [src]!") return M.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - visible_message("[M] [response_harm] [src]!",\ - "[M] [response_harm] you!", null, COMBAT_MESSAGE_RANGE) + visible_message("[M] [response_harm_continuous] [src]!",\ + "[M] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You [response_harm_simple] [src]!") playsound(loc, attacked_sound, 25, 1, -1) attack_threshold_check(M.dna.species.punchdamage) log_combat(M, src, "attacked", "harm") @@ -49,7 +51,8 @@ ..(user, 1) playsound(loc, "punch", 25, 1, -1) visible_message("[user] punches [src]!", \ - "[user] punches you!", null, COMBAT_MESSAGE_RANGE) + "You're punched by [user]!", null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, "You punch [src]!") adjustBruteLoss(15) return TRUE @@ -61,8 +64,9 @@ return 1 if (M.a_intent == INTENT_HELP) if (health > 0) - visible_message("[M.name] [response_help] [src].", \ - "[M.name] [response_help] you.") + visible_message("[M.name] [response_help_continuous] [src].", \ + "[M.name] [response_help_continuous] you.", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You [response_help_simple] [src].") playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) @@ -70,13 +74,15 @@ if(..()) //if harm or disarm intent. if(M.a_intent == INTENT_DISARM) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1) - visible_message("[M] [response_disarm] [name]!", \ - "[M] [response_disarm] you!", null, COMBAT_MESSAGE_RANGE) + visible_message("[M] [response_disarm_continuous] [name]!", \ + "[M] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You [response_disarm_simple] [name]!") log_combat(M, src, "disarmed", "disarm") else var/damage = rand(15, 30) visible_message("[M] slashes at [src]!", \ - "[M] slashes at you!", null, COMBAT_MESSAGE_RANGE) + "You're slashed at by [M]!", null, COMBAT_MESSAGE_RANGE, M) + to_chat(M, "You slash at [src]!") playsound(loc, 'sound/weapons/slice.ogg', 25, 1, -1) attack_threshold_check(damage) log_combat(M, src, "attacked", "harm") @@ -123,7 +129,7 @@ temp_damage *= damage_coeff[damagetype] if(temp_damage >= 0 && temp_damage <= force_threshold) - visible_message("[src] looks unharmed.") + visible_message("[src] looks unharmed!") return FALSE else apply_damage(damage, damagetype, null, getarmor(null, armorcheck)) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index cdc7c63d497ff..f4b33a44b3aed 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -138,7 +138,9 @@ booting = FALSE on = TRUE INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, say), "Boot sequence complete, [name] operational") - update_mobility() + REMOVE_TRAIT(src, TRAIT_INCAPACITATED, POWER_LACK_TRAIT) + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, POWER_LACK_TRAIT) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) update_icon() diag_hud_set_botstat() @@ -155,7 +157,9 @@ /mob/living/simple_animal/bot/proc/turn_off() on = FALSE - update_mobility() + ADD_TRAIT(src, TRAIT_INCAPACITATED, POWER_LACK_TRAIT) + ADD_TRAIT(src, TRAIT_IMMOBILIZED, POWER_LACK_TRAIT) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT) set_light_on(on) bot_reset() //Resets an AI's call, should it exist. update_icon() @@ -194,11 +198,6 @@ RegisterSignal(src, COMSIG_ATOM_ON_EMAG, PROC_REF(on_emag)) RegisterSignal(src, COMSIG_ATOM_SHOULD_EMAG, PROC_REF(should_emag)) -/mob/living/simple_animal/bot/update_mobility() - . = ..() - if(!on) - mobility_flags = NONE - /mob/living/simple_animal/bot/Destroy() if(path_hud) QDEL_NULL(path_hud) @@ -1097,6 +1096,8 @@ Pass a positive integer as an argument to override a bot's default speed. /mob/living/simple_animal/bot/Login() . = ..() + if(!. || !client) + return FALSE access_card.access |= player_access diag_hud_set_botmode() diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index bd920202f842f..4ebba0bbabbf7 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -92,7 +92,7 @@ /mob/living/simple_animal/bot/cleanbot/process_scan(atom/A) if(iscarbon(A)) var/mob/living/carbon/C = A - if(C.stat != DEAD && !(C.mobility_flags & MOBILITY_STAND)) + if(C.stat != DEAD && C.body_position == LYING_DOWN) return C else if(is_type_in_typecache(A, target_types)) return A diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 76e013ac35a1a..7ee271a9b8640 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -225,7 +225,7 @@ targets += C if(targets.len>0) var/mob/living/carbon/t = pick(targets) - if(t.stat != DEAD && (t.mobility_flags & MOBILITY_STAND) && !t.handcuffed) //we don't shoot people who are dead, cuffed or lying down. + if(t.stat != DEAD && t.body_position == STANDING_UP && !t.handcuffed) //we don't shoot people who are dead, cuffed or lying down. shootAt(t) switch(mode) diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index b9fb425e6d425..e6dcf1a097850 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -10,8 +10,9 @@ GLOBAL_VAR(medibot_unique_id_gen) #define MEDBOT_PANIC_AAAA 70 #define MEDBOT_PANIC_ENDING 90 #define MEDBOT_PANIC_END 100 -#define MEDIBOT_TREAT_INJECT "inject" -#define MEDIBOT_TREAT_SUCK "suck" +#define MEDBOT_TREAT_INJECT "inject" +#define MEDBOT_TREAT_SUCK "suck" +#define MEDBOT_TREAT_BANDAGE "bandage" /mob/living/simple_animal/bot/medbot @@ -91,7 +92,7 @@ GLOBAL_VAR(medibot_unique_id_gen) if(!on) icon_state = "medibot0" return - if(IsStun() || IsParalyzed()) + if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) icon_state = "medibota" return if(mode == BOT_HEALING) @@ -129,10 +130,6 @@ GLOBAL_VAR(medibot_unique_id_gen) medibot_counter = GLOB.medibot_unique_id_gen GLOB.medibot_unique_id_gen++ -/mob/living/simple_animal/bot/medbot/update_mobility() - . = ..() - update_icon() - /mob/living/simple_animal/bot/medbot/bot_reset() ..() set_patient(null) @@ -337,7 +334,7 @@ GLOBAL_VAR(medibot_unique_id_gen) return /mob/living/simple_animal/bot/medbot/proc/tip_over(mob/user) - mobility_flags &= ~MOBILITY_MOVE + ADD_TRAIT(src, TRAIT_IMMOBILIZED, BOT_TIPPED_OVER) playsound(src, 'sound/machines/warning-buzzer.ogg', 50) user.visible_message("[user] tips over [src]!", "You tip [src] over!") tipped = TRUE @@ -346,7 +343,7 @@ GLOBAL_VAR(medibot_unique_id_gen) tipper_name = user.name /mob/living/simple_animal/bot/medbot/proc/set_right(mob/user) - mobility_flags &= MOBILITY_MOVE + REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, BOT_TIPPED_OVER) var/list/messagevoice if(user) @@ -534,10 +531,13 @@ GLOBAL_VAR(medibot_unique_id_gen) var/obj/item/clothing/CH = H.head if (CS.clothing_flags & CH.clothing_flags & THICKMATERIAL) return FALSE // Skip over them if they have no exposed flesh. + if(H.is_bleeding()) + return TRUE if(declare_crit && C.health <= 0) //Critical condition! Call for help! declare(C) + if(!reagent_glass?.reagents.total_volume) // no beaker, we can't do that return FALSE @@ -615,10 +615,15 @@ GLOBAL_VAR(medibot_unique_id_gen) var/treat_behaviour // what this medibot will do? if(emagged) - treat_behaviour = MEDIBOT_TREAT_SUCK // Emagged! Time to drain everybody. + treat_behaviour = MEDBOT_TREAT_SUCK // Emagged! Time to drain everybody. + + if(!treat_behaviour && ishuman(C)) + var/mob/living/carbon/human/H = C + if(H.is_bleeding()) + treat_behaviour = MEDBOT_TREAT_BANDAGE if(!treat_behaviour && reagent_glass?.reagents.total_volume) //have a beaker with something? - treat_behaviour = MEDIBOT_TREAT_INJECT + treat_behaviour = MEDBOT_TREAT_INJECT for(var/datum/reagent/each_beaker_reagent in reagent_glass.reagents.reagent_list) if(C.reagents.has_reagent(each_beaker_reagent.type)) // they have the chems inside them already @@ -635,19 +640,21 @@ GLOBAL_VAR(medibot_unique_id_gen) bot_reset() return - - C.visible_message("[src] is trying to inject [patient]!", "[src] is trying to inject you!") - if( get_dist(src, patient) > 1 || \ + var/tool_action = "inject" + if(treat_behaviour == MEDBOT_TREAT_BANDAGE) + tool_action = "bandage" + C.visible_message("[src] is trying to [tool_action] [patient]!", "[src] is trying to [tool_action] you!") + if(get_dist(src, patient) > 1 || \ !do_after(src, 2 SECONDS, patient) ||\ !assess_patient(patient) || \ !on) //are they near us? did they move away? are they still hurt? are we stil on? - visible_message("[src] retracts its syringe.") + visible_message("[src] retracts its tools.") update_icon() soft_reset() return switch(treat_behaviour) - if(MEDIBOT_TREAT_INJECT) + if(MEDBOT_TREAT_INJECT) if(reagent_glass?.reagents.total_volume) var/fraction = min(injection_amount/reagent_glass.reagents.total_volume, 1) var/reagentlist = pretty_string_from_reagent_list(reagent_glass.reagents.reagent_list) @@ -660,15 +667,27 @@ GLOBAL_VAR(medibot_unique_id_gen) speak(message,radio_channel) playsound(src, messagevoice[message], 50) COOLDOWN_START(src, declare_cooldown, 10 SECONDS) - if(MEDIBOT_TREAT_SUCK) + C.visible_message("[src] injects [patient] with its syringe!", \ + "[src] injects you with its syringe!") + if(MEDBOT_TREAT_BANDAGE) + var/mob/living/carbon/human/H = C + if(!H.is_bleeding()) + to_chat(src, "[H] isn't bleeding!") + update_icon() + soft_reset() + return + H.suppress_bloodloss(BLEED_SURFACE) // as good as a improvized medical gauze + C.visible_message("[src] bandages [patient] with its gauze!", \ + "[src] bandages you with its gauze!") + if(MEDBOT_TREAT_SUCK) if(patient.transfer_blood_to(reagent_glass, injection_amount)) patient.visible_message("[src] is trying to inject [patient]!", \ "[src] is trying to inject you!") log_combat(src, patient, "drained of blood") else to_chat(src, "You are unable to draw any blood from [patient]!") - C.visible_message("[src] injects [patient] with its syringe!", \ - "[src] injects you with its syringe!") + C.visible_message("[src] injects [patient] with its syringe!", \ + "[src] injects you with its syringe!") update_icon() soft_reset() return diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 5840d67551316..55c9fff6eb1e9 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -131,12 +131,6 @@ /mob/living/simple_animal/bot/mulebot/proc/has_power(bypass_open_check) return (!open || bypass_open_check) && cell && cell.charge > 0 && (!wires.is_cut(WIRE_POWER1) && !wires.is_cut(WIRE_POWER2)) -/mob/living/simple_animal/bot/mulebot/update_mobility() - . = ..() - if(!on) - mobility_flags |= MOBILITY_STAND //base bots removes all mobility flags when turned off, resulting in the bot becoming passable. we don't want this since it's a large device that should block things. - update_action_buttons_icon(TRUE) - /mob/living/simple_animal/bot/mulebot/proc/set_id(new_id) id = new_id if(paicard) @@ -442,7 +436,7 @@ if (!istype(L)) return - if(user.incapacitated() || (istype(L) && !(L.mobility_flags & MOBILITY_STAND))) + if(user.incapacitated() || (istype(L) && L.body_position == LYING_DOWN)) return if(!istype(AM) || isdead(AM) || iscameramob(AM) || istype(AM, /obj/effect/dummy/phased_mob)) @@ -800,7 +794,7 @@ bloodiness += 4 // player on mulebot attempted to move -/mob/living/simple_animal/bot/mulebot/relaymove(mob/user) +/mob/living/simple_animal/bot/mulebot/relaymove(mob/living/user, direction) if(user.incapacitated()) return if(load == user) diff --git a/code/modules/mob/living/simple_animal/cluwne.dm b/code/modules/mob/living/simple_animal/cluwne.dm index 6ad34c91ec5ff..6646577b7579b 100644 --- a/code/modules/mob/living/simple_animal/cluwne.dm +++ b/code/modules/mob/living/simple_animal/cluwne.dm @@ -1,53 +1,54 @@ /mob/living/simple_animal/cluwne - name = "The Cluwne" - real_name = "The Cluwne" - desc = "A cluwne. A barely-human monstrosity that pissed off the gods." - friendly = "bops" - turns_per_move = 10 - icon_state = "cluwne" - icon_living = "cluwne" - icon_dead = "cluwne_dead" - speak_emote = list("sadly honks") - attack_sound = 'sound/items/bikehorn.ogg' - loot = list(/obj/effect/decal/cleanable/blood/gibs) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 1500 - maxHealth = 150 - health = 150 - speak = list("HONK! HONK! HONK! HONK!","AAAAAAAAAAAAAAAAAA!!", "KILLMEKILLME!!", "HONK HENK HONK!!", "Honk Honk!", "HEEEEEEEEEEEEENK!!") - speak_language = /datum/language/metalanguage // It's cursing cluwne why not - footstep_type = FOOTSTEP_MOB_SHOE - chat_color = "#F37EF6" - discovery_points = 1000 + name = "The Cluwne" + real_name = "The Cluwne" + desc = "A cluwne. A barely-human monstrosity that pissed off the gods." + friendly_verb_continuous = "bops" + friendly_verb_simple = "bop" + turns_per_move = 10 + icon_state = "cluwne" + icon_living = "cluwne" + icon_dead = "cluwne_dead" + speak_emote = list("sadly honks") + attack_sound = 'sound/items/bikehorn.ogg' + loot = list(/obj/effect/decal/cleanable/blood/gibs) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1500 + maxHealth = 150 + health = 150 + speak = list("HONK! HONK! HONK! HONK!","AAAAAAAAAAAAAAAAAA!!", "KILLMEKILLME!!", "HONK HENK HONK!!", "Honk Honk!", "HEEEEEEEEEEEEENK!!") + speak_language = /datum/language/metalanguage // It's cursing cluwne why not + footstep_type = FOOTSTEP_MOB_SHOE + chat_color = "#F37EF6" + discovery_points = 1000 /mob/living/simple_animal/cluwne/Initialize(mapload) - . = ..() - playsound(src, 'sound/misc/honk_echo_distant.ogg', 90, 2) // loud - var/newname = pick(GLOB.clown_names) - name = newname - real_name = newname - AddComponent(/datum/component/waddling) // sad man + . = ..() + playsound(src, 'sound/misc/honk_echo_distant.ogg', 90, 2) // loud + var/newname = pick(GLOB.clown_names) + name = newname + real_name = newname + AddComponent(/datum/component/waddling) // sad man /mob/living/simple_animal/cluwne/emote(act, m_type=1, message = null, intentional = FALSE) - if(intentional) - message = "makes a sad honk." - act = "me" - ..() + if(intentional) + message = "makes a sad honk." + act = "me" + ..() /mob/living/simple_animal/cluwne/UnarmedAttack(atom/A, proximity) - playsound(src, 'sound/items/bikehorn.ogg', 20, 2) - ..() + playsound(src, 'sound/items/bikehorn.ogg', 20, 2) + ..() /mob/living/simple_animal/cluwne/attacked_by(obj/item/I, mob/living/user) - playsound(src, 'sound/items/bikehorn.ogg', 20, 2) - ..() + playsound(src, 'sound/items/bikehorn.ogg', 20, 2) + ..() /mob/living/simple_animal/cluwne/attack_hand() - playsound(src, 'sound/items/bikehorn.ogg', 20, 2) - ..() + playsound(src, 'sound/items/bikehorn.ogg', 20, 2) + ..() /mob/living/simple_animal/cluwne/say(message, bubble_type,var/list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) - message = pick(speak) - ..() + message = pick(speak) + ..() diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 067c92f2898cf..0517752446447 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -5,9 +5,12 @@ gender = NEUTER mob_biotypes = list(MOB_INORGANIC) speak_emote = list("hisses") - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" speak_chance = 1 icon = 'icons/mob/cult.dmi' speed = 0 @@ -48,11 +51,8 @@ mobchatspan = "cultmobsay" discovery_points = 1000 -/mob/living/simple_animal/hostile/construct/get_num_legs() - return 0 - -/mob/living/simple_animal/hostile/construct/get_num_arms() - return 0 + usable_legs = 0 + usable_hands = 0 /mob/living/simple_animal/hostile/construct/Initialize(mapload) . = ..() @@ -81,7 +81,9 @@ return ..() /mob/living/simple_animal/hostile/construct/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, playstyle_string) /mob/living/simple_animal/hostile/construct/examine(mob/user) @@ -139,11 +141,13 @@ icon_living = "juggernaut" maxHealth = 150 health = 150 - response_harm = "punches" + response_harm_continuous = "punches" + response_harm_simple = "punch" obj_damage = 90 melee_damage = 25 - attacktext = "smashes their armored gauntlet into" + attack_verb_continuous = "smashes their armored gauntlet into" + attack_verb_simple = "smash your armored gauntlet into" speed = 2.5 environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch3.ogg' @@ -215,7 +219,8 @@ health = 65 melee_damage = 20 retreat_distance = 2 //AI wraiths will move in and out of combat - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) runetype = /datum/action/innate/cult/create_rune/tele @@ -271,12 +276,14 @@ icon_living = "artificer" maxHealth = 50 health = 50 - response_harm = "viciously beats" + response_harm_continuous = "viciously beats" + response_harm_simple = "viciously beat" obj_damage = 60 melee_damage = 5 retreat_distance = 10 minimum_distance = 10 //AI artificers will flee like fuck - attacktext = "rams" + attack_verb_continuous = "rams" + attack_verb_simple = "ram" environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' construct_spells = list( @@ -379,7 +386,8 @@ health = 40 sight = SEE_MOBS melee_damage = 15 - attacktext = "butchers" + attack_verb_continuous = "butchers" + attack_verb_simple = "butcher" attack_sound = 'sound/weapons/bladeslice.ogg' construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, /obj/effect/proc_holder/spell/targeted/forcewall/cult) @@ -443,7 +451,8 @@ health = 35 melee_damage = 9 retreat_distance = 4 //AI proteons will rapidly move in and out of combat to avoid conflict, but will still target and follow you. - attacktext = "pinches" + attack_verb_continuous = "pinches" + attack_verb_simple = "pinch" environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' playstyle_string = "You are a Proteon. Your abilities in combat are outmatched by most combat constructs, but you are still fast and nimble. Run metal and supplies, and cooperate with your fellow cultists." diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index a801c06a148cb..fe890e42c6f3e 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -5,13 +5,17 @@ icon_living = "butterfly" icon_dead = "butterfly_dead" turns_per_move = 1 - response_help = "shoos" - response_disarm = "brushes aside" - response_harm = "squashes" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "brushes aside" + response_disarm_simple = "brush aside" + response_harm_continuous = "squashes" + response_harm_simple = "squash" speak_emote = list("flutters") maxHealth = 2 health = 2 - friendly = "nudges" + friendly_verb_continuous = "nudges" + friendly_verb_simple = "nudge" density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 1fc686bcf12a7..629b172c153a5 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -25,9 +25,12 @@ animal_species = /mob/living/simple_animal/pet/cat childtype = list(/mob/living/simple_animal/pet/cat/kitten) butcher_results = list(/obj/item/food/meat/slab = 2, /obj/item/organ/ears/cat = 1, /obj/item/organ/tail/cat = 1, /obj/item/organ/tongue/cat = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" var/turns_since_scan = 0 var/mob/living/simple_animal/mouse/movement_target gold_core_spawnable = FRIENDLY_SPAWN @@ -41,7 +44,7 @@ /mob/living/simple_animal/pet/cat/Initialize(mapload) . = ..() - add_verb(/mob/living/proc/lay_down) + add_verb(/mob/living/proc/toggle_resting) /mob/living/simple_animal/pet/cat/space name = "space cat" @@ -182,34 +185,36 @@ /mob/living/simple_animal/pet/cat/update_resting() . = ..() - if(stat != DEAD) - if (resting) - icon_state = "[icon_living]_rest" - collar_type = "[initial(collar_type)]_rest" - else - icon_state = "[icon_living]" - collar_type = "[initial(collar_type)]" + if(stat == DEAD) + return + if (resting) + icon_state = "[icon_living]_rest" + collar_type = "[initial(collar_type)]_rest" + else + icon_state = "[icon_living]" + collar_type = "[initial(collar_type)]" + regenerate_icons() + /mob/living/simple_animal/pet/cat/Life() if(!stat && !buckled && !client) - if(prob(3)) - switch(rand(1, 3)) - if (1) - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "me", 1, pick("stretches out for a belly rub.", "wags its tail.", "lies down.")) - set_resting(TRUE) - if (2) - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "me", 1, pick("sits down.", "crouches on its hind legs.", "looks alert.")) - set_resting(TRUE) - icon_state = "[icon_living]_sit" - collar_type = "[initial(collar_type)]_sit" - if (3) - if (resting) - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "me", 1, pick("gets up and meows.", "walks around.", "stops resting.")) - set_resting(FALSE) - else - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "me", 1, pick("grooms its fur.", "twitches its whiskers.", "shakes out its coat.")) + if(prob(1)) + manual_emote(pick("stretches out for a belly rub.", "wags its tail.", "lies down.")) + set_resting(TRUE) + else if (prob(1)) + manual_emote(pick("sits down.", "crouches on its hind legs.", "looks alert.")) + set_resting(TRUE) + icon_state = "[icon_living]_sit" + collar_type = "[initial(collar_type)]_sit" + else if (prob(1)) + if (resting) + manual_emote(pick("gets up and meows.", "walks around.", "stops resting.")) + set_resting(FALSE) + else + manual_emote(pick("grooms its fur.", "twitches its whiskers.", "shakes out its coat.")) ..() + if(next_scan_time <= world.time) make_babies() @@ -263,7 +268,8 @@ gender = FEMALE butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/food/cakeslice/birthday = 3, \ /obj/item/food/meat/slab = 2) - response_harm = "takes a bite out of" + response_harm_continuous = "takes a bite out of" + response_harm_simple = "take a bite out of" attacked_sound = 'sound/items/eatfood.ogg' deathmessage = "loses its false life and collapses!" deathsound = "bodyfall" diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index 59b22e4757f55..adf05dac71918 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -11,11 +11,15 @@ speak_chance = 1 turns_per_move = 5 butcher_results = list(/obj/item/food/meat/rawcrab = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "stomps" + response_harm_simple = "stomp" stop_automated_movement = 1 - friendly = "pinches" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" ventcrawler = VENTCRAWLER_ALWAYS var/obj/item/inventory_head var/obj/item/inventory_mask @@ -47,9 +51,6 @@ real_name = "Coffee" desc = "It's Coffee, the other pet!" gender = FEMALE - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil @@ -59,9 +60,6 @@ icon_state = "evilcrab" icon_living = "evilcrab" icon_dead = "evilcrab_dead" - response_help = "pokes" - response_disarm = "shoves" - response_harm = "stomps" gold_core_spawnable = HOSTILE_SPAWN held_state = "evilcrab" @@ -72,9 +70,6 @@ icon_state = "kreb" icon_living = "kreb" icon_dead = "kreb_dead" - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "stomps" gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil/kreb diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index fc2d591ba7630..5536376f15248 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -2,9 +2,12 @@ /mob/living/simple_animal/pet/dog mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" speak = list("YAP", "Woof!", "Bark!", "AUUUUUU") speak_emote = list("barks", "woofs") speak_language = /datum/language/metalanguage @@ -367,9 +370,12 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( desc = "It's the HoP's beloved corgi." var/turns_since_scan = 0 var/obj/movement_target - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/age = 0 @@ -660,9 +666,12 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( icon_state = "lisa" icon_living = "lisa" icon_dead = "lisa_dead" - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" held_state = "lisa" worn_slot_flags = ITEM_SLOT_HEAD var/turns_since_scan = 0 diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm index bfbc47a96fde7..56faa85c449d3 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm @@ -133,7 +133,9 @@ return ..() /mob/living/simple_animal/drone/Login() - ..() + . = ..() + if(!. || !client) + return FALSE check_laws() if(flavortext) diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index eef94e2393bb9..3b84f59d2d989 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -37,7 +37,9 @@ hidden_uplink.telecrystals = 10 /mob/living/simple_animal/drone/syndrone/Login() - ..() + . = ..() + if(!. || !client) + return FALSE to_chat(src, "You can kill and eat other drones to increase your health!" ) /mob/living/simple_animal/drone/syndrone/badass diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index b1afb10aa3f78..9753d13f777cc 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -14,13 +14,17 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/food/meat/slab = 4) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("neutral") mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) attack_same = 1 - attacktext = "kicks" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' health = 40 maxHealth = 40 @@ -113,10 +117,14 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/food/meat/slab = 6) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" attack_sound = 'sound/weapons/punch1.ogg' health = 50 maxHealth = 50 @@ -180,10 +188,14 @@ speak_chance = 2 turns_per_move = 2 butcher_results = list(/obj/item/food/meat/slab/chicken = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 3 maxHealth = 3 ventcrawler = VENTCRAWLER_ALWAYS @@ -243,10 +255,14 @@ butcher_results = list(/obj/item/food/meat/slab/chicken = 2) var/egg_type = /obj/item/food/egg var/food_type = /obj/item/food/grown/wheat - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" - attacktext = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + attack_verb_continuous = "kicks" + attack_verb_simple = "kick" health = 15 maxHealth = 15 ventcrawler = VENTCRAWLER_ALWAYS @@ -343,7 +359,8 @@ health = 15 maxHealth = 15 egg_type = null - attacktext = "pecks" + attack_verb_continuous = "pecks" + attack_verb_simple = "peck" attack_sound = 'sound/creatures/turkey.ogg' ventcrawler = VENTCRAWLER_ALWAYS icon_prefix = "turkey" diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index cf24b949b2a6a..58e3b20608358 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -15,9 +15,12 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/food/meat/slab = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" gold_core_spawnable = FRIENDLY_SPAWN chat_color = "#FFAE64" mobchatspan = "fox" diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 906ee5e0bb914..b6fddfac2f7f8 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -9,9 +9,12 @@ name = "gondola" real_name = "gondola" desc = "Gondola is the silent walker. Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling facial expression shows his utter and complete acceptance of the world as it is. Its hide is extremely valuable." - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" faction = list("gondola") turns_per_move = 10 icon = 'icons/mob/gondolas.dmi' diff --git a/code/modules/mob/living/simple_animal/friendly/hamster.dm b/code/modules/mob/living/simple_animal/friendly/hamster.dm index bb973b11bbc6c..6c6518794121a 100644 --- a/code/modules/mob/living/simple_animal/friendly/hamster.dm +++ b/code/modules/mob/living/simple_animal/friendly/hamster.dm @@ -1,8 +1,11 @@ /mob/living/simple_animal/pet/hamster mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) - response_help = "pets" - response_disarm = "bops" - response_harm = "bites" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "bites" + response_harm_simple = "bite" speak = list("Squeak", "SQUEAK!") speak_emote = list("squeak", "hisses", "squeals") speak_language = /datum/language/metalanguage diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index a171d3e6a0cd8..5cf72cd461693 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -8,11 +8,15 @@ health = 5 maxHealth = 5 faction = list("Lizard") - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" melee_damage = 1 - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" ventcrawler = VENTCRAWLER_ALWAYS density = FALSE pass_flags = PASSTABLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 09924c6bf380c..f00050181adf6 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -15,9 +15,12 @@ maxHealth = 5 health = 5 butcher_results = list(/obj/item/food/meat/slab/mouse = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "splats" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS pass_flags = PASSTABLE | PASSMOB @@ -119,9 +122,12 @@ /mob/living/simple_animal/mouse/brown/Tom name = "Tom" desc = "Jerry the cat is not amused." - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "splats" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" gold_core_spawnable = NO_SPAWN /obj/item/food/deadmouse diff --git a/code/modules/mob/living/simple_animal/friendly/penguin.dm b/code/modules/mob/living/simple_animal/friendly/penguin.dm index 203a38cf7db7a..8dae018330b30 100644 --- a/code/modules/mob/living/simple_animal/friendly/penguin.dm +++ b/code/modules/mob/living/simple_animal/friendly/penguin.dm @@ -1,9 +1,12 @@ //Penguins /mob/living/simple_animal/pet/penguin - response_help = "pets" - response_disarm = "bops" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" speak = list("Gah Gah!", "NOOT NOOT!", "NOOT!", "Noot", "noot", "Prah!", "Grah!") speak_emote = list("squawks", "gakkers") speak_language = /datum/language/metalanguage diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index f3fdc22f806b6..a2767296af453 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -11,9 +11,12 @@ speak_chance = 1 turns_per_move = 5 butcher_results = list(/obj/item/food/meat/slab = 3) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) gold_core_spawnable = FRIENDLY_SPAWN melee_damage = 18 //why the fuck does it do this much damage diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index b965f85f7b43b..f5661462301aa 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -18,11 +18,15 @@ speak_emote = list("hisses") health = 20 maxHealth = 20 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" melee_damage = 6 - response_help = "pets" - response_disarm = "shoos" - response_harm = "steps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "steps on" + response_harm_simple = "step on" faction = list("hostile") ventcrawler = VENTCRAWLER_ALWAYS density = FALSE diff --git a/code/modules/mob/living/simple_animal/friendly/turtle.dm b/code/modules/mob/living/simple_animal/friendly/turtle.dm index 907b014711b5b..df3429a634c4d 100644 --- a/code/modules/mob/living/simple_animal/friendly/turtle.dm +++ b/code/modules/mob/living/simple_animal/friendly/turtle.dm @@ -12,9 +12,12 @@ speak_chance = 1 turns_per_move = 5 butcher_results = list(/obj/item/food/meat/slab = 1, /obj/item/clothing/head/franks_hat = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) gold_core_spawnable = NO_SPAWN melee_damage = 0.5 diff --git a/code/modules/mob/living/simple_animal/heretic_monsters.dm b/code/modules/mob/living/simple_animal/heretic_monsters.dm index d1c51324b1a8e..9783a615f10fa 100644 --- a/code/modules/mob/living/simple_animal/heretic_monsters.dm +++ b/code/modules/mob/living/simple_animal/heretic_monsters.dm @@ -6,9 +6,12 @@ gender = NEUTER mob_biotypes = NONE attack_sound = 'sound/weapons/punch1.ogg' - response_help = "thinks better of touching" - response_disarm = "flails at" - response_harm = "reaps" + response_help_continuous = "thinks better of touching" + response_help_simple = "think better of touching" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "reaps" + response_harm_simple = "reap" speak_emote = list("screams") speak_chance = 1 speed = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index b8a0082514808..e197643febcb1 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -7,9 +7,6 @@ icon_dead = "alienh_dead" icon_gib = "syndicate_gib" gender = FEMALE - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 butcher_results = list(/obj/item/food/meat/slab/xeno = 4, /obj/item/stack/sheet/animalhide/xeno = 1) @@ -17,7 +14,8 @@ health = 125 obj_damage = 60 melee_damage = 25 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" speak_emote = list("hisses") bubble_icon = "alien" a_intent = INTENT_HARM @@ -27,7 +25,7 @@ faction = list(FACTION_ALIEN) status_flags = CANPUSH minbodytemp = 0 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE unique_name = 1 gold_core_spawnable = NO_SPAWN @@ -158,7 +156,8 @@ name = "lusty xenomorph maid" melee_damage = 0 a_intent = INTENT_HELP - friendly = "caresses" + friendly_verb_continuous = "caresses" + friendly_verb_simple = "caress" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 136a813ca81df..0e7a907671896 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -17,9 +17,10 @@ turns_per_move = 5 see_in_dark = 6 butcher_results = list(/obj/item/food/meat/slab/bear = 5, /obj/item/clothing/head/costume/bearpelt = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" maxHealth = 60 health = 60 spacewalk = TRUE @@ -27,9 +28,11 @@ obj_damage = 60 melee_damage = 25 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' - friendly = "bear hugs" + friendly_verb_continuous = "bear hugs" + friendly_verb_simple = "bear hug" chat_color = "#CAA25B" //Space bears aren't affected by cold. @@ -120,12 +123,13 @@ obj_damage = 11 melee_damage = 1 armour_penetration = 0 - response_harm = "takes a bite out of" + response_harm_continuous = "takes a bite out of" + response_harm_simple = "take a bite out of" attacked_sound = 'sound/items/eatfood.ogg' deathmessage = "loses its false life and collapses!" butcher_results = list(/obj/item/food/butter = 6, /obj/item/food/meat/slab = 3, /obj/item/organ/brain = 1, /obj/item/organ/heart = 1) attack_sound = 'sound/weapons/slap.ogg' - attacktext = "slaps" + attack_verb_continuous = "slaps" /mob/living/simple_animal/hostile/bear/butter/Life() //Heals butter bear really fast when he takes damage. if(stat) @@ -156,28 +160,8 @@ /mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path. if(isliving(target)) var/mob/living/L = target - if((L.mobility_flags & MOBILITY_STAND)) + if((L.body_position == STANDING_UP)) L.Knockdown(20) playsound(loc, 'sound/misc/slip.ogg', 15) L.visible_message("[L] slips on butter!") - - - - - - - - - - - - - - - - - - - - diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index a4a8cbcf5e6ae..f83fc638d85e9 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -23,10 +23,14 @@ emote_hear = list("buzzes") turns_per_move = 0 melee_damage = 1 - attacktext = "stings" - response_help = "shoos" - response_disarm = "swats away" - response_harm = "squashes" + attack_verb_continuous = "stings" + attack_verb_simple = "sting" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "swats away" + response_disarm_simple = "swat away" + response_harm_continuous = "squashes" + response_harm_simple = "squash" maxHealth = 6 health = 6 spacewalk = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/bread.dm b/code/modules/mob/living/simple_animal/hostile/bread.dm index 47bb2cd7da4c5..4c8ddba930b5b 100644 --- a/code/modules/mob/living/simple_animal/hostile/bread.dm +++ b/code/modules/mob/living/simple_animal/hostile/bread.dm @@ -12,11 +12,7 @@ health = 30 see_in_dark = 3 butcher_results = list(/obj/item/food/breadslice/plain = 2) - response_help = "pokes" - response_disarm = "passes" - response_harm = "breaks" melee_damage = 10 - attacktext = "bites" attack_sound = 'sound/weapons/bite.ogg' ventcrawler = VENTCRAWLER_ALWAYS atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 8402e3408d7b6..a88869e9eedac 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -13,9 +13,10 @@ speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/food/fishmeat/carp = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" emote_taunt = list("gnashes") taunt_chance = 30 speed = 0 @@ -25,7 +26,8 @@ obj_damage = 50 melee_damage = 20 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("gnashes") chat_color = "#B15FB9" diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm index 501549c9cd813..bcc21f0e9ab6b 100644 --- a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm +++ b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm @@ -14,16 +14,14 @@ ranged_cooldown_time = 30 speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = HARD_CRIT robust_searching = 1 maxHealth = 100 health = 100 melee_damage = 15 - attacktext = "slashes at" + attack_verb_continuous = "slashes at" + attack_verb_simple = "slash at" attack_sound = 'sound/weapons/circsawhit.ogg' a_intent = INTENT_HARM mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 8ffdf9d30c980..38eff231950a5 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -8,9 +8,10 @@ icon_gib = "" gender = NEUTER mob_biotypes = list(MOB_ORGANIC) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" emote_taunt = list("glares") taunt_chance = 25 maxHealth = 45 @@ -19,7 +20,8 @@ obj_damage = 60 melee_damage = 20 - attacktext = "blinks at" + attack_verb_continuous = "blinks at" + attack_verb_simple = "blink at" attack_sound = 'sound/weapons/pierce.ogg' movement_type = FLYING diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index 5f91ecc109ef2..d92ed2a316db3 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -8,9 +8,12 @@ gender = MALE speak_chance = 0 turns_per_move = 5 - response_help = "passes through" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "swings through" + response_disarm_simple = "swing through" + response_harm_continuous = "punches through" + response_harm_simple = "punch through" emote_taunt = list("wails") taunt_chance = 25 speed = 0 @@ -22,7 +25,8 @@ obj_damage = 50 melee_damage = 15 - attacktext = "grips" + attack_verb_continuous = "grips" + attack_verb_simple = "grip" attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("growls") diff --git a/code/modules/mob/living/simple_animal/hostile/floor_cluwne.dm b/code/modules/mob/living/simple_animal/hostile/floor_cluwne.dm index a3ac4a531dc78..6bebc3e09797c 100644 --- a/code/modules/mob/living/simple_animal/hostile/floor_cluwne.dm +++ b/code/modules/mob/living/simple_animal/hostile/floor_cluwne.dm @@ -17,7 +17,6 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0) maxHealth = 250 health = 250 speed = -1 - attacktext = "attacks" attack_sound = 'sound/items/bikehorn.ogg' del_on_death = TRUE pass_flags = PASSTABLE | PASSGRILLE | PASSMOB | LETPASSTHROW | PASSTRANSPARENT | PASSBLOB//it's practically a ghost when unmanifested (under the floor) @@ -192,14 +191,12 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0) /mob/living/simple_animal/hostile/floor_cluwne/proc/Manifest()//handles disappearing and appearance anim if(manifested) mobility_flags &= ~MOBILITY_MOVE - update_mobility() cluwnehole = new(src.loc) addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne, Appear)), MANIFEST_DELAY) else invisibility = INVISIBILITY_SPIRIT density = FALSE mobility_flags |= MOBILITY_MOVE - update_mobility() if(cluwnehole) qdel(cluwnehole) diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 0dbf2e9fc3522..35ab586b1465c 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -31,9 +31,10 @@ turns_per_move = 5 see_in_dark = 10 butcher_results = list(/obj/item/food/meat/slab/spider = 2, /obj/item/food/spiderleg = 8) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" initial_language_holder = /datum/language_holder/spider // Speaks buzzwords, understands buzzwords and common maxHealth = 85 health = 85 @@ -45,7 +46,8 @@ pass_flags = PASSTABLE move_to_delay = 4 ventcrawler = VENTCRAWLER_ALWAYS - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' unique_name = 1 gold_core_spawnable = HOSTILE_SPAWN @@ -95,7 +97,9 @@ return ..() /mob/living/simple_animal/hostile/poison/giant_spider/Login() - ..() + . = ..() + if(!. || !client) + return FALSE SSmove_manager.stop_looping(src) // Just in case the AI's doing anything when we give them the mind GLOB.spidermobs[src] = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index dbb1df61806fd..32bdb2bb9e16e 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -10,16 +10,20 @@ speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/food/meat/slab = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" emote_taunt = list("hisses") taunt_chance = 30 speed = 0 maxHealth = 25 health = 25 melee_damage = 5 - attacktext = "pecks" + attack_verb_continuous = "pecks" + attack_verb_simple = "peck" attack_sound = "goose" speak_emote = list("honks") faction = list("neutral") @@ -42,9 +46,12 @@ real_name = "Birdboat" desc = "It's a sick-looking goose, probably ate too much maintenance trash. Best not to move it around too much." gender = MALE - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "kicks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" gold_core_spawnable = NO_SPAWN random_retaliate = FALSE var/vomiting = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index 6661246c29a48..afd48366d5d79 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -15,15 +15,19 @@ health = 220 loot = list(/obj/effect/gibspawner/generic/animal) butcher_results = list(/obj/item/food/meat/slab/gorilla = 4) - response_help = "prods" - response_disarm = "challenges" - response_harm = "thumps" + response_help_continuous = "prods" + response_help_simple = "prod" + response_disarm_continuous = "challenges" + response_disarm_simple = "challenge" + response_harm_continuous = "thumps" + response_harm_simple = "thump" speed = 1 melee_damage = 16 damage_coeff = list(BRUTE = 1, BURN = 1.5, TOX = 1.5, CLONE = 0, STAMINA = 0, OXY = 1.5) obj_damage = 20 environment_smash = ENVIRONMENT_SMASH_WALLS - attacktext = "pummels" + attack_verb_continuous = "pummels" + attack_verb_simple = "pummel" attack_sound = 'sound/weapons/punch1.ogg' dextrous = TRUE held_items = list(null, null) diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 233dcdd9bc358..55bd35b8cb3b1 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -10,7 +10,8 @@ health = 50 maxHealth = 50 melee_damage = 10 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' faction = list("creature") robust_searching = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/heart.dm b/code/modules/mob/living/simple_animal/hostile/heart.dm index f955d20acdfad..2dcfe10d9db45 100644 --- a/code/modules/mob/living/simple_animal/hostile/heart.dm +++ b/code/modules/mob/living/simple_animal/hostile/heart.dm @@ -14,17 +14,21 @@ health = 24 speed = -1 melee_damage = 15 - response_help = "touches" - response_disarm = "beats" - response_harm = "breaks" + response_help_continuous = "touches" + response_help_simple = "touch" + response_disarm_continuous = "beats" + response_disarm_simple = "beat" + response_harm_continuous = "breaks" + response_harm_simple = "break" density = FALSE - attacktext = "beats" + attack_verb_continuous = "beats" + attack_verb_simple = "beat" ventcrawler = VENTCRAWLER_ALWAYS attack_sound = 'sound/effects/singlebeat.ogg' stat_attack = HARD_CRIT attack_same = 1 gold_core_spawnable = HOSTILE_SPAWN - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE deathmessage = "falls lifeless." del_on_death = TRUE loot = list(/obj/item/organ/heart) diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index ff68632631c34..e7c5f9296de5a 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -15,7 +15,8 @@ maxHealth = 15 healable = 0 melee_damage = 3 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/weapons/bladeslice.ogg' projectilesound = 'sound/weapons/gunshot.ogg' projectiletype = /obj/projectile/hivebotbullet diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm index e75de5c84faee..e5326f6584377 100644 --- a/code/modules/mob/living/simple_animal/hostile/illusion.dm +++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm @@ -9,7 +9,8 @@ mob_biotypes = list() melee_damage = 5 a_intent = INTENT_HARM - attacktext = "gores" + attack_verb_continuous = "gores" + attack_verb_simple = "gore" maxHealth = 100 health = 100 speed = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm index 207b3bca5aa87..d8111ab23c106 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -7,9 +7,8 @@ environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = 450 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" + response_harm_continuous = "strikes" + response_harm_simple = "strike" status_flags = NONE a_intent = INTENT_HARM see_in_dark = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index 7e72bb886a493..dcf63397fbf69 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -11,11 +11,15 @@ health = 30 see_in_dark = 3 butcher_results = list(/obj/item/food/meat/slab/killertomato = 2) - response_help = "prods" - response_disarm = "pushes aside" - response_harm = "smacks" + response_help_continuous = "prods" + response_help_simple = "prod" + response_disarm_continuous = "pushes aside" + response_disarm_simple = "push aside" + response_harm_continuous = "smacks" + response_harm_simple = "smack" melee_damage = 10 - attacktext = "slams" + attack_verb_continuous = "slams" + attack_verb_simple = "slam" attack_sound = 'sound/weapons/punch1.ogg' ventcrawler = VENTCRAWLER_ALWAYS faction = list("plants") diff --git a/code/modules/mob/living/simple_animal/hostile/macrophage.dm b/code/modules/mob/living/simple_animal/hostile/macrophage.dm index 350d999f2fad4..80e795eafc055 100644 --- a/code/modules/mob/living/simple_animal/hostile/macrophage.dm +++ b/code/modules/mob/living/simple_animal/hostile/macrophage.dm @@ -5,10 +5,14 @@ speak_emote = list("Blubbers") emote_hear = list("Blubbers") melee_damage = 1 - attacktext = "pierces" - response_help = "shoos" - response_disarm = "swats away" - response_harm = "squashes" + attack_verb_continuous = "pierces" + attack_verb_simple = "pierce" + response_help_continuous = "shoos" + response_help_simple = "shoo" + response_disarm_continuous = "swats away" + response_disarm_simple = "swat away" + response_harm_continuous = "squashes" + response_harm_simple = "squash" maxHealth = 6 health = 6 spacewalk = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 48af70c824969..8c377c10caac9 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -123,7 +123,7 @@ return FALSE if(!M.has_charge(required_mecha_charge)) return FALSE - if(M.obj_integrity < M.max_integrity*0.5) + if(M.get_integrity() < M.max_integrity*0.5) return FALSE return TRUE @@ -217,7 +217,7 @@ return //Too Much Damage - Eject - if(mecha.obj_integrity < mecha.max_integrity*0.1) + if(mecha.get_integrity() < mecha.max_integrity*0.1) exit_mecha(mecha) return @@ -228,7 +228,7 @@ action.Trigger() //Heavy damage - Defense Power or Retreat - if(mecha.obj_integrity < mecha.max_integrity*0.25) + if(mecha.get_integrity() < mecha.max_integrity*0.25) if(prob(defense_mode_chance)) if(LAZYACCESSASSOC(mecha.occupant_actions, src, /datum/action/vehicle/sealed/mecha/mech_defense_mode) && !mecha.defense_mode) var/datum/action/action = mecha.occupant_actions[src][/datum/action/vehicle/sealed/mecha/mech_defense_mode] diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index 9da9ce66d624b..a10c97f6ee868 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -29,12 +29,14 @@ Difficulty: Hard desc = "In what passes for a hierarchy among slaughter demons, this one is king." health = 1250 maxHealth = 1250 - attacktext = "rends" + attack_verb_continuous = "rends" + attack_verb_simple = "rend" attack_sound = 'sound/magic/demon_attack1.ogg' icon_state = "bubblegum" icon_living = "bubblegum" icon_dead = "" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("gurgles") armour_penetration = 40 @@ -308,13 +310,12 @@ Difficulty: Hard return TRUE return FALSE + /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/be_aggressive() if(BUBBLEGUM_IS_ENRAGED) return TRUE - if(isliving(target)) - var/mob/living/livingtarget = target - return (livingtarget.stat != CONSCIOUS || !(livingtarget.mobility_flags & MOBILITY_STAND)) - return FALSE + return isliving(target) && HAS_TRAIT(target, TRAIT_INCAPACITATED) + /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/get_retreat_distance() return (be_aggressive() ? null : initial(retreat_distance)) @@ -569,7 +570,8 @@ Difficulty: Hard icon_state = "bloodbrood" icon_living = "bloodbrood" icon_aggro = "bloodbrood" - attacktext = "pierces" + attack_verb_continuous = "pierces" + attack_verb_simple = "pierce" color = "#C80000" density = FALSE faction = list("mining", "boss") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 3c15e33bd7259..1ae92cf7d81dc 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -26,12 +26,14 @@ Difficulty: Very Hard desc = "A monstrous creature protected by heavy shielding." health = 1250 maxHealth = 1250 - attacktext = "judges" + attack_verb_continuous = "judges" + attack_verb_simple = "judge" attack_sound = 'sound/magic/clockwork/ratvar_attack.ogg' icon_state = "eva" icon_living = "eva" icon_dead = "" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/96x96megafauna.dmi' speak_emote = list("roars") armour_penetration = 40 @@ -695,13 +697,17 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) icon_living = "lightgeist" icon_dead = "butterfly_dead" turns_per_move = 1 - response_help = "waves away" - response_disarm = "brushes aside" - response_harm = "disrupts" + response_help_continuous = "waves away" + response_help_simple = "wave away" + response_disarm_continuous = "brushes aside" + response_disarm_simple = "brush aside" + response_harm_continuous = "disrupts" + response_harm_simple = "disrupt" speak_emote = list("oscillates") maxHealth = 2 health = 2 - friendly = "mends" + friendly_verb_continuous = "mends" + friendly_verb_simple = "mend" density = FALSE movement_type = FLYING pass_flags = PASSTABLE | PASSGRILLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index ebceb4d1aafc0..4b8ad3d0b1e66 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -31,13 +31,15 @@ Difficulty: Medium desc = "Guardians of the necropolis." health = 1250 maxHealth = 1250 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' icon = 'icons/mob/lavaland/64x64megafauna.dmi' icon_state = "dragon" icon_living = "dragon" icon_dead = "dragon_dead" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" speak_emote = list("roars") armour_penetration = 40 melee_damage = 40 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 57929c7ad9d62..757b359fd578c 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -39,11 +39,13 @@ Difficulty: Hard desc = "A massive metal club that hangs in the air as though waiting. It'll make you dance to its beat." health = 1250 maxHealth = 1250 - attacktext = "clubs" + attack_verb_continuous = "clubs" + attack_verb_simple = "club" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' icon_state = "hierophant" icon_living = "hierophant" - friendly = "stares down" + friendly_verb_continuous = "stares down" + friendly_verb_simple = "stare down" icon = 'icons/mob/lavaland/hierophant_new.dmi' faction = list("boss") //asteroid mobs? get that shit out of my beautiful square house speak_emote = list("preaches") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm index 7184569458639..121d4f09b69b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm @@ -17,7 +17,8 @@ Difficulty: Medium icon_living = "legion" desc = "One of many." icon = 'icons/mob/lavaland/legion.dmi' - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' speak_emote = list("echoes") armour_penetration = 50 diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 472922fe2cd65..4bc042bdb1b11 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -5,9 +5,10 @@ icon_state = "crate" icon_living = "crate" - response_help = "touches" - response_disarm = "pushes" - response_harm = "hits" + response_help_continuous = "touches" + response_help_simple = "touch" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" speed = 0 maxHealth = 250 health = 250 @@ -15,7 +16,6 @@ mob_biotypes = list(MOB_INORGANIC) melee_damage = 10 - attacktext = "attacks" attack_sound = 'sound/weapons/punch1.ogg' emote_taunt = list("growls") speak_emote = list("creaks") @@ -36,7 +36,8 @@ // Aggro when you try to open them. Will also pickup loot when spawns and drop it when dies. /mob/living/simple_animal/hostile/mimic/crate - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" speak_emote = list("clatters") stop_automated_movement = 1 wander = FALSE @@ -123,7 +124,7 @@ ..() // death of this mob means the destruction of the original stuff of the copied mob. if(istype(original_of_this, /obj/machinery/vending)) - original_of_this.take_damage(original_of_this.obj_integrity, BRUTE, 0, FALSE) + original_of_this.take_damage(original_of_this.max_integrity, BRUTE, 0, FALSE) // currently do this to vending machines only. // because the destruction of stuff (especially items) is annoying. diff --git a/code/modules/mob/living/simple_animal/hostile/mimite.dm b/code/modules/mob/living/simple_animal/hostile/mimite.dm index 4ad7b7b70b212..0989261f6412f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimite.dm @@ -16,9 +16,7 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE deathmessage = "splatters into a pile of black gunk!" del_on_death = TRUE - response_help = "touches" - response_disarm = "pushes" - response_harm = "hits" + speed = 3 maxHealth = 50 health = 50 @@ -30,7 +28,6 @@ aggro_vision_range = 4 armour_penetration = 10 rapid_melee = 2 - attacktext = "slashes" attack_sound = 'sound/effects/meatslap.ogg' emote_taunt = list("growls") speak_emote = list("chitters") @@ -317,7 +314,6 @@ icon = 'icons/obj/storage/crates.dmi' icon_state = "crate" icon_living = "crate" - attacktext = "bites" speak_emote = list("clatters") vision_range = 0 aggro_vision_range = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index e7449cae7af34..2617d977807f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -22,7 +22,8 @@ health = 100 obj_damage = 60 melee_damage = 12 - attacktext = "bites into" + attack_verb_continuous = "bites into" + attack_verb_simple = "bite into" a_intent = INTENT_HARM speak_emote = list("chitters") attack_sound = 'sound/weapons/bladeslice.ogg' @@ -72,7 +73,8 @@ base_pixel_x = -10 throw_message = "bounces harmlessly off of" melee_damage = 15 - attacktext = "impales" + attack_verb_continuous = "impales" + attack_verb_simple = "impale" a_intent = INTENT_HARM speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/bladeslice.ogg' diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm index b9daac962b972..a2d214b92fa6d 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/curse_blob.dm @@ -14,7 +14,8 @@ health = 40 melee_damage = 10 melee_damage_type = BURN - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/effects/curseattack.ogg' throw_message = "passes through the smokey body of" obj_damage = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index 27c2d0d675fbe..a9f97eabaac23 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -29,7 +29,6 @@ health = 400 melee_damage = 30 armour_penetration = 30 - attacktext = "beats down on" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" speed = 2 @@ -167,7 +166,8 @@ maxHealth = 15 health = 15 melee_damage = 5 - attacktext = "bashes against" + attack_verb_continuous = "bashes against" + attack_verb_simple = "bash against" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" speed = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index b2a2834b4c581..1f2e7a54654fb 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -27,7 +27,8 @@ maxHealth = 400 health = 400 melee_damage = 20 - attacktext = "preaches to" + attack_verb_continuous = "preaches to" + attack_verb_simple = "preach to" attack_sound = 'sound/magic/clockwork/ratvar_attack.ogg' throw_message = "doesn't affect the purity of" speed = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index b7ecca899540d..c934251bcecce 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -27,7 +27,8 @@ maxHealth = 400 health = 400 melee_damage = 30 - attacktext = "slashes its arms at" + attack_verb_continuous = "slashes at" + attack_verb_simple = "slash at" attack_sound = 'sound/weapons/bladeslice.ogg' throw_message = "doesn't affect the sturdiness of" speed = 1 @@ -219,7 +220,8 @@ maxHealth = 40 health = 40 melee_damage = 10 - attacktext = "bites at" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/effects/curse1.ogg' throw_message = "simply misses" speed = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index 62d5d5e788b1e..afa28f47a5e98 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -27,7 +27,8 @@ maxHealth = 400 health = 400 melee_damage = 15 - attacktext = "smashes into the side of" + attack_verb_continuous = "smashes into" + attack_verb_simple = "smash into" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' throw_message = "merely dinks off of the" speed = 4 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index 1fe66ddc51e91..6bbf5902d0571 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -12,11 +12,13 @@ vision_range = 2 aggro_vision_range = 9 move_to_delay = 5 - friendly = "harmlessly rolls into" + friendly_verb_continuous = "harmlessly rolls into" + friendly_verb_simple = "harmlessly roll into" maxHealth = 23 health = 23 melee_damage = 0 - attacktext = "barrels into" + attack_verb_continuous = "barrels into" + attack_verb_simple = "barrel into" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HELP speak_emote = list("screeches") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index dd7f054f8be9f..5beb5f20f0683 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -13,7 +13,8 @@ move_to_delay = 2 SECONDS ranged = 1 ranged_cooldown_time = 80 - friendly = "wails at" + friendly_verb_continuous = "wails at" + friendly_verb_simple = "wail at" speak_emote = list("bellows") vision_range = 4 speed = 3 @@ -21,7 +22,8 @@ health = 150 obj_damage = 100 melee_damage = 25 - attacktext = "pulverizes" + attack_verb_continuous = "pulverizes" + attack_verb_simple = "pulverize" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "does nothing to the rocky hide of the" vision_range = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index e65cbd6ee616b..8dab57a6c1b09 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -18,10 +18,14 @@ obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE move_to_delay = 15 - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "squishes" - friendly = "pinches" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "squishes" + response_harm_simple = "squish" + friendly_verb_continuous = "pinches" + friendly_verb_simple = "pinch" a_intent = INTENT_HELP ventcrawler = VENTCRAWLER_ALWAYS gold_core_spawnable = FRIENDLY_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 184b9faa5b06b..f0af72f7c10dc 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -17,7 +17,8 @@ maxHealth = 38 health = 38 melee_damage = 0 - attacktext = "lashes out at" + attack_verb_continuous = "lashes out at" + attack_verb_simple = "lash out at" speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" @@ -65,14 +66,16 @@ icon_gib = "syndicate_gib" mouse_opacity = MOUSE_OPACITY_OPAQUE move_to_delay = 1 - friendly = "buzzes near" + friendly_verb_continuous = "buzzes near" + friendly_verb_simple = "buzz near" vision_range = 10 speed = 3 maxHealth = 1 health = 1 movement_type = FLYING melee_damage = 2 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" speak_emote = list("telepathically cries") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" @@ -99,7 +102,8 @@ mouse_opacity = MOUSE_OPACITY_ICON obj_damage = 60 melee_damage = 15 - attacktext = "lashes out at" + attack_verb_continuous = "lashes out at" + attack_verb_simple = "lash out at" speak_emote = list("echoes") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "bounces harmlessly off of" @@ -159,12 +163,14 @@ icon_aggro = "legion_head" icon_dead = "legion_head" icon_gib = "syndicate_gib" - friendly = "buzzes near" + friendly_verb_continuous = "buzzes near" + friendly_verb_simple = "buzz near" vision_range = 10 maxHealth = 1 health = 5 melee_damage = 12 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" speak_emote = list("echoes") attack_sound = 'sound/weapons/pierce.ogg' throw_message = "is shrugged off by" @@ -247,7 +253,7 @@ weather_immunities = list("lava","ash") obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_STRUCTURES - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 49c7e0c4f74c8..e086f05ed17ae 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -8,15 +8,14 @@ environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = INFINITY - response_help = "pokes" - response_disarm = "shoves" - response_harm = "strikes" + response_harm_continuous = "strikes" + response_harm_simple = "strike" status_flags = 0 a_intent = INTENT_HARM var/crusher_loot var/throw_message = "bounces off of" var/fromtendril = FALSE - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE mob_size = MOB_SIZE_LARGE hardattacks = TRUE //nasty_blocks wont help you here diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index 5c59623cf072b..3fee8d2e257d3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -9,13 +9,17 @@ maxHealth = 10 health = 10 butcher_results = list(/obj/item/food/hugemushroomslice = 1) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "whacks" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "whacks" + response_harm_simple = "whack" obj_damage = 0 melee_damage = 1 attack_same = 2 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/bite.ogg' faction = list("mushroom") environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm index b3b02061b6366..6608aa9ceb883 100644 --- a/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/nanotrasen.dm @@ -9,16 +9,14 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 12 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = HARD_CRIT robust_searching = 1 maxHealth = 100 health = 100 melee_damage = 12 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 6aeec87e5efb9..7bea60361fe49 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -8,7 +8,8 @@ maxHealth = 80 obj_damage = 100 melee_damage = 35 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("creature") speak_emote = list("screams") @@ -26,7 +27,8 @@ icon_state = "mi-go" icon_living = "mi-go" icon_dead = "mi-go-dead" - attacktext = "lacerates" + attack_verb_continuous = "lacerates" + attack_verb_simple = "lacerate" speed = -0.5 var/static/list/migo_sounds deathmessage = "wails as its form turns into a pulpy mush." @@ -61,7 +63,8 @@ health = 100 maxHealth = 100 melee_damage = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" deathmessage = "falls apart into a fine dust." /obj/structure/spawner/nether diff --git a/code/modules/mob/living/simple_animal/hostile/pirate.dm b/code/modules/mob/living/simple_animal/hostile/pirate.dm index ee4eb2223ba22..3eb6b37a00eda 100644 --- a/code/modules/mob/living/simple_animal/hostile/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/pirate.dm @@ -8,14 +8,14 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 0 turns_per_move = 5 - response_help = "pushes" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "pushes" + response_help_simple = "push" speed = 0 maxHealth = 100 health = 100 melee_damage = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) @@ -35,7 +35,8 @@ icon_dead = "piratemelee_dead" melee_damage = 30 armour_penetration = 35 - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/blade1.ogg' var/obj/effect/light_emitter/red_energy_sword/sord diff --git a/code/modules/mob/living/simple_animal/hostile/redgrub.dm b/code/modules/mob/living/simple_animal/hostile/redgrub.dm index b13b2d42e6dc4..832ef5a97b43a 100644 --- a/code/modules/mob/living/simple_animal/hostile/redgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/redgrub.dm @@ -12,10 +12,14 @@ health = 4 melee_damage = 3 obj_damage = 0 - attacktext = "bites" - response_help = "pets" - response_disarm = "pokes" - response_harm = "squishes" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pokes" + response_disarm_simple = "poke" + response_harm_continuous = "squishes" + response_harm_simple = "squish" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS faction = list("hostile") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 20135c151f96b..2e7f3ee0990d8 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -6,9 +6,10 @@ icon_dead = "bat_dead" icon_gib = "bat_dead" turns_per_move = 1 - response_help = "brushes aside" - response_disarm = "flails at" - response_harm = "hits" + response_help_continuous = "brushes aside" + response_help_simple = "brush aside" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) speak_chance = 0 maxHealth = 15 @@ -16,7 +17,8 @@ spacewalk = TRUE see_in_dark = 10 melee_damage = 6 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" butcher_results = list(/obj/item/food/meat/slab = 1) pass_flags = PASSTABLE faction = list("hostile") @@ -60,5 +62,6 @@ melee_damage = 15 min_oxy = 5 movement_type = GROUND - response_help = "pets" + response_help_continuous = "pets" + response_help_simple = "pet" turns_per_move = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index d36021d7a6fec..22ee2359b6f9c 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -8,9 +8,10 @@ icon_gib = "clown_gib" mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) turns_per_move = 5 - response_help = "pokes" - response_disarm = "gently pushes aside" - response_harm = "robusts" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "robusts" + response_harm_simple = "robust" speak = list("HONK", "Honk!", "Welcome to clown planet!") speak_language = /datum/language/metalanguage // somehow clown speaks in this (same to all clown mobs) emote_see = list("honks", "squeaks") @@ -20,7 +21,6 @@ health = 75 speed = 1 melee_damage = 10 - attacktext = "attacks" attack_sound = 'sound/items/bikehorn.ogg' obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE @@ -74,8 +74,10 @@ icon_state = "lube" icon_living = "lube" turns_per_move = 1 - response_help = "dips a finger into" - response_disarm = "gently scoops and pours aside" + response_help_continuous = "dips a finger into" + response_help_simple = "dip a finger into" + response_disarm_continuous = "gently scoops and pours aside" + response_disarm_simple = "gently scoop and pour aside" emote_see = list("bubbles", "oozes") loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/particle_effect/foam) @@ -90,9 +92,10 @@ desc = "A fusion of clown and banana DNA birthed from a botany experiment gone wrong." icon_state = "banana tree" icon_living = "banana tree" - response_help = "pokes" - response_disarm = "peels" - response_harm = "peels" + response_disarm_continuous = "peels" + response_disarm_simple = "peel" + response_harm_continuous = "peels" + response_harm_simple = "peel" turns_per_move = 1 speak = list("HONK", "Honk!", "YA-HONK!!!") emote_see = list("honks", "bites into the banana", "plucks a banana off its head", "photosynthesizes") @@ -110,7 +113,8 @@ turns_per_move = 1 speed = -10 melee_damage = 1 - attacktext = "cheers up" + attack_verb_continuous = "cheers up" + attack_verb_simple = "cheer up" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap, /obj/item/seeds/banana/bluespace) banana_type = /obj/item/grown/bananapeel attack_reagent = /datum/reagent/consumable/laughter @@ -120,9 +124,12 @@ desc = "A being forged out of the pure essence of pranking, cursed into existence by a cruel maker." icon_state = "fleshclown" icon_living = "fleshclown" - response_help = "reluctantly pokes" - response_disarm = "sinks his hands into the spongy flesh of" - response_harm = "cleanses the world of" + response_help_continuous = "reluctantly pokes" + response_help_simple = "reluctantly poke" + response_disarm_continuous = "sinks his hands into the spongy flesh of" + response_disarm_simple = "sink your hands into the spongy flesh of" + response_harm_continuous = "cleanses the world of" + response_harm_simple = "cleanse the world of" speak = list("HONK", "Honk!", "I didn't ask for this", "I feel constant and horrible pain", "YA-HONK!!!", "this body is a merciless and unforgiving prison", "I was born out of mirthful pranking but I live in suffering") emote_see = list("honks", "sweats", "jiggles", "contemplates its existence") speak_chance = 5 @@ -132,7 +139,8 @@ health = 140 speed = -5 melee_damage = 15 - attacktext = "limply slaps" + attack_verb_continuous = "limply slaps" + attack_verb_simple = "limply slap" obj_damage = 5 loot = list(/obj/item/clothing/suit/hooded/bloated_human, /obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) @@ -143,9 +151,12 @@ icon_living = "long face" move_resist = INFINITY turns_per_move = 10 - response_help = "tries awkwardly to hug" - response_disarm = "pushes the unwieldy frame of" - response_harm = "tries to shut up" + response_help_continuous = "tries to awkwardly hug" + response_help_simple = "try to awkwardly hug" + response_disarm_continuous = "pushes the unwieldy frame of" + response_disarm_simple = "push the unwieldy frame of" + response_harm_continuous = "tries to shut up" + response_harm_simple = "try to shut up" speak = list("YA-HONK!!!") emote_see = list("honks", "squeaks") speak_chance = 60 @@ -155,7 +166,8 @@ base_pixel_x = -16 speed = 10 melee_damage = 5 - attacktext = "YA-HONKs" + attack_verb_continuous = "YA-HONKs" + attack_verb_simple = "YA-HONK" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) /mob/living/simple_animal/hostile/retaliate/clown/clownhulk @@ -164,9 +176,12 @@ icon_state = "honkhulk" icon_living = "honkhulk" move_resist = INFINITY - response_help = "tries desperately to appease" - response_disarm = "foolishly pushes" - response_harm = "angers" + response_help_continuous = "tries desperately to appease" + response_help_simple = "try desperately to appease" + response_disarm_continuous = "foolishly pushes" + response_disarm_simple = "foolishly push" + response_harm_continuous = "angers" + response_harm_simple = "anger" speak = list("HONK", "Honk!", "HAUAUANK!!!", "GUUURRRRAAAHHH!!!") emote_see = list("honks", "sweats", "grunts") speak_chance = 5 @@ -176,7 +191,8 @@ base_pixel_x = -16 speed = 2 melee_damage = 17 - attacktext = "pummels" + attack_verb_continuous = "pummels" + attack_verb_simple = "pummel" obj_damage = 30 environment_smash = ENVIRONMENT_SMASH_WALLS loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/item/soap) @@ -186,16 +202,20 @@ desc = "A real lunkhead who somehow gets all the girls." icon_state = "chlown" icon_living = "chlown" - response_help = "submits to" - response_disarm = "tries to assert dominance over" - response_harm = "makes a weak beta attack at" + response_help_continuous = "submits to" + response_help_simple = "submit to" + response_disarm_continuous = "tries to assert dominance over" + response_disarm_simple = "try to assert dominance over" + response_harm_continuous = "makes a weak beta attack at" + response_harm_simple = "make a weak beta attack at" speak = list("HONK", "Honk!", "Bruh", "cheeaaaahhh?") emote_see = list("asserts his dominance", "emasculates everyone implicitly") maxHealth = 500 health = 500 speed = -2 armour_penetration = 20 - attacktext = "steals the girlfriend of" + attack_verb_continuous = "steals the girlfriend of" + attack_verb_simple = "steal the girlfriend of" attack_sound = 'sound/items/airhorn2.ogg' loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) @@ -204,8 +224,10 @@ desc = "A slender wiry figure of alchemical origin." icon_state = "honkmunculus" icon_living = "honkmunculus" - response_help = "skeptically pokes" - response_disarm = "pushes the unwieldy frame of" + response_help_continuous = "skeptically pokes" + response_help_simple = "skeptically poke" + response_disarm_continuous = "pushes the unwieldy frame of" + response_disarm_simple = "push the unwieldy frame of" speak = list("honk") emote_see = list("squirms", "writhes") speak_chance = 1 @@ -213,7 +235,8 @@ health = 200 speed = -5 melee_damage = 10 - attacktext = "ferociously mauls" + attack_verb_continuous = "ferociously mauls" + attack_verb_simple = "ferociously maul" environment_smash = ENVIRONMENT_SMASH_NONE loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap) attack_reagent = /datum/reagent/peaceborg/confuse @@ -223,8 +246,8 @@ desc = "An ancient being born of arcane honking." icon_state = "destroyer" icon_living = "destroyer" - response_disarm = "bounces off of" - response_harm = "bounces off of" + response_disarm_continuous = "bounces off of" + response_harm_continuous = "bounces off of" speak = list("HONK!!!", "The Honkmother is merciful, so I must act out her wrath.", "parce mihi ad beatus honkmother placet mihi ut peccata committere,", "DIE!!!") maxHealth = 400 health = 400 @@ -232,7 +255,8 @@ melee_damage = 30 armour_penetration = 30 stat_attack = HARD_CRIT - attacktext = "acts out divine vengeance on" + attack_verb_continuous = "acts out divine vengeance on" + attack_verb_simple = "act out divine vengeance on" obj_damage = 50 environment_smash = ENVIRONMENT_SMASH_RWALLS loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/particle_effect/foam, /obj/item/soap) @@ -244,9 +268,12 @@ icon_living = "mutant" move_resist = INFINITY turns_per_move = 10 - response_help = "reluctantly sinks a finger into" - response_disarm = "squishes into" - response_harm = "squishes into" + response_help_continuous = "reluctantly sinks a finger into" + response_help_simple = "reluctantly sink a finger into" + response_disarm_continuous = "squishes into" + response_disarm_simple = "squish into" + response_harm_continuous = "squishes into" + response_harm_simple = "squish into" speak = list("aaaaaahhhhuuhhhuhhhaaaaa", "AAAaaauuuaaAAAaauuhhh", "huuuuuh... hhhhuuuooooonnnnkk", "HuaUAAAnKKKK") emote_see = list("squirms", "writhes", "pulsates", "froths", "oozes") speak_chance = 10 @@ -256,7 +283,8 @@ base_pixel_x = -16 speed = -5 melee_damage = 15 - attacktext = "awkwardly flails at" + attack_verb_continuous = "awkwardly flails at" + attack_verb_simple = "awkwardly flail at" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob @@ -269,6 +297,7 @@ health = 130 mob_size = MOB_SIZE_LARGE speed = 20 - attacktext = "bounces off of" + attack_verb_continuous = "bounces off of" + attack_verb_simple = "bounce off of" loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/xeno/bodypartless, /obj/effect/particle_effect/foam, /obj/item/soap, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic/animal, /obj/effect/gibspawner/human/bodypartless, /obj/effect/gibspawner/human) attack_reagent = /datum/reagent/toxin/mindbreaker diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/dolphin.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/dolphin.dm index 695c09e52919e..4d69f31bb244c 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/dolphin.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/dolphin.dm @@ -9,9 +9,12 @@ speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/food/meat/slab/dolphinmeat = 2) - response_help = "pets" - response_disarm = "gently pushes aside" - response_harm = "hits" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "kicks" + response_harm_simple = "kick" emote_taunt = list("gnashes") taunt_chance = 30 speed = 0 @@ -23,7 +26,8 @@ environment_smash = 0 melee_damage = 15 pass_flags = PASSTABLE - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("chitters", "squeeks", "clicks") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index c359cda2b977c..718e394d85a9b 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -13,10 +13,14 @@ maxHealth = 15 health = 15 melee_damage = 5 - attacktext = "bites" - response_help = "pets" - response_disarm = "pokes" - response_harm = "splats" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "pokes" + response_disarm_simple = "poke" + response_harm_continuous = "splats" + response_harm_simple = "splat" density = FALSE ventcrawler = VENTCRAWLER_ALWAYS faction = list("hostile") diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 7109e7abc58b8..f5149af8826f2 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -7,9 +7,12 @@ mob_biotypes = list(MOB_SPIRIT) speak_chance = 0 turns_per_move = 5 - response_help = "passes through" - response_disarm = "shoves" - response_harm = "hits" + response_help_continuous = "passes through" + response_help_simple = "pass through" + response_disarm_continuous = "swings through" + response_disarm_simple = "swing through" + response_harm_continuous = "punches through" + response_harm_simple = "punch through" a_intent = INTENT_HARM healable = 0 speed = 0 @@ -18,7 +21,8 @@ melee_damage = 15 del_on_death = TRUE emote_see = list("weeps silently", "groans", "mumbles") - attacktext = "grips" + attack_verb_continuous = "grips" + attack_verb_simple = "grip" attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("weeps") deathmessage = "wails, disintegrating into a pile of ectoplasm!" diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 1ffe61a4a9514..137c8372b6260 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -8,15 +8,17 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) gender = MALE turns_per_move = 5 - response_help = "pokes" - response_disarm = "gently pushes aside" - response_harm = "punches" + response_disarm_continuous = "gently pushes aside" + response_disarm_simple = "gently push aside" + response_harm_continuous = "punches" + response_harm_simple = "punch" a_intent = INTENT_HARM maxHealth = 100 health = 100 speed = 0 melee_damage = 10 - attacktext = "hits" + attack_verb_continuous = "hits" + attack_verb_simple = "hit" attack_sound = 'sound/weapons/punch1.ogg' obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE @@ -32,9 +34,6 @@ icon_dead = null icon_gib = "syndicate_gib" turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = HARD_CRIT robust_searching = 1 @@ -42,7 +41,8 @@ maxHealth = 100 health = 100 melee_damage = 12 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' faction = list("nanotrasenprivate") a_intent = INTENT_HARM diff --git a/code/modules/mob/living/simple_animal/hostile/russian.dm b/code/modules/mob/living/simple_animal/hostile/russian.dm index 407d42c2d0a59..85adbae6cc077 100644 --- a/code/modules/mob/living/simple_animal/hostile/russian.dm +++ b/code/modules/mob/living/simple_animal/hostile/russian.dm @@ -9,14 +9,12 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 maxHealth = 100 health = 100 melee_damage = 15 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/russian, diff --git a/code/modules/mob/living/simple_animal/hostile/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/skeleton.dm index 47a5427d3adad..6c699bc62913c 100644 --- a/code/modules/mob/living/simple_animal/hostile/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/skeleton.dm @@ -18,7 +18,8 @@ minbodytemp = 0 maxbodytemp = 1500 healable = 0 //they're skeletons how would bruise packs help them?? - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 10 @@ -26,7 +27,7 @@ stat_attack = HARD_CRIT gold_core_spawnable = HOSTILE_SPAWN faction = list("skeleton") - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE deathmessage = "collapses into a pile of bones!" del_on_death = TRUE @@ -98,7 +99,8 @@ health = 150 melee_damage = 17 light_color = LIGHT_COLOR_PURPLE - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' deathmessage = "collapses into a pile of bones, their suit dissolving among the plasma!" loot = list(/obj/effect/decal/remains/plasma) @@ -111,7 +113,8 @@ maxHealth = 185 health = 185 melee_damage = 22 - attacktext = "blasts" + attack_verb_continuous = "blasts" + attack_verb_simple = "blast" attack_sound = 'sound/weapons/sonic_jackhammer.ogg' environment_smash = ENVIRONMENT_SMASH_WALLS loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer) diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 9b73ac41a7d3c..661717fe758a5 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -29,7 +29,8 @@ a_intent = INTENT_HARM damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) speed = 0 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/magic/demon_attack1.ogg' deathsound = 'sound/creatures/space_dragon_roar.ogg' icon = 'icons/mob/spacedragon.dmi' @@ -60,7 +61,7 @@ /// A multiplier to how much each use of wing gust should add to the tiredness variable. Set to 5 if the current rift is destroyed. var/tiredness_mult = 1 /// The distance Space Dragon's gust reaches - var/gust_distance = 4 + var/gust_distance = 3 /// The amount of tiredness to add to Space Dragon per use of gust var/gust_tiredness = 30 /// Determines whether or not Space Dragon is in the middle of using wing gust. If set to true, prevents him from moving and doing certain actions. @@ -414,13 +415,20 @@ overlay.appearance_flags = RESET_COLOR add_overlay(overlay) playsound(src, 'sound/effects/gravhit.ogg', 100, TRUE) - for (var/mob/living/candidate in view(gust_distance, src)) - if(candidate == src || candidate.faction_check_mob(src)) + var/list/candidates_flung = list() + for (var/turf/epicenter in view(1, usr.loc)) + if(istype(epicenter, /turf/closed)) //Gusts dont go through walls. continue + for (var/mob/living/mob in view(gust_distance, epicenter)) + if(mob == src || mob.faction_check_mob(src)) + continue + candidates_flung |= mob + + for(var/mob/living/candidate in candidates_flung) visible_message("[candidate] is knocked back by the gust!") to_chat(candidate, "You're knocked back by the gust!") var/dir_to_target = get_dir(get_turf(src), get_turf(candidate)) - var/throwtarget = get_edge_target_turf(target, dir_to_target) + var/throwtarget = get_edge_target_turf(candidate, dir_to_target) candidate.safe_throw_at(throwtarget, 10, 1, src) candidate.Paralyze(50) addtimer(CALLBACK(src, PROC_REF(reset_status)), 4 + ((tiredness * tiredness_mult) / 10)) diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index c730bdf41627a..4e14b6fcf58ca 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -11,8 +11,10 @@ a_intent = INTENT_HARM mob_biotypes = list(MOB_INORGANIC, MOB_HUMANOID) - response_help = "touches" - response_disarm = "pushes" + response_help_continuous = "touches" + response_help_simple = "touch" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" speed = -1 maxHealth = 50000 @@ -21,7 +23,8 @@ obj_damage = 100 melee_damage = 70 - attacktext = "claws" + attack_verb_continuous = "claws" + attack_verb_simple = "claw" attack_sound = 'sound/hallucinations/growl1.ogg' atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index 2b9bf5c926728..686d1ee4e089c 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -9,9 +9,6 @@ gender = MALE speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = HARD_CRIT robust_searching = 1 @@ -20,7 +17,8 @@ health = 100 obj_damage = 0 melee_damage = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index b3c458a614054..19ff51965dd2b 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -25,16 +25,14 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 stat_attack = HARD_CRIT robust_searching = 1 maxHealth = 100 health = 100 melee_damage = 10 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) @@ -78,7 +76,8 @@ icon_state = "syndicate_knife" icon_living = "syndicate_knife" loot = list(/obj/effect/gibspawner/human) - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' status_flags = 0 var/projectile_deflect_chance = 0 @@ -113,7 +112,8 @@ melee_damage = 30 icon_state = "syndicate_sword" icon_living = "syndicate_sword" - attacktext = "slashes" + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" attack_sound = 'sound/weapons/blade1.ogg' armour_penetration = 35 light_color = LIGHT_COLOR_RED @@ -285,7 +285,8 @@ melee_damage = 15 obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - attacktext = "cuts" + attack_verb_continuous = "cuts" + attack_verb_simple = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list(FACTION_SYNDICATE) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index b982d548d502f..64213374437fe 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -9,9 +9,10 @@ gender = NEUTER speak_chance = 0 turns_per_move = 5 - response_help = "brushes" - response_disarm = "pushes" - response_harm = "hits" + response_help_continuous = "brushes" + response_help_simple = "brush" + response_disarm_continuous = "pushes" + response_disarm_simple = "push" faction = list("plants") speed = 1 maxHealth = 250 @@ -22,7 +23,8 @@ base_pixel_x = -16 melee_damage = 10 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' speak_emote = list("pines") emote_taunt = list("growls") diff --git a/code/modules/mob/living/simple_animal/hostile/wizard.dm b/code/modules/mob/living/simple_animal/hostile/wizard.dm index 4acb0be8ca053..b8699820ef2c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/wizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/wizard.dm @@ -8,14 +8,12 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 0 turns_per_move = 3 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 maxHealth = 100 health = 100 melee_damage = 5 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index 5abe515fe1365..3f2a4360235b2 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -11,7 +11,8 @@ mob_biotypes = list(MOB_ORGANIC, MOB_BEAST) mouse_opacity = MOUSE_OPACITY_ICON move_to_delay = 5 - friendly = "floats near" + friendly_verb_continuous = "floats near" + friendly_verb_simple = "float near" speak_emote = list("puffs") vision_range = 5 speed = 0 @@ -21,7 +22,8 @@ base_pixel_x = -16 obj_damage = 0 melee_damage = 0 - attacktext = "chomps" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" attack_sound = 'sound/weapons/punch1.ogg' throw_message = "is avoided by the" vision_range = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/zombie.dm b/code/modules/mob/living/simple_animal/hostile/zombie.dm index 217750b056447..985a579a6a9ff 100644 --- a/code/modules/mob/living/simple_animal/hostile/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/zombie.dm @@ -10,7 +10,8 @@ maxHealth = 100 health = 100 melee_damage = 21 - attacktext = "bites" + attack_verb_continuous = "bites" + attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/kalo.dm b/code/modules/mob/living/simple_animal/kalo.dm index e2d0f7b69086c..945c947ffc3b9 100644 --- a/code/modules/mob/living/simple_animal/kalo.dm +++ b/code/modules/mob/living/simple_animal/kalo.dm @@ -17,9 +17,12 @@ see_in_dark = 5 speak_chance = 1 turns_per_move = 3 - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" speak = list("Hissssss!", "Squeak!") speak_emote = list("hisses", "squeaks") speak_language = /datum/language/metalanguage diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index 46736a45e475a..fb9041a2c67f3 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -54,13 +54,18 @@ butcher_results = list(/obj/item/food/cracker/ = 1) melee_damage = 5 - response_help = "pets" - response_disarm = "gently moves aside" - response_harm = "swats" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "gently moves aside" + response_disarm_simple = "gently move aside" + response_harm_continuous = "swats" + response_harm_simple = "swat" stop_automated_movement = 1 a_intent = INTENT_HARM //parrots now start "aggressive" since only player parrots will nuzzle. - attacktext = "chomps" - friendly = "grooms" + attack_verb_continuous = "chomps" + attack_verb_simple = "chomp" + friendly_verb_continuous = "grooms" + friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL movement_type = FLYING gold_core_spawnable = FRIENDLY_SPAWN @@ -593,7 +598,8 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( parrot_state = PARROT_WANDER return - attacktext = pick("claws at", "chomps") + attack_verb_continuous = pick("claws at", "chomps") + attack_verb_simple = pick("claw at", "chomp") L.attack_animal(src)//Time for the hurt to begin! //Otherwise, fly towards the mob! else diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm index 5b90a1ac7d227..8bc330969caaf 100644 --- a/code/modules/mob/living/simple_animal/shade.dm +++ b/code/modules/mob/living/simple_animal/shade.dm @@ -13,12 +13,16 @@ healable = 0 speak_emote = list("hisses") emote_hear = list("wails.","screeches.") - response_help = "puts their hand through" - response_disarm = "flails at" - response_harm = "punches" + response_help_continuous = "puts their hand through" + response_help_simple = "put your hand through" + response_disarm_continuous = "flails at" + response_disarm_simple = "flail at" + response_harm_continuous = "punches" + response_harm_simple = "punch" speak_chance = 1 melee_damage = 5 - attacktext = "metaphysically strikes" + attack_verb_continuous = "metaphysically strikes" + attack_verb_simple = "metaphysically strike" minbodytemp = 0 maxbodytemp = INFINITY atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 263d12722d678..89fab3bd63b31 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -4,7 +4,7 @@ health = 20 maxHealth = 20 gender = PLURAL //placeholder - + living_flags = MOVES_ON_ITS_OWN status_flags = CANPUSH var/icon_living = "" @@ -25,10 +25,19 @@ var/wander = TRUE // Does the mob wander around when idle? var/stop_automated_movement_when_pulled = 1 //When set to 1 this stops the animal from moving when someone is pulling it. - //Interaction - var/response_help = "pokes" - var/response_disarm = "shoves" - var/response_harm = "hits" + ///When someone interacts with the simple animal. + ///Help-intent verb in present continuous tense. + var/response_help_continuous = "pokes" + ///Help-intent verb in present simple tense. + var/response_help_simple = "poke" + ///Disarm-intent verb in present continuous tense. + var/response_disarm_continuous = "shoves" + ///Disarm-intent verb in present simple tense. + var/response_disarm_simple = "shove" + ///Harm-intent verb in present continuous tense. + var/response_harm_continuous = "hits" + ///Harm-intent verb in present simple tense. + var/response_harm_simple = "hit" var/force_threshold = 0 //Minimum force required to deal any damage //Temperature effect @@ -42,14 +51,25 @@ var/list/atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) //Leaving something at 0 means it's off - has no maximum var/unsuitable_atmos_damage = 2 //This damage is taken when atmos doesn't fit all the requirements above - var/obj_damage = 0 //how much damage this simple animal does to objects, if any - var/armour_penetration = 0 //How much armour they ignore, as a flat reduction from the targets armour value - var/melee_damage_type = BRUTE //Damage type of a simple mob's melee attack, should it do damage. - var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) // 1 for full damage , 0 for none , -1 for 1:1 heal from that source - var/attacktext = "attacks" + ///how much damage this simple animal does to objects, if any. + var/obj_damage = 0 + ///How much armour they ignore, as a flat reduction from the targets armour value. + var/armour_penetration = 0 + ///Damage type of a simple mob's melee attack, should it do damage. + var/melee_damage_type = BRUTE + /// 1 for full damage , 0 for none , -1 for 1:1 heal from that source. + var/list/damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) + ///Attacking verb in present continuous tense. + var/attack_verb_continuous = "attacks" + ///Attacking verb in present simple tense. + var/attack_verb_simple = "attack" var/attack_sound = null - var/friendly = "nuzzles" //If the mob does no damage with it's attack - var/environment_smash = ENVIRONMENT_SMASH_NONE //Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls + ///Attacking, but without damage, verb in present continuous tense. + var/friendly_verb_continuous = "nuzzles" + ///Attacking, but without damage, verb in present simple tense. + var/friendly_verb_simple = "nuzzle" + ///Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls. + var/environment_smash = ENVIRONMENT_SMASH_NONE var/hardattacks = FALSE //if true, a simplemob is unaffected by NASTY_BLOCKING var/speed = 1 //LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster @@ -409,15 +429,15 @@ /mob/living/simple_animal/ExtinguishMob() return + /mob/living/simple_animal/revive(full_heal = 0, admin_revive = 0) - if(..()) //successfully ressuscitated from death - icon = initial(icon) - icon_state = icon_living - set_density(initial(density)) - mobility_flags = MOBILITY_FLAGS_DEFAULT - update_mobility() - . = 1 - setMovetype(initial(movement_type)) + . = ..() + if(!.) + return + icon = initial(icon) + icon_state = icon_living + density = initial(density) + setMovetype(initial(movement_type)) /mob/living/simple_animal/proc/make_babies() // <3 <3 <3 set waitfor = 0 @@ -476,23 +496,6 @@ REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, RESTING_TRAIT) return ..() -/mob/living/simple_animal/update_mobility(value_otherwise = TRUE) - if(HAS_TRAIT_NOT_FROM(src, TRAIT_IMMOBILIZED, BUCKLED_TRAIT)) - drop_all_held_items() - mobility_flags = NONE - else if(buckled || IsImmobilized()) - mobility_flags = MOBILITY_FLAGS_INTERACTION - else - if(value_otherwise) - mobility_flags = MOBILITY_FLAGS_DEFAULT - else - mobility_flags = NONE - if(!(mobility_flags & MOBILITY_MOVE)) - SSmove_manager.stop_looping(src) //stop mid walk - - update_transform() - update_action_buttons_icon() - /mob/living/simple_animal/update_transform() var/matrix/ntransform = matrix(transform) //aka transform.Copy() var/changed = FALSE @@ -515,7 +518,7 @@ return if(stat == DEAD) sight = (SEE_TURFS|SEE_MOBS|SEE_OBJS) - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE see_invisible = SEE_INVISIBLE_OBSERVER return @@ -611,7 +614,7 @@ M.forceMove(get_turf(src)) return ..() -/mob/living/simple_animal/relaymove(mob/user, direction) +/mob/living/simple_animal/relaymove(mob/living/user, direction) var/datum/component/riding/riding_datum = GetComponent(/datum/component/riding) if(tame && riding_datum) riding_datum.handle_ride(user, direction) diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index 7eb8018945080..5a1bb1e264b51 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -110,13 +110,11 @@ set_stat(UNCONSCIOUS) powerlevel = 0 rabid = FALSE - update_mobility() regenerate_icons() if(UNCONSCIOUS, HARD_CRIT) if(!stasis) to_chat(src, "You wake up from the stasis.") set_stat(CONSCIOUS) - update_mobility() regenerate_icons() updatehealth() @@ -220,8 +218,6 @@ powerlevel += gainpower /mob/living/simple_animal/slime/proc/handle_targets() - update_mobility() - if(attacked > 50) attacked = 50 @@ -284,19 +280,19 @@ if (Leader) if(holding_still) holding_still = max(holding_still - 1, 0) - else if((mobility_flags & MOBILITY_MOVE) && isturf(loc)) + else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc)) step_to(src, Leader) else if(hungry) if (holding_still) holding_still = max(holding_still - hungry, 0) - else if((mobility_flags & MOBILITY_MOVE) && isturf(loc) && prob(50)) + else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc) && prob(50)) step(src, pick(GLOB.cardinals)) else if(holding_still) holding_still = max(holding_still - 1, 0) else if (docile && pulledby) holding_still = 10 - else if((mobility_flags & MOBILITY_MOVE) && isturf(loc) && prob(33)) + else if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && isturf(loc) && prob(33)) step(src, pick(GLOB.cardinals)) else if(!special_process) special_process = TRUE diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 651a7b3cf3ea9..810fced2d03be 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -12,9 +12,12 @@ icon_living = "grey baby slime" icon_dead = "grey baby slime dead" - response_help = "pets" - response_disarm = "shoos" - response_harm = "stomps on" + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "shoos" + response_disarm_simple = "shoo" + response_harm_continuous = "stomps on" + response_harm_simple = "stomp on" emote_see = list("jiggles", "bounces in place") speak_emote = list("blorbles") bubble_icon = "slime" @@ -29,7 +32,7 @@ healable = 0 gender = NEUTER - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE verb_say = "blorbles" verb_ask = "inquisitively blorbles" @@ -497,26 +500,19 @@ SStun = world.time + rand(20,60) - mobility_flags &= ~MOBILITY_MOVE + Stun(3) if(user) step_away(src,user,15) - addtimer(CALLBACK(src, PROC_REF(slime_move), user), 3) + addtimer(CALLBACK(src, PROC_REF(slime_move), user), 0.3 SECONDS) /mob/living/simple_animal/slime/proc/slime_move(mob/user) if(user) step_away(src,user,15) - update_mobility() /mob/living/simple_animal/slime/pet docile = 1 -/mob/living/simple_animal/slime/can_unbuckle() - return 0 - -/mob/living/simple_animal/slime/can_buckle() - return 0 - /mob/living/simple_animal/slime/get_mob_buckling_height(mob/seat) if(..()) return 3 diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index 1c4cfcaf20081..051b1e3ac7735 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -14,8 +14,8 @@ return S.duration - world.time return 0 -/mob/living/proc/Stun(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Stun(amount, ignore_canstun = FALSE) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -24,11 +24,11 @@ if(S) S.duration = max(world.time + amount, S.duration) else if(amount > 0) - S = apply_status_effect(STATUS_EFFECT_STUN, amount, updating) + S = apply_status_effect(STATUS_EFFECT_STUN, amount) return S -/mob/living/proc/SetStun(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetStun(amount, ignore_canstun = FALSE) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/stun/S = IsStun() @@ -41,11 +41,11 @@ if(S) S.duration = world.time + amount else - S = apply_status_effect(STATUS_EFFECT_STUN, amount, updating) + S = apply_status_effect(STATUS_EFFECT_STUN, amount) return S -/mob/living/proc/AdjustStun(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/AdjustStun(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_STUN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANSTUN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -54,7 +54,7 @@ if(S) S.duration += amount else if(amount > 0) - S = apply_status_effect(STATUS_EFFECT_STUN, amount, updating) + S = apply_status_effect(STATUS_EFFECT_STUN, amount) return S ///////////////////////////////// KNOCKDOWN ///////////////////////////////////// @@ -69,8 +69,8 @@ return K.duration - world.time return 0 -/mob/living/proc/Knockdown(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Knockdown(amount, ignore_canstun = FALSE) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -79,11 +79,11 @@ if(K) K.duration = max(world.time + amount, K.duration) else if(amount > 0) - K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating) + K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount) return K -/mob/living/proc/SetKnockdown(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetKnockdown(amount, ignore_canstun = FALSE) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown() @@ -96,11 +96,11 @@ if(K) K.duration = world.time + amount else - K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating) + K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount) return K -/mob/living/proc/AdjustKnockdown(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/AdjustKnockdown(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_KNOCKDOWN, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -109,7 +109,7 @@ if(K) K.duration += amount else if(amount > 0) - K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating) + K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount) return K ///////////////////////////////// IMMOBILIZED //////////////////////////////////// @@ -122,8 +122,8 @@ return I.duration - world.time return 0 -/mob/living/proc/Immobilize(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Immobilize(amount, ignore_canstun = FALSE) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -132,11 +132,11 @@ if(I) I.duration = max(world.time + amount, I.duration) else if(amount > 0) - I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount, updating) + I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount) return I -/mob/living/proc/SetImmobilized(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetImmobilized(amount, ignore_canstun = FALSE) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/immobilized/I = IsImmobilized() @@ -149,11 +149,11 @@ if(I) I.duration = world.time + amount else - I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount, updating) + I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount) return I -/mob/living/proc/AdjustImmobilized(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/AdjustImmobilized(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_IMMOBILIZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -162,7 +162,7 @@ if(I) I.duration += amount else if(amount > 0) - I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount, updating) + I = apply_status_effect(STATUS_EFFECT_IMMOBILIZED, amount) return I ///////////////////////////////// PARALYZED ////////////////////////////////// @@ -175,8 +175,8 @@ return P.duration - world.time return 0 -/mob/living/proc/Paralyze(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Paralyze(amount, ignore_canstun = FALSE) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -186,11 +186,11 @@ if(P) P.duration = max(world.time + amount, P.duration) else if(amount > 0) - P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount, updating) + P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount) return P -/mob/living/proc/SetParalyzed(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetParalyzed(amount, ignore_canstun = FALSE) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/paralyzed/P = IsParalyzed(FALSE) @@ -203,11 +203,11 @@ if(P) P.duration = world.time + amount else - P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount, updating) + P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount) return P -/mob/living/proc/AdjustParalyzed(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/AdjustParalyzed(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_PARALYZE, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) if(absorb_stun(amount, ignore_canstun)) @@ -216,33 +216,30 @@ if(P) P.duration += amount else if(amount > 0) - P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount, updating) + P = apply_status_effect(STATUS_EFFECT_PARALYZED, amount) return P //Blanket -/mob/living/proc/AllImmobility(amount, updating) - Paralyze(amount, FALSE) - Knockdown(amount, FALSE) - Stun(amount, FALSE) - Immobilize(amount, FALSE) - if(updating) - update_mobility() - -/mob/living/proc/SetAllImmobility(amount, updating) - SetParalyzed(amount, FALSE) - SetKnockdown(amount, FALSE) - SetStun(amount, FALSE) - SetImmobilized(amount, FALSE) - if(updating) - update_mobility() - -/mob/living/proc/AdjustAllImmobility(amount, updating) - AdjustParalyzed(amount, FALSE) - AdjustKnockdown(amount, FALSE) - AdjustStun(amount, FALSE) - AdjustImmobilized(amount, FALSE) - if(updating) - update_mobility() +/mob/living/proc/AllImmobility(amount) + Paralyze(amount) + Knockdown(amount) + Stun(amount) + Immobilize(amount) + + +/mob/living/proc/SetAllImmobility(amount) + SetParalyzed(amount) + SetKnockdown(amount) + SetStun(amount) + SetImmobilized(amount) + + +/mob/living/proc/AdjustAllImmobility(amount) + AdjustParalyzed(amount) + AdjustKnockdown(amount) + AdjustStun(amount) + AdjustImmobilized(amount) + //////////////////UNCONSCIOUS /mob/living/proc/IsUnconscious() //If we're unconscious @@ -254,19 +251,19 @@ return U.duration - world.time return 0 -/mob/living/proc/Unconscious(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Unconscious(amount, ignore_canstun = FALSE) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANUNCONSCIOUS) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious() if(U) U.duration = max(world.time + amount, U.duration) else if(amount > 0) - U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount, updating) + U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount) return U -/mob/living/proc/SetUnconscious(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetUnconscious(amount, ignore_canstun = FALSE) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANUNCONSCIOUS) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious() @@ -276,18 +273,18 @@ else if(U) U.duration = world.time + amount else - U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount, updating) + U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount) return U -/mob/living/proc/AdjustUnconscious(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/AdjustUnconscious(amount, ignore_canstun = FALSE) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_UNCONSCIOUS, amount, ignore_canstun) & COMPONENT_NO_STUN) return if(((status_flags & CANUNCONSCIOUS) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canstun) var/datum/status_effect/incapacitating/unconscious/U = IsUnconscious() if(U) U.duration += amount else if(amount > 0) - U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount, updating) + U = apply_status_effect(STATUS_EFFECT_UNCONSCIOUS, amount) return U /////////////////////////////////// SLEEPING //////////////////////////////////// @@ -301,41 +298,57 @@ return S.duration - world.time return 0 -/mob/living/proc/Sleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Can't go below remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/Sleeping(amount) //Can't go below remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount) & COMPONENT_NO_STUN) return - if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun) - var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() - if(S) - S.duration = max(world.time + amount, S.duration) - else if(amount > 0) - S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating) - return S - -/mob/living/proc/SetSleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Sets remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) + if(status_flags & GODMODE) return - if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun) - var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() - if(amount <= 0) - if(S) - qdel(S) - else if(S) - S.duration = world.time + amount - else - S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating) - return S + var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(S) + S.duration = max(world.time + amount, S.duration) + else if(amount > 0) + S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount) + return S -/mob/living/proc/AdjustSleeping(amount, updating = TRUE, ignore_canstun = FALSE) //Adds to remaining duration - if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount, updating, ignore_canstun) & COMPONENT_NO_STUN) +/mob/living/proc/SetSleeping(amount) //Sets remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount) & COMPONENT_NO_STUN) return - if((!HAS_TRAIT(src, TRAIT_SLEEPIMMUNE)) || ignore_canstun) - var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(status_flags & GODMODE) + return + var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(amount <= 0) if(S) - S.duration += amount - else if(amount > 0) - S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount, updating) - return S + qdel(S) + else if(S) + S.duration = world.time + amount + else + S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount) + return S + +/mob/living/proc/AdjustSleeping(amount) //Adds to remaining duration + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, amount) & COMPONENT_NO_STUN) + return + if(status_flags & GODMODE) + return + var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(S) + S.duration += amount + else if(amount > 0) + S = apply_status_effect(STATUS_EFFECT_SLEEPING, amount) + return S + +///Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over) +/mob/living/proc/PermaSleeping() + if(SEND_SIGNAL(src, COMSIG_LIVING_STATUS_SLEEP, -1) & COMPONENT_NO_STUN) + return + if(status_flags & GODMODE) + return + var/datum/status_effect/incapacitating/sleeping/S = IsSleeping() + if(S) + S.duration = -1 + else + S = apply_status_effect(STATUS_EFFECT_SLEEPING, -1) + return S ///////////////////////////////// FROZEN ///////////////////////////////////// diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 86e273cc09423..b1438706f2dae 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -21,9 +21,12 @@ * * grant any actions the mob has to the client * * calls [auto_deadmin_on_login](mob.html#proc/auto_deadmin_on_login) * * send signal COMSIG_MOB_CLIENT_LOGIN + * * client can be deleted mid-execution of this proc, chiefly on parent calls, with lag * * attaches the ash listener element so clients can hear weather */ /mob/Login() + if(!client) + return FALSE // set_eye() is important here, because your eye doesn't know if you're using them as your eye // FALSE when weakref doesn't exist, to prevent using their current eye client.set_eye(client.eye, client.eye_weakref?.resolve() || FALSE) @@ -32,28 +35,36 @@ computer_id = client.computer_id log_access("Mob Login: [key_name(src)] was assigned to a [type]") world.update_status() - client.screen = list() //remove hud items just in case + client.screen = list() //remove hud items just in case client.images = list() if(!hud_used) - create_mob_hud() + create_mob_hud() // creating a hud will add it to the client's screen, which can process a disconnect + if(!client) + return FALSE + if(hud_used) - hud_used.show_hud(hud_used.hud_version) + hud_used.show_hud(hud_used.hud_version) // see above, this can process a disconnect + if(!client) + return FALSE hud_used.update_ui_style(ui_style2icon(client.prefs?.read_player_preference(/datum/preference/choiced/ui_style))) next_move = 1 ..() - if (client && key != client.key) + if(!client) + return FALSE + + SEND_SIGNAL(src, COMSIG_MOB_LOGIN) + + if (key != client.key) key = client.key reset_perspective(loc) if(loc) loc.on_log(TRUE) - SEND_SIGNAL(src, COMSIG_MOB_LOGIN) - //readd this mob's HUDs (antag, med, etc) reload_huds() @@ -100,10 +111,12 @@ log_message("Client [key_name(src)] has taken ownership of mob [src]([src.type])", LOG_OWNERSHIP) SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client) - SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_LOGGED_IN, src) AddElement(/datum/element/weather_listener, /datum/weather/ash_storm, ZTRAIT_ASHSTORM, GLOB.ash_storm_sounds) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MOB_LOGGED_IN, src) + + return TRUE /** * Checks if the attached client is an admin and may deadmin them diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 10b6ed5d1be45..09ced6b2d584a 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -518,7 +518,7 @@ //you can only initiate exaimines if you have a hand, it's not disabled, and only as many examines as you have hands /// our active hand, to check if it's disabled/detatched var/obj/item/bodypart/active_hand = has_active_hand()? get_active_hand() : null - if(!active_hand || active_hand.is_disabled() || LAZYLEN(do_afters) >= get_num_arms()) + if(!active_hand || active_hand.bodypart_disabled || LAZYLEN(do_afters) >= usable_hands) to_chat(src, "You don't have a free hand to examine this!") return FALSE @@ -914,7 +914,7 @@ return src /** - * Buckle to another mob + * Buckle a living mob to this mob * * You can buckle on mobs if you're next to them since most are dense * @@ -952,14 +952,6 @@ return 0 return 9 -///can the mob be buckled to something by default? -/mob/proc/can_buckle() - return TRUE - -///can the mob be unbuckled from something by default? -/mob/proc/can_unbuckle() - return 1 - ///Can the mob interact() with an atom? /mob/proc/can_interact_with(atom/A, treat_mob_as_adjacent) if(IsAdminGhost(src)) @@ -1116,18 +1108,43 @@ client.mouse_pointer_icon = E.mouse_pointer -///This mob is abile to read books +/// This mob can read /mob/proc/is_literate() return FALSE +/** + * Checks if there is enough light where the mob is located + * + * Args: + * light_amount (optional) - A decimal amount between 1.0 through 0.0 (default is 0.2) +**/ +/mob/proc/has_light_nearby(light_amount = LIGHTING_TILE_IS_DARK) + var/turf/mob_location = get_turf(src) + return mob_location.get_lumcount() > light_amount + +/** + * Can this mob see in the dark + * + * This checks all traits, glasses, and robotic eyeball implants to see if the mob can see in the dark + * this does NOT check if the mob is missing it's eyeballs. Also see_in_dark is a BYOND mob var (that defaults to 2) +**/ +/mob/proc/has_nightvision() + return see_in_dark >= NIGHTVISION_FOV_RANGE + ///Can this mob read (is literate and not blind) /mob/proc/can_read(obj/O) if(is_blind()) - to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!") - return + to_chat(src, "") + return FALSE + //to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!") if(!is_literate()) - to_chat(src, "You try to read [O], but can't comprehend any of it.") - return + to_chat(src, "You try to read [O], but can't comprehend any of it.") + return FALSE + + if(!has_light_nearby() && !has_nightvision()) + to_chat(src, "It's too dark in here to read!") + return FALSE + return TRUE ///Can this mob hold items @@ -1227,9 +1244,10 @@ /mob/proc/set_nutrition(var/change) //Seriously fuck you oldcoders. nutrition = max(0, change) -///Set the movement type of the mob and update it's movespeed -/mob/setMovetype(newval) +/mob/setMovetype(newval) //Set the movement type of the mob and update it's movespeed . = ..() + if(isnull(.)) + return update_movespeed(FALSE) /mob/proc/update_equipment_speed_mods() diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 0a39af6912142..97f9b47330cce 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -122,8 +122,6 @@ /// The atom that this mob is currently buckled to var/atom/movable/buckled = null//Living - /// The movable atom that we are currently in the process of buckling to, but haven't buckled with yet. - var/atom/movable/buckling //Hands ///What hand is the active hand diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 82a8a22d0b334..f9c46bdedf7c4 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -462,6 +462,10 @@ else user.visible_message("[user] has fixed some of the [dam ? "dents on" : "burnt wires in"] [H]'s [parse_zone(affecting.body_zone)].", \ "You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [parse_zone(affecting.body_zone)].") + if((affecting.brute_dam <= 0 && brute_heal) && ((!H.is_bleeding()) && H.has_mechanical_bleeding())) + return FALSE //successful heal, but the target is at full health. Returns false to signal you can stop healing now + if(affecting.burn_dam <=0 && burn_heal) + return FALSE //same as above, but checking for burn damage instead return TRUE //successful heal else to_chat(user, "[affecting] is already in good condition!") diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index d7bbc303bffc1..51f84602cb15e 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -164,21 +164,23 @@ * Called by client/Move() */ /client/proc/Process_Grab() - if(mob.pulledby) - if((mob.pulledby == mob.pulling) && (mob.pulledby.grab_state == GRAB_PASSIVE)) //Don't autoresist passive grabs if we're grabbing them too. - return - if(mob.incapacitated(ignore_restraints = 1)) - move_delay = world.time + 10 - return TRUE - else if(HAS_TRAIT(mob, TRAIT_RESTRAINED)) - move_delay = world.time + 10 - to_chat(src, "You're restrained! You can't move!") - return TRUE - else if(mob.pulledby.grab_state == GRAB_AGGRESSIVE) - move_delay = world.time + 10 - return TRUE - else - return mob.resist_grab(1) + if(!mob.pulledby) + return FALSE + + if(mob.pulledby == mob.pulling && mob.pulledby.grab_state == GRAB_PASSIVE) //Don't autoresist passive grabs if we're grabbing them too. + return FALSE + if(mob.incapacitated(ignore_restraints = TRUE)) + COOLDOWN_START(src, move_delay, 1 SECONDS) + return TRUE + else if(HAS_TRAIT(mob, TRAIT_RESTRAINED)) + COOLDOWN_START(src, move_delay, 1 SECONDS) + to_chat(src, "You're restrained! You can't move!") + return TRUE + else if(mob.pulledby.grab_state == GRAB_AGGRESSIVE) + COOLDOWN_START(src, move_delay, 1 SECONDS) + return TRUE + else + return mob.resist_grab(1) /** * Allows mobs to ignore density and phase through objects diff --git a/code/modules/mob/mob_stat.dm b/code/modules/mob/mob_stat.dm index c9200140700a5..73e365a2620fd 100644 --- a/code/modules/mob/mob_stat.dm +++ b/code/modules/mob/mob_stat.dm @@ -238,7 +238,7 @@ else tab_data["Players Playing/Connected"] = GENERATE_STAT_TEXT("[get_active_player_count()]/[GLOB.clients.len]") if(SSticker.round_start_time) - tab_data["Security Level"] = GENERATE_STAT_TEXT("[capitalize(get_security_level())]") + tab_data["Security Level"] = GENERATE_STAT_TEXT("[capitalize(SSsecurity_level.get_current_level_as_text())]") tab_data["divider_3"] = GENERATE_STAT_DIVIDER if(SSshuttle.emergency) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index cbbb753e510df..69bd4086c1916 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -471,6 +471,8 @@ if(notransform) return TRUE notransform = TRUE + ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_GENERIC) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, TRAIT_GENERIC) Paralyze(1, ignore_canstun = TRUE) if(delete_items) diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index f5285829b4d6a..a4ef011cd21ff 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar desc = "A small portable microcomputer." icon = 'icons/obj/computer.dmi' icon_state = "laptop" - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL light_range = 3 light_power = 0.6 light_color = "#FFFFFF" diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 8ca04d3ce357d..c01d014d6e9c7 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -32,7 +32,7 @@ hardware_flag = machinery_computer.hardware_flag max_hardware_size = machinery_computer.max_hardware_size steel_sheet_cost = machinery_computer.steel_sheet_cost - obj_integrity = machinery_computer.obj_integrity + update_integrity(machinery_computer.get_integrity()) max_integrity = machinery_computer.max_integrity integrity_failure = machinery_computer.integrity_failure base_active_power_usage = machinery_computer.base_active_power_usage diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 4c358a2718c50..16fe3c9b40c64 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -72,7 +72,7 @@ else add_overlay(screen_icon_state_menu) - if(cpu && cpu.obj_integrity <= cpu.integrity_failure * cpu.max_integrity) + if(cpu && cpu.get_integrity() <= cpu.integrity_failure * cpu.max_integrity) add_overlay("bsod") add_overlay("broken") diff --git a/code/modules/modular_computers/file_system/programs/borg_self_monitor.dm b/code/modules/modular_computers/file_system/programs/borg_self_monitor.dm index dda9a6c99d9ed..38f50f6184885 100644 --- a/code/modules/modular_computers/file_system/programs/borg_self_monitor.dm +++ b/code/modules/modular_computers/file_system/programs/borg_self_monitor.dm @@ -53,6 +53,7 @@ data["printerPictures"] = borgo.connected_ai ? length(borgo.connected_ai.aicamera?.stored) : length(borgo.aicamera?.stored) //Number of pictures taken, synced to AI if available data["printerToner"] = borgo.toner //amount of toner data["printerTonerMax"] = borgo.tonermax //It's a variable, might as well use it + data["cameraRadius"] = isnull(borgo.aicamera) ? 1 : borgo.aicamera.picture_size_x // picture_size_x and picture_size_y should always be the same. data["thrustersInstalled"] = borgo.ionpulse //If we have a thruster uprade data["thrustersStatus"] = "[borgo.ionpulse_on?"ACTIVE":"DISABLED"]" //Feedback for thruster status data["selfDestructAble"] = (borgo.emagged || istype(borgo, /mob/living/silicon/robot/modules/syndicate)) @@ -133,6 +134,20 @@ borgo.lamp_intensity = clamp(text2num(params["ref"]), 1, 5) borgo.toggle_headlamp(FALSE, TRUE) + if("cameraRadius") + var/obj/item/camera/siliconcam/robot_camera/borgcam = borgo.aicamera + if(isnull(borgcam)) + CRASH("Cyborg embedded AI camera is null somehow, was it qdeleted?") + var/desired_radius = text2num(params["ref"]) + if(isnull(desired_radius)) + return + // respect the limits + if(desired_radius > borgcam.picture_size_x_max || desired_radius < borgcam.picture_size_x_min) + log_href_exploit(usr, " attempted to select an invalid borg camera size '[desired_radius]'.") + return + borgcam.picture_size_x = desired_radius + borgcam.picture_size_y = desired_radius + if("selfDestruct") if(borgo.stat || borgo.lockcharge) //No detonation while stunned or locked down return diff --git a/code/modules/modular_computers/file_system/programs/ntmessenger.dm b/code/modules/modular_computers/file_system/programs/ntmessenger.dm index 27349cdb3fe06..4ba422c8782bf 100644 --- a/code/modules/modular_computers/file_system/programs/ntmessenger.dm +++ b/code/modules/modular_computers/file_system/programs/ntmessenger.dm @@ -186,6 +186,14 @@ computer.saved_image = null photo_path = null return TRUE + if("PDA_viewPhotos") + if(!issilicon(usr)) + return + var/mob/living/silicon/user = usr + var/obj/item/camera/siliconcam/aicamera = user.aicamera + if(isnull(aicamera)) + return + aicamera.viewpictures(user) if("PDA_selectPhoto") if(!issilicon(usr)) return diff --git a/code/modules/movespeed/_movespeed_modifier.dm b/code/modules/movespeed/_movespeed_modifier.dm index 92f6b6b00f161..27609e9f410bc 100644 --- a/code/modules/movespeed/_movespeed_modifier.dm +++ b/code/modules/movespeed/_movespeed_modifier.dm @@ -200,6 +200,7 @@ GLOBAL_LIST_EMPTY(movespeed_modification_cache) continue . += amt cached_multiplicative_slowdown = . + SEND_SIGNAL(src, COMSIG_MOB_MOVESPEED_UPDATED) /// Get the move speed modifiers list of the mob /mob/proc/get_movespeed_modifiers() diff --git a/code/modules/multiz/movement/mob/living_zfall.dm b/code/modules/multiz/movement/mob/living_zfall.dm index 45f2daa43f03f..2c29500be211d 100644 --- a/code/modules/multiz/movement/mob/living_zfall.dm +++ b/code/modules/multiz/movement/mob/living_zfall.dm @@ -28,15 +28,16 @@ /// Generic proc for most living things taking fall damage. Will attempt splitting between legs, if the mob has any. /mob/living/proc/apply_general_zimpact_damage(turf/T, levels) - visible_message("[src] falls [levels] level\s into [T] with a sickening noise!") + visible_message("[src] falls [levels] level\s into [T] with a sickening noise!", \ + "You fall [levels] level\s, hitting [T] with a sickening noise!") var/amount_total = get_distributed_zimpact_damage(levels) var/total_damage_percent_left = 1 var/obj/item/bodypart/left_leg = get_bodypart(BODY_ZONE_L_LEG) var/obj/item/bodypart/right_leg = get_bodypart(BODY_ZONE_R_LEG) - if(left_leg && !left_leg.disabled) + if(left_leg && !left_leg.bodypart_disabled) total_damage_percent_left -= 0.45 apply_damage(amount_total * 0.45, BRUTE, BODY_ZONE_L_LEG) - if(right_leg && !right_leg.disabled) + if(right_leg && !right_leg.bodypart_disabled) total_damage_percent_left -= 0.45 apply_damage(amount_total * 0.45, BRUTE, BODY_ZONE_R_LEG) adjustBruteLoss(amount_total * total_damage_percent_left) diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index dc0972777808a..c468e2b468395 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -15,7 +15,8 @@ armour_penetration = 50 w_class = WEIGHT_CLASS_LARGE hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT sharpness = IS_SHARP bleed_force = BLEED_DEEP_WOUND diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm index 4f5669b3dcfe6..4925002d6a842 100644 --- a/code/modules/ninja/suit/gloves.dm +++ b/code/modules/ninja/suit/gloves.dm @@ -78,4 +78,4 @@ /obj/item/clothing/gloves/space_ninja/examine(mob/user) . = ..() if(HAS_TRAIT_FROM(src, TRAIT_NODROP, NINJA_SUIT_TRAIT)) - . += "The energy drain mechanism is [candrain?"active":"inactive"]." + . += "[p_their(TRUE)] energy drain mechanism is [candrain?"active":"inactive"]." diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm index 9cd1dafa1db60..aee33924f9453 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_adrenaline.dm @@ -11,7 +11,6 @@ H.SetParalyzed(0) H.adjustStaminaLoss(-75) H.stuttering = 0 - H.update_mobility() H.reagents.add_reagent(/datum/reagent/medicine/amphetamine, 5) H.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost") a_boost-- diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 765eb824444f7..5734d60ec467c 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -21,23 +21,34 @@ Contents: resistance_flags = LAVA_PROOF | ACID_PROOF armor = list(MELEE = 60, BULLET = 50, LASER = 30, ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 100, ACID = 100, STAMINA = 60, BLEED = 60) strip_delay = 12 - - actions_types = list(/datum/action/item_action/initialize_ninja_suit, /datum/action/item_action/ninjasmoke, /datum/action/item_action/ninjaboost, /datum/action/item_action/ninjapulse, /datum/action/item_action/ninjastar, /datum/action/item_action/ninjanet, /datum/action/item_action/ninja_sword_recall, /datum/action/item_action/ninja_stealth, /datum/action/item_action/toggle_glove) - - //Important parts of the suit. + min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT + cell = null + show_hud = FALSE + actions_types = list( + /datum/action/item_action/initialize_ninja_suit, + /datum/action/item_action/ninjasmoke, + /datum/action/item_action/ninjaboost, + /datum/action/item_action/ninjapulse, + /datum/action/item_action/ninjastar, + /datum/action/item_action/ninjanet, + /datum/action/item_action/ninja_sword_recall, + /datum/action/item_action/ninja_stealth, + /datum/action/item_action/toggle_glove + ) + + //Important parts of the suit. var/mob/living/carbon/human/affecting = null - var/obj/item/stock_parts/cell/cell var/datum/effect_system/spark_spread/spark_system var/datum/techweb/stored_research var/obj/item/disk/tech_disk/t_disk//To copy design onto disk. var/obj/item/energy_katana/energyKatana //For teleporting the katana back to the ninja (It's an ability) - //Other articles of ninja gear worn together, used to easily reference them after initializing. + //Other articles of ninja gear worn together, used to easily reference them after initializing. var/obj/item/clothing/head/helmet/space/space_ninja/n_hood var/obj/item/clothing/shoes/space_ninja/n_shoes var/obj/item/clothing/gloves/space_ninja/n_gloves - //Main function variables. + //Main function variables. var/s_initialized = 0//Suit starts off. var/s_coold = 0//If the suit is on cooldown. Can be used to attach different cooldowns to abilities. Ticks down every second based on suit ntick(). var/s_cost = 2.5//Base energy cost each ntick. @@ -55,9 +66,14 @@ Contents: var/s_bombs = 10//Number of smoke bombs. var/a_boost = 3//Number of adrenaline boosters. - -/obj/item/clothing/suit/space/space_ninja/get_cell() - return cell +/obj/item/clothing/suit/space/space_ninja/examine(mob/user) + . = .() + if(s_initialized) + if(user == affecting) + . += "All systems operational. Current energy capacity: [display_energy(cell.charge)].\n"+\ + "The CLOAK-tech device is [stealth?"active":"inactive"].\n"+\ + "There are [s_bombs] smoke bomb\s remaining.\n"+\ + "There are [a_boost] adrenaline booster\s remaining." /obj/item/clothing/suit/space/space_ninja/Initialize(mapload) . = ..() @@ -76,6 +92,17 @@ Contents: cell.name = "black power cell" cell.icon_state = "bscell" +// seal the cell in the ninja outfit +/obj/item/clothing/suit/space/space_ninja/toggle_spacesuit_cell(mob/user) + return + +// Space Suit temperature regulation and power usage +/obj/item/clothing/suit/space/space_ninja/process() + var/mob/living/carbon/human/user = src.loc + if(!user || !ishuman(user) || !(user.wear_suit == src)) + return + user.adjust_bodytemperature(BODYTEMP_NORMAL - user.bodytemperature) + /obj/item/clothing/suit/space/space_ninja/Destroy() QDEL_NULL(spark_system) QDEL_NULL(cell) @@ -167,16 +194,6 @@ Contents: n_gloves.candrain = FALSE n_gloves.draining = FALSE - -/obj/item/clothing/suit/space/space_ninja/examine(mob/user) - . = .() - if(s_initialized) - if(user == affecting) - . += "All systems operational. Current energy capacity: [display_energy(cell.charge)].\n"+\ - "The CLOAK-tech device is [stealth?"active":"inactive"].\n"+\ - "There are [s_bombs] smoke bomb\s remaining.\n"+\ - "There are [a_boost] adrenaline booster\s remaining." - /obj/item/clothing/suit/space/space_ninja/ui_action_click(mob/user, action) if(istype(action, /datum/action/item_action/initialize_ninja_suit)) toggle_on_off() diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 14fa0b9507970..19a87e57a7202 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -226,7 +226,8 @@ * (Alan) Edaggers */ /obj/item/pen/edagger - attack_verb = list("slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") //these wont show up if the pen is off + attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") //these won't show up if the pen is off + attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") var/on = FALSE /obj/item/pen/edagger/Initialize(mapload) diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index be10b48609860..7e584009c0113 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -10,7 +10,8 @@ throw_range = 7 custom_materials = list(/datum/material/iron=60) pressure_resistance = 2 - attack_verb = list("stamped") + attack_verb_continuous = list("stamps") + attack_verb_simple = list("stamp") dye_color = DYE_GREEN /obj/item/stamp/suicide_act(mob/living/user) diff --git a/code/modules/plumbing/plumbers/bottle_dispenser.dm b/code/modules/plumbing/plumbers/bottle_dispenser.dm index 0ed32ee8714bb..0fbd93a536994 100644 --- a/code/modules/plumbing/plumbers/bottle_dispenser.dm +++ b/code/modules/plumbing/plumbers/bottle_dispenser.dm @@ -1,71 +1,24 @@ ///We take a constant input of reagents, and produce a bottle once a set volume is reached /obj/machinery/plumbing/bottle_dispenser - name = "bottle dispenser" - desc = "A dispenser that dispenses bottles." + name = "bottle filler" + desc = "A dispenser that fills bottles from a tap." icon_state = "pill_press" //TODO SPRITE IT !!!!!! - var/bottle_name = "factory bottle" - var/bottle_size = 30 - ///the icon_state number for the bottle. - var/list/stored_bottles = list() - var/max_stored_bottles = 3 - ///max amount of bottles allowed on our tile before we start storing them instead - var/max_floor_bottles = 10 - - - /obj/machinery/plumbing/bottle_dispenser/examine(mob/user) . = ..() - . += "The [name] currently has [stored_bottles.len] stored. There needs to be less than [max_floor_bottles] on the floor to continue dispensing." + . += "Use an open container on it to fill it up!" /obj/machinery/plumbing/bottle_dispenser/Initialize(mapload, bolt) . = ..() AddComponent(/datum/component/plumbing/simple_demand, bolt) update_appearance() //so the input/output pipes will overlay properly during init -/obj/machinery/plumbing/bottle_dispenser/process() - if(machine_stat & NOPOWER) - return - if((reagents.total_volume >= bottle_size) && (stored_bottles.len < max_stored_bottles)) - var/obj/item/reagent_containers/glass/bottle/P = new(src) - reagents.trans_to(P, bottle_size) - P.name = bottle_name - stored_bottles += P - if(stored_bottles.len) - var/bottle_amount = 0 - for(var/obj/item/reagent_containers/glass/bottle/P in loc) - bottle_amount++ - if(bottle_amount >= max_floor_bottles) //too much so just stop - break - if(bottle_amount < max_floor_bottles) - var/atom/movable/AM = stored_bottles[1] //AM because forceMove is all we need - stored_bottles -= AM - AM.forceMove(drop_location()) - - -/obj/machinery/plumbing/bottle_dispenser/ui_state(mob/user) - return GLOB.default_state - -/obj/machinery/plumbing/bottle_dispenser/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "BottleDispenser") - ui.open() - -/obj/machinery/plumbing/bottle_dispenser/ui_data(mob/user) - var/list/data = list() - data["bottle_size"] = bottle_size - data["bottle_name"] = bottle_name - return data - -/obj/machinery/plumbing/bottle_dispenser/ui_act(action, params) - if(..()) - return - switch(action) - if("change_bottle_size") - bottle_size = clamp(text2num(params["volume"]), 0, 30) - . = TRUE - if("change_bottle_name") - var/new_name = stripped_input(usr, "Enter a bottle name.", name, bottle_name) - bottle_name = new_name + " bottle" - . = TRUE +/obj/machinery/plumbing/bottle_dispenser/attackby(obj/item/C, mob/user) + var/datum/reagents/container = C.reagents + if (!container) + return ..() + if (!(container.flags & OPENCONTAINER)) + user.balloon_alert("[C] is not fillable!") + return FALSE + reagents.trans_to(container, min(reagents.total_volume, container.maximum_volume - container.total_volume), transfered_by = user) + return FALSE diff --git a/code/modules/plumbing/plumbers/patch_dispenser.dm b/code/modules/plumbing/plumbers/patch_dispenser.dm deleted file mode 100644 index 0f21f9027d68d..0000000000000 --- a/code/modules/plumbing/plumbers/patch_dispenser.dm +++ /dev/null @@ -1,73 +0,0 @@ -///We take a constant input of reagents, and produce a patch once a set volume is reached -/obj/machinery/plumbing/patch_dispenser - name = "patch dispenser" - desc = "A dispenser that dispenses patches." - icon_state = "pill_press" //TODO SPRITE IT !!!!!! - active_power_usage = 80 - - var/patch_name = "factory patch" - var/patch_size = 40 - ///the icon_state number for the patch. - var/list/stored_patches = list() - var/max_stored_patches = 3 - ///max amount of patches allowed on our tile before we start storing them instead - var/max_floor_patches = 10 - - - - -/obj/machinery/plumbing/patch_dispenser/examine(mob/user) - . = ..() - . += "The [name] currently has [stored_patches.len] stored. There needs to be less than [max_floor_patches] on the floor to continue dispensing." - -/obj/machinery/plumbing/patch_dispenser/Initialize(mapload, bolt) - . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) - update_appearance() //so the input/output pipes will overlay properly during init - -/obj/machinery/plumbing/patch_dispenser/process() - if(machine_stat & NOPOWER) - return - if((reagents.total_volume >= patch_size) && (stored_patches.len < max_stored_patches)) - var/obj/item/reagent_containers/pill/patch/P = new(src) - reagents.trans_to(P, patch_size) - P.name = patch_name - stored_patches += P - if(stored_patches.len) - var/patch_amount = 0 - for(var/obj/item/reagent_containers/pill/patch/P in loc) - patch_amount++ - if(patch_amount >= max_floor_patches) //too much so just stop - break - if(patch_amount < max_floor_patches) - var/atom/movable/AM = stored_patches[1] //AM because forceMove is all we need - stored_patches -= AM - AM.forceMove(drop_location()) - - -/obj/machinery/plumbing/patch_dispenser/ui_state(mob/user) - return GLOB.default_state - -/obj/machinery/plumbing/patch_dispenser/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "PatchDispenser") - ui.open() - -/obj/machinery/plumbing/patch_dispenser/ui_data(mob/user) - var/list/data = list() - data["patch_size"] = patch_size - data["patch_name"] = patch_name - return data - -/obj/machinery/plumbing/patch_dispenser/ui_act(action, params) - if(..()) - return - switch(action) - if("change_patch_size") - patch_size = clamp(text2num(params["volume"]), 0, 40) - . = TRUE - if("change_patch_name") - var/new_name = stripped_input(usr, "Enter a patch name.", name, patch_name) - patch_name = new_name + " patch" - . = TRUE diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm deleted file mode 100644 index 979979f4cbd07..0000000000000 --- a/code/modules/plumbing/plumbers/pill_press.dm +++ /dev/null @@ -1,109 +0,0 @@ -///We take a constant input of reagents, and produce a pill once a set volume is reached -/obj/machinery/plumbing/pill_press - name = "pill press" - desc = "A press that presses pills." - icon_state = "pill_press" - active_power_usage = 100 - ///the minimum size a pill can be - var/minimum_pill = 5 - ///the maximum size a pill can be - var/maximum_pill = 50 - ///the size of the pill - var/pill_size = 10 - ///pill name - var/pill_name = "factory pill" - ///the icon_state number for the pill. - var/chosen_pill_style = "pill_shape_capsule_purple_pink" - ///list of id's and icons for the pill selection of the ui - var/static/list/pill_styles = list() - ///list of pills stored in the machine, so we dont have 610 pills on one tile - var/list/stored_pills = list() - var/max_stored_pills = 3 - ///max amount of pills allowed on our tile before we start storing them instead - var/max_floor_pills = 10 - - - - -/obj/machinery/plumbing/pill_press/examine(mob/user) - . = ..() - . += "The [name] currently has [stored_pills.len] stored. There needs to be less than [max_floor_pills] on the floor to continue dispensing." - -/obj/machinery/plumbing/pill_press/Initialize(mapload, bolt) - . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) - - //expertly copypasted from chemmasters - if(!length(pill_styles)) - for (var/each_pill_shape in PILL_SHAPE_LIST_WITH_DUMMY) - var/list/style_list = list() - style_list["id"] = each_pill_shape - style_list["pill_icon_name"] = each_pill_shape - pill_styles += list(style_list) - update_appearance() //so the input/output pipes will overlay properly during init - -/obj/machinery/plumbing/pill_press/process() - if(machine_stat & NOPOWER) - return - if((reagents.total_volume >= pill_size) && (stored_pills.len < max_stored_pills)) - var/obj/item/reagent_containers/pill/P = new(src) - reagents.trans_to(P, pill_size) - P.name = pill_name - stored_pills += P - if(chosen_pill_style == "pill_random_dummy") - P.icon_state = pick(PILL_SHAPE_LIST) - else - P.icon_state = chosen_pill_style - if(P.icon_state == "pill_shape_capsule_bloodred") //mirrored from chem masters - P.desc = "A tablet or capsule, but not just any, a red one, one taken by the ones not scared of knowledge, freedom, uncertainty and the brutal truths of reality." - if(stored_pills.len) - var/pill_amount = 0 - for(var/obj/item/reagent_containers/pill/P in loc) - pill_amount++ - if(pill_amount >= max_floor_pills) //too much so just stop - break - if(pill_amount < max_floor_pills) - var/atom/movable/AM = stored_pills[1] //AM because forceMove is all we need - stored_pills -= AM - AM.forceMove(drop_location()) - -/obj/machinery/plumbing/pill_press/ui_assets(mob/user) - return list( - get_asset_datum(/datum/asset/spritesheet_batched/medicine_containers), - ) - - -/obj/machinery/plumbing/pill_press/ui_state(mob/user) - return GLOB.default_state - -/obj/machinery/plumbing/pill_press/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "ChemPress") - ui.open() - -/obj/machinery/plumbing/pill_press/ui_data(mob/user) - var/list/data = list() - data["pill_size"] = pill_size - data["pill_name"] = pill_name - data["chosen_pill_style"] = chosen_pill_style - data["pill_styles"] = pill_styles - return data - -/obj/machinery/plumbing/pill_press/ui_act(action, params) - if(..()) - return - switch(action) - if("change_pill_style") - chosen_pill_style = "[params["id"]]" - . = TRUE - if("change_pill_size") - pill_size = clamp(text2num(params["volume"]), minimum_pill, maximum_pill) - . = TRUE - if("change_pill_name") - var/new_name = stripped_input(usr, "Enter a pill name.", name, pill_name) - if(findtext(new_name, "pill")) //names like pillatron and Pilliam are thus valid - pill_name = new_name - else - pill_name = new_name + " pill" - . = TRUE diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 47fafe4f2cea8..045eccf507d95 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -19,10 +19,6 @@ var/datum/reagent/reagent_id = null ///reagent overlay. its the colored pipe thingies. we track this because overlays.Cut() is bad var/image/r_overlay - ///The amount of reagent dispensable before requiring a refill from a compressed matter cartridge. - var/volume_left = 0 - ///The maximum amount of precursor in a synthesizer. - var/max_volume = 1000 ///straight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents var/list/dispensable_reagents = list( /datum/reagent/aluminium, @@ -66,34 +62,11 @@ return if(reagents.total_volume >= amount*delta_time*0.5) //otherwise we get leftovers, and we need this to be precise return - if(volume_left < amount) //Empty - return reagents.add_reagent(reagent_id, amount*delta_time*0.5) - volume_left = max(volume_left - amount*delta_time*0.5, 0) - -/obj/machinery/plumbing/synthesizer/attackby(obj/item/O, mob/user, params) - if(!istype(O, /obj/item/rcd_ammo)) - return ..() - var/obj/item/rcd_ammo/R = O - if(!R.ammoamt) - to_chat(user, "The [R.name] doesn't have any reagent left!") - return ..() - var/added_volume = -volume_left //For the difference calculation - volume_left = min(volume_left+R.ammoamt*10, src.max_volume) //400 per cartridge - added_volume = added_volume+volume_left - R.ammoamt -= added_volume/10 - if(R.ammoamt <= 0) //Emptied - to_chat(user, "You refill the chemical synthesizer with the [R.name], emptying it completely!") - qdel(R) - return - if(added_volume == 0) //No change - to_chat(user, "The chemical synthesizer is full!") - return - to_chat(user, "You refill the chemical synthesizer with the [R.name], leaving [R.ammoamt*10] units in it.") /obj/machinery/plumbing/synthesizer/examine(mob/user) . = ..() - . += "A display says it currently holds [volume_left] units of precursor before requiring a refill." + . += "A display says it is currently producing [initial(reagent_id.name)]." /obj/machinery/plumbing/synthesizer/ui_state(mob/user) return GLOB.default_state diff --git a/code/modules/pool/components/swimming.dm b/code/modules/pool/components/swimming.dm index b5cb1b6358747..8211e87e97794 100644 --- a/code/modules/pool/components/swimming.dm +++ b/code/modules/pool/components/swimming.dm @@ -33,7 +33,7 @@ if(lengths > lengths_for_bonus) var/mob/living/L = parent SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "exercise", /datum/mood_event/exercise) - L.apply_status_effect(STATUS_EFFECT_EXERCISED) //Swimming is really good excercise! + L.apply_status_effect(STATUS_EFFECT_EXERCISED, 20) //Swimming is really good excercise! lengths = 0 //Damn edge cases @@ -120,7 +120,7 @@ var/obj/item/pool/helditem = victim.get_active_held_item() if(istype(helditem) && ISWIELDED(helditem)) return - return ((!(victim.mobility_flags & MOBILITY_STAND)) && (!HAS_TRAIT(victim, TRAIT_NOBREATH))) + return ((victim.body_position == LYING_DOWN) && (!HAS_TRAIT(victim, TRAIT_NOBREATH))) /datum/component/swimming/proc/drown(mob/living/victim) if(victim.losebreath < 1) diff --git a/code/modules/pool/pool_items.dm b/code/modules/pool/pool_items.dm index a954867baab2c..1bc16b683d08a 100644 --- a/code/modules/pool/pool_items.dm +++ b/code/modules/pool/pool_items.dm @@ -6,7 +6,8 @@ damtype = STAMINA w_class = WEIGHT_CLASS_BULKY block_sound = 'sound/weapons/tap.ogg' - attack_verb = list("wacked") + attack_verb_continuous = list("smashes", "slams", "whacks", "thwacks") + attack_verb_simple = list("smash", "slam", "whack", "thwack") /obj/item/pool/Initialize(mapload) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 9d65ff5d956c7..2ae1f7bdf31b0 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -494,7 +494,8 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe("cable restrai mats_per_unit = list(/datum/material/iron=10, /datum/material/glass=5) flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT - attack_verb = list("whipped", "lashed", "disciplined", "flogged") + attack_verb_continuous = list("whips", "lashes", "disciplines", "flogs") + attack_verb_simple = list("whip", "lash", "discipline", "flog") singular_name = "cable piece" full_w_class = WEIGHT_CLASS_SMALL grind_results = list(/datum/reagent/copper = 2) //2 copper per cable in the coil diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index f74a7c721ca34..06d87c838a6e4 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -11,7 +11,7 @@ throw_speed = 2 throw_range = 5 w_class = WEIGHT_CLASS_SMALL - /// note %age conveted to actual charge in New + /// note %age converted to actual charge in New var/charge = 0 var/maxcharge = 1000 custom_materials = list(/datum/material/iron=700, /datum/material/glass=50) @@ -42,7 +42,7 @@ charge = maxcharge if(ratingdesc) desc += " This one has a rating of [display_energy(maxcharge)], and you should not swallow it." - update_icon() + update_appearance() /obj/item/stock_parts/cell/Destroy() STOP_PROCESSING(SSobj, src) @@ -65,18 +65,18 @@ else return PROCESS_KILL -/obj/item/stock_parts/cell/update_icon() - cut_overlays() +/obj/item/stock_parts/cell/update_overlays() + . = ..() if(grown_battery) - add_overlay(image('icons/obj/power.dmi',"grown_wires")) + . += mutable_appearance('icons/obj/power.dmi', "grown_wires") if(charge < 0.01) return else if(charge/maxcharge >=0.995) - add_overlay("cell-o2") + . += "cell-o2" else - add_overlay("cell-o1") + . += "cell-o1" -/obj/item/stock_parts/cell/proc/percent() // return % charge of cell +/obj/item/stock_parts/cell/proc/percent() // return % charge of cell return maxcharge ? 100 * charge / maxcharge : 0 //Division by 0 protection // use power from a cell @@ -233,7 +233,7 @@ /obj/item/stock_parts/cell/crap/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/upgraded name = "upgraded power cell" @@ -255,7 +255,7 @@ /obj/item/stock_parts/cell/secborg/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/pulse //200 pulse shots name = "pulse rifle power cell" @@ -288,7 +288,7 @@ /obj/item/stock_parts/cell/high/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/super name = "super-capacity power cell" @@ -301,7 +301,7 @@ /obj/item/stock_parts/cell/super/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/hyper name = "hyper-capacity power cell" @@ -314,7 +314,7 @@ /obj/item/stock_parts/cell/hyper/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/bluespace name = "bluespace power cell" @@ -328,7 +328,7 @@ /obj/item/stock_parts/cell/bluespace/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/infinite name = "infinite-capacity power cell!" @@ -349,8 +349,9 @@ maxcharge = 50000 ratingdesc = FALSE -/obj/item/stock_parts/cell/infinite/abductor/update_icon() - return +/obj/item/stock_parts/cell/infinite/abductor/ComponentInitialize() + . = ..() + AddElement(/datum/element/update_icon_blocker) /obj/item/stock_parts/cell/potato @@ -383,7 +384,7 @@ /obj/item/stock_parts/cell/emproof/empty/Initialize(mapload) . = ..() charge = 0 - update_icon() + update_appearance() /obj/item/stock_parts/cell/emproof/empty/ComponentInitialize() . = ..() diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index 27d740ea60072..d761ec5a1d4e3 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -380,7 +380,7 @@ newlight.setDir(src.dir) newlight.stage = cur_stage if(!disassembled) - newlight.obj_integrity = newlight.max_integrity * 0.5 + newlight.take_damage(newlight.max_integrity * 0.5, sound_effect=FALSE) if(status != LIGHT_BROKEN) break_light_tube() if(status != LIGHT_EMPTY) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 6bef2d1f561e4..95c50ffb478cc 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -379,7 +379,7 @@ icon_state_on = "protoemitter_+a" icon_state_underpowered = "protoemitter_+u" can_buckle = TRUE - buckle_lying = FALSE + buckle_lying = 0 ///Sets the view size for the user var/view_range = 4.5 ///Grants the buckled mob the action button diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index e26fb9848c3cd..5e0d5df5189ab 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -638,18 +638,19 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) qdel(src) return gain -/obj/machinery/power/supermatter_crystal/blob_act(obj/structure/blob/B) - if(B && !isspaceturf(loc)) //does nothing in space - playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) - damage += B.obj_integrity * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us - if(B.obj_integrity > 100) - B.visible_message("\The [B] strikes at \the [src] and flinches away!",\ - "You hear a loud crack as you are washed with a wave of heat.") - B.take_damage(100, BURN) - else - B.visible_message("\The [B] strikes at \the [src] and rapidly flashes to ash.",\ - "You hear a loud crack as you are washed with a wave of heat.") - Consume(B) +/obj/machinery/power/supermatter_crystal/blob_act(obj/structure/blob/blob) + if(!blob || isspaceturf(loc)) //does nothing in space + return + playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE) + damage += blob.get_integrity() * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us + if(blob.get_integrity() > 100) + blob.visible_message("\The [blob] strikes at \the [src] and flinches away!",\ + "You hear a loud crack as you are washed with a wave of heat.") + blob.take_damage(100, BURN) + else + blob.visible_message("\The [blob] strikes at \the [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + Consume(blob) /obj/machinery/power/supermatter_crystal/attack_tk(mob/user) if(!iscarbon(user)) @@ -672,9 +673,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) /obj/machinery/power/supermatter_crystal/attack_animal(mob/living/simple_animal/S) var/murder if(!S.melee_damage) - murder = S.friendly + murder = S.friendly_verb_continuous else - murder = S.attacktext + murder = S.attack_verb_continuous dust_mob(S, \ "[S] unwisely [murder] [src], and [S.p_their()] body burns brilliantly before flashing into ash!", \ "You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \ @@ -880,15 +881,15 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) icon_state = "darkmatter" /obj/machinery/power/supermatter_crystal/proc/supermatter_pull(turf/center, pull_range = 10) - playsound(src.loc, 'sound/weapons/marauder.ogg', 100, 1, extrarange = 7) + playsound(src.loc, 'sound/weapons/marauder.ogg', 100, TRUE, extrarange = 7) for(var/atom/movable/P in orange(pull_range,center)) if(P.anchored || P.move_resist >= MOVE_FORCE_EXTREMELY_STRONG) //move resist memes. return if(ishuman(P)) var/mob/living/carbon/human/H = P - if(H.incapacitated() || !(H.mobility_flags & MOBILITY_STAND) || H.mob_negates_gravity()) + if(H.incapacitated() || H.body_position == LYING_DOWN || H.mob_negates_gravity()) return //You can't knock down someone who is already knocked down or has immunity to gravity - H.visible_message("[H] is suddenly knocked down, as if [H.p_their()] [(H.get_num_legs() == 1) ? "leg had" : "legs have"] been pulled out from underneath [H.p_them()]!",\ + H.visible_message("[H] is suddenly knocked down, as if [H.p_their()] [(H.usable_legs == 1) ? "leg had" : "legs have"] been pulled out from underneath [H.p_them()]!",\ "A sudden gravitational pulse knocks you down!",\ "You hear a thud.") H.apply_effect(40, EFFECT_PARALYZE, 0) diff --git a/code/modules/projectiles/ammunition/caseless/misc.dm b/code/modules/projectiles/ammunition/caseless/misc.dm index ec09691fece68..20e411ec9ed88 100644 --- a/code/modules/projectiles/ammunition/caseless/misc.dm +++ b/code/modules/projectiles/ammunition/caseless/misc.dm @@ -7,7 +7,13 @@ fire_sound = 'sound/weapons/laser.ogg' firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy +/obj/item/ammo_casing/caseless/laser/bounce_away(still_warm, bounce_delay) + qdel(src) + /obj/item/ammo_casing/caseless/laser/gatling projectile_type = /obj/projectile/beam/weak/penetrator variance = 0.8 click_cooldown_override = 1 + +/obj/item/ammo_casing/caseless/laser/lesslethal + projectile_type = /obj/projectile/beam/laser/lesslethal diff --git a/code/modules/projectiles/boxes_magazines/external/rechargable.dm b/code/modules/projectiles/boxes_magazines/external/rechargable.dm index 7ed0cde50a7bc..c39eacccef35f 100644 --- a/code/modules/projectiles/boxes_magazines/external/rechargable.dm +++ b/code/modules/projectiles/boxes_magazines/external/rechargable.dm @@ -12,3 +12,36 @@ /obj/item/ammo_box/magazine/recharge/attack_self() //No popping out the "bullets" return + +/obj/item/ammo_box/magazine/recharge/emp_act(severity) + . = ..() + if (obj_flags & OBJ_EMPED) + return + obj_flags |= OBJ_EMPED + playsound(src, 'sound/machines/capacitor_discharge.ogg', 60, TRUE) + addtimer(CALLBACK(src, PROC_REF(emp_reset)), rand(1, 200 / severity)) + // Unload the gun we are inside + if (isgun(loc)) + var/obj/item/gun/gun = loc + QDEL_NULL(gun.chambered) + +/obj/item/ammo_box/magazine/recharge/proc/emp_reset() + obj_flags &= ~OBJ_EMPED + playsound(src, 'sound/machines/capacitor_charge.ogg', 100, TRUE) + +/obj/item/ammo_box/magazine/recharge/get_round(keep = FALSE) + if (obj_flags & OBJ_EMPED) + return null + return ..() + +/obj/item/ammo_box/magazine/recharge/service + name = "energy pistol magazine" + desc = "A rechargeable energy pack used by service pistols." + icon_state = "officer-12" + max_ammo = 12 + multiple_sprites = 1 + ammo_type = /obj/item/ammo_casing/caseless/laser/lesslethal + +/obj/item/ammo_box/magazine/recharge/service/update_icon() + ..() + icon_state = "officer-[CEILING(ammo_count(),3)]" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index b221f3691c2f3..547ec90e023a0 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -19,7 +19,8 @@ throw_range = 5 force = 5 item_flags = NEEDS_PERMIT || ISWEAPON - attack_verb = list("struck", "hit", "bashed") + attack_verb_continuous = list("strikes", "hits", "bashes") + attack_verb_simple = list("strike", "hit", "bash") var/fire_sound = "gunshot" var/vary_fire_sound = TRUE diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 39a23bedd4240..31ef884c8478d 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -115,3 +115,48 @@ to_chat(user, "..and falls into view. Whew, that was a close one.") user.dropItemToGround(src) + +// ================================== +// Officer's Pistol +// ================================== + +/obj/item/gun/ballistic/automatic/pistol/service + name = "service pistol" + desc = "A commemorative pistol given to Nanotrasen officers designed to use higher densities of energy to emulate the ballistic service pistols that they replaced. \ + It primarilly serves as a symbol of power, but has proven to be an effective tool at enforcing the power that is portrays. \ + It fires less-lethal rounds which stun the area of the body that they burn." + icon_state = "officer" + w_class = WEIGHT_CLASS_NORMAL + mag_type = /obj/item/ammo_box/magazine/recharge/service + can_suppress = FALSE + fire_sound = 'sound/weapons/laser.ogg' + casing_ejector = FALSE + fire_rate = 4 + can_suppress = FALSE + worn_icon_state = "officer_pistol" + var/stripe_state = "officer_com" + +/obj/item/gun/ballistic/automatic/pistol/service/update_icon() + . = ..() + var/mutable_appearance/stripe = mutable_appearance(icon, stripe_state) + if (bolt_locked) + stripe.pixel_x = -5 + add_overlay(stripe) + +/obj/item/gun/ballistic/automatic/pistol/service/captain + stripe_state = "officer_com" + +/obj/item/gun/ballistic/automatic/pistol/service/hop + stripe_state = "officer_srv" + +/obj/item/gun/ballistic/automatic/pistol/service/hos + stripe_state = "officer_sec" + +/obj/item/gun/ballistic/automatic/pistol/service/ce + stripe_state = "officer_eng" + +/obj/item/gun/ballistic/automatic/pistol/service/rd + stripe_state = "officer_sci" + +/obj/item/gun/ballistic/automatic/pistol/service/cmo + stripe_state = "officer_med" diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index fa099f0431e86..710d0f7f38de1 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -345,7 +345,8 @@ weapon_weight = WEAPON_MEDIUM can_sawoff = FALSE force = 10 //it has a hook on it - attack_verb = list("slashed", "hooked", "stabbed") + attack_verb_continuous = list("slashes", "hooks", "stabs") + attack_verb_simple = list("slash", "hook", "stab") hitsound = 'sound/weapons/bladeslice.ogg' //our hook gun! var/obj/item/gun/magic/hook/bounty/hook diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 786eefeac8095..2e82919cbcfbe 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -39,19 +39,6 @@ overlay_x = 19, \ overlay_y = 13) -/obj/item/gun/energy/e_gun/mini/heads - name = "Personal Tiny Self Defense Gun" - desc = "The PTSD gun has a built-in flashlight and the ability to recharge itself in two minutes. PTSD is standard issue for leadership within Nanotrasen. It has two settings: disable and kill." - ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser) ///uses the hos disabler rounds to slightly weaken the disabler count and also to avoid encountering a visual bug where the gun is out of charge but displays that it has one enough for another shot. - selfcharge = 1 - charge_delay = 20 - can_charge = FALSE ///Not compatible with fast charging stations, must recharge slowly. - icon_state = "personal" - item_state = "gun" - ammo_x_offset = 2 - charge_sections = 2 - single_shot_type_overlay = FALSE - /obj/item/gun/energy/e_gun/stun name = "tactical energy gun" desc = "Military issue energy gun, is able to fire stun rounds." diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index ee52f6589509e..6f7d03fc9ffa0 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -224,6 +224,9 @@ var/obj/effect/temp_visual/kinetic_blast/K = new /obj/effect/temp_visual/kinetic_blast(target_turf) K.color = color +//mecha_kineticgun version of the projectile +/obj/projectile/kinetic/mech + range = 5 //Modkits /obj/item/borg/upgrade/modkit diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 61fb530675605..416c973ddfaf4 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -148,7 +148,8 @@ item_state = "plasmacutter" ammo_type = list(/obj/item/ammo_casing/energy/plasma) flags_1 = CONDUCT_1 - attack_verb = list("attacked", "slashed", "cut", "sliced") + attack_verb_continuous = list("attacks", "slashes", "cuts", "slices") + attack_verb_simple = list("attack", "slash", "cut", "slice") force = 12 sharpness = IS_SHARP can_charge = FALSE diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index be44f0a4c10da..e9b8d8b024021 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -47,11 +47,27 @@ max_charges = 10 recharge_rate = 2 no_den_usage = 1 - var/allowed_projectile_types = list(/obj/projectile/magic/change, /obj/projectile/magic/animate, /obj/projectile/magic/resurrection, - /obj/projectile/magic/death, /obj/projectile/magic/teleport, /obj/projectile/magic/door, /obj/projectile/magic/fireball, - /obj/projectile/magic/spellblade, /obj/projectile/magic/arcane_barrage, /obj/projectile/magic/locker, /obj/projectile/magic/flying, - /obj/projectile/magic/bounty, /obj/projectile/magic/antimagic, /obj/projectile/magic/fetch, /obj/projectile/magic/sapping, - /obj/projectile/magic/necropotence, /obj/projectile/magic, /obj/projectile/temp/chill, /obj/projectile/magic/wipe) + var/allowed_projectile_types = list( + /obj/projectile/magic/change, + /obj/projectile/magic/animate, + /obj/projectile/magic/resurrection, + /obj/projectile/magic/death, + /obj/projectile/magic/teleport, + /obj/projectile/magic/door, + /obj/projectile/magic/fireball, + /obj/projectile/magic/spellblade, + /obj/projectile/magic/arcane_barrage, + /obj/projectile/magic/locker, + /obj/projectile/magic/flying, + /obj/projectile/magic/bounty, + /obj/projectile/magic/antimagic, + /obj/projectile/magic/fetch, + /obj/projectile/magic/sapping, + /obj/projectile/magic/necropotence, + /obj/projectile/magic, + /obj/projectile/temp/chill, + /obj/projectile/magic/wipe + ) /obj/item/gun/magic/staff/chaos/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) chambered.projectile_type = pick(allowed_projectile_types) diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 305a13e006e9d..43b9a61d47a73 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -6,7 +6,8 @@ item_state = "pen" flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY - attack_verb = list("poked") + attack_verb_continuous = list("pokes") + attack_verb_simple = list("poke") var/fail_message = "INVALID USER." var/selfdestruct = 0 // Explode when user check is failed. var/force_replace = 0 // Can forcefully replace other pins. diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 72fe814ef336c..2248ac3b96fd8 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -504,12 +504,12 @@ if(!L.density) // If you are moving, then bullets will hit you even if you are lying. // This is to counter abuse in space where you can be moving via inertia while lying #11020 - if (!(L.mobility_flags & MOBILITY_STAND) && L.last_move_time + max(L.inertia_move_delay, CRAWLING_ADD_SLOWDOWN + CONFIG_GET(number/movedelay/run_delay)) > world.time) + if ((L.body_position == LYING_DOWN) && L.last_move_time + max(L.inertia_move_delay, CRAWLING_ADD_SLOWDOWN + CONFIG_GET(number/movedelay/run_delay)) > world.time) return TRUE return FALSE - if (L.mobility_flags & MOBILITY_STAND)// if you stand, it returns true and you get hit. If you arent standing(i.e. resting), it returns false and you dont get hit. Such stupid code. + if(L.body_position != LYING_DOWN)// if you stand, it returns true and you get hit. If you arent standing(i.e. resting), it returns false and you dont get hit. Such stupid code. return TRUE - var/stunned = !CHECK_BITFIELD(L.mobility_flags, MOBILITY_USE | MOBILITY_STAND | MOBILITY_MOVE) + var/stunned = HAS_TRAIT(L, TRAIT_IMMOBILIZED) && HAS_TRAIT(L, TRAIT_FLOORED) && HAS_TRAIT(L, TRAIT_HANDS_BLOCKED) return !stunned || hit_stunned_targets return TRUE diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 2ea184dfadd48..54781b9044663 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -39,6 +39,11 @@ else if(isturf(target)) impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser/wall +/obj/projectile/beam/laser/lesslethal + damage = 11 + stamina = 18 + icon_state = "minilaser" + /obj/projectile/beam/weak damage = 12 diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index afa648077f6c8..1556116350ace 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -5,7 +5,7 @@ damage_type = OXY nodamage = TRUE armour_penetration = 100 - armor_flag = MAGIC + armor_flag = NONE martial_arts_no_deflect = TRUE /obj/projectile/magic/death @@ -160,7 +160,8 @@ return M.notransform = TRUE - M.mobility_flags = NONE + ADD_TRAIT(M, TRAIT_IMMOBILIZED, MAGIC_TRAIT) + ADD_TRAIT(M, TRAIT_HANDS_BLOCKED, MAGIC_TRAIT) M.icon = null M.cut_overlays() M.invisibility = INVISIBILITY_ABSTRACT @@ -350,7 +351,6 @@ icon_state = "lavastaff" damage = 15 damage_type = BURN - armor_flag = MAGIC dismemberment = 50 nodamage = FALSE martial_arts_no_deflect = FALSE @@ -370,8 +370,6 @@ damage = 20 damage_type = BURN nodamage = FALSE - armour_penetration = 0 - armor_flag = MAGIC hitsound = 'sound/weapons/barragespellhit.ogg' martial_arts_no_deflect = FALSE @@ -389,7 +387,6 @@ name = "locker bolt" icon_state = "locker" nodamage = TRUE - armor_flag = MAGIC martial_arts_no_deflect = FALSE var/weld = TRUE var/created = FALSE //prevents creation of more then one locker if it has multiple hits @@ -636,7 +633,6 @@ damage_type = BURN nodamage = FALSE speed = 0.3 - armor_flag = MAGIC var/tesla_power = 20000 var/tesla_range = 15 @@ -731,4 +727,3 @@ nodamage = FALSE armour_penetration = 100 temperature = -200 // Cools you down greatly per hit - armor_flag = MAGIC diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 806e446cffdff..a22ded82d5407 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -380,7 +380,6 @@ addiction_tick++ if(C && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates. C.updatehealth() - C.update_mobility() C.update_stamina() update_total() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index fbf05aae1dad2..6b483e41f06d7 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -162,7 +162,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/kahlua/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) M.Jitter(5) ..() @@ -1352,10 +1352,10 @@ All effects don't start immediately, but rather get worse over time; the rate is M.slurring += 3 switch(current_cycle) if(51 to 200) - M.Sleeping(100, FALSE) + M.Sleeping(100) . = 1 if(201 to INFINITY) - M.AdjustSleeping(40, FALSE) + M.AdjustSleeping(40) M.adjustToxLoss(2, 0) . = 1 ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index a38a27bb81b8b..4d67bdd2f423d 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -319,7 +319,7 @@ /datum/reagent/consumable/coffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) //310.15 is the normal bodytemp. M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL) if(holder.has_reagent(/datum/reagent/consumable/frostoil)) @@ -393,7 +393,7 @@ /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) M.Jitter(5) ..() @@ -413,7 +413,7 @@ /datum/reagent/consumable/icetea/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-2) M.drowsyness = max(0,M.drowsyness-1) - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) @@ -459,7 +459,7 @@ M.set_drugginess(30) M.dizziness += 1.5 M.drowsyness = 0 - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) M.radiation += 4 ..() @@ -488,7 +488,7 @@ M.Jitter(20) M.dizziness +=1 M.drowsyness = 0 - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() @@ -611,7 +611,7 @@ /datum/reagent/consumable/tonic/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() . = 1 @@ -630,7 +630,7 @@ M.Jitter(20) M.dizziness +=1 M.drowsyness = 0 - M.AdjustSleeping(-40, FALSE) + M.AdjustSleeping(-40) M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() @@ -672,7 +672,7 @@ /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.SetSleeping(0, FALSE) + M.SetSleeping(0) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL) M.Jitter(5) if(M.getBruteLoss() && prob(20)) @@ -694,7 +694,7 @@ /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.SetSleeping(0, FALSE) + M.SetSleeping(0) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, BODYTEMP_NORMAL) M.Jitter(5) if(M.getBruteLoss() && prob(20)) diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index a17407ad18330..612ccc4b8f744 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -19,7 +19,7 @@ /datum/reagent/drug/space_drugs/on_mob_life(mob/living/carbon/M) M.set_drugginess(15) if(isturf(M.loc) && !isspaceturf(M.loc)) - if(M.mobility_flags & MOBILITY_MOVE) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED)) if(prob(10)) step(M, pick(GLOB.cardinals)) if(prob(7)) @@ -52,11 +52,11 @@ var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.") to_chat(M, "[smoke_message]") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name) - M.AdjustStun(-5, FALSE) - M.AdjustKnockdown(-5, FALSE) - M.AdjustUnconscious(-5, FALSE) - M.AdjustParalyzed(-5, FALSE) - M.AdjustImmobilized(-5, FALSE) + M.AdjustStun(-5) + M.AdjustKnockdown(-5) + M.AdjustUnconscious(-5) + M.AdjustParalyzed(-5) + M.AdjustImmobilized(-5) ..() . = 1 @@ -91,13 +91,13 @@ M.adjustBruteLoss(rand(1,4)) M.Stun(5, 0) to_chat(M, "You stop to furiously scratch at your skin.") - M.AdjustStun(-20, FALSE) - M.AdjustKnockdown(-20, FALSE) - M.AdjustUnconscious(-20, FALSE) - M.AdjustImmobilized(-20, FALSE) - M.AdjustParalyzed(-20, FALSE) - M.adjustToxLoss(0.75, 0) - M.adjustStaminaLoss(-18, 0) + M.AdjustStun(-20) + M.AdjustKnockdown(-20) + M.AdjustUnconscious(-20) + M.AdjustImmobilized(-20) + M.AdjustParalyzed(-20) + M.adjustToxLoss(0.75) + M.adjustStaminaLoss(-18) ..() . = 1 @@ -214,12 +214,12 @@ var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.") if(prob(5)) to_chat(M, "[high_message]") - M.AdjustStun(-40, FALSE) - M.AdjustKnockdown(-40, FALSE) - M.AdjustUnconscious(-40, FALSE) - M.AdjustParalyzed(-40, FALSE) - M.AdjustImmobilized(-40, FALSE) - M.adjustStaminaLoss(-40, 0) + M.AdjustStun(-40) + M.AdjustKnockdown(-40) + M.AdjustUnconscious(-40) + M.AdjustParalyzed(-40) + M.AdjustImmobilized(-40) + M.adjustStaminaLoss(-40) M.drowsyness = max(0,M.drowsyness-30) M.Jitter(2) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1) @@ -229,7 +229,7 @@ . = 1 /datum/reagent/drug/methamphetamine/overdose_process(mob/living/M) - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 4) step(M, pick(GLOB.cardinals)) if(prob(20)) @@ -256,7 +256,7 @@ ..() /datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M) - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 4, i++) step(M, pick(GLOB.cardinals)) M.Jitter(15) @@ -266,7 +266,7 @@ ..() /datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M) - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(20) @@ -318,7 +318,7 @@ M.adjustStaminaLoss(-5, 0) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4) M.hallucination += 5 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) step(M, pick(GLOB.cardinals)) step(M, pick(GLOB.cardinals)) ..() @@ -326,7 +326,7 @@ /datum/reagent/drug/bath_salts/overdose_process(mob/living/M) M.hallucination += 5 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 8) step(M, pick(GLOB.cardinals)) if(prob(20)) @@ -337,7 +337,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage1(mob/living/M) M.hallucination += 10 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(5) @@ -348,7 +348,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage2(mob/living/M) M.hallucination += 20 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 8, i++) step(M, pick(GLOB.cardinals)) M.Jitter(10) @@ -360,7 +360,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage3(mob/living/M) M.hallucination += 30 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 12, i++) step(M, pick(GLOB.cardinals)) M.Jitter(15) @@ -372,7 +372,7 @@ /datum/reagent/drug/bath_salts/addiction_act_stage4(mob/living/carbon/human/M) M.hallucination += 30 - if((M.mobility_flags & MOBILITY_MOVE) && !ismovable(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i = 0, i < 16, i++) step(M, pick(GLOB.cardinals)) M.Jitter(50) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 4dbd49cc71059..edc67bc114664 100755 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -183,11 +183,11 @@ /datum/reagent/consumable/sugar/overdose_start(mob/living/M) to_chat(M, "You go into hyperglycaemic shock! Lay off the twinkies!") - M.AdjustSleeping(600, FALSE) + M.AdjustSleeping(600) . = 1 /datum/reagent/consumable/sugar/overdose_process(mob/living/M) - M.AdjustSleeping(40, FALSE) + M.AdjustSleeping(40) ..() . = 1 diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index d6bae0797ad6c..c38ccc49a781d 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -63,11 +63,11 @@ REMOVE_TRAITS_NOT_IN(M, list(SPECIES_TRAIT, ROUNDSTART_TRAIT, ORGAN_TRAIT, TRAIT_GENERIC)) M.set_blurriness(0) M.set_blindness(0) - M.SetKnockdown(0, FALSE) - M.SetStun(0, FALSE) - M.SetUnconscious(0, FALSE) - M.SetParalyzed(0, FALSE) - M.SetImmobilized(0, FALSE) + M.SetKnockdown(0) + M.SetStun(0) + M.SetUnconscious(0) + M.SetParalyzed(0) + M.SetImmobilized(0) M.silent = FALSE M.dizziness = 0 M.disgust = 0 @@ -105,11 +105,11 @@ /datum/reagent/medicine/synaptizine/on_mob_life(mob/living/carbon/M) M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustStun(-20, FALSE) - M.AdjustKnockdown(-20, FALSE) - M.AdjustUnconscious(-20, FALSE) - M.AdjustImmobilized(-20, FALSE) - M.AdjustParalyzed(-20, FALSE) + M.AdjustStun(-20) + M.AdjustKnockdown(-20) + M.AdjustUnconscious(-20) + M.AdjustImmobilized(-20) + M.AdjustParalyzed(-20) if(holder.has_reagent(/datum/reagent/toxin/mindbreaker)) holder.remove_reagent(/datum/reagent/toxin/mindbreaker, 5) M.hallucination = max(0, M.hallucination - 10) @@ -682,7 +682,7 @@ to_chat(M, "Your hands spaz out and you drop what you were holding!") M.Jitter(10) - M.AdjustAllImmobility(-20, FALSE) + M.AdjustAllImmobility(-20) M.adjustStaminaLoss(-10*REM, FALSE) ..() return TRUE @@ -791,7 +791,7 @@ if(12 to 24) M.drowsyness += 1 if(24 to INFINITY) - M.Sleeping(40, 0) + M.Sleeping(40) . = 1 ..() @@ -926,7 +926,7 @@ M.adjustStaminaLoss(-0.5*REM, 0) . = 1 if(prob(20)) - M.AdjustAllImmobility(-20, FALSE) + M.AdjustAllImmobility(-20) ..() /datum/reagent/medicine/epinephrine/overdose_process(mob/living/M) @@ -1069,7 +1069,7 @@ M.adjustToxLoss(-1*REM, 0) M.adjustBruteLoss(-1*REM, 0) M.adjustFireLoss(-1*REM, 0) - M.AdjustAllImmobility(-60, FALSE) + M.AdjustAllImmobility(-60) M.adjustStaminaLoss(-35*REM, 0) ..() . = 1 @@ -1129,7 +1129,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM /datum/reagent/medicine/insulin/on_mob_life(mob/living/carbon/M) - if(M.AdjustSleeping(-20, FALSE)) + if(M.AdjustSleeping(-20)) . = 1 M.reagents.remove_reagent(/datum/reagent/consumable/sugar, 3) ..() @@ -1474,7 +1474,7 @@ overdose_threshold = 30 /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/M as mob) - M.AdjustAllImmobility(-20, FALSE) + M.AdjustAllImmobility(-20) M.adjustStaminaLoss(-20, 0) ..() return TRUE @@ -1567,7 +1567,7 @@ /datum/reagent/medicine/modafinil/on_mob_life(mob/living/carbon/M) if(!overdosed) // We do not want any effects on OD overdose_threshold = overdose_threshold + rand(-10,10)/10 // for extra fun - M.AdjustAllImmobility(-20, FALSE) + M.AdjustAllImmobility(-20) M.adjustStaminaLoss(-15*REM, 0) M.Jitter(1) metabolization_rate = 0.01 * REAGENTS_METABOLISM * rand(5,20) // randomizes metabolism between 0.02 and 0.08 per tick @@ -1598,13 +1598,13 @@ if(prob(20)) to_chat(M, "You have a sudden fit!") M.emote("moan") - M.Paralyze(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used + M.Paralyze(20) // you should be in a bad spot at this point unless epipen has been used if(81) to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal M.adjustOxyLoss(0.1*REM, 0) M.adjustStaminaLoss(0.1*REM, 0) if(82 to INFINITY) - M.Sleeping(100, 0, TRUE) + M.Sleeping(100) M.adjustOxyLoss(1.5*REM, 0) M.adjustStaminaLoss(1.5*REM, 0) ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 100afadf44b2f..10b8e0b0fa486 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -329,7 +329,7 @@ /datum/reagent/fuel/unholywater/on_mob_life(mob/living/carbon/M) if(iscultist(M)) M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustAllImmobility(-40, FALSE) + M.AdjustAllImmobility(-40) M.adjustStaminaLoss(-10, 0) M.adjustToxLoss(-2, 0) M.adjustOxyLoss(-2, 0) @@ -853,7 +853,7 @@ taste_mult = 0 // apparently tasteless. /datum/reagent/mercury/on_mob_life(mob/living/carbon/M) - if((M.mobility_flags & MOBILITY_MOVE) && !isspaceturf(M.loc)) + if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc)) step(M, pick(GLOB.cardinals)) if(prob(5)) M.emote(pick("twitch","drool","moan")) @@ -934,7 +934,7 @@ taste_description = "metal" /datum/reagent/lithium/on_mob_life(mob/living/carbon/M) - if((M.mobility_flags & MOBILITY_MOVE) && !isspaceturf(M.loc) && isturf(M.loc)) + if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc) && isturf(M.loc)) step(M, pick(GLOB.cardinals)) if(prob(5)) M.emote(pick("twitch","drool","moan")) @@ -2166,7 +2166,7 @@ /datum/reagent/eldritch/on_mob_life(mob/living/carbon/M) if(IS_HERETIC(M)) M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustAllImmobility(-40, FALSE) + M.AdjustAllImmobility(-40) M.adjustStaminaLoss(-10, FALSE) M.adjustToxLoss(-2, FALSE) M.adjustOxyLoss(-2, FALSE) diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 3d8aa24424613..c22f01d136836 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -283,7 +283,7 @@ /datum/reagent/teslium/energized_jelly/on_mob_life(mob/living/carbon/M) if(isoozeling(M)) shock_timer = 0 //immune to shocks - M.AdjustAllImmobility(-40, FALSE) + M.AdjustAllImmobility(-40) M.adjustStaminaLoss(-2, 0) if(isluminescent(M)) var/mob/living/carbon/human/H = M diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 9892217b880e5..567fc0d499958 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -288,10 +288,10 @@ M.confused += 2 M.drowsyness += 2 if(10 to 50) - M.Sleeping(40, 0) + M.Sleeping(40) . = 1 if(51 to INFINITY) - M.Sleeping(40, 0) + M.Sleeping(40) M.adjustToxLoss((current_cycle - 50)*REM, 0) . = 1 ..() @@ -310,9 +310,9 @@ /datum/reagent/toxin/fakebeer/on_mob_life(mob/living/carbon/M) switch(current_cycle) if(1 to 50) - M.Sleeping(40, 0) + M.Sleeping(40) if(51 to INFINITY) - M.Sleeping(40, 0) + M.Sleeping(40) M.adjustToxLoss((current_cycle - 50)*REM, 0) return ..() @@ -486,7 +486,7 @@ if(M.toxloss <= 60) M.adjustToxLoss(1*REM, 0) if(current_cycle >= 18) - M.Sleeping(40, 0) + M.Sleeping(40) ..() return TRUE @@ -504,7 +504,7 @@ M.losebreath += 1 if(prob(8)) to_chat(M, "You feel horrendously weak!") - M.Stun(40, 0) + M.Stun(40) M.adjustToxLoss(2*REM, 0) return ..() @@ -566,7 +566,7 @@ var/picked_option = rand(1,3) switch(picked_option) if(1) - C.Paralyze(60, 0) + C.Paralyze(60) . = TRUE if(2) C.losebreath += 10 @@ -596,7 +596,7 @@ /datum/reagent/toxin/pancuronium/on_mob_life(mob/living/carbon/M) if(current_cycle >= 10) - M.Stun(40, 0) + M.Stun(40) . = TRUE if(prob(20)) M.losebreath += 4 @@ -614,7 +614,7 @@ /datum/reagent/toxin/sodium_thiopental/on_mob_life(mob/living/carbon/M) if(current_cycle >= 10) - M.Sleeping(40, 0) + M.Sleeping(40) M.adjustStaminaLoss(10*REM, 0) ..() return TRUE @@ -631,7 +631,7 @@ /datum/reagent/toxin/sulfonal/on_mob_life(mob/living/carbon/M) if(current_cycle >= 22) - M.Sleeping(40, 0) + M.Sleeping(40) return ..() /datum/reagent/toxin/amanitin @@ -718,7 +718,7 @@ /datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M) if(current_cycle >= 11) - M.Paralyze(60, 0) + M.Paralyze(60) M.adjustOxyLoss(1*REM, 0) . = 1 ..() @@ -856,7 +856,7 @@ holder.remove_reagent(type, actual_metaboliztion_rate * M.metabolism_efficiency) M.adjustToxLoss(actual_toxpwr*REM, 0) if(prob(10)) - M.Paralyze(20, 0) + M.Paralyze(20) . = 1 ..() diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index c881dd1653ea5..77afff5240b00 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -267,7 +267,7 @@ var/range = created_volume/3 if(isatom(holder.my_atom)) var/atom/A = holder.my_atom - A.flash_lighting_fx(_range = (range + 2)) + A.flash_lighting_fx(range = (range + 2)) for(var/mob/living/carbon/C in hearers(range, location)) if(C.flash_act()) if(get_dist(C, location) < 4) @@ -288,7 +288,7 @@ var/range = created_volume/10 if(isatom(holder.my_atom)) var/atom/A = holder.my_atom - A.flash_lighting_fx(_range = (range + 2)) + A.flash_lighting_fx(range = (range + 2)) for(var/mob/living/carbon/C in hearers(range, location)) if(C.flash_act()) if(get_dist(C, location) < 4) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 457950ed9a53c..ae636947e99ae 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -62,7 +62,9 @@ /obj/item/reagent_containers/spray/proc/spray(atom/A, mob/user) var/range = max(min(current_range, get_dist(src, A)), 1) + var/obj/effect/decal/chempuff/D = new /obj/effect/decal/chempuff(get_turf(src)) + D.create_reagents(amount_per_transfer_from_this) var/puff_reagent_left = range //how many turf, mob or dense objet we can react with before we consider the chem puff consumed if(stream_mode) @@ -72,6 +74,7 @@ reagents.trans_to(D, amount_per_transfer_from_this, 1/range) D.color = mix_color_from_reagents(D.reagents.reagent_list) var/wait_step = max(round(2+3/range), 2) + do_spray(A, wait_step, D, range, puff_reagent_left, user) /obj/item/reagent_containers/spray/proc/do_spray(atom/A, wait_step, obj/effect/decal/chempuff/D, range, puff_reagent_left, mob/user) diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 3addaeb41f56b..b279a252b4716 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -143,7 +143,7 @@ . = TRUE update_appearance() -/obj/machinery/disposal/relaymove(mob/user) +/obj/machinery/disposal/relaymove(mob/living/user, direction) attempt_escape(user) // resist to escape the bin diff --git a/code/modules/recycling/disposal/holder.dm b/code/modules/recycling/disposal/holder.dm index 159024937c109..4ff466db0f06c 100644 --- a/code/modules/recycling/disposal/holder.dm +++ b/code/modules/recycling/disposal/holder.dm @@ -135,7 +135,7 @@ // called when player tries to move while in a pipe -/obj/structure/disposalholder/relaymove(mob/user) +/obj/structure/disposalholder/relaymove(mob/living/user, direction) if(user.incapacitated()) return for(var/mob/M as() in hearers(5, get_turf(src))) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 1c5b6ce9b5aa8..f05f5f0905c30 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -927,19 +927,21 @@ /datum/design/conveyor_belt name = "Conveyor Belt" id = "conveyor_belt" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 3000) build_path = /obj/item/stack/conveyor - category = list("initial", "Construction") + category = list("initial", "Construction", "Electronics") maxstack = 30 + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE /datum/design/conveyor_switch name = "Conveyor Belt Switch" id = "conveyor_switch" - build_type = AUTOLATHE + build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 450, /datum/material/glass = 190) build_path = /obj/item/conveyor_switch_construct - category = list("initial", "Construction") + category = list("initial", "Construction", "Electronics") + departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE /datum/design/laptop name = "Laptop Frame" diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 1607bf477d0dc..8535193130a15 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -133,6 +133,22 @@ category = list("Exosuit Modules") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE +/datum/design/board/clarke_main + name = "\"Clarke\" Central Control module" + desc = "Allows for the construction of a \"Clarke\" Central Control module." + id = "clarke_main" + build_path = /obj/item/circuitboard/mecha/clarke/main + category = list("Exosuit Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + +/datum/design/board/clarke_peri + name = "\"Clarke\" Peripherals Control module" + desc = "Allows for the construction of a \"Clarke\" Peripheral Control module." + id = "clarke_peri" + build_path = /obj/item/circuitboard/mecha/clarke/peripherals + category = list("Exosuit Modules") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + //////////////////////////////////////// /////////// Mecha Equpment ///////////// //////////////////////////////////////// @@ -355,6 +371,16 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mecha_kineticgun + name = "Exosuit Mining (Proto-kinetic Accelerator)" + desc = "An exosuit-mounted mining tool that does increased damage in low pressure. Drawing from an onboard power source allows it to project further than the handheld version." + id = "mecha_kineticgun" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun + materials = list(/datum/material/iron = 8000, /datum/material/glass = 1000) + construction_time = 100 + category = list("Exosuit Equipment") + /datum/design/mech_lmg name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst." diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 4735b00259ea9..e5235ed83ce38 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -72,16 +72,6 @@ construction_time = 100 category = list("Ripley") -//firefighter subtype -/datum/design/firefighter_chassis - name = "Exosuit Chassis (APLU \"Firefighter\")" - id = "firefighter_chassis" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/chassis/firefighter - materials = list(/datum/material/iron=20000) - construction_time = 100 - category = list("Firefighter") - /datum/design/ripley_torso name = "Exosuit Torso (APLU \"Ripley\")" id = "ripley_torso" @@ -420,6 +410,52 @@ construction_time = 300 category = list("Phazon") +//Clarke +/datum/design/clarke_chassis + name = "Exosuit Chassis (\"Clarke\")" + id = "clarke_chassis" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/chassis/clarke + materials = list(/datum/material/iron=20000) + construction_time = 100 + category = list("Clarke") + +/datum/design/clarke_torso + name = "Exosuit Torso (\"Clarke\")" + id = "clarke_torso" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/part/clarke_torso + materials = list(/datum/material/iron=20000,/datum/material/glass = 7500) + construction_time = 200 + category = list("Clarke") + +/datum/design/clarke_head + name = "Exosuit Head (\"Clarke\")" + id = "clarke_head" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/part/clarke_head + materials = list(/datum/material/iron=6000,/datum/material/glass = 10000) + construction_time = 100 + category = list("Clarke") + +/datum/design/clarke_left_arm + name = "Exosuit Left Arm (\"Clarke\")" + id = "clarke_left_arm" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/part/clarke_left_arm + materials = list(/datum/material/iron=15000) + construction_time = 150 + category = list("Clarke") + +/datum/design/clarke_right_arm + name = "Exosuit Right Arm (\"Clarke\")" + id = "clarke_right_arm" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/part/clarke_right_arm + materials = list(/datum/material/iron=15000) + construction_time = 150 + category = list("Clarke") + /datum/design/phazon_head name = "Exosuit Head (\"Phazon\")" id = "phazon_head" diff --git a/code/modules/research/designs/wiremod_designs.dm b/code/modules/research/designs/wiremod_designs.dm index f4dd9043ceb0f..abcf2ef825bb1 100644 --- a/code/modules/research/designs/wiremod_designs.dm +++ b/code/modules/research/designs/wiremod_designs.dm @@ -425,7 +425,7 @@ name = "Compact Remote Shell" desc = "A handheld shell with one big button." id = "compact_remote_shell" - build_path = /obj/item/compact_remote + build_path = /obj/item/shell/compact_remote materials = list(/datum/material/glass = 2000, /datum/material/iron = 5000) build_type = PROTOLATHE | COMPONENT_PRINTER category = list(WIREMOD_CIRCUITRY, WIREMOD_SHELLS) @@ -434,7 +434,7 @@ name = "Controller Shell" desc = "A handheld shell with several buttons." id = "controller_shell" - build_path = /obj/item/controller + build_path = /obj/item/shell/controller build_type = PROTOLATHE | COMPONENT_PRINTER materials = list(/datum/material/glass = 2000, /datum/material/iron = 7000) category = list(WIREMOD_CIRCUITRY, WIREMOD_SHELLS) @@ -443,7 +443,7 @@ name = "Scanner Shell" desc = "A handheld scanner shell that can scan entities." id = "scanner_shell" - build_path = /obj/item/wiremod_scanner + build_path = /obj/item/shell/wiremod_scanner build_type = PROTOLATHE | COMPONENT_PRINTER materials = list(/datum/material/glass = 4000, /datum/material/iron = 5000) category = list(WIREMOD_CIRCUITRY, WIREMOD_SHELLS) diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm index 112b178a58aec..966c9dc4207b8 100644 --- a/code/modules/research/nanites/nanite_chamber.dm +++ b/code/modules/research/nanites/nanite_chamber.dm @@ -187,7 +187,7 @@ return TRUE -/obj/machinery/nanite_chamber/relaymove(mob/user as mob) +/obj/machinery/nanite_chamber/relaymove(mob/living/user, direction) if(user.stat || locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 diff --git a/code/modules/research/nanites/nanite_programs/buffing.dm b/code/modules/research/nanites/nanite_programs/buffing.dm index 3a3e0c357cc2c..eb11675deeff4 100644 --- a/code/modules/research/nanites/nanite_programs/buffing.dm +++ b/code/modules/research/nanites/nanite_programs/buffing.dm @@ -31,7 +31,6 @@ host_mob.SetAllImmobility(0) host_mob.adjustStaminaLoss(-75) host_mob.set_resting(FALSE) - host_mob.update_mobility() /datum/nanite_program/hardening name = "Dermal Hardening" diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm index 527ca9c96339b..a1aa67d48c595 100644 --- a/code/modules/research/nanites/public_chamber.dm +++ b/code/modules/research/nanites/public_chamber.dm @@ -183,7 +183,7 @@ return TRUE -/obj/machinery/public_nanite_chamber/relaymove(mob/user as mob) +/obj/machinery/public_nanite_chamber/relaymove(mob/living/user, direction) if(user.stat || locked) if(message_cooldown <= world.time) message_cooldown = world.time + 50 diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 73a0bb54dcfb7..c09d4bc52451f 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -19,6 +19,8 @@ "beaker", "bucket", "circuit_imprinter", + "conveyor_belt", + "conveyor_switch", "design_disk", "dest_tagger", "destructive_analyzer", @@ -96,7 +98,6 @@ display_name = "Mechanical Exosuits" description = "Mechanized exosuits that are several magnitudes stronger and more powerful than the average human." design_ids = list( - "firefighter_chassis", "mech_hydraulic_clamp", "mech_recharger", "mecha_tracking", @@ -1472,6 +1473,7 @@ "rangemod", "superresonator", "triggermod", + "mecha_kineticgun", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -1852,6 +1854,24 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 +/datum/techweb_node/clarke + id = "mecha_clarke" + tech_tier = 2 + display_name = "EXOSUIT: Clarke" + description = "Clarke exosuit designs" + prereq_ids = list("engineering") + design_ids = list( + "clarke_chassis", + "clarke_torso", + "clarke_head", + "clarke_left_arm", + "clarke_right_arm", + "clarke_main", + "clarke_peri" + ) + research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) + export_price = 5000 + /datum/techweb_node/gygax id = "mech_gygax" tech_tier = 4 diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm index 618af07fc0c8b..c08f9b0a620a9 100644 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm @@ -118,6 +118,9 @@ Slimecrossing Potions if(!istype(C)) to_chat(user, "The potion can only be used on clothing!") return + if(istype(C, /obj/item/clothing/suit/space)) + to_chat(user, "The [C] is already pressure-resistant!") + return ..() if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) to_chat(user, "The [C] is already pressure-resistant!") return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_structures.dm b/code/modules/research/xenobiology/crossbreeding/_structures.dm index 612030b771205..831797876a3d6 100644 --- a/code/modules/research/xenobiology/crossbreeding/_structures.dm +++ b/code/modules/research/xenobiology/crossbreeding/_structures.dm @@ -398,7 +398,7 @@ GLOBAL_LIST_EMPTY(bluespace_slime_crystals) /obj/structure/slime_crystal/cerulean/Initialize(mapload) . = ..() - while(crystals < 3) + for (var/i in 1 to 10) // doesn't guarantee 3 but it's a good effort spawn_crystal() /obj/structure/slime_crystal/cerulean/proc/spawn_crystal() diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm index d52370b12d505..b2842e13d2ad3 100644 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ b/code/modules/research/xenobiology/crossbreeding/_weapons.dm @@ -39,19 +39,24 @@ Slimecrossing Weapons switch(damtype) if(BRUTE) hitsound = 'sound/weapons/bladeslice.ogg' - attack_verb = list("slashed","sliced","cut") + attack_verb_continuous = list("slashes", "slices", "cuts") + attack_verb_simple = list("slash", "slice", "cut") if(BURN) hitsound = 'sound/weapons/sear.ogg' - attack_verb = list("burned","singed","heated") + attack_verb_continuous = list("burns", "sings", "heats") + attack_verb_simple = list("burn", "sing", "heat") if(TOX) hitsound = 'sound/weapons/pierce.ogg' - attack_verb = list("poisoned","dosed","toxified") + attack_verb_continuous = list("poisons", "doses", "toxifies") + attack_verb_simple = list("poison", "dose", "toxify") if(OXY) hitsound = 'sound/effects/space_wind.ogg' - attack_verb = list("suffocated","winded","vacuumed") + attack_verb_continuous = list("suffocates", "winds", "vacuums") + attack_verb_simple = list("suffocate", "wind", "vacuum") if(CLONE) hitsound = 'sound/items/geiger/ext1.ogg' - attack_verb = list("irradiated","mutated","maligned") + attack_verb_continuous = list("irradiates", "mutates", "maligns") + attack_verb_simple = list("irradiate", "mutate", "malign") return ..() //Adamantine shield - Burning Adamantine @@ -71,7 +76,8 @@ Slimecrossing Weapons block_flags = BLOCKING_PROJECTILE throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...? throw_speed = 2 - attack_verb = list("bashed","pounded","slammed") + attack_verb_continuous = list("bashes", "pounds", "slams") + attack_verb_simple = list("bash", "pound", "slam") item_flags = SLOWS_WHILE_IN_HAND /obj/item/shield/adamantineshield/ComponentInitialize() diff --git a/code/modules/research/xenobiology/crossbreeding/warping.dm b/code/modules/research/xenobiology/crossbreeding/warping.dm index fd73b247afa8a..b19063456081d 100644 --- a/code/modules/research/xenobiology/crossbreeding/warping.dm +++ b/code/modules/research/xenobiology/crossbreeding/warping.dm @@ -604,6 +604,7 @@ GLOBAL_DATUM(blue_storage, /obj/item/storage/backpack/holding/bluespace) /obj/item/toy/plush/gondola, /obj/item/toy/plush/flushed = 2, /obj/item/toy/plush/flushed/rainbow, + /obj/item/toy/plush/shark, /obj/item/toy/eightball/haunted, /obj/item/toy/foamblade, /obj/item/toy/katana, diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 684aa2997a534..27e2a8d97735c 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -264,9 +264,9 @@ to_chat(user, "You start glowing brighter.") return 60 SECONDS else - var/obj/effect/dummy/luminescent_glow/glowth = new(user) //copied from glowy mutation, copied from luminescents - glowth.set_light(2.5, 2.5, user.dna.features["mcolor"]) //Weaker than regular luminescents - QDEL_IN(glowth, 600) + var/obj/effect/dummy/lighting_obj/moblight/glow = new(user) //copied from glowy mutation, copied from luminescents + glow.set_light(2.5, 2.5, user.dna.features["mcolor"]) //Weaker than regular luminescents + QDEL_IN(glow, 600) return 60 SECONDS if(SLIME_ACTIVATE_MAJOR) diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm index 432c4b2ea9155..0c2557c16398a 100644 --- a/code/modules/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/ruins/lavalandruin_code/puzzle.dm @@ -298,7 +298,7 @@ /obj/structure/puzzle_element/prison armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, RAD = 50, FIRE = 50, ACID = 50, STAMINA = 0, BLEED = 0) -/obj/structure/puzzle_element/prison/relaymove(mob/user) +/obj/structure/puzzle_element/prison/relaymove(mob/living/user, direction) return /obj/item/prisoncube diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm index d99a5678b07f0..ccfc1768b2995 100644 --- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm @@ -257,7 +257,7 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337) tugged_on = 0 return if(alert(user, "Hilbert's Hotel would like to remind you that while we will do everything we can to protect the belongings you leave behind, we make no guarantees of their safety while you're gone, especially that of the health of any living creatures. With that in mind, are you ready to leave?", "Exit", "Leave", "Stay") == "Leave") - if(!(user.mobility_flags & MOBILITY_MOVE) || (get_dist(get_turf(src), get_turf(user)) > 1)) //no teleporting around if they're dead or moved away during the prompt. + if(HAS_TRAIT(user, TRAIT_IMMOBILIZED) || (get_dist(get_turf(src), get_turf(user)) > 1)) //no teleporting around if they're dead or moved away during the prompt. return user.forceMove(get_turf(parentSphere)) do_sparks(3, FALSE, get_turf(user)) diff --git a/code/modules/security/genpop.dm b/code/modules/security/genpop.dm index 3b1128d06a88e..307b984cff784 100644 --- a/code/modules/security/genpop.dm +++ b/code/modules/security/genpop.dm @@ -10,7 +10,6 @@ power_channel = AREA_USAGE_ENVIRON density = TRUE pass_flags_self = PASSTRANSPARENT | PASSGRILLE | PASSSTRUCTURE - obj_integrity = 600 max_integrity = 600 integrity_failure = 0.35 //Robust! It'll be tough to break... diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm index a0627309447f7..89c92e3f140e6 100644 --- a/code/modules/security_levels/keycard_authentication.dm +++ b/code/modules/security_levels/keycard_authentication.dm @@ -51,7 +51,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) var/list/data = list() data["waiting"] = waiting data["auth_required"] = event_source ? event_source.event : 0 - data["red_alert"] = (seclevel2num(get_security_level()) >= SEC_LEVEL_RED) ? 1 : 0 + data["red_alert"] = (SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) ? 1 : 0 data["emergency_maint"] = GLOB.emergency_access data["bsa_unlock"] = GLOB.bsa_unlock return data @@ -134,7 +134,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/keycard_auth, 26) deadchat_broadcast("[confirmer] confirmed [event] at [A2.name].", confirmer) switch(event) if(KEYCARD_RED_ALERT) - set_security_level(SEC_LEVEL_RED) + SSsecurity_level.set_level(SEC_LEVEL_RED) if(KEYCARD_EMERGENCY_MAINTENANCE_ACCESS) make_maint_all_access() if(KEYCARD_BSA_UNLOCK) diff --git a/code/modules/security_levels/security_level_datums.dm b/code/modules/security_levels/security_level_datums.dm new file mode 100644 index 0000000000000..4737e21e41d0d --- /dev/null +++ b/code/modules/security_levels/security_level_datums.dm @@ -0,0 +1,86 @@ +/** + * Security levels + * + * These are used by the security level subsystem. Each one of these represents a security level that a player can set. + * + * Base type is abstract + */ + +/datum/security_level + /// The name of this security level. + var/name = "not set" + /// The numerical level of this security level, see defines for more information. + var/number_level = -1 + /// The sound that we will play when this security level is set + var/sound + /// The looping sound that will be played while the security level is set + var/looping_sound + /// The looping sound interval + var/looping_sound_interval + /// The shuttle call time modification of this security level + var/shuttle_call_time_mod = 0 + /// Our announcement when lowering to this level + var/lowering_to_announcement + /// Our announcement when elevating to this level + var/elevating_to_announcemnt + /// Our configuration key for lowering to text, if set, will override the default lowering to announcement. + var/lowering_to_configuration_key + /// Our configuration key for elevating to text, if set, will override the default elevating to announcement. + var/elevating_to_configuration_key + +/datum/security_level/New() + . = ..() + if(lowering_to_configuration_key) // I'm not sure about you, but isn't there an easier way to do this? + lowering_to_announcement = global.config.Get(lowering_to_configuration_key) + if(elevating_to_configuration_key) + elevating_to_announcemnt = global.config.Get(elevating_to_configuration_key) + +/** + * GREEN + * + * No threats + */ +/datum/security_level/green + name = "green" + sound = 'sound/misc/notice2.ogg' // Friendly beep + number_level = SEC_LEVEL_GREEN + lowering_to_configuration_key = /datum/config_entry/string/alert_green + shuttle_call_time_mod = ALERT_COEFF_GREEN + +/** + * BLUE + * + * Caution advised + */ +/datum/security_level/blue + name = "blue" + sound = 'sound/misc/notice1.ogg' // Angry alarm + number_level = SEC_LEVEL_BLUE + lowering_to_configuration_key = /datum/config_entry/string/alert_blue_downto + elevating_to_configuration_key = /datum/config_entry/string/alert_blue_upto + shuttle_call_time_mod = ALERT_COEFF_BLUE + +/** + * RED + * + * Hostile threats + */ +/datum/security_level/red + name = "red" + sound = 'sound/misc/notice1.ogg' // The same angry alarm + number_level = SEC_LEVEL_RED + lowering_to_configuration_key = /datum/config_entry/string/alert_red_downto + elevating_to_configuration_key = /datum/config_entry/string/alert_red_upto + shuttle_call_time_mod = ALERT_COEFF_RED + +/** + * DELTA + * + * Station destruction is imminent + */ +/datum/security_level/delta + name = "delta" + sound = 'sound/misc/notice1.ogg' // The same angry alarm, again + number_level = SEC_LEVEL_DELTA + elevating_to_configuration_key = /datum/config_entry/string/alert_delta + shuttle_call_time_mod = ALERT_COEFF_DELTA diff --git a/code/modules/security_levels/security_levels.dm b/code/modules/security_levels/security_levels.dm deleted file mode 100644 index 95398906c4da7..0000000000000 --- a/code/modules/security_levels/security_levels.dm +++ /dev/null @@ -1,97 +0,0 @@ -GLOBAL_VAR_INIT(security_level, SEC_LEVEL_GREEN) -//SEC_LEVEL_GREEN = code green -//SEC_LEVEL_BLUE = code blue -//SEC_LEVEL_RED = code red -//SEC_LEVEL_DELTA = code delta - -//config.alert_desc_blue_downto - -/proc/set_security_level(level) - switch(level) - if("green") - level = SEC_LEVEL_GREEN - if("blue") - level = SEC_LEVEL_BLUE - if("red") - level = SEC_LEVEL_RED - if("delta") - level = SEC_LEVEL_DELTA - - //Will not be announced if you try to set to the same level as it already is - if(level < SEC_LEVEL_GREEN || level > SEC_LEVEL_DELTA || level == GLOB.security_level) - return - switch(level) - if(SEC_LEVEL_GREEN) - minor_announce(CONFIG_GET(string/alert_green), "Attention! Security level lowered to green:") - if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - if(GLOB.security_level >= SEC_LEVEL_RED) - SSshuttle.emergency.modTimer(4) - else - SSshuttle.emergency.modTimer(2) - - if(SEC_LEVEL_BLUE) - if(GLOB.security_level < SEC_LEVEL_BLUE) - minor_announce(CONFIG_GET(string/alert_blue_upto), "Attention! Security level elevated to blue:",1) - if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - SSshuttle.emergency.modTimer(0.5) - else - minor_announce(CONFIG_GET(string/alert_blue_downto), "Attention! Security level lowered to blue:") - if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - SSshuttle.emergency.modTimer(2) - - if(SEC_LEVEL_RED) - if(GLOB.security_level < SEC_LEVEL_RED) - minor_announce(CONFIG_GET(string/alert_red_upto), "Attention! Code red!",1) - if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - if(GLOB.security_level == SEC_LEVEL_GREEN) - SSshuttle.emergency.modTimer(0.25) - else - SSshuttle.emergency.modTimer(0.5) - else - minor_announce(CONFIG_GET(string/alert_red_downto), "Attention! Code red!") - - if(SEC_LEVEL_DELTA) - minor_announce(CONFIG_GET(string/alert_delta), "Attention! Delta security level reached!",1) - if(SSshuttle.emergency.mode == SHUTTLE_CALL || SSshuttle.emergency.mode == SHUTTLE_RECALL) - if(GLOB.security_level == SEC_LEVEL_GREEN) - SSshuttle.emergency.modTimer(0.25) - else if(GLOB.security_level == SEC_LEVEL_BLUE) - SSshuttle.emergency.modTimer(0.5) - - GLOB.security_level = level - SEND_GLOBAL_SIGNAL(COMSIG_GLOB_SECURITY_ALERT_CHANGE, level) - SSblackbox.record_feedback("tally", "security_level_changes", 1, get_security_level()) - SSnightshift.check_nightshift() - -/proc/get_security_level() - switch(GLOB.security_level) - if(SEC_LEVEL_GREEN) - return "green" - if(SEC_LEVEL_BLUE) - return "blue" - if(SEC_LEVEL_RED) - return "red" - if(SEC_LEVEL_DELTA) - return "delta" - -/proc/num2seclevel(num) - switch(num) - if(SEC_LEVEL_GREEN) - return "green" - if(SEC_LEVEL_BLUE) - return "blue" - if(SEC_LEVEL_RED) - return "red" - if(SEC_LEVEL_DELTA) - return "delta" - -/proc/seclevel2num(seclevel) - switch( lowertext(seclevel) ) - if("green") - return SEC_LEVEL_GREEN - if("blue") - return SEC_LEVEL_BLUE - if("red") - return SEC_LEVEL_RED - if("delta") - return SEC_LEVEL_DELTA diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm index 495a6bd7bc033..780b3787047fc 100644 --- a/code/modules/shuttle/emergency.dm +++ b/code/modules/shuttle/emergency.dm @@ -320,16 +320,10 @@ . = ..() /obj/docking_port/mobile/emergency/request(obj/docking_port/stationary/S, area/signalOrigin, reason, redAlert, set_coefficient=null) - if(!isnum_safe(set_coefficient)) - var/security_num = seclevel2num(get_security_level()) - switch(security_num) - if(SEC_LEVEL_GREEN) - set_coefficient = 2 - if(SEC_LEVEL_BLUE) - set_coefficient = 1 - else - set_coefficient = 0.5 - var/call_time = SSshuttle.emergencyCallTime * set_coefficient * engine_coeff + if(!isnum(set_coefficient)) + set_coefficient = SSsecurity_level.current_security_level.shuttle_call_time_mod + alert_coeff = set_coefficient + var/call_time = SSshuttle.emergencyCallTime * alert_coeff * engine_coeff switch(mode) // The shuttle can not normally be called while "recalling", so // if this proc is called, it's via admin fiat @@ -587,7 +581,7 @@ var/obj/machinery/computer/shuttle_flight/C = getControlConsole() if(!istype(C, /obj/machinery/computer/shuttle_flight/pod)) return ..() - if(GLOB.security_level >= SEC_LEVEL_RED || (C && (C.obj_flags & EMAGGED))) + if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED || (C && (C.obj_flags & EMAGGED))) if(launch_status == UNLAUNCHED) launch_status = EARLY_LAUNCHED return ..() @@ -619,11 +613,7 @@ /obj/machinery/computer/shuttle_flight/pod/Initialize() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_SECURITY_ALERT_CHANGE, PROC_REF(handle_alert)) - -/obj/machinery/computer/shuttle_flight/pod/proc/handle_alert(datum/source, new_alert) - SIGNAL_HANDLER - admin_controlled = (new_alert < SEC_LEVEL_RED) // admin_controlled is FALSE if its red or delta + RegisterSignal(SSsecurity_level, COMSIG_SECURITY_LEVEL_CHANGED, PROC_REF(check_lock)) /obj/machinery/computer/shuttle_flight/pod/update_icon() return @@ -637,6 +627,20 @@ if(recall_docking_port_id == initial(recall_docking_port_id) || override) recall_docking_port_id = "pod_lavaland[idnum]" +/** + * Signal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level + * + * Arguments: + * * source The datum source of the signal + * * new_level The new security level that is in effect + */ +/obj/machinery/computer/shuttle_flight/pod/proc/check_lock(datum/source, new_level) + SIGNAL_HANDLER + + if(obj_flags & EMAGGED) + return + admin_controlled = (new_level < SEC_LEVEL_RED) + /obj/docking_port/stationary/random name = "escape pod" id = "pod" @@ -728,7 +732,7 @@ /obj/item/storage/pod/can_interact(mob/user) if(!..()) return FALSE - if(GLOB.security_level >= SEC_LEVEL_RED || unlocked) + if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED || unlocked) return TRUE to_chat(user, "The storage unit will only unlock during a Red or Delta security alert.") diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 1bbfc0f1b3025..a8461d69d042d 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -309,6 +309,8 @@ GLOBAL_LIST_INIT(shuttle_turf_blacklist, typecacheof(list( var/list/shuttle_areas + ///Speed multiplier based on station alert level + var/alert_coeff = ALERT_COEFF_BLUE ///used as a timer (if you want time left to complete move, use timeLeft proc) var/timer var/last_timer_length @@ -939,6 +941,20 @@ GLOBAL_LIST_INIT(shuttle_turf_blacklist, typecacheof(list( last_timer_length *= multiple setTimer(time_remaining) +/obj/docking_port/mobile/proc/alert_coeff_change(new_coeff) + if(isnull(new_coeff)) + return + + var/time_multiplier = new_coeff / alert_coeff + var/time_remaining = timer - world.time + if(time_remaining < 0 || !last_timer_length) + return + + time_remaining *= time_multiplier + last_timer_length *= time_multiplier + alert_coeff = new_coeff + setTimer(time_remaining) + /obj/docking_port/mobile/proc/invertTimer() if(!last_timer_length) return diff --git a/code/modules/shuttle/white_ship.dm b/code/modules/shuttle/white_ship.dm index 4e235731e2f19..76447f89ecfd3 100644 --- a/code/modules/shuttle/white_ship.dm +++ b/code/modules/shuttle/white_ship.dm @@ -21,5 +21,5 @@ /obj/effect/spawner/lootdrop/whiteship_cere_ripley name = "25% mech 75% wreckage ripley spawner" loot = list(/obj/vehicle/sealed/mecha/working/ripley/mining = 1, - /obj/structure/mecha_wreckage/ripley = 5) + /obj/structure/mecha_wreckage/ripley = 3) lootdoubles = FALSE diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index 7527ca9d9ac26..198cd51b0ee4c 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -52,7 +52,7 @@ return mobloc = get_turf(target.loc) jaunt_steam(mobloc) - target.mobility_flags &= ~MOBILITY_MOVE + ADD_TRAIT(target, TRAIT_IMMOBILIZED, type) holder.reappearing = 1 play_sound("exit",target) sleep(25 - jaunt_in_time) @@ -67,7 +67,7 @@ if(T) if(target.Move(T)) break - target.mobility_flags |= MOBILITY_MOVE + REMOVE_TRAIT(target, TRAIT_IMMOBILIZED, type) /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/proc/jaunt_steam(mobloc) var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() @@ -99,7 +99,7 @@ AM.forceMove(get_turf(src)) return ..() -/obj/effect/dummy/phased_mob/spell_jaunt/relaymove(var/mob/user, direction) +/obj/effect/dummy/phased_mob/spell_jaunt/relaymove(mob/living/user, direction) if ((movedelay > world.time) || reappearing || !direction) return var/turf/newLoc = get_step(src,direction) diff --git a/code/modules/spells/spell_types/shadow_walk.dm b/code/modules/spells/spell_types/shadow_walk.dm index 67d2fe2e0d989..992c303edecda 100644 --- a/code/modules/spells/spell_types/shadow_walk.dm +++ b/code/modules/spells/spell_types/shadow_walk.dm @@ -45,7 +45,7 @@ invisibility = 60 resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF -/obj/effect/dummy/phased_mob/shadow/relaymove(mob/user, direction) +/obj/effect/dummy/phased_mob/shadow/relaymove(mob/living/user, direction) var/turf/newLoc = get_step(src,direction) if(isspaceturf(newLoc)) to_chat(user, "It really would not be wise to go into space.") diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm index 43c8f54d5dfb5..9af90c350c286 100644 --- a/code/modules/spells/spell_types/touch_attacks.dm +++ b/code/modules/spells/spell_types/touch_attacks.dm @@ -50,7 +50,7 @@ attached_hand = create_hand() if(!user.put_in_hands(attached_hand)) remove_hand() - if (user.get_num_arms() <= 0) + if (user.usable_hands == 0) to_chat(user, "You dont have any usable hands!") else to_chat(user, "Your hands are full!") diff --git a/code/modules/station_goals/bluespace_tap.dm b/code/modules/station_goals/bluespace_tap.dm index d40fbd2649085..18183bf390e10 100644 --- a/code/modules/station_goals/bluespace_tap.dm +++ b/code/modules/station_goals/bluespace_tap.dm @@ -104,7 +104,7 @@ /obj/item/clothing/head/costume/kitty = 5, /obj/item/coin/antagtoken = 5, /obj/item/clothing/suit/costume/cardborg = 10, - /obj/item/toy/prize/honk = 10, + /obj/item/toy/mecha/honk = 10, /obj/item/bedsheet/patriot = 2, /obj/item/bedsheet/rainbow = 2, /obj/item/bedsheet/captain = 2, diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index e6d288b648ef5..ad9e65c33931d 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -35,7 +35,13 @@ var/held_index = 0 //are we a hand? if so, which one! var/is_pseudopart = FALSE //For limbs that don't really exist, eg chainsaws - var/disabled = BODYPART_NOT_DISABLED //If disabled, limb is as good as missing + ///If disabled, limb is as good as missing. + var/bodypart_disabled = FALSE + ///Multiplied by max_damage it returns the threshold which defines a limb being disabled or not. From 0 to 1. + var/disable_threshold = 1 + ///Controls whether bodypart_disabled makes sense or not for this limb. + var/can_be_disabled = FALSE + var/body_damage_coeff = 1 //Multiplier of the limb's damage that gets applied to the mob var/stam_damage_coeff = 0.7 //Why is this the default??? var/brutestate = 0 @@ -76,13 +82,32 @@ var/medium_burn_msg = "blistered" var/heavy_burn_msg = "peeling away" + /// So we know if we need to scream if this limb hits max damage + var/last_maxed + /obj/item/bodypart/Initialize(mapload) . = ..() + if(can_be_disabled) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_loss)) name = "[limb_id] [parse_zone(body_zone)]" if(is_dimorphic) limb_gender = pick("m", "f") update_icon_dropped() +/obj/item/bodypart/Destroy() + if(owner) + owner.remove_bodypart(src) + set_owner(null) + /* + for(var/wound in wounds) + qdel(wound) // wounds is a lazylist, and each wound removes itself from it on deletion. + if(length(wounds)) + stack_trace("[type] qdeleted with [length(wounds)] uncleared wounds") + wounds.Cut() + */ + return ..() + /obj/item/bodypart/forceMove(atom/destination) //Please. Never forcemove a limb if its's actually in use. This is only for borgs. . = ..() if(isturf(destination)) @@ -100,12 +125,6 @@ /obj/item/bodypart/blob_act() take_damage(max_damage) -/obj/item/bodypart/Destroy() - if(owner) - owner.bodyparts -= src - owner = null - return ..() - /obj/item/bodypart/attack(mob/living/carbon/C, mob/user) if(ishuman(C)) var/mob/living/carbon/human/H = C @@ -139,7 +158,7 @@ /obj/item/bodypart/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) ..() if(IS_ORGANIC_LIMB(src)) - playsound(get_turf(src), 'sound/misc/splort.ogg', 50, 1, -1) + playsound(get_turf(src), 'sound/misc/splort.ogg', 50, TRUE, -1) pixel_x = rand(-3, 3) pixel_y = rand(-3, 3) @@ -151,17 +170,11 @@ for(var/obj/item/I in src) I.forceMove(T) -/obj/item/bodypart/proc/consider_processing() - if(stamina_dam >= DAMAGE_PRECISION) - . = TRUE - //else if.. else if.. so on. - else - . = FALSE - needs_processing = . - //Return TRUE to get whatever mob this is in to update health. /obj/item/bodypart/proc/on_life(stam_regen) - if(stamina_dam >= DAMAGE_PRECISION && stam_regen) //DO NOT update health here, it'll be done in the carbon's life. + SHOULD_CALL_PARENT(TRUE) + //DO NOT update health here, it'll be done in the carbon's life. + if(stamina_dam >= DAMAGE_PRECISION && stam_regen) heal_damage(0, 0, stam_regen, null, FALSE) . |= BODYPART_LIFE_UPDATE_HEALTH @@ -169,6 +182,8 @@ //Damage will not exceed max_damage using this proc //Cannot apply negative damage /obj/item/bodypart/proc/receive_damage(brute = 0, burn = 0, stamina = 0, blocked = 0, updating_health = TRUE, required_status = null) + SHOULD_CALL_PARENT(TRUE) + var/hit_percent = (100-blocked)/100 if((!brute && !burn && !stamina) || hit_percent <= 0) return FALSE @@ -195,53 +210,91 @@ var/can_inflict = (max_damage * 2) - get_damage() if(can_inflict <= 0) return FALSE - var/total_damage = brute + burn - if(total_damage > can_inflict) brute = round(brute * (can_inflict / total_damage),DAMAGE_PRECISION) burn = round(burn * (can_inflict / total_damage),DAMAGE_PRECISION) - brute_dam += brute - burn_dam += burn + if(brute) + set_brute_dam(brute_dam + brute) + if(burn) + set_burn_dam(burn_dam + burn) //We've dealt the physical damages, if there's room lets apply the stamina damage. - var/current_damage = get_damage(TRUE) //This time around, count stamina loss too. - var/available_damage = max_damage - current_damage - var/applied_damage = min(max_stamina_damage - stamina_dam, available_damage) - stamina_dam += round(clamp(stamina, 0, applied_damage), DAMAGE_PRECISION) - + if(stamina) + set_stamina_dam(stamina_dam + round(clamp(stamina, 0, max_stamina_damage - stamina_dam), DAMAGE_PRECISION)) - if(owner && updating_health) - owner.updatehealth() - if(stamina >= DAMAGE_PRECISION) - owner.update_stamina(TRUE) - owner.stam_regen_start_time = max(owner.stam_regen_start_time, world.time + STAMINA_REGEN_BLOCK_TIME) - consider_processing() - update_disabled() - return update_bodypart_damage_state() + if(owner) + if(can_be_disabled) + update_disabled() + if(updating_health) + owner.updatehealth() + if(stamina >= DAMAGE_PRECISION) + owner.update_stamina(TRUE) + owner.stam_regen_start_time = max(owner.stam_regen_start_time, world.time + STAMINA_REGEN_BLOCK_TIME) + . = TRUE + return update_bodypart_damage_state() || . //Heals brute and burn damage for the organ. Returns 1 if the damage-icon states changed at all. //Damage cannot go below zero. //Cannot remove negative damage (i.e. apply damage) /obj/item/bodypart/proc/heal_damage(brute, burn, stamina, required_status, updating_health = TRUE) + SHOULD_CALL_PARENT(TRUE) if(required_status && !(bodytype & required_status)) //So we can only heal certain kinds of limbs, ie robotic vs organic. return - brute_dam = round(max(brute_dam - brute, 0), DAMAGE_PRECISION) - burn_dam = round(max(burn_dam - burn, 0), DAMAGE_PRECISION) - stamina_dam = round(max(stamina_dam - stamina, 0), DAMAGE_PRECISION) - if(owner && updating_health) - owner.updatehealth() - if(owner.dna && owner.dna.species && (REVIVESBYHEALING in owner.dna.species.species_traits)) - if(owner.health > 0 && !owner.ishellbound()) - owner.revive(0) - owner.cure_husk(0) // If it has REVIVESBYHEALING, it probably can't be cloned. No husk cure. - consider_processing() - update_disabled() + if(brute) + set_brute_dam(round(max(brute_dam - brute, 0), DAMAGE_PRECISION)) + if(burn) + set_burn_dam(round(max(burn_dam - burn, 0), DAMAGE_PRECISION)) + if(stamina) + set_stamina_dam(round(max(stamina_dam - stamina, 0), DAMAGE_PRECISION)) + + if(owner) + if(can_be_disabled) + update_disabled() + if(updating_health) + owner.updatehealth() + if(owner.dna?.species && (REVIVESBYHEALING in owner.dna.species.species_traits)) + if(owner.health > 0 && !owner.ishellbound()) + owner.revive(0) + owner.cure_husk(0) // If it has REVIVESBYHEALING, it probably can't be cloned. No husk cure. return update_bodypart_damage_state() +///Proc to hook behavior associated to the change of the brute_dam variable's value. +/obj/item/bodypart/proc/set_brute_dam(new_value) + PROTECTED_PROC(TRUE) + + if(brute_dam == new_value) + return + . = brute_dam + brute_dam = new_value + + +///Proc to hook behavior associated to the change of the burn_dam variable's value. +/obj/item/bodypart/proc/set_burn_dam(new_value) + PROTECTED_PROC(TRUE) + + if(burn_dam == new_value) + return + . = burn_dam + burn_dam = new_value + + +///Proc to hook behavior associated to the change of the stamina_dam variable's value. +/obj/item/bodypart/proc/set_stamina_dam(new_value) + PROTECTED_PROC(TRUE) + + if(stamina_dam == new_value) + return + . = stamina_dam + stamina_dam = new_value + if(stamina_dam > DAMAGE_PRECISION) + needs_processing = TRUE + else + needs_processing = FALSE + //Returns total damage. /obj/item/bodypart/proc/get_damage(include_stamina = FALSE) var/total = brute_dam + burn_dam @@ -255,28 +308,144 @@ //Checks disabled status thresholds /obj/item/bodypart/proc/update_disabled() - set_disabled(is_disabled()) + SHOULD_CALL_PARENT(TRUE) + + if(!owner) + return + + if(!can_be_disabled) + set_disabled(FALSE) + CRASH("update_disabled called with can_be_disabled false") -/obj/item/bodypart/proc/is_disabled() if(HAS_TRAIT(src, TRAIT_PARALYSIS)) - return BODYPART_DISABLED_PARALYSIS - if(can_dismember() && !HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) - . = disabled //inertia, to avoid limbs healing 0.1 damage and being re-enabled - if((get_damage(TRUE) >= max_damage) || (HAS_TRAIT(owner, TRAIT_EASYLIMBDISABLE) && (get_damage(TRUE) >= (max_damage * 0.6)))) //Easy limb disable disables the limb at 40% health instead of 0% - return BODYPART_DISABLED_DAMAGE - if(disabled && (get_damage(TRUE) <= (max_damage * 0.5))) - return BODYPART_NOT_DISABLED - else - return BODYPART_NOT_DISABLED + set_disabled(TRUE) + return + var/total_damage = max(brute_dam + burn_dam, stamina_dam) + + if(total_damage >= max_damage * disable_threshold) //Easy limb disable disables the limb at 40% health instead of 0% + if(!last_maxed) + if(owner.stat < UNCONSCIOUS) + INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob, emote), "scream") + last_maxed = TRUE + set_disabled(TRUE) + return + + if(bodypart_disabled && total_damage <= max_damage * 0.5) + last_maxed = FALSE + set_disabled(FALSE) + + +///Proc to change the value of the `disabled` variable and react to the event of its change. /obj/item/bodypart/proc/set_disabled(new_disabled) - if(disabled == new_disabled) + SHOULD_CALL_PARENT(TRUE) + PROTECTED_PROC(TRUE) + + if(bodypart_disabled == new_disabled) + return + . = bodypart_disabled + bodypart_disabled = new_disabled + + if(!owner) return - disabled = new_disabled owner.update_health_hud() //update the healthdoll owner.update_body() - owner.update_mobility() - return TRUE //if there was a change. + +///Proc to change the value of the `owner` variable and react to the event of its change. +/obj/item/bodypart/proc/set_owner(mob/living/carbon/new_owner) + SHOULD_CALL_PARENT(TRUE) + + if(owner == new_owner) + return FALSE //`null` is a valid option, so we need to use a num var to make it clear no change was made. + var/mob/living/carbon/old_owner = owner + owner = new_owner + var/needs_update_disabled = FALSE //Only really relevant if there's an owner + if(old_owner) + if(initial(can_be_disabled)) + if(HAS_TRAIT(old_owner, TRAIT_NOLIMBDISABLE)) + if(!owner || !HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) + set_can_be_disabled(initial(can_be_disabled)) + needs_update_disabled = TRUE + UnregisterSignal(old_owner, list( + SIGNAL_REMOVETRAIT(TRAIT_NOLIMBDISABLE), + SIGNAL_ADDTRAIT(TRAIT_NOLIMBDISABLE), + )) + if(owner) + if(initial(can_be_disabled)) + if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) + set_can_be_disabled(FALSE) + needs_update_disabled = FALSE + RegisterSignal(new_owner, SIGNAL_REMOVETRAIT(TRAIT_NOLIMBDISABLE), PROC_REF(on_owner_nolimbdisable_trait_loss)) + RegisterSignal(new_owner, SIGNAL_ADDTRAIT(TRAIT_NOLIMBDISABLE), PROC_REF(on_owner_nolimbdisable_trait_gain)) + + if(needs_update_disabled) + update_disabled() + + return old_owner + + +///Proc to change the value of the `can_be_disabled` variable and react to the event of its change. +/obj/item/bodypart/proc/set_can_be_disabled(new_can_be_disabled) + if(can_be_disabled == new_can_be_disabled) + return + . = can_be_disabled + can_be_disabled = new_can_be_disabled + if(can_be_disabled) + if(owner) + if(HAS_TRAIT(owner, TRAIT_NOLIMBDISABLE)) + CRASH("set_can_be_disabled to TRUE with for limb whose owner has TRAIT_NOLIMBDISABLE") + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_gain)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), PROC_REF(on_paralysis_trait_loss)) + update_disabled() + else if(.) + if(owner) + UnregisterSignal(owner, list( + SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), + SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), + )) + set_disabled(FALSE) + + +///Called when TRAIT_PARALYSIS is added to the limb. +/obj/item/bodypart/proc/on_paralysis_trait_gain(obj/item/bodypart/source) + SIGNAL_HANDLER + if(can_be_disabled) + set_disabled(TRUE) + + +///Called when TRAIT_PARALYSIS is removed from the limb. +/obj/item/bodypart/proc/on_paralysis_trait_loss(obj/item/bodypart/source) + SIGNAL_HANDLER + if(can_be_disabled) + update_disabled() + + +///Called when TRAIT_NOLIMBDISABLE is added to the owner. +/obj/item/bodypart/proc/on_owner_nolimbdisable_trait_gain(mob/living/carbon/source) + SIGNAL_HANDLER + set_can_be_disabled(FALSE) + + +///Called when TRAIT_NOLIMBDISABLE is removed from the owner. +/obj/item/bodypart/proc/on_owner_nolimbdisable_trait_loss(mob/living/carbon/source) + SIGNAL_HANDLER + set_can_be_disabled(initial(can_be_disabled)) + + +///Called when TRAIT_EASYLIMBWOUND is added to the owner. +/obj/item/bodypart/proc/on_owner_easylimbwound_trait_gain(mob/living/carbon/source) + SIGNAL_HANDLER + disable_threshold = 0.6 + if(can_be_disabled) + update_disabled() + + +///Called when TRAIT_EASYLIMBWOUND is removed from the owner. +/obj/item/bodypart/proc/on_owner_easylimbwound_trait_loss(mob/living/carbon/source) + SIGNAL_HANDLER + disable_threshold = initial(disable_threshold) + if(can_be_disabled) + update_disabled() //Updates an organ's brute/burn states for use by update_damage_overlays() //Returns 1 if we need to update overlays. 0 otherwise. @@ -540,7 +709,8 @@ be possessed by the devil? This arm appears to be possessed by no \ one though." //icon_state = "default_human_l_arm" - attack_verb = list("slapped", "punched") + attack_verb_continuous = list("slaps", "punches") + attack_verb_simple = list("slap", "punch") max_damage = 50 max_stamina_damage = 50 body_zone = BODY_ZONE_L_ARM @@ -552,32 +722,64 @@ held_index = 1 px_x = -6 px_y = 0 + can_be_disabled = TRUE + + +/obj/item/bodypart/l_arm/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_ARM)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) + + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait. +/obj/item/bodypart/l_arm/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait. +/obj/item/bodypart/l_arm/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_ARM) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_ARM)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_ARM), PROC_REF(on_owner_paralysis_gain)) -/obj/item/bodypart/l_arm/is_disabled() - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_ARM)) - return BODYPART_DISABLED_PARALYSIS - return ..() /obj/item/bodypart/l_arm/set_disabled(new_disabled) . = ..() - if(!.) + if(isnull(.) || !owner) return - if(disabled == BODYPART_DISABLED_DAMAGE) - if(owner.stat < UNCONSCIOUS) - owner.emote("scream") - if(owner.stat < DEAD) - to_chat(owner, "Your [name] is too damaged to function!") - if(held_index) - owner.dropItemToGround(owner.get_item_for_held_index(held_index)) - else if(disabled == BODYPART_DISABLED_PARALYSIS) - if(owner.stat < DEAD) - to_chat(owner, "You can't feel your [name]!") + + if(!.) + if(bodypart_disabled) + owner.set_usable_hands(owner.usable_hands - 1) + if(owner.stat < UNCONSCIOUS) + to_chat(owner, "Your lose control of your [name]!") if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) + else if(!bodypart_disabled) + owner.set_usable_hands(owner.usable_hands + 1) + if(owner.hud_used) - var/atom/movable/screen/inventory/hand/L = owner.hud_used.hand_slots["[held_index]"] - if(L) - L.update_icon() + var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] + hand_screen_object?.update_icon() /obj/item/bodypart/l_arm/monkey icon = 'icons/mob/animal_parts.dmi' @@ -596,12 +798,14 @@ icon_state = "alien_l_arm" px_x = 0 px_y = 0 - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART /obj/item/bodypart/l_arm/devil - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 5000 animal_origin = DEVIL_BODYPART @@ -610,7 +814,8 @@ desc = "Over 87% of humans are right handed. That figure is much lower \ among humans missing their right arm." //icon_state = "default_human_r_arm" - attack_verb = list("slapped", "punched") + attack_verb_continuous = list("slaps", "punches") + attack_verb_simple = list("slap", "punch") max_damage = 50 max_stamina_damage = 50 body_zone = BODY_ZONE_R_ARM @@ -622,32 +827,64 @@ held_index = 2 px_x = 6 px_y = 0 + can_be_disabled = TRUE + + +/obj/item/bodypart/r_arm/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_ARM)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) + + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait. +/obj/item/bodypart/r_arm/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait. +/obj/item/bodypart/r_arm/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_ARM) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_ARM)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_ARM), PROC_REF(on_owner_paralysis_gain)) -/obj/item/bodypart/r_arm/is_disabled() - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_ARM)) - return BODYPART_DISABLED_PARALYSIS - return ..() /obj/item/bodypart/r_arm/set_disabled(new_disabled) . = ..() - if(!.) + if(isnull(.) || !owner) return - if(disabled == BODYPART_DISABLED_DAMAGE) - if(owner.stat < UNCONSCIOUS) - owner.emote("scream") - if(owner.stat < DEAD) - to_chat(owner, "Your [name] is too damaged to function!") - if(held_index) - owner.dropItemToGround(owner.get_item_for_held_index(held_index)) - else if(disabled == BODYPART_DISABLED_PARALYSIS) - if(owner.stat < DEAD) - to_chat(owner, "You can't feel your [name]!") + + if(!.) + if(bodypart_disabled) + owner.set_usable_hands(owner.usable_hands - 1) + if(owner.stat < UNCONSCIOUS) + to_chat(owner, "Your lose control of your [name]!") if(held_index) owner.dropItemToGround(owner.get_item_for_held_index(held_index)) + else if(!bodypart_disabled) + owner.set_usable_hands(owner.usable_hands + 1) + if(owner.hud_used) - var/atom/movable/screen/inventory/hand/R = owner.hud_used.hand_slots["[held_index]"] - if(R) - R.update_icon() + var/atom/movable/screen/inventory/hand/hand_screen_object = owner.hud_used.hand_slots["[held_index]"] + hand_screen_object?.update_icon() /obj/item/bodypart/r_arm/monkey icon = 'icons/mob/animal_parts.dmi' @@ -667,12 +904,14 @@ icon_state = "alien_r_arm" px_x = 0 px_y = 0 - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART /obj/item/bodypart/r_arm/devil - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 5000 animal_origin = DEVIL_BODYPART @@ -681,7 +920,8 @@ desc = "Some athletes prefer to tie their left shoelaces first for good \ luck. In this instance, it probably would not have helped." //icon_state = "default_human_l_leg" - attack_verb = list("kicked", "stomped") + attack_verb_continuous = list("kicks", "stomps") + attack_verb_simple = list("kick", "stomp") max_damage = 50 body_zone = BODY_ZONE_L_LEG body_part = LEG_LEFT @@ -690,24 +930,58 @@ px_x = -2 px_y = 12 max_stamina_damage = 50 + can_be_disabled = TRUE + + +/obj/item/bodypart/l_leg/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_L_LEG)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG)) + + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_L_LEG trait. +/obj/item/bodypart/l_leg/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait. +/obj/item/bodypart/l_leg/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_L_LEG) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_L_LEG)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_L_LEG), PROC_REF(on_owner_paralysis_gain)) -/obj/item/bodypart/l_leg/is_disabled() - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_L_LEG)) - return BODYPART_DISABLED_PARALYSIS - return ..() /obj/item/bodypart/l_leg/set_disabled(new_disabled) . = ..() - if(!.) + if(isnull(.) || !owner) return - if(disabled == BODYPART_DISABLED_DAMAGE) - if(owner.stat < UNCONSCIOUS) - owner.emote("scream") - if(owner.stat < DEAD) - to_chat(owner, "Your [name] is too damaged to function!") - else if(disabled == BODYPART_DISABLED_PARALYSIS) - if(owner.stat < DEAD) - to_chat(owner, "You can't feel your [name]!") + + if(!.) + if(bodypart_disabled) + owner.set_usable_legs(owner.usable_legs - 1) + if(owner.stat < UNCONSCIOUS) + to_chat(owner, "Your lose control of your [name]!") + else if(!bodypart_disabled) + owner.set_usable_legs(owner.usable_legs + 1) /obj/item/bodypart/l_leg/monkey @@ -727,12 +1001,14 @@ icon_state = "alien_l_leg" px_x = 0 px_y = 0 - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART /obj/item/bodypart/l_leg/devil - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 5000 animal_origin = DEVIL_BODYPART @@ -743,7 +1019,8 @@ The hokey pokey has certainly changed a lot since space colonisation." // alternative spellings of 'pokey' are available //icon_state = "default_human_r_leg" - attack_verb = list("kicked", "stomped") + attack_verb_continuous = list("kicks", "stomps") + attack_verb_simple = list("kick", "stomp") max_damage = 50 body_zone = BODY_ZONE_R_LEG body_part = LEG_RIGHT @@ -752,24 +1029,58 @@ px_x = 2 px_y = 12 max_stamina_damage = 50 + can_be_disabled = TRUE + + +/obj/item/bodypart/r_leg/set_owner(new_owner) + . = ..() + if(. == FALSE) + return + if(owner) + if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG)) + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_loss)) + else + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_gain)) + if(.) + var/mob/living/carbon/old_owner = . + if(HAS_TRAIT(old_owner, TRAIT_PARALYSIS_R_LEG)) + UnregisterSignal(old_owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG)) + if(!owner || !HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG)) + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) + else + UnregisterSignal(old_owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG)) + + +///Proc to react to the owner gaining the TRAIT_PARALYSIS_R_LEG trait. +/obj/item/bodypart/r_leg/proc/on_owner_paralysis_gain(mob/living/carbon/source) + SIGNAL_HANDLER + ADD_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) + UnregisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG)) + RegisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_loss)) + + +///Proc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait. +/obj/item/bodypart/r_leg/proc/on_owner_paralysis_loss(mob/living/carbon/source) + SIGNAL_HANDLER + REMOVE_TRAIT(src, TRAIT_PARALYSIS, TRAIT_PARALYSIS_R_LEG) + UnregisterSignal(owner, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS_R_LEG)) + RegisterSignal(owner, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS_R_LEG), PROC_REF(on_owner_paralysis_gain)) -/obj/item/bodypart/r_leg/is_disabled() - if(HAS_TRAIT(owner, TRAIT_PARALYSIS_R_LEG)) - return BODYPART_DISABLED_PARALYSIS - return ..() /obj/item/bodypart/r_leg/set_disabled(new_disabled) . = ..() - if(!.) + if(isnull(.) || !owner) return - if(disabled == BODYPART_DISABLED_DAMAGE) - if(owner.stat < UNCONSCIOUS) - owner.emote("scream") - if(owner.stat < DEAD) - to_chat(owner, "Your [name] is too damaged to function!") - else if(disabled == BODYPART_DISABLED_PARALYSIS) - if(owner.stat < DEAD) - to_chat(owner, "You can't feel your [name]!") + + if(!.) + if(bodypart_disabled) + owner.set_usable_legs(owner.usable_legs - 1) + if(owner.stat < UNCONSCIOUS) + to_chat(owner, "Your lose control of your [name]!") + else if(!bodypart_disabled) + owner.set_usable_legs(owner.usable_legs + 1) /obj/item/bodypart/r_leg/monkey @@ -789,11 +1100,13 @@ icon_state = "alien_r_leg" px_x = 0 px_y = 0 - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART /obj/item/bodypart/r_leg/devil - dismemberable = 0 + dismemberable = FALSE + can_be_disabled = FALSE max_damage = 5000 animal_origin = DEVIL_BODYPART diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 630aa534ff260..c8079b137523c 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -83,7 +83,7 @@ SEND_SIGNAL(owner, COMSIG_CARBON_REMOVE_LIMB, src, dismembered) SEND_SIGNAL(src, COMSIG_BODYPART_REMOVED, owner, dismembered) update_limb(TRUE) - C.bodyparts -= src + C.remove_bodypart(src) if(held_index) C.dropItemToGround(owner.get_item_for_held_index(held_index), 1) @@ -125,7 +125,6 @@ C.update_health_hud() //update the healthdoll C.update_body() C.update_hair() - C.update_mobility() if(!Tsec) // Tsec = null happens when a "dummy human" used for rendering icons on prefs screen gets its limbs replaced. qdel(src) @@ -273,8 +272,8 @@ SEND_SIGNAL(C, COMSIG_CARBON_ATTACH_LIMB, src, special) SEND_SIGNAL(src, COMSIG_BODYPART_ATTACHED, C, special) moveToNullspace() - owner = C - C.bodyparts += src + set_owner(C) + C.add_bodypart(src) if(held_index) if(held_index > C.hand_bodyparts.len) C.hand_bodyparts.len = held_index @@ -307,7 +306,6 @@ C.updatehealth() C.update_body() C.update_hair() - C.update_mobility() SEND_SIGNAL(C, COMSIG_CARBON_POST_ATTACH_LIMB, src, special) diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 3d0ff10c90b4f..7dc048255c424 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -5,28 +5,39 @@ RETURN_TYPE(/obj/item/bodypart) if(!zone) zone = BODY_ZONE_CHEST - for(var/obj/item/bodypart/L as() in bodyparts) + for(var/obj/item/bodypart/L as anything in bodyparts) if(L.body_zone == zone) return L /mob/living/carbon/has_hand_for_held_index(i) - if(i) - var/obj/item/bodypart/L = hand_bodyparts[i] - if(L && !L.disabled) - return L + if(!i) + return FALSE + var/obj/item/bodypart/hand_instance = hand_bodyparts[i] + if(hand_instance && !hand_instance.bodypart_disabled) + return hand_instance return FALSE +///Get the bodypart for whatever hand we have active, Only relevant for carbons +/mob/proc/get_active_hand() + return FALSE + +/mob/living/carbon/get_active_hand() + var/which_hand = BODY_ZONE_PRECISE_L_HAND + if(!(active_hand_index % 2)) + which_hand = BODY_ZONE_PRECISE_R_HAND + return get_bodypart(check_zone(which_hand)) /mob/proc/has_left_hand(check_disabled = TRUE) return TRUE + /mob/living/carbon/has_left_hand(check_disabled = TRUE) - for(var/obj/item/bodypart/L in hand_bodyparts) - if(L.held_index % 2) - if(!check_disabled || !L.disabled) - return TRUE + for(var/obj/item/bodypart/hand_instance in hand_bodyparts) + if(!(hand_instance.held_index % 2) || (check_disabled && hand_instance.bodypart_disabled)) + continue + return TRUE return FALSE /mob/living/carbon/alien/larva/has_left_hand() @@ -36,70 +47,24 @@ /mob/proc/has_right_hand(check_disabled = TRUE) return TRUE + /mob/living/carbon/has_right_hand(check_disabled = TRUE) - for(var/obj/item/bodypart/L in hand_bodyparts) - if(!(L.held_index % 2)) - if(!check_disabled || !L.disabled) - return TRUE + for(var/obj/item/bodypart/hand_instance in hand_bodyparts) + if(hand_instance.held_index % 2 || (check_disabled && hand_instance.bodypart_disabled)) + continue + return TRUE return FALSE + /mob/living/carbon/alien/larva/has_right_hand() return 1 - -//Limb numbers -/mob/proc/get_num_arms(check_disabled = TRUE) - return 2 - -/mob/living/carbon/get_num_arms(check_disabled = TRUE) - . = 0 - for(var/obj/item/bodypart/affecting as() in bodyparts) - if(affecting.body_part == ARM_RIGHT) - if(!check_disabled || !affecting.disabled) - .++ - if(affecting.body_part == ARM_LEFT) - if(!check_disabled || !affecting.disabled) - .++ - - -//sometimes we want to ignore that we don't have the required amount of arms. -/mob/proc/get_arm_ignore() - return 0 - -/mob/living/carbon/alien/larva/get_arm_ignore() - return 1 //so we can still handcuff larvas. - - -/mob/proc/get_num_legs(check_disabled = TRUE) - return 2 - -/mob/living/carbon/get_num_legs(check_disabled = TRUE) - . = 0 - for(var/obj/item/bodypart/affecting as() in bodyparts) - if(affecting.body_part == LEG_RIGHT) - if(!check_disabled || !affecting.disabled) - .++ - if(affecting.body_part == LEG_LEFT) - if(!check_disabled || !affecting.disabled) - .++ - -//sometimes we want to ignore that we don't have the required amount of legs. -/mob/proc/get_leg_ignore() - return FALSE - -/mob/living/carbon/alien/larva/get_leg_ignore() - return TRUE - -/mob/living/carbon/human/get_leg_ignore() - if(movement_type & (FLYING | FLOATING)) - return TRUE - return FALSE - /mob/living/proc/get_missing_limbs() return list() /mob/living/carbon/get_missing_limbs() + RETURN_TYPE(/list) var/list/full = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) for(var/zone in full) if(get_bodypart(zone)) @@ -121,7 +86,7 @@ var/list/disabled = list() for(var/zone in full) var/obj/item/bodypart/affecting = get_bodypart(zone) - if(affecting && affecting.disabled) + if(affecting?.bodypart_disabled) disabled += zone return disabled @@ -130,7 +95,7 @@ var/list/disabled = list() for(var/zone in full) var/obj/item/bodypart/affecting = get_bodypart(zone) - if(affecting?.disabled) + if(affecting?.bodypart_disabled) disabled += zone return disabled @@ -151,16 +116,6 @@ continue return TRUE -///Get the bodypart for whatever hand we have active, Only relevant for carbons -/mob/proc/get_active_hand() - return FALSE - -/mob/living/carbon/get_active_hand() - var/which_hand = BODY_ZONE_PRECISE_L_HAND - if(!(active_hand_index % 2)) - which_hand = BODY_ZONE_PRECISE_R_HAND - return get_bodypart(check_zone(which_hand)) - //Helper for quickly creating a new limb - used by augment code in species.dm spec_attacked_by // // FUCK YOU AUGMENT CODE - With love, Kapu diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index ef8a9a5a7a866..d2a495c9e8bb1 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -14,7 +14,8 @@ name = "cyborg left arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." limb_id = "robotic" - attack_verb = list("slapped", "punched") + attack_verb_continuous = list("slaps", "punches") + attack_verb_simple = list("slap", "punch") item_state = "buildpipe" static_icon = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -39,7 +40,8 @@ /obj/item/bodypart/r_arm/robot name = "cyborg right arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb = list("slapped", "punched") + attack_verb_continuous = list("slaps", "punches") + attack_verb_simple = list("slap", "punch") item_state = "buildpipe" static_icon = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -65,7 +67,8 @@ /obj/item/bodypart/l_leg/robot name = "cyborg left leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb = list("kicked", "stomped") + attack_verb_continuous = list("kicks", "stomps") + attack_verb_simple = list("kick", "stomp") item_state = "buildpipe" static_icon = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' @@ -91,7 +94,8 @@ /obj/item/bodypart/r_leg/robot name = "cyborg right leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb = list("kicked", "stomped") + attack_verb_continuous = list("kicks", "stomps") + attack_verb_simple = list("kick", "stomp") item_state = "buildpipe" static_icon = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' diff --git a/code/modules/surgery/helpers.dm b/code/modules/surgery/helpers.dm index 2e79428cf6731..0babec03994a9 100644 --- a/code/modules/surgery/helpers.dm +++ b/code/modules/surgery/helpers.dm @@ -38,7 +38,7 @@ continue else if(C && S.requires_bodypart) //mob with no limb in surgery zone when we need a limb continue - if(S.lying_required && (M.mobility_flags & MOBILITY_STAND)) + if(S.lying_required && M.body_position != LYING_DOWN) continue if(!S.can_start(user, M, target_zone)) continue @@ -68,7 +68,7 @@ return else if(C && S.requires_bodypart) return - if(S.lying_required && (M.mobility_flags & MOBILITY_STAND)) + if(S.lying_required && M.body_position != LYING_DOWN) return if(!S.can_start(user, M, target_zone)) return diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index c9c2d9d1111cd..20430836f2ac9 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -22,17 +22,18 @@ to_chat(user, "[tool] isn't the right type for [parse_zone(surgery.location)].") return -1 L = surgery.operated_bodypart - if(L) - if(L.is_disabled() == BODYPART_DISABLED_PARALYSIS) - to_chat(user, "You can't augment a limb with paralysis!") - return -1 - else - display_results(user, target, "You begin to augment [target]'s [parse_zone(surgery.location)]...", - "[user] begins to augment [target]'s [parse_zone(surgery.location)] with [aug].", - "[user] begins to augment [target]'s [parse_zone(surgery.location)].") - else + + if(!L) user.visible_message("[user] looks for [target]'s [parse_zone(surgery.location)].", "You look for [target]'s [parse_zone(surgery.location)]...") + return + if(L?.bodypart_disabled) + to_chat(user, "You can't augment a limb with paralysis!") + return -1 + else + display_results(user, target, "You begin to augment [target]'s [parse_zone(surgery.location)]...", + "[user] begins to augment [target]'s [parse_zone(surgery.location)] with [aug].", + "[user] begins to augment [target]'s [parse_zone(surgery.location)].") //ACTUAL SURGERIES diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index fb0339a2880d0..9efeb38665270 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -87,7 +87,7 @@ /obj/item/organ/eyes/night_vision name = "shadow eyes" desc = "A spooky set of eyes that can see in the dark." - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE actions_types = list(/datum/action/item_action/organ_action/use) var/night_vision = TRUE @@ -146,7 +146,7 @@ name = "\improper X-ray eyes" desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." eye_color = "000" - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS flash_protect = -INFINITY tint = -INFINITY @@ -162,7 +162,7 @@ sight_flags = SEE_MOBS lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE flash_protect = -1 - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE /obj/item/organ/eyes/robotic/flashlight name = "flashlight eyes" @@ -408,14 +408,14 @@ /obj/item/organ/eyes/apid name = "apid eyes" desc = "Designed for navigating dark hives, these eyes have improvement to low light vision." - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE /obj/item/organ/eyes/psyphoza name = "psyphoza eyes" desc = "Conduits for psychic energy, hardly even eyes." icon_state = "psyphoza_eyeballs" actions_types = list(/datum/action/item_action/organ_action/psychic_highlight) - see_in_dark = 8 + see_in_dark = NIGHTVISION_FOV_RANGE lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE blind_type = /atom/movable/screen/fullscreen/blind/psychic sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 97afce1b052a4..531fa34ed7dbf 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -16,10 +16,18 @@ // Heart attack code is in code/modules/mob/living/carbon/human/life.dm var/beating = 1 var/icon_base = "heart" - attack_verb = list("beat", "thumped") - var/beat = BEAT_NONE//is this mob having a heatbeat sound played? if so, which? - var/failed = FALSE //to prevent constantly running failing code - var/operated = FALSE //whether the heart's been operated on to fix some of its damages + attack_verb_continuous = list("beats", "thumps") + attack_verb_simple = list("beat", "thump") + //is this mob having a heatbeat sound played? if so, which? + var/beat = BEAT_NONE + //to prevent constantly running failing code + var/failed = FALSE + //whether the heart's been operated on to fix some of its damages + var/operated = FALSE + ///Color of the heart, is set by the species on gain + //var/ethereal_color = "#9c3030" + + /obj/item/organ/heart/update_icon() if(beating) diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index 2c6cc4ee1d939..d1b5356fb3625 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -117,7 +117,8 @@ /obj/item/organ/liver/cybernetic/upgraded/ipc name = "substance processor" icon_state = "substance_processor" - attack_verb = list("processed") + attack_verb_continuous = list("processes") + attack_verb_simple = list("process") desc = "A machine component, installed in the chest. This grants the Machine the ability to process chemicals that enter its systems." alcohol_tolerance = 0 toxTolerance = -1 diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index d2d9f5d45aa8e..eeb4bf3bbfc6e 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -349,6 +349,9 @@ if(prob(20)) to_chat(H, "You feel [hot_message] in your [name]!") + // The air you breathe out should match your body temperature + breath.set_temperature(H.bodytemperature) + /obj/item/organ/lungs/on_life() ..() if((!failed) && ((organ_flags & ORGAN_FAILING))) diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index 6eb21a829db91..33630b88d1229 100755 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -4,7 +4,8 @@ w_class = WEIGHT_CLASS_SMALL zone = BODY_ZONE_CHEST slot = ORGAN_SLOT_STOMACH - attack_verb = list("gored", "squished", "slapped", "digested") + attack_verb_continuous = list("gores", "squishes", "slaps", "digests") + attack_verb_simple = list("gore", "squish", "slap", "digest") desc = "Onaka ga suite imasu." healing_factor = STANDARD_ORGAN_HEALING @@ -151,7 +152,8 @@ name = "micro-cell" icon_state = "microcell" w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("assault and battery'd") + attack_verb_continuous = list("assault and batteries") + attack_verb_simple = list("assault and battery") desc = "A micro-cell, for IPC use. Do not swallow." status = ORGAN_ROBOTIC organ_flags = ORGAN_SYNTHETIC diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index c1da699200ce6..8debda384483d 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -4,7 +4,8 @@ icon_state = "tonguenormal" zone = BODY_ZONE_PRECISE_MOUTH slot = ORGAN_SLOT_TONGUE - attack_verb = list("licked", "slobbered", "slapped", "frenched", "tongued") + attack_verb_continuous = list("licks", "slobbers", "slaps", "frenches", "tongues") + attack_verb_simple = list("lick", "slobber", "slap", "french", "tongue") var/list/languages_possible var/say_mod = "says" var/ask_mod = "asks" @@ -218,7 +219,8 @@ desc = "Apparently skeletons alter the sounds they produce through oscillation of their teeth, hence their characteristic rattling." icon_state = "tonguebone" say_mod = "rattles" - attack_verb = list("bitten", "chattered", "chomped", "enamelled", "boned") + attack_verb_continuous = list("bites", "chatters", "chomps", "enamelles", "bones") + attack_verb_simple = list("bite", "chatter", "chomp", "enamel", "bone") taste_sensitivity = 101 // skeletons cannot taste anything modifies_speech = TRUE liked_food = GROSS | MEAT | RAW | GORE @@ -256,7 +258,8 @@ organ_flags = NONE icon_state = "tonguerobot" say_mod = "states" - attack_verb = list("beeped", "booped") + attack_verb_continuous = list("beeps", "boops") + attack_verb_simple = list("beep", "boop") modifies_speech = TRUE taste_sensitivity = 25 // not as good as an organic tongue @@ -292,7 +295,8 @@ desc = "A sophisticated ethereal organ, capable of synthesising speech via electrical discharge." icon_state = "electrotongue" say_mod = "crackles" - attack_verb = list("shocked", "jolted", "zapped") + attack_verb_continuous = list("shocks", "jolts", "zaps") + attack_verb_simple = list("shock", "jolt", "zap") taste_sensitivity = 101 // Not a tongue, they can't taste shit toxic_food = NONE diff --git a/code/modules/surgery/organs/wings.dm b/code/modules/surgery/organs/wings.dm index a7019ce1f0e23..6ce219b437b40 100644 --- a/code/modules/surgery/organs/wings.dm +++ b/code/modules/surgery/organs/wings.dm @@ -186,7 +186,7 @@ var/obj/item/organ/wings/bee/wings = locate(/obj/item/organ/wings/bee) in L.internal_organs var/jumpdistance = wings.jumpdist - if(L.stat != CONSCIOUS || L.buckling) // Has to be conscious and unbuckled + if(L.stat != CONSCIOUS || L.buckled) // Has to be conscious and unbuckled return if(recharging_time > world.time) to_chat(L, "The wings aren't ready to dash yet!") diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index aa65fb0d06b71..d6bae900fb7ba 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -35,7 +35,8 @@ custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY - attack_verb = list("attacked", "pinched") + attack_verb_continuous = list("attacks", "pinches") + attack_verb_simple = list("attack", "pinch") tool_behaviour = TOOL_HEMOSTAT toolspeed = 1 @@ -49,7 +50,8 @@ flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 - attack_verb = list("attacked", "pinched") + attack_verb_continuous = list("attacks", "pinches") + attack_verb_simple = list("attack", "pinch") /obj/item/cautery @@ -63,7 +65,8 @@ custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY - attack_verb = list("burnt") + attack_verb_continuous = list("burns") + attack_verb_simple = list("burn") tool_behaviour = TOOL_CAUTERY toolspeed = 1 @@ -77,7 +80,8 @@ flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY toolspeed = 0.5 - attack_verb = list("burnt") + attack_verb_continuous = list("burns") + attack_verb_simple = list("burn") /obj/item/blood_filter @@ -90,7 +94,8 @@ custom_materials = list(/datum/material/iron=2000, /datum/material/glass=1500, /datum/material/silver=500) flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("pumps", "siphons") + attack_verb_continuous = list("pumps", "siphons") + attack_verb_simple = list("pump", "siphon") tool_behaviour = TOOL_BLOODFILTER toolspeed = 1 @@ -107,7 +112,8 @@ flags_1 = CONDUCT_1 force = 15 w_class = WEIGHT_CLASS_NORMAL - attack_verb = list("drilled") + attack_verb_continuous = list("drills") + attack_verb_simple = list("drill") tool_behaviour = TOOL_DRILL toolspeed = 1 @@ -129,7 +135,8 @@ force = 10 w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 - attack_verb = list("drilled") + attack_verb_continuous = list("drills") + attack_verb_simple = list("drill") /obj/item/scalpel @@ -147,7 +154,8 @@ throw_speed = 3 throw_range = 5 custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000) - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP_ACCURATE bleed_force = BLEED_CUT @@ -170,7 +178,8 @@ throw_speed = 3 throw_range = 5 custom_materials = list(/datum/material/iron=4000, /datum/material/glass=1000) - attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") toolspeed = 0.5 hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP_ACCURATE @@ -196,7 +205,8 @@ throw_speed = 2 throw_range = 5 custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) - attack_verb = list("attacked", "slashed", "sawed", "cut") + attack_verb_continuous = list("attacks", "slashes", "saws", "cuts") + attack_verb_simple = list("attack", "slash", "saw", "cut") sharpness = IS_SHARP bleed_force = BLEED_DEEP_WOUND tool_behaviour = TOOL_SAW @@ -221,7 +231,8 @@ throw_range = 5 custom_materials = list(/datum/material/iron=10000, /datum/material/glass=6000) toolspeed = 0.5 - attack_verb = list("attacked", "slashed", "sawed", "cut") + attack_verb_continuous = list("attacks", "slashes", "saws", "cuts") + attack_verb_simple = list("attack", "slash", "saw", "cut") sharpness = IS_SHARP bleed_force = BLEED_DEEP_WOUND @@ -239,7 +250,8 @@ force = 7 w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=12000) - attack_verb = list("attacked", "slashed", "sawed", "cut") + attack_verb_continuous = list("attacks", "slashes", "saws", "cuts") + attack_verb_simple = list("attack", "slash", "saw", "cut") sharpness = IS_SHARP tool_behaviour = TOOL_SAW toolspeed = 2 @@ -257,7 +269,8 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' item_state = "drapes" w_class = WEIGHT_CLASS_TINY - attack_verb = list("slapped") + attack_verb_continuous = list("slaps") + attack_verb_simple = list("slap") /obj/item/surgical_drapes/attack(mob/living/M, mob/user) attempt_initiate_surgery(src, M, user) diff --git a/code/modules/tgs/README.md b/code/modules/tgs/README.md index 6319028d8106d..35ca73d7e9a8e 100644 --- a/code/modules/tgs/README.md +++ b/code/modules/tgs/README.md @@ -1,6 +1,6 @@ # DMAPI Internals -This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. +This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. - [includes.dm](./includes.dm) is the file that should be included by DM code, it handles including the rest. - The [core](./core) folder includes all code not directly part of any API version. diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 95b8edd3ee5c2..05d0dee25b3c2 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -50,7 +50,9 @@ version = null // we want this to be the TGS version, not the interop version // sleep once to prevent an issue where world.Export on the first tick can hang indefinitely + TGS_DEBUG_LOG("Starting Export bug prevention sleep tick. time:[world.time] sleep_offline:[world.sleep_offline]") sleep(world.tick_lag) + TGS_DEBUG_LOG("Export bug prevention sleep complete") var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL = minimum_required_security_level, DMAPI5_BRIDGE_PARAMETER_VERSION = api_version.raw_parameter, DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands(), DMAPI5_PARAMETER_TOPIC_PORT = GetTopicPort())) if(!istype(bridge_response)) diff --git a/code/modules/tgui/states/not_incapacitated.dm b/code/modules/tgui/states/not_incapacitated.dm index 16dcb7881ed03..4d38c62392f0f 100644 --- a/code/modules/tgui/states/not_incapacitated.dm +++ b/code/modules/tgui/states/not_incapacitated.dm @@ -25,12 +25,8 @@ GLOBAL_DATUM_INIT(not_incapacitated_turf_state, /datum/ui_state/not_incapacitate turf_check = no_turfs /datum/ui_state/not_incapacitated_state/can_use_topic(src_object, mob/user) - if(user.stat) + if(user.stat != CONSCIOUS) return UI_CLOSE - if(user.incapacitated() || (turf_check && !isturf(user.loc))) + if(HAS_TRAIT(src, TRAIT_UI_BLOCKED) || user.incapacitated() || (turf_check && !isturf(user.loc))) return UI_DISABLED - if(isliving(user)) - var/mob/living/L = user - if(!(L.mobility_flags & MOBILITY_STAND)) - return UI_DISABLED return UI_INTERACTIVE diff --git a/code/modules/tgui/status_composers.dm b/code/modules/tgui/status_composers.dm index 9a2200eda3b65..51f28367ecdab 100644 --- a/code/modules/tgui/status_composers.dm +++ b/code/modules/tgui/status_composers.dm @@ -101,6 +101,6 @@ return UI_UPDATE var/mob/living/living_user = user - return (!(living_user.mobility_flags & MOBILITY_STAND) && living_user.stat == CONSCIOUS) \ + return (living_user.body_position == LYING_DOWN && living_user.stat == CONSCIOUS) \ ? UI_INTERACTIVE \ : UI_UPDATE diff --git a/code/modules/unit_tests/security_levels.dm b/code/modules/unit_tests/security_levels.dm new file mode 100644 index 0000000000000..eecef51ff99c9 --- /dev/null +++ b/code/modules/unit_tests/security_levels.dm @@ -0,0 +1,16 @@ +/** + * Security Level Unit Test + * + * This test is here to ensure there are no security levels with the same name or number level. Having the same name or number level will cause problems. + */ +/datum/unit_test/security_levels + +/datum/unit_test/security_levels/Run() + var/list/comparison = subtypesof(/datum/security_level) + + for(var/datum/security_level/iterating_level in comparison) + for(var/datum/security_level/iterating_level_check in comparison) + if(iterating_level == iterating_level_check) // If they are the same type, don't check + continue + TEST_ASSERT_NOTEQUAL(iterating_level.name, iterating_level_check.name, "Security level [iterating_level] has the same name as [iterating_level_check]!") + TEST_ASSERT_NOTEQUAL(iterating_level.number_level, iterating_level_check.number_level, "Security level [iterating_level] has the same level number as [iterating_level_check]!") diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm index 868028da55a0b..29dc5b3dfaf7c 100644 --- a/code/modules/vehicles/_vehicle.dm +++ b/code/modules/vehicles/_vehicle.dm @@ -115,12 +115,12 @@ /obj/vehicle/proc/after_remove_occupant(mob/M) -/obj/vehicle/relaymove(mob/user, direction) +/obj/vehicle/relaymove(mob/living/user, direction) if(is_driver(user)) return driver_move(user, direction) return FALSE -/obj/vehicle/proc/driver_move(mob/user, direction) +/obj/vehicle/proc/driver_move(mob/living/user, direction) if(key_type && !is_key(inserted_key)) to_chat(user, "[src] has no key inserted!") return FALSE diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index e6baa174d8dfa..a81633cf9a561 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -13,6 +13,7 @@ . = ..() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.vehicle_move_delay = 1.5 + D.empable = TRUE D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 4), TEXT_EAST = list(0, 4), TEXT_WEST = list( 0, 4))) D.set_vehicle_dir_layer(SOUTH, ABOVE_MOB_LAYER) D.set_vehicle_dir_layer(NORTH, OBJ_LAYER) diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm index 75b59507e9510..68a332beee868 100644 --- a/code/modules/vehicles/cars/car.dm +++ b/code/modules/vehicles/cars/car.dm @@ -20,7 +20,7 @@ if(car_traits & CAN_KIDNAP) initialize_controller_action_type(/datum/action/vehicle/sealed/DumpKidnappedMobs, VEHICLE_CONTROL_DRIVE) -/obj/vehicle/sealed/car/driver_move(mob/user, direction) +/obj/vehicle/sealed/car/driver_move(mob/living/user, direction) if(key_type && !is_key(inserted_key)) to_chat(user, "[src] has no key inserted!") return FALSE diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index 464ea93ad551e..b90c3e781043b 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -96,11 +96,13 @@ /obj/vehicle/sealed/car/clowncar/proc/restraintarget(mob/living/carbon/C) if(istype(C)) - if(!C.handcuffed) - if(C.get_num_arms(FALSE) >= 2 || C.get_arm_ignore()) - C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/used(C)) - C.update_handcuffed() - to_chat(C, " Your hands are restrained by the sheer volume of occupants in the car!") + // Dont try and apply more handcuffs if already handcuffed, obviously + if(C.handcuffed) + return + if(C.canBeHandcuffed()) + C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/used(C)) + C.update_handcuffed() + to_chat(C, " Your hands are restrained by the sheer volume of occupants in the car!") /obj/item/restraints/handcuffs/energy/used/clown name = "tangle of limbs" diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index ecf6168e53570..1188f137cfba7 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -548,7 +548,7 @@ if(src == target) return var/dir_to_target = get_dir(src,target) - if(dir_to_target && !(dir_to_target & dir))//wrong direction + if(!(mecha_flags & OMNIDIRECTIONAL_ATTACKS) && dir_to_target && !(dir_to_target & dir))//wrong direction return if(internal_damage & MECHA_INT_CONTROL_LOST) target = pick(view(3,target)) @@ -890,7 +890,6 @@ AI.cancel_camera() AI.controlled_mech = src AI.remote_control = src - AI.mobility_flags = ALL //Much easier than adding AI checks! Be sure to set this back to 0 if you decide to allow an AI to leave a mech somehow. to_chat(AI, AI.can_dominate_mechs ? "Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!" :\ "You have been uploaded to a mech's onboard computer.") to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.") @@ -1039,12 +1038,11 @@ return FALSE - brain_obj.mecha = src + brain_obj.set_mecha(src) add_occupant(brain_mob)//Note this forcemoves the brain into the mech to allow relaymove mecha_flags |= SILICON_PILOT brain_mob.reset_perspective(src) brain_mob.remote_control = src - brain_mob.update_mobility() brain_mob.update_mouse_pointer() setDir(dir_in) log_message("[brain_obj] moved in as pilot.", LOG_MECHA) @@ -1112,9 +1110,8 @@ L.forceMove(mmi) L.reset_perspective() remove_occupant(L) - mmi.mecha = null + mmi.set_mecha(null) mmi.update_appearance() - L.mobility_flags = NONE setDir(dir_in) return ..() diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index 090fa2553f4ee..e436afcaab9ee 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -140,7 +140,6 @@ own integrity back to max. Shield is automatically dropped if we run out of powe invisibility = INVISIBILITY_MAXIMUM //no showing on right-click pixel_y = 4 max_integrity = 10000 - obj_integrity = 10000 anchored = TRUE light_system = MOVABLE_LIGHT light_range = MINIMUM_USEFUL_LIGHT_RANGE diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 52faec6cd5390..89c3f16316c46 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -248,8 +248,8 @@ chassis.clearInternalDamage(int_dam_flag) repaired = 1 break - if(h_boost<0 || chassis.obj_integrity < chassis.max_integrity) - chassis.obj_integrity += min(h_boost, chassis.max_integrity-chassis.obj_integrity) + if(h_boost<0 || chassis.get_integrity() < chassis.max_integrity) + chassis.repair_damage(h_boost) repaired = 1 if(repaired) if(!chassis.use_power(energy_drain)) diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index 2768426699830..9c8a8c6dd774f 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -487,10 +487,10 @@ equipment.attach(marktwo) marktwo.mecha_flags = markone.mecha_flags marktwo.strafe = markone.strafe - marktwo.obj_integrity = round((markone.obj_integrity / markone.max_integrity) * marktwo.obj_integrity) //Integ set to the same percentage integ as the old mecha, rounded to be whole number + //Integ set to the same percentage integ as the old mecha, rounded to be whole number + marktwo.update_integrity(round((markone.get_integrity() / markone.max_integrity) * marktwo.get_integrity())) if(markone.name != initial(markone.name)) marktwo.name = markone.name markone.wreckage = FALSE qdel(markone) playsound(get_turf(marktwo),'sound/items/ratchet.ogg',50,TRUE) - return diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index 4b4abdf3ab144..4300f744afb67 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -139,6 +139,25 @@ return TRUE return FALSE +//Exosuit-mounted kinetic accelerator +/obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun + equip_cooldown = 10 + name = "Exosuit Proto-kinetic Accelerator" + desc = "An exosuit-mounted mining tool that does increased damage in low pressure. Drawing from an onboard power source allows it to project further than the handheld version." + icon_state = "mecha_kineticgun" + energy_drain = 30 + projectile = /obj/projectile/kinetic/mech + fire_sound = 'sound/weapons/kenetic_accel.ogg' + harmful = TRUE + +//attachable to all mechas, like the plasma cutter +/obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun/can_attach(obj/vehicle/sealed/mecha/M) + . = ..() + if(.) //combat mech + return + if(LAZYLEN(M.equipment) < M.max_equip) + return TRUE + /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser name = "\improper PBT \"Pacifier\" mounted taser" desc = "A weapon for combat exosuits. Shoots non-lethal stunning electrodes." diff --git a/code/modules/vehicles/mecha/mech_bay.dm b/code/modules/vehicles/mecha/mech_bay.dm index 6fa463e15709f..cf2a0d9b2aa00 100644 --- a/code/modules/vehicles/mecha/mech_bay.dm +++ b/code/modules/vehicles/mecha/mech_bay.dm @@ -127,7 +127,7 @@ if(recharge_port && !QDELETED(recharge_port)) data["recharge_port"] = list("mech" = null) if(recharge_port.recharging_mech && !QDELETED(recharge_port.recharging_mech)) - data["recharge_port"]["mech"] = list("health" = recharge_port.recharging_mech.obj_integrity, "maxhealth" = recharge_port.recharging_mech.max_integrity, "cell" = null, "name" = recharge_port.recharging_mech.name,) + data["recharge_port"]["mech"] = list("health" = recharge_port.recharging_mech.get_integrity(), "maxhealth" = recharge_port.recharging_mech.max_integrity, "cell" = null, "name" = recharge_port.recharging_mech.name,) if(recharge_port.recharging_mech.cell && !QDELETED(recharge_port.recharging_mech.cell)) data["recharge_port"]["mech"]["cell"] = list( "charge" = recharge_port.recharging_mech.cell.charge, diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.dm b/code/modules/vehicles/mecha/mecha_construction_paths.dm index 9994c6366e7c0..2856cfdbe3ff0 100644 --- a/code/modules/vehicles/mecha/mecha_construction_paths.dm +++ b/code/modules/vehicles/mecha/mecha_construction_paths.dm @@ -537,163 +537,173 @@ user.visible_message("[user] unfastens Gygax Armor Plates.", "You unfasten Gygax Armor Plates.") return TRUE -/datum/component/construction/unordered/mecha_chassis/firefighter - result = /datum/component/construction/mecha/firefighter +/datum/component/construction/unordered/mecha_chassis/clarke + result = /datum/component/construction/mecha/clarke steps = list( - /obj/item/mecha_parts/part/ripley_torso, - /obj/item/mecha_parts/part/ripley_left_arm, - /obj/item/mecha_parts/part/ripley_right_arm, - /obj/item/mecha_parts/part/ripley_left_leg, - /obj/item/mecha_parts/part/ripley_right_leg, - /obj/item/clothing/suit/utility/fire + /obj/item/mecha_parts/part/clarke_torso, + /obj/item/mecha_parts/part/clarke_left_arm, + /obj/item/mecha_parts/part/clarke_right_arm, + /obj/item/mecha_parts/part/clarke_head ) -/datum/component/construction/mecha/firefighter - result = /obj/vehicle/sealed/mecha/working/ripley/firefighter - base_icon = "fireripley" +/datum/component/construction/mecha/clarke + result = /obj/vehicle/sealed/mecha/working/clarke + base_icon = "clarke" - circuit_control = /obj/item/circuitboard/mecha/ripley/main - circuit_periph = /obj/item/circuitboard/mecha/ripley/peripherals + circuit_control = /obj/item/circuitboard/mecha/clarke/main + circuit_periph = /obj/item/circuitboard/mecha/clarke/peripherals inner_plating = /obj/item/stack/sheet/plasteel inner_plating_amount = 5 -/datum/component/construction/mecha/firefighter/get_outer_plating_steps() + outer_plating = /obj/item/stack/sheet/mineral/gold + outer_plating_amount = 5 + +/datum/component/construction/mecha/clarke/get_frame_steps() return list( list( - "key" = /obj/item/stack/sheet/plasteel, - "amount" = 5, - "back_key" = TOOL_WELDER, - "desc" = "Internal armor is welded." - ), - list( - "key" = /obj/item/stack/sheet/plasteel, - "amount" = 5, - "back_key" = TOOL_CROWBAR, - "desc" = "External armor is being installed." + "key" = /obj/item/stack/conveyor, + "amount" = 4, + "desc" = "The treads are added." ), list( "key" = TOOL_WRENCH, "back_key" = TOOL_CROWBAR, - "desc" = "External armor is installed." + "desc" = "The hydraulic systems are disconnected." ), list( - "key" = TOOL_WELDER, + "key" = TOOL_SCREWDRIVER, "back_key" = TOOL_WRENCH, - "desc" = "External armor is wrenched." + "desc" = "The hydraulic systems are connected." + ), + list( + "key" = /obj/item/stack/cable_coil, + "amount" = 5, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "The hydraulic systems are active." ), + list( + "key" = TOOL_WIRECUTTER, + "back_key" = TOOL_SCREWDRIVER, + "desc" = "The wiring is added." + ) ) -/datum/component/construction/mecha/firefighter/custom_action(obj/item/I, mob/living/user, diff) + + + +/datum/component/construction/mecha/clarke/custom_action(obj/item/I, mob/living/user, diff) if(!..()) return FALSE //TODO: better messages. switch(index) if(1) - user.visible_message("[user] connects [parent] hydraulic systems", "You connect [parent] hydraulic systems.") + user.visible_message("[user] adds the tread systems.", "You add the tread systems.") if(2) if(diff==FORWARD) - user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") + user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.") else - user.visible_message("[user] disconnects [parent] hydraulic systems", "You disconnect [parent] hydraulic systems.") + user.visible_message("[user] removes the tread systems.", "You remove the tread systems.") + if(3) if(diff==FORWARD) - user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") + user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.") else - user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") + user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.") if(4) if(diff==FORWARD) - user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") + user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].") else - user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") + user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.") if(5) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].") else - user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") + user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].") if(6) if(diff==FORWARD) - user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") else - user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") + user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].") if(7) if(diff==FORWARD) - user.visible_message("[user] installs [I]into [parent].", "You install [I]into [parent].") + user.visible_message("[user] secures the mainboard.", "You secure the mainboard.") else - user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") + user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].") if(8) if(diff==FORWARD) - user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") else - user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") + user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.") if(9) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.") else - user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") + user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].") if(10) if(diff==FORWARD) - user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") else - user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") + user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.") if(11) if(diff==FORWARD) - user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") + user.visible_message("[user] secures the scanner module.", "You secure the scanner module.") else - user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") + user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].") if(12) if(diff==FORWARD) - user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") + user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].") else - user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") + user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.") if(13) if(diff==FORWARD) - user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") + user.visible_message("[user] secures the capacitor.", "You secure the capacitor.") else - user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") + user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].") if(14) if(diff==FORWARD) - user.visible_message("[user] secures the power cell.", "You secure the power cell.") + user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].") else - user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") + user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.") if(15) if(diff==FORWARD) - user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") + user.visible_message("[user] secures the power cell.", "You secure the power cell.") else - user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") + user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].") if(16) if(diff==FORWARD) - user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") + user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].") else - user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") + user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.") if(17) if(diff==FORWARD) - user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") + user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.") else - user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") + user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].") if(18) if(diff==FORWARD) - user.visible_message("[user] starts to install the external armor layer to [parent].", "You install the external armor layer to [parent].") + user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].") else - user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") + user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.") if(19) if(diff==FORWARD) - user.visible_message("[user] installs the external reinforced armor layer to [parent].", "You install the external reinforced armor layer to [parent].") + user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].") else - user.visible_message("[user] removes the external armor from [parent].", "You remove the external armor from [parent].") + user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].") if(20) if(diff==FORWARD) - user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") + user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.") else - user.visible_message("[user] pries external armor layer from [parent].", "You pry external armor layer from [parent].") + user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].") if(21) if(diff==FORWARD) - user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") + user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].") else - user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") + user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.") return TRUE + /datum/component/construction/unordered/mecha_chassis/honker result = /datum/component/construction/mecha/honker steps = list( diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm index cf91e1672318d..b2194d82b028e 100644 --- a/code/modules/vehicles/mecha/mecha_control_console.dm +++ b/code/modules/vehicles/mecha/mecha_control_console.dm @@ -33,7 +33,7 @@ var/obj/vehicle/sealed/mecha/M = MT.chassis var/list/mech_data = list( name = M.name, - integrity = round((M.obj_integrity / M.max_integrity) * 100), + integrity = round((M.get_integrity() / M.max_integrity) * 100), charge = M.cell ? round(M.cell.percent()) : null, airtank = M.internal_tank ? M.return_pressure() : null, pilot = M.return_drivers(), @@ -100,7 +100,7 @@ var/cell_charge = chassis.get_charge() var/answer = {"Name: [chassis.name]
    - Integrity: [round((chassis.obj_integrity/chassis.max_integrity * 100), 0.01)]%
    + Integrity: [round((chassis.get_integrity()/chassis.max_integrity * 100), 0.01)]%
    Cell Charge: [isnull(cell_charge) ? "Not Found":"[chassis.cell.percent()]%"]
    Airtank: [chassis.internal_tank ? "[round(chassis.return_pressure(), 0.01)]" : "Not Equipped"] kPa
    Pilot: [chassis.return_drivers() || "None"]
    diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index 6c811227b11ed..99b4935f11291 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -74,7 +74,7 @@ /obj/vehicle/sealed/mecha/attack_animal(mob/living/simple_animal/user) log_message("Attack by simple animal. Attacker - [user].", LOG_MECHA, color="red") if(!user.melee_damage && !user.obj_damage) - user.emote("custom", message = "[user.friendly] [src].") + user.emote("custom", message = "[user.friendly_verb_continuous] [src].") return 0 else var/play_soundeffect = 1 diff --git a/code/modules/vehicles/mecha/mecha_parts.dm b/code/modules/vehicles/mecha/mecha_parts.dm index 55194dd2b23e5..d9a41a7866467 100644 --- a/code/modules/vehicles/mecha/mecha_parts.dm +++ b/code/modules/vehicles/mecha/mecha_parts.dm @@ -183,12 +183,31 @@ desc = "A set of armor plates for the Durand. Built heavy to resist an incredible amount of brute force." icon_state = "durand_armor" -////////// Firefighter +////////// Clarke -/obj/item/mecha_parts/chassis/firefighter - name = "\improper Firefighter chassis" - construct_type = /datum/component/construction/unordered/mecha_chassis/firefighter +/obj/item/mecha_parts/chassis/clarke + name = "\improper Clarke chassis" + construct_type = /datum/component/construction/unordered/mecha_chassis/clarke +/obj/item/mecha_parts/part/clarke_torso + name = "\improper Clarke torso" + desc = "A torso part of Clarke. Contains power unit, processing core and life support systems." + icon_state = "clarke_harness" + +/obj/item/mecha_parts/part/clarke_head + name = "\improper Clarke head" + desc = "A Clarke head. Contains an integrated diagnostic HUD scanner." + icon_state = "clarke_head" + +/obj/item/mecha_parts/part/clarke_left_arm + name = "\improper Clarke left arm" + desc = "A Clarke left arm. Data and power sockets are compatible with most exosuit tools." + icon_state = "clarke_l_arm" + +/obj/item/mecha_parts/part/clarke_right_arm + name = "\improper Clarke right arm" + desc = "A Clarke right arm. Data and power sockets are compatible with most exosuit tools." + icon_state = "clarke_r_arm" ////////// HONK @@ -348,3 +367,11 @@ /obj/item/circuitboard/mecha/phazon/main name = "Phazon Central Control module (Exosuit Board)" + +/obj/item/circuitboard/mecha/clarke/peripherals + name = "Clarke Peripherals Control module (Exosuit Board)" + icon_state = "mcontroller" + +/obj/item/circuitboard/mecha/clarke/main + name = "Clarke Central Control module (Exosuit Board)" + icon_state = "mainboard" diff --git a/code/modules/vehicles/mecha/mecha_wreckage.dm b/code/modules/vehicles/mecha/mecha_wreckage.dm index 71b969693918f..530c34a5a378a 100644 --- a/code/modules/vehicles/mecha/mecha_wreckage.dm +++ b/code/modules/vehicles/mecha/mecha_wreckage.dm @@ -11,16 +11,25 @@ anchored = FALSE opacity = FALSE var/list/welder_salvage = list(/obj/item/stack/sheet/plasteel, /obj/item/stack/sheet/iron, /obj/item/stack/rods) - var/list/wirecutters_salvage = list(/obj/item/stack/cable_coil) - var/list/crowbar_salvage = list() var/salvage_num = 5 + var/list/crowbar_salvage = list() + var/wires_removed = FALSE var/mob/living/silicon/ai/AI //AIs to be salvaged + var/list/parts /obj/structure/mecha_wreckage/Initialize(mapload, mob/living/silicon/ai/AI_pilot) . = ..() + if(parts) + for(var/i in 1 to 2) + if(!parts.len) + break + if(prob(60)) + continue + var/part = pick(parts) + welder_salvage += part + parts = null if(!AI_pilot) //Type-checking for this is already done in mecha/Destroy() return - AI = AI_pilot AI.apply_damage(150, BURN) //Give the AI a bit of damage from the "shock" of being suddenly shut down AI.death() //The damage is not enough to kill the AI, but to be 'corrupted files' in need of repair. @@ -31,93 +40,81 @@ /obj/structure/mecha_wreckage/examine(mob/user) . = ..() - if(AI) - . += "The AI recovery beacon is active." - -/obj/structure/mecha_wreckage/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WELDER) - if(salvage_num <= 0 || !length(welder_salvage)) - to_chat(user, "You don't see anything that can be cut with [I]!") - return - - if(!I.use_tool(src, user, 0, volume=50)) - return - - var/type = prob(70) ? pick(welder_salvage) : null - if(type) - var/N = new type(get_turf(user)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") - if(istype(N, /obj/item/mecha_parts/part)) - welder_salvage -= type - salvage_num-- - else - to_chat(user, "You fail to salvage anything valuable from [src]!") + if(!AI) return + . += "The AI recovery beacon is active." - else if(I.tool_behaviour == TOOL_WIRECUTTER) - if(salvage_num <= 0) - to_chat(user, "You don't see anything that can be cut with [I]!") - return - else if(wirecutters_salvage && wirecutters_salvage.len) - var/type = prob(70) ? pick(wirecutters_salvage) : null - if(type) - var/N = new type(get_turf(user)) - user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") - salvage_num-- - else - to_chat(user, "You fail to salvage anything valuable from [src]!") - - else if(I.tool_behaviour == TOOL_CROWBAR) - if(crowbar_salvage?.len) - var/obj/S = pick(crowbar_salvage) - if(S) - S.forceMove(user.drop_location()) - crowbar_salvage -= S - user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].") - return - else - to_chat(user, "You don't see anything that can be pried with [I]!") - +/obj/structure/mecha_wreckage/welder_act(mob/living/user, obj/item/I) + ..() + . = TRUE + if(salvage_num <= 0 || !length(welder_salvage)) + to_chat(user, "You don't see anything that can be cut with [I]!") + return + if(!I.use_tool(src, user, 0, volume=50)) + return + if(prob(30)) + to_chat(user, "You fail to salvage anything valuable from [src]!") + return + var/type = pick(welder_salvage) + var/N = new type(get_turf(user)) + user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + if(!istype(N, /obj/item/stack)) + welder_salvage -= type + salvage_num-- + +/obj/structure/mecha_wreckage/wirecutter_act(mob/living/user, obj/item/I) + ..() + . = TRUE + if(wires_removed) + to_chat(user, "You don't see anything that can be cut with [I]!") + return + var/N = new /obj/item/stack/cable_coil(get_turf(user), rand(1,3)) + user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].") + wires_removed = TRUE + +/obj/structure/mecha_wreckage/crowbar_act(mob/living/user, obj/item/I) + ..() + . = TRUE + if(crowbar_salvage.len) + var/obj/S = pick(crowbar_salvage) + S.forceMove(user.drop_location()) + user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].") + crowbar_salvage -= S + return + to_chat(user, "You don't see anything that can be cut with [I]!") /obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, mob/living/silicon/ai/ai_mob, obj/item/aicard/card) if(!..()) return //Proc called on the wreck by the AI card. - if(interaction == AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card. - if(!AI) //No AI in the wreck - to_chat(user, "No AI backups found.") - return - cut_overlays() //Remove the recovery beacon overlay - AI.forceMove(card) //Move the dead AI to the card. - card.AI = AI - if(AI.client) //AI player is still in the dead AI and is connected - to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.") - else //Give the AI a heads-up that it is probably going to get fixed. - AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card) - to_chat(user, "Backup files recovered: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory.") - - else - return ..() + if(interaction != AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card. + return + if(!AI) //No AI in the wreck + to_chat(user, "No AI backups found.") + return + cut_overlays() //Remove the recovery beacon overlay + AI.forceMove(card) //Move the dead AI to the card. + card.AI = AI + if(AI.client) //AI player is still in the dead AI and is connected + to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.") + else //Give the AI a heads-up that it is probably going to get fixed. + AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card) + to_chat(user, "Backup files recovered: [AI.name] ([rand(1000,9999)].exe) salvaged from [name] and stored within local memory.") + AI = null /obj/structure/mecha_wreckage/gygax name = "\improper Gygax wreckage" icon_state = "gygax-broken" - -/obj/structure/mecha_wreckage/gygax/Initialize(mapload) - . = ..() - var/list/parts = list(/obj/item/mecha_parts/part/gygax_torso, - /obj/item/mecha_parts/part/gygax_head, - /obj/item/mecha_parts/part/gygax_left_arm, - /obj/item/mecha_parts/part/gygax_right_arm, - /obj/item/mecha_parts/part/gygax_left_leg, - /obj/item/mecha_parts/part/gygax_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part + parts = list( + /obj/item/mecha_parts/part/gygax_torso, + /obj/item/mecha_parts/part/gygax_head, + /obj/item/mecha_parts/part/gygax_left_arm, + /obj/item/mecha_parts/part/gygax_right_arm, + /obj/item/mecha_parts/part/gygax_left_leg, + /obj/item/mecha_parts/part/gygax_right_leg + ) @@ -147,124 +144,79 @@ /obj/structure/mecha_wreckage/ripley name = "\improper Ripley wreckage" icon_state = "ripley-broken" - -/obj/structure/mecha_wreckage/ripley/Initialize(mapload) - . = ..() - var/list/parts = list(/obj/item/mecha_parts/part/ripley_torso, - /obj/item/mecha_parts/part/ripley_left_arm, - /obj/item/mecha_parts/part/ripley_right_arm, - /obj/item/mecha_parts/part/ripley_left_leg, - /obj/item/mecha_parts/part/ripley_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part + parts = list( + /obj/item/mecha_parts/part/ripley_torso, + /obj/item/mecha_parts/part/ripley_left_arm, + /obj/item/mecha_parts/part/ripley_right_arm, + /obj/item/mecha_parts/part/ripley_left_leg, + /obj/item/mecha_parts/part/ripley_right_leg + ) /obj/structure/mecha_wreckage/ripley/mk2 name = "\improper Ripley MK-II wreckage" icon_state = "ripleymkii-broken" -/obj/structure/mecha_wreckage/ripley/mk2/Initialize(mapload) - . = ..() - var/list/parts = list(/obj/item/mecha_parts/part/ripley_torso, - /obj/item/mecha_parts/part/ripley_left_arm, - /obj/item/mecha_parts/part/ripley_right_arm, - /obj/item/mecha_parts/part/ripley_left_leg, - /obj/item/mecha_parts/part/ripley_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part - - -/obj/structure/mecha_wreckage/ripley/firefighter - name = "\improper Firefighter wreckage" - icon_state = "firefighter-broken" - -/obj/structure/mecha_wreckage/ripley/firefighter/Initialize(mapload) - . = ..() - var/list/parts = list(/obj/item/mecha_parts/part/ripley_torso, - /obj/item/mecha_parts/part/ripley_left_arm, - /obj/item/mecha_parts/part/ripley_right_arm, - /obj/item/mecha_parts/part/ripley_left_leg, - /obj/item/mecha_parts/part/ripley_right_leg, - /obj/item/clothing/suit/utility/fire) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part - +/obj/structure/mecha_wreckage/clarke + name = "\improper Clarke wreckage" + icon_state = "clarke-broken" + parts = list( + /obj/item/mecha_parts/part/clarke_torso, + /obj/item/mecha_parts/part/clarke_head, + /obj/item/mecha_parts/part/clarke_left_arm, + /obj/item/mecha_parts/part/clarke_right_arm, + /obj/item/stack/conveyor + ) /obj/structure/mecha_wreckage/ripley/deathripley name = "\improper Death-Ripley wreckage" icon_state = "deathripley-broken" - + parts = null /obj/structure/mecha_wreckage/honker name = "\improper H.O.N.K wreckage" icon_state = "honker-broken" desc = "All is right in the universe." - -/obj/structure/mecha_wreckage/honker/Initialize(mapload) - . = ..() - var/list/parts = list( - /obj/item/mecha_parts/chassis/honker, - /obj/item/mecha_parts/part/honker_torso, - /obj/item/mecha_parts/part/honker_head, - /obj/item/mecha_parts/part/honker_left_arm, - /obj/item/mecha_parts/part/honker_right_arm, - /obj/item/mecha_parts/part/honker_left_leg, - /obj/item/mecha_parts/part/honker_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part + parts = list( + /obj/item/mecha_parts/part/honker_torso, + /obj/item/mecha_parts/part/honker_head, + /obj/item/mecha_parts/part/honker_left_arm, + /obj/item/mecha_parts/part/honker_right_arm, + /obj/item/mecha_parts/part/honker_left_leg, + /obj/item/mecha_parts/part/honker_right_leg + ) /obj/structure/mecha_wreckage/durand name = "\improper Durand wreckage" icon_state = "durand-broken" - -/obj/structure/mecha_wreckage/durand/Initialize(mapload) - . = ..() - var/list/parts = list( - /obj/item/mecha_parts/part/durand_torso, - /obj/item/mecha_parts/part/durand_head, - /obj/item/mecha_parts/part/durand_left_arm, - /obj/item/mecha_parts/part/durand_right_arm, - /obj/item/mecha_parts/part/durand_left_leg, - /obj/item/mecha_parts/part/durand_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part + parts = list( + /obj/item/mecha_parts/part/durand_torso, + /obj/item/mecha_parts/part/durand_head, + /obj/item/mecha_parts/part/durand_left_arm, + /obj/item/mecha_parts/part/durand_right_arm, + /obj/item/mecha_parts/part/durand_left_leg, + /obj/item/mecha_parts/part/durand_right_leg) /obj/structure/mecha_wreckage/phazon name = "\improper Phazon wreckage" icon_state = "phazon-broken" - + parts = list( + /obj/item/mecha_parts/part/phazon_torso, + /obj/item/mecha_parts/part/phazon_head, + /obj/item/mecha_parts/part/phazon_left_arm, + /obj/item/mecha_parts/part/phazon_right_arm, + /obj/item/mecha_parts/part/phazon_left_leg, + /obj/item/mecha_parts/part/phazon_right_leg + ) /obj/structure/mecha_wreckage/odysseus name = "\improper Odysseus wreckage" icon_state = "odysseus-broken" - -/obj/structure/mecha_wreckage/odysseus/Initialize(mapload) - . = ..() - var/list/parts = list( - /obj/item/mecha_parts/part/odysseus_torso, - /obj/item/mecha_parts/part/odysseus_head, - /obj/item/mecha_parts/part/odysseus_left_arm, - /obj/item/mecha_parts/part/odysseus_right_arm, - /obj/item/mecha_parts/part/odysseus_left_leg, - /obj/item/mecha_parts/part/odysseus_right_leg) - for(var/i = 0; i < 2; i++) - if(parts.len && prob(40)) - var/part = pick(parts) - welder_salvage += part - parts -= part + parts = list( + /obj/item/mecha_parts/part/odysseus_torso, + /obj/item/mecha_parts/part/odysseus_head, + /obj/item/mecha_parts/part/odysseus_left_arm, + /obj/item/mecha_parts/part/odysseus_right_arm, + /obj/item/mecha_parts/part/odysseus_left_leg, + /obj/item/mecha_parts/part/odysseus_right_leg) diff --git a/code/modules/vehicles/mecha/working/clarke.dm b/code/modules/vehicles/mecha/working/clarke.dm new file mode 100644 index 0000000000000..905024e9437d6 --- /dev/null +++ b/code/modules/vehicles/mecha/working/clarke.dm @@ -0,0 +1,145 @@ +///Lavaproof, fireproof, fast mech with low armor and higher energy consumption, cannot strafe and has an internal ore box. +/obj/vehicle/sealed/mecha/working/clarke + desc = "Combining man and machine for a better, stronger engineer. Can even resist lava!" + name = "\improper Clarke" + icon_state = "clarke" + base_icon_state = "clarke" + max_temperature = 65000 + max_integrity = 200 + movedelay = 1.25 + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + lights_power = 7 + deflect_chance = 10 + step_energy_drain = 15 //slightly higher energy drain since you movin those wheels FAST + armor = list(MELEE = 20, BULLET = 10, LASER = 20, ENERGY = 10, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100) //low armor to compensate for fire protection and speed + max_equip = 7 + wreckage = /obj/structure/mecha_wreckage/clarke + enter_delay = 40 + mecha_flags = ADDING_ACCESS_POSSIBLE | IS_ENCLOSED | HAS_LIGHTS | OMNIDIRECTIONAL_ATTACKS + internals_req_access = list(ACCESS_MECH_ENGINE, ACCESS_MECH_SCIENCE, ACCESS_MECH_MINING) + allow_diagonal_movement = FALSE + pivot_step = TRUE + +/obj/vehicle/sealed/mecha/working/clarke/Initialize(mapload) + . = ..() + box = new(src) + var/obj/item/mecha_parts/mecha_equipment/orebox_manager/ME = new(src) + ME.attach(src) + +/obj/vehicle/sealed/mecha/working/clarke/Destroy() + box.dump_box_contents() + return ..() + +/obj/vehicle/sealed/mecha/working/clarke/moved_inside(mob/living/carbon/human/H) + . = ..() + if(. && !HAS_TRAIT(H, TRAIT_DIAGNOSTIC_HUD)) + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] + hud.add_hud_to(H) + ADD_TRAIT(H, TRAIT_DIAGNOSTIC_HUD, VEHICLE_TRAIT) + +/obj/vehicle/sealed/mecha/working/clarke/remove_occupant(mob/living/carbon/H) + if(isliving(H) && HAS_TRAIT_FROM(H, TRAIT_DIAGNOSTIC_HUD, VEHICLE_TRAIT)) + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] + hud.remove_hud_from(H) + REMOVE_TRAIT(H, TRAIT_DIAGNOSTIC_HUD, VEHICLE_TRAIT) + return ..() + +/obj/vehicle/sealed/mecha/working/clarke/mmi_moved_inside(obj/item/mmi/M, mob/user) + . = ..() + if(.) + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_DIAGNOSTIC_ADVANCED] + var/mob/living/brain/B = M.brainmob + hud.add_hud_to(B) + +/obj/vehicle/sealed/mecha/working/clarke/generate_actions() + . = ..() + initialize_passenger_action_type(/datum/action/vehicle/sealed/mecha/mech_search_ruins) + +//Ore Box Controls + +///Special equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment. +/obj/item/mecha_parts/mecha_equipment/orebox_manager + name = "ore storage module" + desc = "An automated ore box management device." + icon = 'icons/obj/mining.dmi' + icon_state = "bin" + selectable = FALSE + detachable = FALSE + salvageable = FALSE + /// Var to avoid istype checking every time the topic button is pressed. This will only work inside Clarke mechs. + var/obj/vehicle/sealed/mecha/working/clarke/hostmech + +/obj/item/mecha_parts/mecha_equipment/orebox_manager/attach(obj/vehicle/sealed/mecha/M) + . = ..() + if(istype(M, /obj/vehicle/sealed/mecha/working/clarke)) + hostmech = M + +/obj/item/mecha_parts/mecha_equipment/orebox_manager/detach() + hostmech = null //just in case + return ..() + +/obj/item/mecha_parts/mecha_equipment/orebox_manager/Topic(href,href_list) + . = ..() + if(!hostmech || !hostmech.box) + return + hostmech.box.dump_box_contents() + +/obj/item/mecha_parts/mecha_equipment/orebox_manager/get_equip_info() + return "[..()] [hostmech?.box ? "Unload Cargo" : "Error"]" + +#define SEARCH_COOLDOWN 1 MINUTES + +/datum/action/vehicle/sealed/mecha/mech_search_ruins + name = "Search for Ruins" + button_icon_state = "mech_search_ruins" + COOLDOWN_DECLARE(search_cooldown) + +/datum/action/vehicle/sealed/mecha/mech_search_ruins/Trigger() + if(!owner || !chassis || !(owner in chassis.occupants)) + return + if(!COOLDOWN_FINISHED(src, search_cooldown)) + chassis.balloon_alert(owner, "on cooldown!") + return + if(!isliving(owner)) + return + var/mob/living/living_owner = owner + button_icon_state = "mech_search_ruins_cooldown" + UpdateButtonIcon() + COOLDOWN_START(src, search_cooldown, SEARCH_COOLDOWN) + addtimer(VARSET_CALLBACK(src, button_icon_state, "mech_search_ruins"), SEARCH_COOLDOWN) + addtimer(CALLBACK(src, PROC_REF(UpdateButtonIcon)), SEARCH_COOLDOWN) + var/obj/pinpointed_ruin + for(var/obj/effect/landmark/ruin/ruin_landmark as anything in GLOB.ruin_landmarks) + if(ruin_landmark.z != chassis.z) + continue + if(!pinpointed_ruin || get_dist(ruin_landmark, chassis) < get_dist(pinpointed_ruin, chassis)) + pinpointed_ruin = ruin_landmark + if(!pinpointed_ruin) + chassis.balloon_alert(living_owner, "no ruins!") + return + var/datum/status_effect/agent_pinpointer/ruin_pinpointer = living_owner.apply_status_effect(/datum/status_effect/agent_pinpointer/ruin) + ruin_pinpointer.RegisterSignal(living_owner, COMSIG_MOVABLE_MOVED, TYPE_PROC_REF(/datum/status_effect/agent_pinpointer/ruin, cancel_self)) + ruin_pinpointer.scan_target = pinpointed_ruin + chassis.balloon_alert(living_owner, "pinpointing nearest ruin") + +/datum/status_effect/agent_pinpointer/ruin + duration = SEARCH_COOLDOWN * 0.5 + alert_type = /atom/movable/screen/alert/status_effect/agent_pinpointer/ruin + tick_interval = 3 SECONDS + range_fuzz_factor = 0 + minimum_range = 5 + range_mid = 20 + range_far = 50 + +/datum/status_effect/agent_pinpointer/ruin/scan_for_target() + return + +/datum/status_effect/agent_pinpointer/ruin/proc/cancel_self(datum/source, atom/old_loc) + SIGNAL_HANDLER + qdel(src) + +/atom/movable/screen/alert/status_effect/agent_pinpointer/ruin + name = "Ruin Target" + desc = "Searching for valuables..." + +#undef SEARCH_COOLDOWN diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 048577cd73994..23a80f6843023 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -59,7 +59,7 @@ return ..() /obj/vehicle/sealed/mecha/working/ripley/mk2 - desc = "Autonomous Power Loader Unit MK-II. This prototype Ripley is refitted with a pressurized cabin, trading its prior speed for atmospheric protection" + desc = "Autonomous Power Loader Unit MK-II. This prototype Ripley is refitted with a pressurized cabin, trading its prior speed for atmospheric protection and armor." name = "\improper APLU MK-II \"Ripley\"" icon_state = "ripleymkii" base_icon_state = "ripleymkii" @@ -80,26 +80,6 @@ initialize_passenger_action_type(/datum/action/vehicle/sealed/mecha/mech_view_stats) initialize_passenger_action_type(/datum/action/vehicle/sealed/mecha/strafe) -/obj/vehicle/sealed/mecha/working/ripley/firefighter - desc = "Autonomous Power Loader Unit MK-III. This model is refitted with a pressurized cabin and additional hazard protection." - name = "\improper APLU MK-III \"Firefighter\"" - icon_state = "firefighter" - base_icon_state = "firefighter" - max_temperature = 65000 - max_integrity = 250 - fast_pressure_step_in = 2 //step_in while in low pressure conditions - slow_pressure_step_in = 4 //step_in while in normal pressure conditions - movedelay = 4 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - rad_flags = RAD_PROTECT_CONTENTS - lights_power = 7 - armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 60, BIO = 0, RAD = 70, FIRE = 100, ACID = 100, STAMINA = 0, BLEED = 0) - max_equip = 5 // More armor, less tools - wreckage = /obj/structure/mecha_wreckage/ripley/firefighter - enclosed = TRUE - enter_delay = 40 - silicon_icon_state = null - /obj/vehicle/sealed/mecha/working/ripley/deathripley desc = "OH SHIT IT'S THE DEATHSQUAD WE'RE ALL GONNA DIE" @@ -137,10 +117,6 @@ desc = "An old, dusty mining Ripley." name = "\improper APLU \"Miner\"" -/obj/vehicle/sealed/mecha/working/ripley/mining/Initialize(mapload) - . = ..() - take_damage(125) // Low starting health - /obj/vehicle/sealed/mecha/working/ripley/mining/Initialize(mapload) . = ..() if(cell) @@ -160,6 +136,9 @@ //Attach hydraulic clamp var/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/HC = new HC.attach(src) + + take_damage(max_integrity * 0.5, sound_effect=FALSE) //Low starting health + var/obj/item/mecha_parts/mecha_equipment/mining_scanner/scanner = new scanner.attach(src) diff --git a/code/modules/vehicles/mecha/working/working.dm b/code/modules/vehicles/mecha/working/working.dm index 6b3987c3b72df..406d4acbc7e80 100644 --- a/code/modules/vehicles/mecha/working/working.dm +++ b/code/modules/vehicles/mecha/working/working.dm @@ -20,7 +20,7 @@ /obj/vehicle/sealed/mecha/working/proc/collect_ore() if(!box) return - if(!(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in equipment) /*&& !(locate(/obj/item/mecha_parts/mecha_equipment/orebox_manager) in equipment)*/) + if(!(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in equipment) && !(locate(/obj/item/mecha_parts/mecha_equipment/orebox_manager) in equipment)) return for(var/obj/item/stack/ore/ore in range(1, src)) if(ore.Adjacent(src) && ((get_dir(src, ore) & dir) || ore.loc == loc)) //we can reach it and it's in front of us? grab it! diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index 7cc5ceae0c855..b68c58a21a819 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -25,6 +25,7 @@ power_efficiency = C.rating var/datum/component/riding/D = GetComponent(/datum/component/riding) D.vehicle_move_delay = round(1.5 * delay_multiplier) / speed + D.empable = TRUE /obj/vehicle/ridden/wheelchair/motorized/get_cell() @@ -32,12 +33,10 @@ /obj/vehicle/ridden/wheelchair/motorized/obj_destruction(damage_flag) var/turf/T = get_turf(src) - for(var/atom/movable/A in contents) - A.forceMove(T) - if(isliving(A)) - var/mob/living/L = A - L.update_mobility() - ..() + for(var/c in contents) + var/atom/movable/thing = c + thing.forceMove(T) + return ..() /obj/vehicle/ridden/wheelchair/motorized/driver_move(mob/living/user, direction) if(istype(user)) @@ -53,7 +52,7 @@ canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) return FALSE - if(user.get_num_arms() < arms_required) + if(user.usable_hands < arms_required) to_chat(user, "You don't have enough arms to operate the motor controller!") canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) @@ -130,11 +129,9 @@ new /obj/item/stack/rods(drop_location(), 8) new /obj/item/stack/sheet/iron(drop_location(), 10) var/turf/T = get_turf(src) - for(var/atom/movable/A in contents) - A.forceMove(T) - if(isliving(A)) - var/mob/living/L = A - L.update_mobility() + for(var/c in contents) + var/atom/movable/thing = c + thing.forceMove(T) qdel(src) return TRUE diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 621dc2c51f772..476e1fa2dcafa 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -13,6 +13,7 @@ update_icon() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 7), TEXT_EAST = list(-12, 7), TEXT_WEST = list( 12, 7))) + D.empable = TRUE GLOB.janitor_devices += src if(floorbuffer) AddElement(/datum/element/cleaning) diff --git a/code/modules/vehicles/ridden.dm b/code/modules/vehicles/ridden.dm index 1d01fb781dfad..ce22644b19de0 100644 --- a/code/modules/vehicles/ridden.dm +++ b/code/modules/vehicles/ridden.dm @@ -59,20 +59,18 @@ inserted_key = null return -/obj/vehicle/ridden/driver_move(mob/user, direction) +/obj/vehicle/ridden/driver_move(mob/living/user, direction) if(key_type && !is_key(inserted_key)) if(message_cooldown < world.time) to_chat(user, "[src] has no key inserted!") message_cooldown = world.time + 5 SECONDS return FALSE if(legs_required) - var/how_many_legs = user.get_num_legs() - if(how_many_legs < legs_required) - to_chat(user, "You can't seem to manage that with[how_many_legs ? " your leg[how_many_legs > 1 ? "s" : null]" : "out legs"]...") + if(user.usable_legs < legs_required) + to_chat(user, "You can't seem to manage that with[user.usable_legs ? " your leg[user.usable_legs > 1 ? "s" : null]" : "out legs"]...") return FALSE if(arms_required) - var/how_many_arms = user.get_num_arms() - if(how_many_arms < arms_required) + if(user.usable_hands < arms_required) if(fall_off_if_missing_arms) unbuckle_mob(user, TRUE) user.visible_message("[user] falls off of \the [src].",\ @@ -82,7 +80,7 @@ L.Stun(30) return FALSE - to_chat(user, "You can't seem to manage that with[how_many_arms ? " your arm[how_many_arms > 1 ? "s" : null]" : "out arms"]...") + to_chat(user, "You can't seem to manage that with[user.usable_hands ? " your arm[user.usable_hands > 1 ? "s" : null]" : "out arms"]...") return FALSE var/datum/component/riding/R = GetComponent(/datum/component/riding) R.handle_ride(user, direction) diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index 665400bcdefeb..6a7b97c5b40f3 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -28,7 +28,7 @@ . = ..() for(var/m in buckled_mobs) var/mob/living/buckled_mob = m - if(buckled_mob.get_num_legs(FALSE) > 0) + if(buckled_mob.num_legs > 0) buckled_mob.pixel_y = 5 else buckled_mob.pixel_y = -4 @@ -36,7 +36,7 @@ /obj/vehicle/ridden/scooter/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE) if(!istype(M)) return FALSE - if(M.get_num_legs() < legs_required && M.get_num_arms() < arms_required) + if(M.usable_legs < legs_required && M.usable_hands < arms_required) to_chat(M, "You don't think it'd be a good idea trying to ride \the [src]...") return FALSE return ..() @@ -77,7 +77,7 @@ QDEL_NULL(sparks) . = ..() -/obj/vehicle/ridden/scooter/skateboard/relaymove() +/obj/vehicle/ridden/scooter/skateboard/relaymove(mob/living/user, direction) if (grinding || world.time < next_crash) return FALSE return ..() diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm index 4d2a4f5178421..0dc23070ea4b6 100644 --- a/code/modules/vehicles/secway.dm +++ b/code/modules/vehicles/secway.dm @@ -12,6 +12,7 @@ . = ..() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.vehicle_move_delay = 1.5 + D.empable = TRUE D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 4), TEXT_EAST = list(0, 4), TEXT_WEST = list( 0, 4))) /obj/vehicle/ridden/secway/obj_break() diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 5ff32254a062a..abd6ec9dc7787 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -40,7 +40,7 @@ /obj/vehicle/ridden/wheelchair/driver_move(mob/living/user, direction) if(istype(user)) - if(canmove && (user.get_num_arms() < arms_required)) + if(canmove && (user.usable_hands < arms_required)) to_chat(user, "You don't have enough arms to operate the wheels!") canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) @@ -52,7 +52,7 @@ var/datum/component/riding/D = GetComponent(/datum/component/riding) //1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the wheelchair that gets divided by how many arms they have //if that made no sense this simply makes the wheelchair speed change along with movement speed delay - D.vehicle_move_delay = round(1.5 * delay_multiplier) / clamp(user.get_num_arms(), arms_required, 2) + D.vehicle_move_delay = round(1.5 * delay_multiplier) / clamp(user.usable_hands, 1, 2) /obj/vehicle/ridden/wheelchair/Moved() . = ..() @@ -112,5 +112,5 @@ /obj/vehicle/ridden/wheelchair/the_whip/driver_move(mob/living/user, direction) if(istype(user)) var/datum/component/riding/D = GetComponent(/datum/component/riding) - D.vehicle_move_delay = round(1.5 * 6.7) / user.get_num_arms() + D.vehicle_move_delay = round(1.5 * 6.7) / max(user.usable_hands, 1) return ..() diff --git a/code/modules/wiremod/core/component_printer.dm b/code/modules/wiremod/core/component_printer.dm index 3fbe7153ad526..3495bb2a7b839 100644 --- a/code/modules/wiremod/core/component_printer.dm +++ b/code/modules/wiremod/core/component_printer.dm @@ -6,7 +6,7 @@ circuit = /obj/item/circuitboard/machine/component_printer remote_materials = TRUE - auto_link = TRUE + auto_link = FALSE can_sync = TRUE //Quick. @@ -16,8 +16,7 @@ categories = WIREMODE_CATEGORIES -/obj/machinery/component_printer/crowbar_act(mob/living/user, obj/item/tool) - +/obj/machinery/modular_fabricator/component_printer/crowbar_act(mob/living/user, obj/item/tool) if(..()) return TRUE return default_deconstruction_crowbar(tool) @@ -27,6 +26,18 @@ return TRUE return default_deconstruction_screwdriver(user, "fab-o", "fab-idle", tool) +/obj/machinery/modular_fabricator/component_printer/AfterMaterialInsert(type_inserted, id_inserted, amount_inserted) + . = ..() + var/datum/material/M = id_inserted + add_overlay("fab-load-[M.name]") + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), "fab-load-[M.name]"), 10) + +/obj/machinery/modular_fabricator/component_printer/set_default_sprite() + cut_overlay("fab-active") + +/obj/machinery/modular_fabricator/component_printer/set_working_sprite() + add_overlay("fab-active") + /obj/item/circuitboard/machine/component_printer name = "\improper Component Printer (Machine Board)" icon_state = "science" @@ -34,7 +45,7 @@ req_components = list( /obj/item/stock_parts/matter_bin = 2, /obj/item/stock_parts/manipulator = 2, - /obj/item/reagent_containers/glass/beaker = 2, + /obj/item/reagent_containers/glass/beaker = 2, //this doesn't make any sense, yet i wasn't allowed to fix it. ) /// Module duplicator, allows you to save and recreate module components. diff --git a/code/modules/wiremod/shell/compact_remote.dm b/code/modules/wiremod/shell/compact_remote.dm index 83deaa989204c..b1565ee2b45d8 100644 --- a/code/modules/wiremod/shell/compact_remote.dm +++ b/code/modules/wiremod/shell/compact_remote.dm @@ -5,15 +5,16 @@ */ /obj/item/compact_remote name = "compact remote" + desc = "A smaller handheld device with one big button." icon = 'icons/obj/wiremod.dmi' icon_state = "setup_small_simple" item_state = "electronic" - w_class = WEIGHT_CLASS_SMALL + w_class = WEIGHT_CLASS_TINY //worn_icon_state = "electronic" //remember to change it later lol lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_on = FALSE /obj/item/compact_remote/Initialize(mapload) . = ..() diff --git a/code/modules/wiremod/shell/controller.dm b/code/modules/wiremod/shell/controller.dm index 024039e0795fd..c0a2ea48d794c 100644 --- a/code/modules/wiremod/shell/controller.dm +++ b/code/modules/wiremod/shell/controller.dm @@ -6,14 +6,16 @@ */ /obj/item/controller name = "controller" + desc = "A handheld device with three buttons." icon = 'icons/obj/wiremod.dmi' icon_state = "setup_small_calc" item_state = "electronic" + w_class = WEIGHT_CLASS_SMALL //worn_icon_state = "electronic" //remember to change it lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - - light_system = MOVABLE_LIGHT + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_on = FALSE /obj/item/controller/Initialize(mapload) . = ..() @@ -23,30 +25,32 @@ /obj/item/circuit_component/controller display_name = "Controller" - desc = "Used to receive inputs from the controller shell. Use the shell in hand to trigger the output signal. Alt-click for the alternate signal. Right click for the extra signal." + desc = "Used to receive inputs from the controller shell. Use the shell in hand to trigger the first signal. Alt-click for the second signal. CTRL-click for the thrid signal." /// The three separate buttons that are called in attack_hand on the shell. var/datum/port/output/signal var/datum/port/output/alt - var/datum/port/output/right + var/datum/port/output/ctrl /// The entity output var/datum/port/output/entity /obj/item/circuit_component/controller/populate_ports() entity = add_output_port("User", PORT_TYPE_ATOM) - signal = add_output_port("Signal", PORT_TYPE_SIGNAL) - alt = add_output_port("Alternate Signal", PORT_TYPE_SIGNAL) - right = add_output_port("Extra Signal", PORT_TYPE_SIGNAL) + signal = add_output_port("First Signal", PORT_TYPE_SIGNAL) + alt = add_output_port("Second Signal", PORT_TYPE_SIGNAL) + ctrl = add_output_port("Third Signal", PORT_TYPE_SIGNAL) /obj/item/circuit_component/controller/register_shell(atom/movable/shell) RegisterSignal(shell, COMSIG_ITEM_ATTACK_SELF, PROC_REF(send_trigger)) RegisterSignal(shell, COMSIG_CLICK_ALT, PROC_REF(send_alternate_signal)) + RegisterSignal(shell, COMSIG_CLICK_CTRL, PROC_REF(send_ctrl_signal)) /obj/item/circuit_component/controller/unregister_shell(atom/movable/shell) UnregisterSignal(shell, list( COMSIG_ITEM_ATTACK_SELF, COMSIG_CLICK_ALT, + COMSIG_CLICK_CTRL, )) /** @@ -56,7 +60,7 @@ SIGNAL_HANDLER if(!user.Adjacent(source)) return - source.balloon_alert(user, "Clicked the primary button.") + source.balloon_alert(user, "Clicked the first button.") playsound(source, get_sfx("terminal_type"), 25, FALSE) entity.set_output(user) signal.set_output(COMPONENT_SIGNAL) @@ -68,20 +72,20 @@ SIGNAL_HANDLER if(!user.Adjacent(source)) return - source.balloon_alert(user, "Clicked the alternate button.") + source.balloon_alert(user, "Clicked the second button.") playsound(source, get_sfx("terminal_type"), 25, FALSE) entity.set_output(user) alt.set_output(COMPONENT_SIGNAL) return COMPONENT_INTERCEPT_ALT /** - * Called when the shell item is right-clicked in active hand + * Called when the shell item is ctrl-clicked in active hand */ -/obj/item/circuit_component/controller/proc/send_right_signal(atom/source, mob/user) +/obj/item/circuit_component/controller/proc/send_ctrl_signal(atom/source, mob/user) SIGNAL_HANDLER if(!user.Adjacent(source)) return - source.balloon_alert(user, "Clicked the extra button.") + source.balloon_alert(user, "Clicked the third button.") playsound(source, get_sfx("terminal_type"), 25, FALSE) entity.set_output(user) - right.set_output(COMPONENT_SIGNAL) + ctrl.set_output(COMPONENT_SIGNAL) diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm index 4e0b3bfb24bb1..b4c4b6df10751 100644 --- a/code/modules/wiremod/shell/drone.dm +++ b/code/modules/wiremod/shell/drone.dm @@ -6,9 +6,9 @@ /mob/living/circuit_drone name = "drone" icon = 'icons/obj/wiremod.dmi' - icon_state = "setup_medium_med" - - light_system = MOVABLE_LIGHT + icon_state = "setup_drone_arms" //RIP setup_medium_med, you were too cute for this world. Maybe some other day they'll find a use for you + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_on = FALSE /mob/living/circuit_drone/Initialize(mapload) . = ..() diff --git a/code/modules/wiremod/shell/scanner.dm b/code/modules/wiremod/shell/scanner.dm index 3017c9aef471a..48cb19e4f56e5 100644 --- a/code/modules/wiremod/shell/scanner.dm +++ b/code/modules/wiremod/shell/scanner.dm @@ -5,22 +5,22 @@ */ /obj/item/wiremod_scanner name = "scanner" + desc = "A handheld device that lets you scan people" icon = 'icons/obj/wiremod.dmi' icon_state = "setup_small" item_state = "electronic" + w_class = WEIGHT_CLASS_SMALL lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - light_system = MOVABLE_LIGHT - light_range = 6 - light_power = 1 + light_system = MOVABLE_LIGHT_DIRECTIONAL light_on = FALSE /obj/item/wiremod_scanner/Initialize(mapload) . = ..() AddComponent(/datum/component/shell, list( new /obj/item/circuit_component/wiremod_scanner() - ), SHELL_CAPACITY_SMALL) + ), SHELL_CAPACITY_MEDIUM) /obj/item/circuit_component/wiremod_scanner display_name = "Scanner" diff --git a/code/modules/wiremod/shell/shell_items.dm b/code/modules/wiremod/shell/shell_items.dm index a2d6ffa578579..7fdb48d5c75ad 100644 --- a/code/modules/wiremod/shell/shell_items.dm +++ b/code/modules/wiremod/shell/shell_items.dm @@ -29,22 +29,30 @@ name = "bot assembly" icon_state = "setup_medium_box-open" shell_to_spawn = /obj/structure/bot + w_class = WEIGHT_CLASS_NORMAL /obj/item/shell/money_bot name = "money bot assembly" icon_state = "setup_large-open" shell_to_spawn = /obj/structure/money_bot + w_class = WEIGHT_CLASS_NORMAL /obj/item/shell/drone name = "drone assembly" - icon_state = "setup_medium_med-open" + icon_state = "setup_drone_arms-open" shell_to_spawn = /mob/living/circuit_drone + w_class = WEIGHT_CLASS_NORMAL // you should be able to fit these in your back pack /obj/item/shell/server name = "server assembly" icon_state = "setup_stationary-open" shell_to_spawn = /obj/structure/server - screw_delay = 10 SECONDS + screw_delay = 6 SECONDS + w_class = WEIGHT_CLASS_BULKY + +/obj/item/shell/server/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, require_twohands=TRUE) /obj/item/shell/airlock name = "circuit airlock assembly" @@ -52,14 +60,39 @@ icon_state = "construction" shell_to_spawn = /obj/machinery/door/airlock/shell screw_delay = 10 SECONDS + w_class = WEIGHT_CLASS_GIGANTIC + +/obj/item/shell/airlock/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, require_twohands=TRUE) // that you even are allowed to carry around an airlock frame is weird. /obj/item/shell/bci name = "brain-computer interface assembly" icon_state = "bci-open" shell_to_spawn = /obj/item/organ/cyberimp/bci + w_class = WEIGHT_CLASS_TINY /obj/item/shell/scanner_gate name = "scanner gate assembly" icon = 'icons/obj/machines/scangate.dmi' icon_state = "scangate" shell_to_spawn = /obj/structure/scanner_gate_shell + w_class = WEIGHT_CLASS_LARGE + +/obj/item/shell/controller + name = "controller assembly" + icon_state = "setup_small_calc-open" + shell_to_spawn = /obj/item/controller + w_class = WEIGHT_CLASS_SMALL + +/obj/item/shell/compact_remote + name = "compact remote assembly" + icon_state = "setup_small_simple-open" + shell_to_spawn = /obj/item/compact_remote + w_class = WEIGHT_CLASS_TINY + +/obj/item/shell/wiremod_scanner + name = "scanner assembly" + icon_state = "setup_small-open" + shell_to_spawn = /obj/item/wiremod_scanner + w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/xenoarchaeology/traits/xenoartifact_malfunctions.dm b/code/modules/xenoarchaeology/traits/xenoartifact_malfunctions.dm index 9834d24c07c9c..8c9847a3b6a27 100644 --- a/code/modules/xenoarchaeology/traits/xenoartifact_malfunctions.dm +++ b/code/modules/xenoarchaeology/traits/xenoartifact_malfunctions.dm @@ -189,14 +189,12 @@ mob_biotypes = list(MOB_ORGANIC, MOB_HUMANOID) speak_chance = 0 turns_per_move = 5 - response_help = "pokes" - response_disarm = "shoves" - response_harm = "hits" speed = 0 maxHealth = 10 health = 10 melee_damage = 5 - attacktext = "punches" + attack_verb_continuous = "punches" + attack_verb_simple = "punch" attack_sound = 'sound/weapons/punch1.ogg' a_intent = INTENT_HARM atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/xenoarchaeology/traits/xenoartifact_minors.dm b/code/modules/xenoarchaeology/traits/xenoartifact_minors.dm index 4c556a919ea81..72e6e12c13f01 100644 --- a/code/modules/xenoarchaeology/traits/xenoartifact_minors.dm +++ b/code/modules/xenoarchaeology/traits/xenoartifact_minors.dm @@ -83,7 +83,8 @@ X.sharpness = IS_SHARP_ACCURATE X.bleed_force = BLEED_CUT X.force = X.charge_req*0.12 - X.attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "tore", "ripped", "diced", "cut") + X.attack_verb_continuous = list("cleaves", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts") + X.attack_verb_simple = list("cleave", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut") X.attack_weight = 2 X.armour_penetration = 5 @@ -223,12 +224,12 @@ /datum/xenoartifact_trait/minor/delicate/on_init(obj/item/xenoartifact/X) X.max_integrity = pick(200, 300, 500, 800, 1000) - X.obj_integrity = X.max_integrity + X.update_integrity(X.max_integrity) X.alpha = X.alpha * 0.55 /datum/xenoartifact_trait/minor/delicate/activate(obj/item/xenoartifact/X, atom/user) - if(X.obj_integrity > 0) - X.obj_integrity -= 100 + if(X.get_integrity() > 0) + X.update_integrity(-100) X.visible_message("The [X.name] cracks!", "The [X.name] cracks!") else X.visible_message("The [X.name] shatters!", "The [X.name] shatters!") diff --git a/html/changelog.html b/html/changelog.html index c4e5135b1db6c..fed0ac601781f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,7 +56,382 @@ -->
    +

    12 August 2024

    +

    rkz, Fikou, Kapu, Ryll/Shaps, ShizCalev updated:

    +
      +
    • repair damaged clothes using cloth or its respective medium.
    • +
    • catastrophically damaged clothes will no longer send active sensors.
    • +
    +

    rkz, Ryll/Shaps, KingofKosmos, Ghommie updated:

    +
      +
    • personalized combat messages. Expect much more "you attack player" than "playername attacks player"
    • +
    + +

    11 August 2024

    +

    Tsar-Salat updated:

    +
      +
    • fix clarke construction
    • +
    + +

    10 August 2024

    +

    Rukofamicom updated:

    +
      +
    • Service pistol has modestly improved stats: 12 shots up from 10, 10% more burn damage, and an extra magazine is now available in all head lockers.
    • +
    • Adjusted service pistol magazine sprite to accommodate increased capacity.
    • +
    • Box of flashbangs has been removed from HoS locker to make room for the extra magazine.
    • +
    +

    rkz, haukeschuemann, Fikou, RealestEstate/ValkyrieSkies, zxaber, MLGTASTICa, InvalidArguement3, updated:

    +
      +
    • clarke mecha. An agile mech that's lavaproof and comes with a built in ore-storage system, but is only above the odysseus in armor rating.
    • +
    • PKA equipment for mechs
    • +
    • new mecha & figurine toys and sprites
    • +
    • Firefighter ripley subtype.
    • +
    • Mech Firefighter armor moved to the Ripley MKII, Fireproof ability moved to Clarke.
    • +
    + +

    09 August 2024

    +

    PowerfulBacon updated:

    +
      +
    • Fixes database queries having unnecessary delays, resulting in the player panel taking a long time to open.
    • +
    +

    TsunamiAnt updated:

    +
      +
    • Changed the vox guide around a bit to make sound effects better sorted
    • +
    • added a new vox chime to enhance vox announcements
    • +
    • added two new vox alarm sounds
    • +
    + +

    08 August 2024

    +

    Pigeonverde322, timothymtorres, TheBonded updated:

    +
      +
    • Improved nightvision code
    • +
    • Mobs can no longer read in the dark unless they have some type of night vision.
    • +
    +

    PowerfulBacon updated:

    +
      +
    • Replaces PTSDs with service pistols, a less-lethal officer's pistol that fires rounds which burn and disable a target simultaneously. It has 10 shots and is reloaded via a magazine that can be recharged.
    • +
    • Fixes weapon rechargers not showing the charge amount of inserted rechargable magazines.
    • +
    +

    SunShine214 updated:

    +
      +
    • Changed repairing other IPC's to have delay.
    • +
    • Fixed repairing an IPC with a welder that is off being possible.
    • +
    +

    kit-katz updated:

    +
      +
    • changed sprites for tritium, plasma, nitrous oxide, water vapor, nitryl, feron and fire
    • +
    +

    mystery3525 updated:

    +
      +
    • AIs can now change their internal camera capture size with "AI Commands" > "Adjust Camera Zoom"
    • +
    • Cyborgs can change their internal camera capture size in the Actions Menu on their internal PDA app
    • +
    +

    rkz, Johnfulpwillard updated:

    +
      +
    • removes an unused armor flag. Not player-facing
    • +
    + +

    07 August 2024

    +

    DarnTheMarn updated:

    +
      +
    • Moved the security techfab to the warden office
    • +
    • Security techfab is now inaccessible to security officers and detectives
    • +
    +

    MarkusLarsson421 updated:

    +
      +
    • Fixes cheap lights not burning you
    • +
    +

    mystery3525 updated:

    +
      +
    • A pipe that was on top of another pipe in Fland Xenobio
    • +
    • A runtime with helmet of justice
    • +
    • Micro optimizes airlock access code with boolean short-circuiting
    • +
    +

    rkz, azarak, TemporalOroboros, Rohesie, Couls, ShizCalev, TastyFish updated:

    +
      +
    • Adds directional lighting system in 2024!
    • +
    • adds directional lighting to cyborg lights, flashlights, and gunlights
    • +
    • refactors glow effects to be less terrible. Includes ethereal glow, and also the glowy/antiglowy mutation.
    • +
    + +

    06 August 2024

    +

    EdgeLordExe ported and fixed by mystery3525 with help from BriggsIDP updated:

    +
      +
    • Added new smart pipes mapping helper
    • +
    • Added new smart pipes air supply/scrubbers pipe helper
    • +
    • Added sanity checks for the pipes mapping helper
    • +
    • Updated Runtimestation to use the supply_scrubbers helper
    • +
    • Fixed found issues relating to smart pipes
    • +
    +

    EvilDragonfiend updated:

    +
      +
    • Added a tip to sillytips.txt: There is no supermatter SILVER. There is only supermatter SLIVER.
    • +
    +

    Tsar-Salat updated:

    +
      +
    • Reverts grayscaled blood and species specific colors for them. They will return at a later date
    • +
    + +

    05 August 2024

    +

    Aramix updated:

    +
      +
    • Monkies no longer teleport at will when trying to kill you
    • +
    +

    Markus Larsson updated:

    +
      +
    • Fixed insuls not properly spawning in Engineering lockers.
    • +
    +

    MarkusLarsson421 updated:

    +
      +
    • Added aft security and aft science area.
    • +
    +

    XeonMations updated:

    +
      +
    • Humans are now Indomitable.
    • +
    + +

    04 August 2024

    +

    EvilDragonfiend updated:

    +
      +
    • debug orb of the debug outfit now allows you to spacewalk
    • +
    • Pseudo-world diver debugging item - that makes a new z level then loads a desired map template onto the z.
    • +
    • smooth live debugging objects (wall, table, turf)
    • +
    • a new mapping helper - Spaceproof directional windows, Group directional windows
    • +
    • a new 10x10 maint room. You can stare at space as much as you want... for some reason there are items stuck in space??
    • +
    • a new turf proc /turf/proc/get_nearby_turf_by_dir(direction). It returns a turf from the turf that is next to from the given direction.
    • +
    • minor change to map template list code
    • +
    +

    Geatish updated:

    +
      +
    • Removed the deepthroat eatverb from the raw sausage
    • +
    +

    PowerfulBacon updated:

    +
      +
    • Chemical factories now use power instead of matter.
    • +
    • Removes pill presses and patch dispensors.
    • +
    • Bottle dispensors no longer produce glass bottles out of nowhere, they now require a bottle to fill.
    • +
    • The plumbing RCD can now print bottle fillers.
    • +
    • Security winter coat is now stronger than the armour vest for energy, laser, heat, and stamina but weaker against melee and projectiles.
    • +
    • Security corporate jacket slowdown reduced.
    • +
    • Security heavy armour vest is now stronger than the armour vest across the board, but has more slowdown.
    • +
    • Exercising now provides temporary stun resistance.
    • +
    • Reverts medical scanners showing missing organs
    • +
    +

    XeonMations updated:

    +
      +
    • Medical scanners now show missing organs.
    • +
    +

    rkz, Gandalf2k15, LemonInTheDark, LT3, MrMelbert updated:

    +
      +
    • Converts security levels into a subystem. Much more easily debugged and cleaner.
    • +
    • Datumizes individual levels to easily be added or removed
    • +
    +

    rkz, Yenwodyah updated:

    +
      +
    • cleaned up buckling checks, reducing edge cases. Documents buckling code.
    • +
    • removes snowflake code for cyborg buckling. Cyborgs can instantly buckle people on the same tile as them(like obj buckling), but now have the same time to buckle people to things as any other buckling object if buckled from an adjacent tile
    • +
    +

    rkz, mothblocks, ZephyrTFA, kubisopplay updated:

    +
      +
    • Dead/Catatonic mobs cannot have a split personality anymore.
    • +
    • Resolves issues related to split personality shitcode sending clients to lobby.
    • +
    • updates verbs on login to prevent weird inheritance of verbs
    • +
    +

    rkz, thgvr, Fikou updated:

    +
      +
    • Greyscales all blood decals.
    • +
    • Species now all have different blood colors, which will show in the footprints, blood trails, and damage overlays when they get hurt
    • +
    • Gave some species their own bloodtype
    • +
    • new footstep sprites
    • +
    + +

    03 August 2024

    +

    mystery3525 updated:

    +
      +
    • Oversight which made infrequent runtimes with mining mechs
    • +
    • Mining mechs should actually spawn 25% of the time instead of 16% of the time.
    • +
    +

    rkz, CakeQ, MistakeNot4892 updated:

    +
      +
    • adds several new decal designs from Baystation
    • +
    + +

    02 August 2024

    +

    PowerfulBacon updated:

    +
      +
    • Fixes issues with time freezing
    • +
    + +

    01 August 2024

    +

    Aramix updated:

    +
      +
    • Cerulean Pylons will now make a best effort attempt at spawning 3 polycrystals instead of desperately trying to fulfill that as a guarantee
    • +
    +

    DrDuckedGoose updated:

    +
      +
    • Switch checker tiles back to their 'intended' sprite
    • +
    +

    XeonMations updated:

    +
      +
    • Electric vehicles such as the janicart, secway, electric wheelchair and ATV now are affected by EMPs
    • +
    + +

    31 July 2024

    +

    Tsar-Salat updated:

    +
      +
    • fix surgery initiation failure
    • +
    • fixes martial arts lying state issues
    • +
    • fixes plastic flaps being completely dense, you can now move under them again
    • +
    + +

    30 July 2024

    +

    EvilDragonfiend updated:

    +
      +
    • lighting object sprites now have 4 dir states.
    • +
    +

    Geatish updated:

    +
      +
    • Gave each shell a size, handheld shells are small (expect for the compact remote which is tiny) the rest are normal size or larger.
    • +
    • You can now press the third button on the controller shell by CTRL-clicking.
    • +
    • The component printer can now be deconstructed and its printing animation now works, it also no longer auto links to the silo.
    • +
    • Printing the compact remote, controller and scanner now gives you the unscrewed variant.
    • +
    • The drone shell now uses the correct sprite
    • +
    • The server shell now takes only 6 seconds to screw together, rather than 10
    • +
    +

    MarkusLarsson421 updated:

    +
      +
    • Removed the skeleton ghost spawn in dorm maintenance.
    • +
    +

    PowerfulBacon updated:

    +
      +
    • Made hacking easier across the board by lowering the security areas of some areas and revealing more wires.
    • +
    • Cutting wires on airlocks is no longer guaranteed to shock you.
    • +
    +

    Tsar-Salat updated:

    +
      +
    • fix boxstation autoname camera directionals
    • +
    +

    Varo updated:

    +
      +
    • Clown and mimes now appear in the correct department (service) in the job preferences menu
    • +
    +

    XeonMations updated:

    +
      +
    • Fixed metastation's brig shuttle area not having an exit for prisoners.
    • +
    +

    rkz, Thunder12345 updated:

    +
      +
    • adds CTF vests, replacing CTF Hardsuits. Same damage reduction & stats.
    • +
    • Any item of clothing can now be given an energy shield, not only hardsuits
    • +
    +

    rkz, nightred, Couls. RaveRadbury, Timberpoes, WarlockD, ArcaneMusic, MrMelbert updated:

    +
      +
    • adds temperature regulators to space suits. These are heaters attached to the suit dependent on a battery life. Not significant for humans, but helpful for species that do not do well against the cold.
    • +
    • hardsuit headlights are repairable after being hit by a nightmare's blade. Simply use a lightbulb on a hardsuit helmet
    • +
    • breath air exhaled from carbons lungs matches the mobs bodytemperature
    • +
    • Carbon hugging is now functional. It previously had the giver of the hug GAIN heat when hugging a colder person, instead of the other way around. Hugs were harmful!
    • +
    +

    rkz, ninjanomnom updated:

    +
      +
    • limits calls or changes to obj_integrity var, all must be made through getters or setters
    • +
    +

    rkz, rohesie, tralezab, dwasint updated:

    +
      +
    • You can now see if a limb is disabled through checkhealth (HUD, healthanalyzer, ghostscan)
    • +
    • being limbless while flying will never apply the limbless slowdown (because you are movin just fine, right?)
    • +
    • minor stamina fixes in the way it is applied & healed
    • +
    • kills a lot of unecessary limb updating
    • +
    • makes Limb removal & disabling event-based. Extricate it from update_mobility
    • +
    + +

    29 July 2024

    +

    spockye updated:

    +
      +
    • adds missing wall to metastation
    • +
    + +

    28 July 2024

    +

    Spockye updated:

    +
      +
    • removed glass floor from corgstation medical
    • +
    + +

    27 July 2024

    +

    Spockye updated:

    +
      +
    • Replaces current warning cone sprite, with a newer one
    • +
    +

    Spockye, TheVekter, INFRARED_BARON, PigeonVerde updated:

    +
      +
    • Ports the shark plushie
    • +
    + +

    26 July 2024

    +

    Markus Larsson updated:

    +
      +
    • fixed AI having Syndicate and CentCom comms.
    • +
    +

    XeonMations updated:

    +
      +
    • Made the space dragon's gust ability no longer hit people through walls.
    • +
    • Also fixed a runtime happening with the space dragon's gust ability.
    • +
    • Added the ability for people to make different types of lockers
    • +
    + +

    25 July 2024

    +

    XeonMations updated:

    +
      +
    • Fixed space heaters making power cells from the void.
    • +
    + +

    24 July 2024

    +

    Rukofamicom updated:

    +
      +
    • Reverted most recent pirate changes so that a proper discussion can take place before rushing a major balance change to pirates.
    • +
    + +

    23 July 2024

    +

    Geatish updated:

    +
      +
    • Removed glass floor from the designated atmos work area and rerouted undertile distro piping around it.
    • +
    • Rad station atmos storage shutters now work. Tiles in space next to gas miners have been removed. Plasma windows in gas chambers no longer spawn with N2. Also removed extra APC in xenobio
    • +
    +

    rkz, spockye updated:

    +
      +
    • Adds some tile variety to MetaStation Security
    • +
    +

    spockye updated:

    +
      +
    • fixed floating cameras on the exploration shuttle
    • +
    + +

    22 July 2024

    +

    ClownMoff updated:

    +
      +
    • Fixes the bananium sword causing bleed.
    • +
    +

    Spockye updated:

    +
      +
    • rebalanced the pirate shuttle
    • +
    • some misc decal changes for the pirate shuttle
    • +
    + +

    19 July 2024

    +

    Aramix updated:

    +
      +
    • added a new 'divable' var in closets controlling interaction with skittish trait
    • +
    • supply pods are now not divable
    • +
    +

    18 July 2024

    +

    Hardly3D updated:

    +
      +
    • Added new hairstyle: Short Bangs 2
    • +
    +

    ToasterBan updated:

    +
      +
    • stunbatons only shove on disarm intent
    • +

    Tsar-Salat updated:

    • placing lightswitch frame uses the correct pixelshift
    • @@ -472,175 +847,6 @@

      rkz, MrMelbert(Lizard Variants), Krysonism(New sprites), Thun
    • new lizard plushy variants!
    • Find a few new lizard plushy hiding spots, because they now exist in the maps! Oppose the moths!
    - -

    09 June 2024

    -

    PowerfulBacon updated:

    -
      -
    • Removes the unintuitive and inconsistent interaction with PDA and firelock.
    • -
    - -

    07 June 2024

    -

    TsunamiAnt updated:

    -
      -
    • no pool overlay on ocean water
    • -
    • deep water is now called deep water
    • -
    -

    ro5490 updated:

    -
      -
    • Added Final Darkness rite to the Shadow-Sect
    • -
    • Faithsworn mob
    • -
    - -

    04 June 2024

    -

    EvilDragonfiend updated:

    -
      -
    • _basemap.dm has FORCE_MAP define options for debug
    • -
    -

    PowerfulBacon updated:

    -
      -
    • Increases weapon slowdown for heavy weapons.
    • -
    • Fixes incorrect message on brains and heads.
    • -
    • Fixes z-clear not announcing brains that have someone inside their brain instead of ghosted.
    • -
    -

    ro5490 updated:

    -
      -
    • fixed openspace tiles being replaced by a nature orb
    • -
    - -

    03 June 2024

    -

    Geatish updated:

    -
      -
    • You can now choose cigars and DromedaryCo cigs in the smoker trait option
    • -
    -

    HowToLoLu updated:

    -
      -
    • The autolathe shock wire reacts to cutting the wire once more
    • -
    - -

    01 June 2024

    -

    Gilgaxx updated:

    -
      -
    • fixed even MORE broken arcade machines
    • -
    - -

    30 May 2024

    -

    PowerfulBacon updated:

    -
      -
    • Fix cult construct creation spawning copies of the construct.
    • -
    - -

    28 May 2024

    -

    PowerfulBacon updated:

    -
      -
    • Fixes shards being deleted if you cancel their conversion into a construct.
    • -
    -

    XeonMations updated:

    -
      -
    • Changed telecommunications on all maps to have HT piping.
    • -
    - -

    27 May 2024

    -

    HowToLoLu updated:

    -
      -
    • Object spawners properly return a QDEL_HINT now.
    • -
    - -

    26 May 2024

    -

    PowerfulBacon updated:

    -
      -
    • Fixes loading a gun from an ammo box multiple times resulting in the gun being unable to fire.
    • -
    - -

    25 May 2024

    -

    Bokkiewokkie updated:

    -
      -
    • Made it possible to disassemble pool ladders with wrenches and possible to build them with rods.
    • -
    • Fixed pool ladders being unanchored.
    • -
    - -

    24 May 2024

    -

    EvilDragonfiend updated:

    -
      -
    • random maint spawner will spawn items correctly
    • -
    -

    PowerfulBacon updated:

    -
      -
    • Immovable rods will no longer space the station.
    • -
    -

    rkz updated:

    -
      -
    • fix clockwork armor error worn_states. No more pink drip
    • -
    • bows arent invisible anymore. The code is still ugly, sorry
    • -
    • Ion rifles have their emissivity back
    • -
    • added a bunch of error icons to clothing icon files. Less invisible stuff, more people wearing ugly stuff for them to report so it can be fixed <3
    • -
    -

    rkz, Rohesie updated:

    -
      -
    • Made actions restraining/handcuffing a carbon into traits. Split into two.
    • -
    - -

    22 May 2024

    -

    Geatish updated:

    -
      -
    • Added the alarm app on the atmos, engineer and CE job disks
    • -
    -

    HowToLoLu updated:

    -
      -
    • Plasmamen helmets count as an internals mask once again
    • -
    - -

    21 May 2024

    -

    celotajstg updated:

    -
      -
    • added a check to confirm adminheals
    • -
    • tguified a few admin topic procs
    • -
    -

    rkz, TiviPlus, Fikou, Timberpoes, necromanceranne, InvalidArgument3, zxaber, KathrinBailey updated:

    -
      -
    • Cleaned up mech door bumping
    • -
    • mechs no longer explode during destruction (inherited from cars lmao)
    • -
    • AIs in mechs can use mech tools again
    • -
    • cleaned up mining mech tools
    • -
    • AI intellicard checks work on mechs again by checking occupants correctly
    • -
    • Critical fix with mining mech drills
    • -
    • drills now calculate gib damage by checking the mobs health, rather than assuming every mob's health is 200
    • -
    • Xenos now do claw damage on mechs based on their actual arm damage, rather than a base hardcoded 15
    • -
    - -

    19 May 2024

    -

    EvilDragonfiend updated:

    -
      -
    • Jobs will be told when a job is not available to play in a shift.
    • -
    • CentCom console can manage all jobs now. You can prioritize Captain role.
    • -
    • fixed some job code glitches
    • -
    -

    MatiAvanti updated:

    -
      -
    • changed LOBBY_COUNTDOWN from 180 to 300 seconds
    • -
    - -

    18 May 2024

    -

    Gilgaxx updated:

    -
      -
    • Fixed the speed and fireproof slimepotions
    • -
    -

    anturK, rkz updated:

    -
      -
    • inverted CanReach to default to blocking
    • -
    -

    rkz, Tiviplus, msgerbs, Ghommie, Fikou, necromanceranne updated:

    -
      -
    • mechs are now a vehicle subtype, instead of Winter Wonderland snowflake code
    • -
    • mechs no longer need to use middle click as a janky override to utilize their equipment.
    • -
    • fixed bugs with inconsistent mech equipment balloons/to_chat
    • -
    • fixed mechs with ballistics shooting themselves while moving
    • -
    - -

    17 May 2024

    -

    BeeLover updated:

    -
      -
    • fixes a typo when trying to go on land with a lava boat
    • -
    GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 2f27e8a329c5d..7311bdc21479f 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -43627,6 +43627,10 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Flashers, and Newscasters have been made consistent between roundstart and constructed instances. 2024-07-18: + Hardly3D: + - rscadd: 'Added new hairstyle: Short Bangs 2' + ToasterBan: + - tweak: stunbatons only shove on disarm intent Tsar-Salat: - bugfix: placing lightswitch frame uses the correct pixelshift - bugfix: weird camera thing @@ -43639,3 +43643,272 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. with Discovery Scanners and examine can reveal them. - bugfix: fixed a few runtimes regarding Mimites - code_imp: Threshold Define, and add destroy for Mimites +2024-07-19: + Aramix: + - code_imp: added a new 'divable' var in closets controlling interaction with skittish + trait + - tweak: supply pods are now not divable +2024-07-22: + ClownMoff: + - bugfix: Fixes the bananium sword causing bleed. + Spockye: + - balance: rebalanced the pirate shuttle + - bugfix: some misc decal changes for the pirate shuttle +2024-07-23: + Geatish: + - tweak: Removed glass floor from the designated atmos work area and rerouted undertile + distro piping around it. + - bugfix: Rad station atmos storage shutters now work. Tiles in space next to gas + miners have been removed. Plasma windows in gas chambers no longer spawn with + N2. Also removed extra APC in xenobio + rkz, spockye: + - rscadd: Adds some tile variety to MetaStation Security + spockye: + - bugfix: fixed floating cameras on the exploration shuttle +2024-07-24: + Rukofamicom: + - rscdel: Reverted most recent pirate changes so that a proper discussion can take + place before rushing a major balance change to pirates. +2024-07-25: + XeonMations: + - bugfix: Fixed space heaters making power cells from the void. +2024-07-26: + Markus Larsson: + - bugfix: fixed AI having Syndicate and CentCom comms. + XeonMations: + - balance: Made the space dragon's gust ability no longer hit people through walls. + - bugfix: Also fixed a runtime happening with the space dragon's gust ability. + - rscadd: Added the ability for people to make different types of lockers +2024-07-27: + 'Spockye ': + - rscadd: Replaces current warning cone sprite, with a newer one + Spockye, TheVekter, INFRARED_BARON, PigeonVerde: + - rscadd: Ports the shark plushie +2024-07-28: + Spockye: + - bugfix: removed glass floor from corgstation medical +2024-07-29: + spockye: + - bugfix: adds missing wall to metastation +2024-07-30: + EvilDragonfiend: + - imageadd: lighting object sprites now have 4 dir states. + Geatish: + - balance: Gave each shell a size, handheld shells are small (expect for the compact + remote which is tiny) the rest are normal size or larger. + - bugfix: You can now press the third button on the controller shell by CTRL-clicking. + - bugfix: The component printer can now be deconstructed and its printing animation + now works, it also no longer auto links to the silo. + - bugfix: Printing the compact remote, controller and scanner now gives you the + unscrewed variant. + - bugfix: The drone shell now uses the correct sprite + - balance: The server shell now takes only 6 seconds to screw together, rather than + 10 + MarkusLarsson421: + - bugfix: Removed the skeleton ghost spawn in dorm maintenance. + PowerfulBacon: + - balance: Made hacking easier across the board by lowering the security areas of + some areas and revealing more wires. + - balance: Cutting wires on airlocks is no longer guaranteed to shock you. + Tsar-Salat: + - bugfix: fix boxstation autoname camera directionals + Varo: + - bugfix: Clown and mimes now appear in the correct department (service) in the + job preferences menu + XeonMations: + - bugfix: Fixed metastation's brig shuttle area not having an exit for prisoners. + rkz, Thunder12345: + - rscadd: adds CTF vests, replacing CTF Hardsuits. Same damage reduction & stats. + - code_imp: Any item of clothing can now be given an energy shield, not only hardsuits + rkz, nightred, Couls. RaveRadbury, Timberpoes, WarlockD, ArcaneMusic, MrMelbert: + - rscadd: adds temperature regulators to space suits. These are heaters attached + to the suit dependent on a battery life. Not significant for humans, but helpful + for species that do not do well against the cold. + - rscadd: hardsuit headlights are repairable after being hit by a nightmare's blade. + Simply use a lightbulb on a hardsuit helmet + - bugfix: breath air exhaled from carbons lungs matches the mobs bodytemperature + - bugfix: Carbon hugging is now functional. It previously had the giver of the hug + GAIN heat when hugging a colder person, instead of the other way around. Hugs + were harmful! + rkz, ninjanomnom: + - code_imp: limits calls or changes to obj_integrity var, all must be made through + getters or setters + rkz, rohesie, tralezab, dwasint: + - rscadd: You can now see if a limb is disabled through checkhealth (HUD, healthanalyzer, + ghostscan) + - tweak: being limbless while flying will never apply the limbless slowdown (because + you are movin just fine, right?) + - bugfix: minor stamina fixes in the way it is applied & healed + - code_imp: kills a lot of unecessary limb updating + - code_imp: makes Limb removal & disabling event-based. Extricate it from update_mobility +2024-07-31: + Tsar-Salat: + - bugfix: fix surgery initiation failure + - bugfix: fixes martial arts lying state issues + - bugfix: fixes plastic flaps being completely dense, you can now move under them + again +2024-08-01: + Aramix: + - tweak: Cerulean Pylons will now make a best effort attempt at spawning 3 polycrystals + instead of desperately trying to fulfill that as a guarantee + DrDuckedGoose: + - bugfix: Switch checker tiles back to their 'intended' sprite + XeonMations: + - balance: Electric vehicles such as the janicart, secway, electric wheelchair and + ATV now are affected by EMPs +2024-08-02: + PowerfulBacon: + - bugfix: Fixes issues with time freezing +2024-08-03: + mystery3525: + - bugfix: Oversight which made infrequent runtimes with mining mechs + - bugfix: Mining mechs should actually spawn 25% of the time instead of 16% of the + time. + rkz, CakeQ, MistakeNot4892: + - rscadd: adds several new decal designs from Baystation +2024-08-04: + EvilDragonfiend: + - rscadd: debug orb of the debug outfit now allows you to spacewalk + - rscadd: Pseudo-world diver debugging item - that makes a new z level then loads + a desired map template onto the z. + - rscadd: smooth live debugging objects (wall, table, turf) + - rscadd: a new mapping helper - Spaceproof directional windows, Group directional + windows + - rscadd: a new 10x10 maint room. You can stare at space as much as you want... + for some reason there are items stuck in space?? + - rscadd: a new turf proc /turf/proc/get_nearby_turf_by_dir(direction). It returns + a turf from the turf that is next to from the given direction. + - code_imp: minor change to map template list code + Geatish: + - rscdel: Removed the deepthroat eatverb from the raw sausage + PowerfulBacon: + - balance: Chemical factories now use power instead of matter. + - rscdel: Removes pill presses and patch dispensors. + - tweak: Bottle dispensors no longer produce glass bottles out of nowhere, they + now require a bottle to fill. + - bugfix: The plumbing RCD can now print bottle fillers. + - balance: Security winter coat is now stronger than the armour vest for energy, + laser, heat, and stamina but weaker against melee and projectiles. + - balance: Security corporate jacket slowdown reduced. + - balance: Security heavy armour vest is now stronger than the armour vest across + the board, but has more slowdown. + - balance: Exercising now provides temporary stun resistance. + - rscdel: Reverts medical scanners showing missing organs + XeonMations: + - tweak: Medical scanners now show missing organs. + rkz, Gandalf2k15, LemonInTheDark, LT3, MrMelbert: + - rscadd: Converts security levels into a subystem. Much more easily debugged and + cleaner. + - code_imp: Datumizes individual levels to easily be added or removed + rkz, Yenwodyah: + - code_imp: cleaned up buckling checks, reducing edge cases. Documents buckling + code. + - balance: removes snowflake code for cyborg buckling. Cyborgs can instantly buckle + people on the same tile as them(like obj buckling), but now have the same time + to buckle people to things as any other buckling object if buckled from an adjacent + tile + rkz, mothblocks, ZephyrTFA, kubisopplay: + - tweak: Dead/Catatonic mobs cannot have a split personality anymore. + - bugfix: Resolves issues related to split personality shitcode sending clients + to lobby. + - bugfix: updates verbs on login to prevent weird inheritance of verbs + rkz, thgvr, Fikou: + - rscadd: Greyscales all blood decals. + - rscadd: Species now all have different blood colors, which will show in the footprints, + blood trails, and damage overlays when they get hurt + - rscadd: Gave some species their own bloodtype + - rscadd: new footstep sprites +2024-08-05: + Aramix: + - bugfix: Monkies no longer teleport at will when trying to kill you + Markus Larsson: + - bugfix: Fixed insuls not properly spawning in Engineering lockers. + MarkusLarsson421: + - rscadd: Added aft security and aft science area. + XeonMations: + - rscadd: Humans are now Indomitable. +2024-08-06: + EdgeLordExe ported and fixed by mystery3525 with help from BriggsIDP: + - rscadd: Added new smart pipes mapping helper + - rscadd: Added new smart pipes air supply/scrubbers pipe helper + - rscadd: Added sanity checks for the pipes mapping helper + - rscadd: Updated Runtimestation to use the supply_scrubbers helper + - bugfix: Fixed found issues relating to smart pipes + EvilDragonfiend: + - rscadd: 'Added a tip to sillytips.txt: There is no supermatter SILVER. There is + only supermatter SLIVER.' + Tsar-Salat: + - rscdel: Reverts grayscaled blood and species specific colors for them. They will + return at a later date +2024-08-07: + DarnTheMarn: + - tweak: Moved the security techfab to the warden office + - balance: Security techfab is now inaccessible to security officers and detectives + MarkusLarsson421: + - bugfix: Fixes cheap lights not burning you + mystery3525: + - bugfix: A pipe that was on top of another pipe in Fland Xenobio + - bugfix: A runtime with helmet of justice + - code_imp: Micro optimizes airlock access code with boolean short-circuiting + rkz, azarak, TemporalOroboros, Rohesie, Couls, ShizCalev, TastyFish: + - rscadd: Adds directional lighting system in 2024! + - rscadd: adds directional lighting to cyborg lights, flashlights, and gunlights + - refactor: refactors glow effects to be less terrible. Includes ethereal glow, + and also the glowy/antiglowy mutation. +2024-08-08: + Pigeonverde322, timothymtorres, TheBonded: + - code_imp: Improved nightvision code + - tweak: Mobs can no longer read in the dark unless they have some type of night + vision. + PowerfulBacon: + - balance: Replaces PTSDs with service pistols, a less-lethal officer's pistol that + fires rounds which burn and disable a target simultaneously. It has 10 shots + and is reloaded via a magazine that can be recharged. + - bugfix: Fixes weapon rechargers not showing the charge amount of inserted rechargable + magazines. + SunShine214: + - balance: Changed repairing other IPC's to have delay. + - bugfix: Fixed repairing an IPC with a welder that is off being possible. + kit-katz: + - imageadd: changed sprites for tritium, plasma, nitrous oxide, water vapor, nitryl, + feron and fire + mystery3525: + - rscadd: AIs can now change their internal camera capture size with "AI Commands" + > "Adjust Camera Zoom" + - rscadd: Cyborgs can change their internal camera capture size in the Actions Menu + on their internal PDA app + rkz, Johnfulpwillard: + - code_imp: removes an unused armor flag. Not player-facing +2024-08-09: + PowerfulBacon: + - bugfix: Fixes database queries having unnecessary delays, resulting in the player + panel taking a long time to open. + TsunamiAnt: + - tweak: Changed the vox guide around a bit to make sound effects better sorted + - soundadd: added a new vox chime to enhance vox announcements + - soundadd: added two new vox alarm sounds +2024-08-10: + Rukofamicom: + - balance: 'Service pistol has modestly improved stats: 12 shots up from 10, 10% + more burn damage, and an extra magazine is now available in all head lockers.' + - tweak: Adjusted service pistol magazine sprite to accommodate increased capacity. + - tweak: Box of flashbangs has been removed from HoS locker to make room for the + extra magazine. + 'rkz, haukeschuemann, Fikou, RealestEstate/ValkyrieSkies, zxaber, MLGTASTICa, InvalidArguement3, ': + - rscadd: clarke mecha. An agile mech that's lavaproof and comes with a built in + ore-storage system, but is only above the odysseus in armor rating. + - rscadd: PKA equipment for mechs + - rscadd: new mecha & figurine toys and sprites + - rscdel: Firefighter ripley subtype. + - tweak: Mech Firefighter armor moved to the Ripley MKII, Fireproof ability moved + to Clarke. +2024-08-11: + Tsar-Salat: + - bugfix: fix clarke construction +2024-08-12: + rkz, Fikou, Kapu, Ryll/Shaps, ShizCalev: + - rscadd: repair damaged clothes using cloth or its respective medium. + - balance: catastrophically damaged clothes will no longer send active sensors. + rkz, Ryll/Shaps, KingofKosmos, Ghommie: + - rscadd: personalized combat messages. Expect much more "you attack player" than + "playername attacks player" diff --git a/icons/effects/atmospherics.dmi b/icons/effects/atmospherics.dmi index 6f0542f82b623..17834488a0716 100644 Binary files a/icons/effects/atmospherics.dmi and b/icons/effects/atmospherics.dmi differ diff --git a/icons/effects/fire.dmi b/icons/effects/fire.dmi index cfc7ea9c27daa..d6e6c329b4d5e 100644 Binary files a/icons/effects/fire.dmi and b/icons/effects/fire.dmi differ diff --git a/icons/effects/light_overlays/light_cone.dmi b/icons/effects/light_overlays/light_cone.dmi new file mode 100644 index 0000000000000..75f322a937174 Binary files /dev/null and b/icons/effects/light_overlays/light_cone.dmi differ diff --git a/icons/effects/lighting_object.dmi b/icons/effects/lighting_object.dmi index b7dd2ce32e764..a8156e003b8ff 100644 Binary files a/icons/effects/lighting_object.dmi and b/icons/effects/lighting_object.dmi differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index 08d666a0a614e..ca696ef8b0a46 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/mecha/mech_construct.dmi b/icons/mecha/mech_construct.dmi index 5905ae27e75ce..b4a9342c7eaf0 100644 Binary files a/icons/mecha/mech_construct.dmi and b/icons/mecha/mech_construct.dmi differ diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index dbbd67e40bcfb..8c622243952b5 100644 Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 0cf378e5911f1..b914be8f19ef9 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index d57900467ab2c..ea967bab6981f 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/mob/actions/actions_spacesuit.dmi b/icons/mob/actions/actions_spacesuit.dmi new file mode 100644 index 0000000000000..2b4f8a887bd72 Binary files /dev/null and b/icons/mob/actions/actions_spacesuit.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index c13c65bb55cdf..e9604b401a828 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/head/utility.dmi b/icons/mob/clothing/head/utility.dmi index 281255830913c..e9990abfa1435 100644 Binary files a/icons/mob/clothing/head/utility.dmi and b/icons/mob/clothing/head/utility.dmi differ diff --git a/icons/mob/clothing/suits/ctf.dmi b/icons/mob/clothing/suits/ctf.dmi new file mode 100644 index 0000000000000..5960b5179aa41 Binary files /dev/null and b/icons/mob/clothing/suits/ctf.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index eed8562545c00..214043d7ca891 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/inhands/plushes_lefthand.dmi b/icons/mob/inhands/plushes_lefthand.dmi index 084f2e015e50b..a4169514dd0fc 100644 Binary files a/icons/mob/inhands/plushes_lefthand.dmi and b/icons/mob/inhands/plushes_lefthand.dmi differ diff --git a/icons/mob/inhands/plushes_righthand.dmi b/icons/mob/inhands/plushes_righthand.dmi index e768ac7ade15e..899c63e3f81a0 100644 Binary files a/icons/mob/inhands/plushes_righthand.dmi and b/icons/mob/inhands/plushes_righthand.dmi differ diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index 904168687e79e..b99c973312bd8 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi index 1ead9f6d2309d..35a90fcfd2f99 100644 Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 432f0c748ec0d..8a8488cd2a936 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/clothing/suits/ctf.dmi b/icons/obj/clothing/suits/ctf.dmi new file mode 100644 index 0000000000000..d254504d945ce Binary files /dev/null and b/icons/obj/clothing/suits/ctf.dmi differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 0adb326799e2a..cdcb8e1e6df5a 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index b291db055c324..030339c1c45e9 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index ef41ac5b484ff..401b26af227f9 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/plushes.dmi b/icons/obj/plushes.dmi index 8195aa5e0d4d2..2362941d592a1 100644 Binary files a/icons/obj/plushes.dmi and b/icons/obj/plushes.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 329d7e37f2430..7da9814331871 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 63921dee3fb41..bb73b3e08920f 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/turf/decals.dmi b/icons/turf/decals.dmi index b8f976eec4e75..cad83e5c4dc2d 100644 Binary files a/icons/turf/decals.dmi and b/icons/turf/decals.dmi differ diff --git a/sound/vox_fem/licensing credits.txt b/sound/vox_fem/licensing credits.txt new file mode 100644 index 0000000000000..6fff5d90fce73 --- /dev/null +++ b/sound/vox_fem/licensing credits.txt @@ -0,0 +1,13 @@ +//for crossed <3 + +Attributions: + +"soundalarm1" was titled "Permission to panic - Sound Effect (mp3) ID:23624" by user "freesman" on: +https://directory.audio/sound-effects/alarms/23624-permission-to-panic +It was licensed as "Attribution" +It was changed to feature only a single alarm cycle with added reverb and normalizing. + +"soundalarm2" was titled "Danger security alarm - Sound Effect (mp3) ID:21709" by user "freesman" on: +https://directory.audio/sound-effects/alarms/21709-danger-security-alarm +It was licensed as "Attribution" +It was changed to feature only a single alarm cycle with added reverb and normalizing. diff --git a/sound/vox_fem/sairhorn.ogg b/sound/vox_fem/soundairhorn.ogg similarity index 100% rename from sound/vox_fem/sairhorn.ogg rename to sound/vox_fem/soundairhorn.ogg diff --git a/sound/vox_fem/soundalarm1.ogg b/sound/vox_fem/soundalarm1.ogg new file mode 100644 index 0000000000000..73803e11be813 Binary files /dev/null and b/sound/vox_fem/soundalarm1.ogg differ diff --git a/sound/vox_fem/soundalarm2.ogg b/sound/vox_fem/soundalarm2.ogg new file mode 100644 index 0000000000000..b6f0f7ec1a44e Binary files /dev/null and b/sound/vox_fem/soundalarm2.ogg differ diff --git a/sound/vox_fem/soundannounce.ogg b/sound/vox_fem/soundannounce.ogg new file mode 100644 index 0000000000000..17416c7ac087d Binary files /dev/null and b/sound/vox_fem/soundannounce.ogg differ diff --git a/sound/vox_fem/scensor.ogg b/sound/vox_fem/soundcensor.ogg similarity index 100% rename from sound/vox_fem/scensor.ogg rename to sound/vox_fem/soundcensor.ogg diff --git a/sound/vox_fem/shonk.ogg b/sound/vox_fem/soundhonk.ogg similarity index 100% rename from sound/vox_fem/shonk.ogg rename to sound/vox_fem/soundhonk.ogg diff --git a/sound/vox_fem/swhitenoise.ogg b/sound/vox_fem/soundwhitenoise.ogg similarity index 100% rename from sound/vox_fem/swhitenoise.ogg rename to sound/vox_fem/soundwhitenoise.ogg diff --git a/strings/sillytips.txt b/strings/sillytips.txt index d55dab251d4db..193f2b733e341 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -46,3 +46,4 @@ If in doubt, blame the clown. Always remember that the mentors are there to help you. If you don't understand something, there's no shame in asking for help. Nobody suspects the mime. Purple is the sneakiest colour. +There is no supermatter SILVER. There is only supermatter SLIVER. diff --git a/tgui/packages/tgui/interfaces/BottleDispenser.js b/tgui/packages/tgui/interfaces/BottleDispenser.js deleted file mode 100644 index a41fc80fa0491..0000000000000 --- a/tgui/packages/tgui/interfaces/BottleDispenser.js +++ /dev/null @@ -1,37 +0,0 @@ -import { useBackend } from '../backend'; -import { Button, LabeledList, NumberInput, Section } from '../components'; -import { Window } from '../layouts'; - -export const BottleDispenser = (props, context) => { - const { act, data } = useBackend(context); - const { bottle_size, bottle_name } = data; - return ( - - -
    - - - - act('change_bottle_size', { - volume: value, - }) - } - /> - - -
    -
    -
    - ); -}; diff --git a/tgui/packages/tgui/interfaces/ChemPress.js b/tgui/packages/tgui/interfaces/ChemPress.js deleted file mode 100644 index 919af860664c9..0000000000000 --- a/tgui/packages/tgui/interfaces/ChemPress.js +++ /dev/null @@ -1,52 +0,0 @@ -import { classes } from 'common/react'; -import { useBackend } from '../backend'; -import { Box, Button, Input, LabeledList, NumberInput, Section } from '../components'; -import { Window } from '../layouts'; - -export const ChemPress = (props, context) => { - const { act, data } = useBackend(context); - const { pill_size, pill_name, chosen_pill_style, pill_styles = [] } = data; - return ( - - -
    - - - - act('change_pill_size', { - volume: value, - }) - } - /> - - - - ))} - - -
    -
    -
    - ); -}; diff --git a/tgui/packages/tgui/interfaces/NtosCyborgSelfMonitor.js b/tgui/packages/tgui/interfaces/NtosCyborgSelfMonitor.js index f0325524aaf59..1d1d9f5833d6a 100644 --- a/tgui/packages/tgui/interfaces/NtosCyborgSelfMonitor.js +++ b/tgui/packages/tgui/interfaces/NtosCyborgSelfMonitor.js @@ -34,6 +34,7 @@ export const NtosCyborgSelfMonitorContent = (_, context) => { printerPictures, printerToner, printerTonerMax, + cameraRadius, thrustersInstalled, thrustersStatus, selfDestructAble, @@ -139,6 +140,20 @@ export const NtosCyborgSelfMonitorContent = (_, context) => { + + + act('cameraRadius', { + ref: value, + }) + } + /> + {!!thrustersInstalled && (