diff --git a/README.md b/README.md index c5b9cd86..6aebbdd0 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Based and maintained from Citadel Station. +## Warning you will need Byond Compiler [513.1525] or higher to compile the source code. + [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a) [![Krihelimeter](http://www.krihelinator.xyz/badge/quotefox/Hyper-Station-13)](http://www.krihelinator.xyz) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_oasis.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_oasis.dmm new file mode 100644 index 00000000..1c60c44c --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_oasis.dmm @@ -0,0 +1,91 @@ +"aa" = (/turf/template_noop,/area/template_noop) +"ab" = (/turf/closed/indestructible/riveted/boss,/area/ruin/powered/oasis) +"ac" = (/turf/open/lava,/area/ruin/powered/oasis) +"ad" = (/turf/closed/indestructible/riveted/boss/see_through,/area/ruin/powered/oasis) +"ae" = (/obj/structure/reagent_dispensers/keg/aphro/strong,/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/ruin/powered/oasis) +"af" = (/turf/open/floor/grass,/area/ruin/powered/oasis) +"ag" = (/obj/machinery/light{dir = 1},/turf/open/floor/grass,/area/ruin/powered/oasis) +"ah" = (/obj/structure/flora/junglebush,/obj/machinery/light{dir = 1},/turf/open/floor/grass,/area/ruin/powered/oasis) +"ai" = (/obj/structure/flora/tree/jungle/small,/turf/open/floor/grass,/area/ruin/powered/oasis) +"aj" = (/obj/structure/flora/junglebush/large,/turf/open/floor/grass,/area/ruin/powered/oasis) +"ak" = (/turf/open/water,/area/ruin/powered/oasis) +"al" = (/obj/structure/flora/junglebush,/turf/open/floor/grass,/area/ruin/powered/oasis) +"am" = (/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"an" = (/obj/machinery/light{dir = 4},/turf/open/floor/grass,/area/ruin/powered/oasis) +"ao" = (/obj/structure/flora/rock/jungle,/turf/open/floor/grass,/area/ruin/powered/oasis) +"ap" = (/obj/structure/flora/tree/jungle,/turf/open/floor/grass,/area/ruin/powered/oasis) +"aq" = (/obj/structure/flora/junglebush/c,/turf/open/floor/grass,/area/ruin/powered/oasis) +"ar" = (/mob/living/simple_animal/hostile/retaliate/poison/snake,/turf/open/floor/grass,/area/ruin/powered/oasis) +"as" = (/obj/item/reagent_containers/food/snacks/grown/apple,/turf/open/floor/grass,/area/ruin/powered/oasis) +"at" = (/obj/structure/flora/junglebush/large,/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"au" = (/obj/structure/flora/grass/jungle,/turf/open/floor/grass,/area/ruin/powered/oasis) +"av" = (/obj/machinery/light,/turf/open/floor/grass,/area/ruin/powered/oasis) +"aw" = (/obj/structure/stone_tile{dir = 1},/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile,/turf/open/floor/grass,/area/ruin/powered/oasis) +"ax" = (/obj/structure/stone_tile{dir = 1},/turf/open/floor/grass,/area/ruin/powered/oasis) +"ay" = (/obj/structure/flora/grass/jungle/b,/turf/open/floor/grass,/area/ruin/powered/oasis) +"az" = (/obj/structure/flora/rock,/turf/open/floor/grass,/area/ruin/powered/oasis) +"aA" = (/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 1},/obj/structure/stone_tile{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aB" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 1},/obj/structure/stone_tile{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aC" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 1},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aD" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aE" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 1},/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aF" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aG" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/structure/stone_tile{dir = 8},/obj/machinery/light{dir = 4},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aH" = (/obj/effect/mapping_helpers/no_lava,/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/lavaland/surface/outdoors) +"aI" = (/obj/effect/mapping_helpers/no_lava,/turf/open/floor/plating/asteroid/basalt/lava,/area/lavaland/surface/outdoors) +"aJ" = (/obj/machinery/light,/turf/open/floor/pod/dark,/area/ruin/powered/beach) +"aK" = (/obj/machinery/light,/turf/open/floor/pod/dark,/area/ruin/powered/oasis) +"aL" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 4},/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aM" = (/turf/closed/wall/r_wall,/area/ruin/powered/oasis) +"aN" = (/obj/structure/stone_tile,/obj/structure/stone_tile{dir = 1},/obj/structure/stone_tile{dir = 8},/turf/open/floor/grass,/area/ruin/powered/oasis) +"aO" = (/obj/machinery/light{dir = 4},/turf/open/floor/pod/dark,/area/ruin/powered/oasis) +"aP" = (/obj/structure/table,/obj/item/flashlight/lantern,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aQ" = (/obj/structure/dresser,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aR" = (/obj/machinery/door/airlock/hatch,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aS" = (/obj/structure/closet/secure_closet/freezer/kitchen/mining,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aT" = (/obj/structure/table,/obj/structure/showcase/machinery/microwave,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aU" = (/obj/machinery/light{dir = 8},/turf/open/floor/pod/dark,/area/ruin/powered/oasis) +"aV" = (/obj/machinery/light{dir = 8},/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aW" = (/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aX" = (/obj/machinery/light{dir = 4},/obj/structure/sink{dir = 4; pixel_x = 11},/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aY" = (/obj/structure/bed,/obj/item/bedsheet,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"aZ" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"ba" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"bb" = (/obj/machinery/light,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"bc" = (/obj/structure/table,/obj/item/storage/box/drinkingglasses,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"bd" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"be" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/hatch,/turf/open/floor/pod/light,/area/ruin/powered/oasis) +"bf" = (/obj/machinery/light{dir = 1},/turf/open/floor/pod/dark,/area/ruin/powered/oasis) + +(1,1,1) = {" +aaaaababababababababababababababababaaaa +aaababacacacacacacacacacacacacacacababaa +aaabacacadadadadadadadadadadadadacacabaa +aaabacadadaeafagafafafafahafafadadacabaa +aaabacadafaiafafajakakafafafalafadacabaa +aaabacadamafafakakakakakakafafanadacabaa +aaabacadafaoakakakakakakakafafafadacabaa +aaabacadalafakakakapakakakakaqafadacabaa +aaabacadafafaqakarasafakakafafafadacabaa +aaabacadatafafafafafakakafafafanadacabaa +aaabacadafafauafafafakafafafaiafadacabaa +aaabacadadafavafafawaxayazavafadadacabaa +aaabacacadadadadadaAaBadadadadadacacabaa +aaababacacacacacadaCaDadacacacacacababaa +aaaaabababababababaEaBabababababababaaaa +aaaaaaaaaaaaaaaaabaBaCabaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabaFaBabaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaabaBaGabaHaHaaaaaaaaaaaa +aaaaaaaaaaaaaHaHabaFaBabaHaHaHaaaaaaaaaa +aaaaaaaaaaaHaHaHabaBaAabaHaHaHaHaaaaaaaa +aaaaaaaHaHaIaIaHabaBaBabaHaHaHaHaHaaaaaa +aaaHaHaHaIaKaIaHabaLaBabaHaHaJaIaIaHaaaa +aaaHaHaIaMaMaMaMabaBaNabaMaMaMaMaIaHaHaH +aaaHaHaOaMaPaQaMaMaRaRaMaMaSaTaMaUaIaHaH +aaaHaHaHaMaVaWaWaWaWaWaWaWaWaXaMaIaHaHaa +aHaHaHaOaMaYaZbabbaWaWbbaWbcbdaMaUaHaHaa +aaaaaHaHaMaMaMaMaMbebeaMaMaMaMaMaIaHaHaa +aaaaaHaHaHaIaIbfaIaIaIaIbfaIaIaHaHaHaHaa +aaaHaHaHaHaIaIaIaIaIaIaIaIaIaIaIaHaaaaaa +aaaHaaaaaaaHaaaaaIaIaaaaaaaaaaaaaaaaaaaa +"} diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 0c55f05f..6388a8ff 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -955,6 +955,20 @@ }, /turf/open/floor/plasteel/dark, /area/bridge) +"abn" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "MiniSat Access"; + req_access_txt = "65" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/bridge) "abo" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -1239,13 +1253,11 @@ name = "2maintenance loot spawner" }, /obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "abM" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/starboard/fore) "abN" = ( @@ -1253,19 +1265,49 @@ /turf/closed/wall, /area/maintenance/starboard) "abO" = ( -/obj/machinery/space_heater, -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/structure/closet/firecloset, +/obj/machinery/light/small{ + dir = 1 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel, -/area/maintenance/starboard) +/area/maintenance/fore) "abP" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ - dir = 9 + dir = 2 + }, +/turf/open/floor/plating, +/area/maintenance/fore) +"abQ" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Council Chambers"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/bridge) "abR" = ( /obj/structure/lattice, /turf/open/space, @@ -1302,13 +1344,18 @@ /turf/open/floor/plasteel/white, /area/security/detectives_office) "abW" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small{ +/obj/machinery/door/poddoor/shutters/preopen{ + id = "hopline"; + name = "Queue Shutters" + }, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/maintenance/fore) +/area/hallway/primary/starboard/fore) "abX" = ( /obj/structure/window/reinforced{ dir = 8 @@ -1591,12 +1638,26 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "acv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/port/fore"; + dir = 1; + name = "Port Bow Primary Hallway APC"; + pixel_y = 24 + }, +/obj/structure/cable/white{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/hallway/primary/port/fore) "acw" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -1613,19 +1674,15 @@ /turf/open/floor/plating, /area/maintenance/starboard) "acx" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 +/obj/structure/sign/nanotrasen{ + pixel_y = 32 }, -/obj/effect/landmark/xeno_spawn, -/obj/effect/turf_decal/stripes/corner{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, +/obj/machinery/door/firedoor, /turf/open/floor/plasteel, -/area/maintenance/starboard) +/area/hallway/primary/port/fore) "acy" = ( /obj/machinery/door/airlock/external{ name = "External Airlock"; @@ -1648,6 +1705,97 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) +"acz" = ( +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Council Chambers"; + req_access_txt = "19" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/bridge) +"acA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Captain's Office"; + req_access_txt = "20" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/heads/captain/private) +"acB" = ( +/obj/vehicle/ridden/secway, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/power/apc{ + dir = 8; + name = "Security Office APC"; + areastring = "/area/security/brig"; + pixel_x = -26 + }, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"acC" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/fore) "acD" = ( /obj/item/pickaxe/emergency, /turf/open/floor/plating/asteroid, @@ -1824,26 +1972,17 @@ /area/bridge) "acW" = ( /obj/structure/cable/white{ - icon_state = "1-8" + icon_state = "1-2" }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command{ - name = "Council Chambers"; - req_access_txt = "19" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, -/area/bridge) +/area/hallway/primary/fore) "acX" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -1931,27 +2070,18 @@ /turf/open/floor/plasteel/grimy, /area/bridge) "add" = ( -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/command{ - name = "Council Chambers"; - req_access_txt = "19" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/sign/directions/engineering{ + desc = "A sign that shows there are doors here. There are doors everywhere!"; + icon_state = "doors"; + name = "WARNING: PRESSURIZED DOORS"; + pixel_y = 32 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +/obj/machinery/door/firedoor, /turf/open/floor/plasteel, -/area/bridge) +/area/hallway/primary/starboard/fore) "ade" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -2087,6 +2217,60 @@ /obj/structure/sign/warning/vacuum, /turf/open/floor/plating, /area/quartermaster/storage) +"adr" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"ads" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + dir = 4; + name = "Security Office"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"adt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) +"adu" = ( +/obj/structure/bed, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/item/bedsheet/blue, +/obj/machinery/button/door{ + id = "Dorm1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/dorms) "adv" = ( /obj/structure/closet/crate{ icon_state = "crateopen" @@ -2105,6 +2289,21 @@ /obj/item/clothing/head/helmet/space/orange, /turf/open/floor/plating, /area/asteroid/nearstation) +"ady" = ( +/obj/structure/bed, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/item/bedsheet/red, +/obj/machinery/button/door{ + id = "Dorm2"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/turf/open/floor/carpet, +/area/crew_quarters/dorms) "adz" = ( /obj/structure/sign/warning/vacuum, /turf/closed/wall, @@ -2250,6 +2449,14 @@ /obj/structure/closet/crate/bin, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) +"adM" = ( +/obj/machinery/door/airlock{ + dir = 1; + id_tag = "Dorm1"; + name = "Dorm 1" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "adN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/item/radio/intercom{ @@ -2351,6 +2558,14 @@ "adX" = ( /turf/closed/wall, /area/crew_quarters/heads/hop) +"adY" = ( +/obj/machinery/door/airlock{ + dir = 1; + id_tag = "Dorm2"; + name = "Dorm 2" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "adZ" = ( /obj/item/radio/intercom{ name = "Station Intercom"; @@ -2381,6 +2596,18 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aeb" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/fore) "aec" = ( /obj/machinery/conveyor{ dir = 8; @@ -2423,6 +2650,14 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aef" = ( +/obj/machinery/door/airlock{ + dir = 1; + id_tag = "Dorm3"; + name = "Dorm 3" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "aeg" = ( /obj/machinery/conveyor{ dir = 8; @@ -2448,6 +2683,44 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) +"aei" = ( +/obj/machinery/door/airlock{ + dir = 1; + id_tag = "Dorm4"; + name = "Dorm 4" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"aej" = ( +/obj/structure/bed, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/item/bedsheet/brown, +/obj/machinery/button/door{ + id = "Dorm3"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/dorms) +"aek" = ( +/obj/structure/bed, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/item/bedsheet/black, +/obj/machinery/button/door{ + id = "Dorm4"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/crew_quarters/dorms) "ael" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -2461,6 +2734,27 @@ icon_state = "platingdmg3" }, /area/asteroid/nearstation) +"aen" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + dir = 4; + name = "Theatre Backstage"; + req_access_txt = "46" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/theatre) "aeo" = ( /obj/structure/table, /obj/item/extinguisher/mini, @@ -2841,8 +3135,29 @@ /area/quartermaster/storage) "aeQ" = ( /obj/effect/turf_decal/loading_area, +/obj/effect/landmark/start/quartermaster, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aeR" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Engineering Foyer" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/break_room) "aeS" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/delivery, @@ -2860,6 +3175,41 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aeV" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Departure Lounge" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"aeW" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Departure Lounge" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) "aeX" = ( /obj/machinery/light/small, /obj/effect/turf_decal/stripes/line{ @@ -2867,6 +3217,15 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aeY" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Departure Lounge" + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit) "aeZ" = ( /obj/docking_port/stationary{ dir = 4; @@ -2878,6 +3237,13 @@ }, /turf/open/space/basic, /area/space) +"afa" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Departure Lounge" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) "afb" = ( /obj/structure/door_assembly/door_assembly_mhatch, /obj/effect/turf_decal/stripes/line{ @@ -2888,6 +3254,30 @@ }, /turf/open/floor/plating, /area/asteroid/nearstation) +"afc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Gravity Generator Chamber"; + req_access_txt = "19; 61" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) "afd" = ( /obj/structure/table/wood, /obj/item/taperecorder, @@ -3351,6 +3741,58 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/storage) +"afJ" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering Access"; + req_access_txt = "10" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/gravity_generator) +"afK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering Access"; + req_access_txt = "10" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "afL" = ( /obj/structure/girder/reinforced, /turf/open/floor/plating, @@ -3366,6 +3808,16 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/asteroid/nearstation) +"afO" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/port/fore) "afP" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, @@ -3637,6 +4089,26 @@ }, /turf/open/floor/plasteel/dark, /area/bridge) +"agm" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Research Division Server Room"; + req_access_txt = "30" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "agn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white, @@ -3783,6 +4255,21 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"agy" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Medbay Storage"; + req_access_txt = "5" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone3) "agz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -3835,6 +4322,25 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"agD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone3) "agE" = ( /obj/item/stack/ore/silver, /obj/item/stack/ore/iron, @@ -4007,30 +4513,25 @@ /area/crew_quarters/heads/captain/private) "agU" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command{ - name = "Captain's Office"; - req_access_txt = "20" +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Medbay Storage"; + req_access_txt = "5" }, /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/cable/white{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/crew_quarters/heads/captain/private) +/area/medical/medbay/zone3) "agV" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/cable/white{ @@ -4354,6 +4855,49 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) +"ahs" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone3) +"aht" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + dir = 4; + name = "Mech Bay"; + req_access_txt = "29" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) "ahu" = ( /turf/closed/wall/r_wall, /area/asteroid/nearstation) @@ -4691,6 +5235,15 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) +"ahW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/airlock/research/glass{ + dir = 4; + name = "Robotics Lab"; + req_access_txt = "29" + }, +/turf/open/floor/plasteel, +/area/science/robotics/lab) "ahX" = ( /obj/machinery/airalarm{ dir = 8; @@ -4777,11 +5330,92 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/quartermaster/storage) +"aig" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + dir = 4; + name = "Toxins Lab"; + req_access_txt = "7" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"aih" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + dir = 4; + name = "Security Checkpoint"; + req_access_txt = "63" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/checkpoint) +"aii" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + dir = 4; + name = "Robotics Lab"; + req_access_txt = "29" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aij" = ( +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/airlock/research{ + dir = 4; + name = "Toxins Launch Room Access"; + req_access_txt = "7" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "aik" = ( /obj/structure/barricade/wooden, /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/asteroid/nearstation) +"ail" = ( +/obj/machinery/door/airlock/research{ + dir = 4; + name = "Toxins Launch Room"; + req_access_txt = "7" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "aim" = ( /obj/structure/rack, /obj/item/storage/box/rubbershot, @@ -4931,22 +5565,21 @@ /turf/open/floor/plating, /area/security/detectives_office) "aix" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" +/obj/structure/cable/white{ + icon_state = "4-8" }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/turf/open/floor/plating, -/area/maintenance/fore) +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=2.2-BridgeWest"; + location = "2.1-Teleporter" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/fore) "aiy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -4974,7 +5607,7 @@ /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/highsecurity{ name = "AI Vault Chamber"; - req_access_txt = "16" + req_access_txt = "20" }, /obj/structure/cable/white{ icon_state = "1-2" @@ -5018,15 +5651,23 @@ /turf/open/floor/plasteel, /area/bridge) "aiD" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "hopline"; - name = "Queue Shutters" +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/effect/turf_decal/loading_area{ - dir = 1 +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/hallway/primary/port/fore) "aiE" = ( /obj/structure/cable/white{ icon_state = "0-2" @@ -5155,6 +5796,31 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"aiP" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical{ + dir = 4; + name = "Surgery Theatre"; + req_access_txt = "45" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone3) +"aiQ" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/mixing) "aiR" = ( /obj/structure/rack, /obj/item/gun/energy/e_gun/advtaser{ @@ -5438,33 +6104,38 @@ /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "ajn" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 32 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "ajo" = ( /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 }, -/turf/open/floor/plasteel, /area/hallway/primary/fore) "ajp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, @@ -5592,31 +6263,34 @@ /area/hallway/primary/fore) "ajz" = ( /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, /area/hallway/primary/fore) "ajA" = ( -/obj/structure/sign/directions/engineering{ - desc = "A sign that shows there are doors here. There are doors everywhere!"; - icon_state = "doors"; - name = "WARNING: PRESSURIZED DOORS"; - pixel_y = 32 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "ajB" = ( @@ -5677,6 +6351,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) +"ajG" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior{ + dir = 4 + }, +/turf/open/floor/engine, +/area/science/mixing) "ajH" = ( /obj/structure/plasticflaps/opaque, /obj/effect/turf_decal/delivery, @@ -5740,6 +6421,63 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"ajN" = ( +/obj/machinery/door/airlock/research/glass{ + dir = 4; + name = "Xenobiology Kill Room"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/general/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"ajO" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock{ + dir = 4; + name = "Bar Backroom"; + req_access_txt = "25" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/bar/atrium) +"ajP" = ( +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar/atrium) "ajQ" = ( /obj/item/stack/ore/iron, /obj/effect/turf_decal/sand/plating, @@ -5833,6 +6571,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/landmark/start/head_of_security, /turf/open/floor/plasteel, /area/security/brig) "ajX" = ( @@ -5916,12 +6655,21 @@ /turf/open/floor/plasteel, /area/security/brig) "akc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/primary/port/fore) +/area/hallway/primary/starboard/fore) "akd" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -6045,114 +6793,77 @@ }, /area/hallway/primary/port/fore) "akl" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel, -/area/hallway/primary/port/fore) -"akm" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/door/poddoor/shutters{ + id = "teleportershutters"; + name = "Teleporter Shutters" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/hallway/primary/port/fore) +/area/teleporter) +"akm" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command{ + name = "Teleport Access"; + req_access_txt = "17" + }, +/turf/open/floor/plasteel, +/area/teleporter) "akn" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_x = -26 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/hallway/primary/port/fore) +/area/hallway/primary/starboard/fore) "ako" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) +"akp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/red{ dir = 1 }, /obj/effect/turf_decal/stripes/line, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=2.2-BridgeWest"; - location = "2.1-Teleporter" - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/fore) -"akp" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "akq" = ( /obj/structure/cable/white{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "akr" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 - }, -/area/hallway/primary/fore) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) "aks" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -6298,37 +7009,21 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "akC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, /obj/structure/cable/white{ - icon_state = "2-8" + icon_state = "1-2" }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/hallway/primary/fore) -"akD" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) +"akD" = ( +/obj/structure/closet/secure_closet/miner, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_y = 26 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningdock) "akE" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -6484,6 +7179,70 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) +"akQ" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass{ + autoclose = 0; + dir = 4; + frequency = 1449; + heat_proof = 1; + id_tag = "incinerator_airlock_exterior"; + name = "Incinerator Exterior Airlock"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"akR" = ( +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/public/glass{ + autoclose = 0; + dir = 4; + frequency = 1449; + heat_proof = 1; + id_tag = "incinerator_airlock_interior"; + name = "Incinerator Interior Airlock"; + req_access_txt = "12" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/embedded_controller/radio/airlock_controller{ + airpump_tag = "incinerator_airlock_pump"; + exterior_door_tag = "incinerator_airlock_exterior"; + id_tag = "incinerator_airlock_control"; + interior_door_tag = "incinerator_airlock_interior"; + name = "Incinerator Access Console"; + pixel_x = -8; + pixel_y = 35; + req_access_txt = "12"; + sanitize_external = 1; + sensor_tag = "incinerator_airlock_sensor" + }, +/turf/open/floor/engine, +/area/maintenance/disposal/incinerator) +"akS" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/airlock/mining/glass{ + dir = 4; + name = "Cargo Office"; + req_access_txt = "48;50" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) "akT" = ( /obj/structure/sign/warning/electricshock{ pixel_x = -32 @@ -6528,23 +7287,13 @@ /turf/open/floor/plating, /area/security/brig) "akW" = ( -/obj/vehicle/ridden/secway, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Security Office APC"; - areastring = "/area/security/brig"; - pixel_x = -26 - }, -/obj/structure/cable/white{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, @@ -6650,37 +7399,25 @@ /turf/open/floor/plating, /area/teleporter) "ali" = ( -/obj/machinery/door/poddoor/shutters{ - id = "teleportershutters"; - name = "Teleporter Shutters" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +/obj/machinery/mineral/equipment_vendor, /turf/open/floor/plasteel, -/area/teleporter) +/area/quartermaster/miningdock) "alj" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/power/apc{ + dir = 4; + name = "Mining Dock APC"; + areastring = "/area/quartermaster/miningdock"; + pixel_x = 26 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 26 + }, +/obj/structure/closet/secure_closet/miner, /obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/command{ - name = "Teleport Access"; - req_access_txt = "17" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 + icon_state = "0-2" }, /turf/open/floor/plasteel, -/area/teleporter) +/area/quartermaster/miningdock) "alk" = ( /obj/structure/cable/white, /obj/effect/spawner/structure/window/reinforced, @@ -6942,20 +7679,6 @@ /turf/open/floor/plating, /area/asteroid/nearstation) "alH" = ( -/obj/item/grenade/barrier{ - pixel_x = -3; - pixel_y = 1 - }, -/obj/item/grenade/barrier, -/obj/item/grenade/barrier{ - pixel_x = 3; - pixel_y = -1 - }, -/obj/item/grenade/barrier{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/structure/table/reinforced, /obj/machinery/newscaster/security_unit{ pixel_x = -32 }, @@ -6966,6 +7689,7 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/structure/closet/secure_closet/warden, /turf/open/floor/plasteel, /area/security/brig) "alI" = ( @@ -6984,41 +7708,39 @@ /turf/open/floor/plasteel, /area/security/brig) "alJ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, +/obj/machinery/computer/secure_data, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /turf/open/floor/plasteel, /area/security/brig) "alK" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Security Office"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Port Primary Hallway"; dir = 4 }, /turf/open/floor/plasteel, -/area/security/brig) +/area/hallway/primary/port/fore) "alL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/camera{ + c_tag = "Security - Central"; dir = 4 }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "alM" = ( @@ -7412,28 +8134,24 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/storage/eva) "amt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "1-2" }, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_x = -26 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/port/fore) +"amu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"amu" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) @@ -7532,6 +8250,50 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/quartermaster/miningdock) +"amE" = ( +/obj/machinery/power/apc{ + dir = 8; + name = "Robotics Lab APC"; + areastring = "/area/science/robotics/lab"; + pixel_x = -26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"amF" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=5.2-Cargo"; + location = "5.1-EnteringCargo" + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) "amG" = ( /obj/structure/table, /obj/item/clothing/mask/gas, @@ -7579,24 +8341,44 @@ /turf/open/floor/plasteel, /area/security/brig) "amJ" = ( -/obj/machinery/computer/secure_data, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/machinery/door/airlock/security/glass{ + dir = 4; + id_tag = "secinterior"; + name = "Brig Control"; + req_access_txt = "63" }, /turf/open/floor/plasteel, /area/security/brig) "amK" = ( -/obj/machinery/camera{ - c_tag = "Security - Central"; - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/item/storage/box/firingpins, +/obj/item/storage/box/firingpins, +/obj/structure/table/reinforced, +/obj/machinery/light{ dir = 8 }, +/obj/machinery/requests_console{ + department = "Security"; + departmentType = 0; + name = "Security RC"; + pixel_x = -32 + }, +/obj/item/gun/energy/e_gun/dragnet, +/obj/item/gun/energy/e_gun/dragnet, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/item/grenade/barrier{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/grenade/barrier{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/grenade/barrier{ + pixel_x = -3; + pixel_y = 1 + }, /turf/open/floor/plasteel, /area/security/brig) "amL" = ( @@ -7725,6 +8507,13 @@ }, /turf/open/floor/plasteel/dark, /area/teleporter) +"amU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) "amV" = ( /obj/structure/table/reinforced, /obj/item/storage/belt/utility, @@ -7866,28 +8655,23 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "ank" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "anl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "anm" = ( @@ -7931,87 +8715,82 @@ /turf/closed/wall, /area/quartermaster/miningdock) "anq" = ( -/obj/structure/closet/secure_closet/miner, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_y = 26 +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = 24 }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/landmark/start/shaft_miner, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) "anr" = ( -/obj/machinery/mineral/equipment_vendor, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) "ans" = ( -/obj/machinery/power/apc{ - dir = 4; - name = "Mining Dock APC"; - areastring = "/area/quartermaster/miningdock"; - pixel_x = 26 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 - }, -/obj/structure/closet/secure_closet/miner, -/obj/structure/cable/white{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) +/obj/machinery/vending/kink, +/turf/closed/mineral/random/labormineral, +/area/asteroid/nearstation) "ant" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum, /turf/open/floor/plating, /area/quartermaster/miningdock) -"anx" = ( -/obj/structure/grille, -/turf/closed/wall/r_wall, -/area/engine/atmos) -"any" = ( -/obj/item/storage/box/firingpins, -/obj/item/storage/box/firingpins, -/obj/structure/table/reinforced, -/obj/machinery/light{ - dir = 8 +"anu" = ( +/obj/machinery/light/small{ + dir = 1 }, -/obj/machinery/requests_console{ - department = "Security"; - departmentType = 0; - name = "Security RC"; - pixel_x = -32 +/obj/machinery/firealarm{ + pixel_y = 26 }, -/obj/item/gun/energy/e_gun/dragnet, -/obj/item/gun/energy/e_gun/dragnet, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/plasteel, /area/security/brig) -"anz" = ( +"anv" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"anw" = ( /obj/structure/cable/white{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/plasteel, -/area/security/brig) -"anA" = ( +/area/hallway/primary/port) +"anx" = ( +/obj/structure/grille, +/turf/closed/wall/r_wall, +/area/engine/atmos) +"any" = ( /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; id = "secexterior"; @@ -8042,14 +8821,42 @@ pixel_x = 38; pixel_y = 38 }, -/obj/effect/landmark/start/security_officer, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/effect/landmark/start/warden, /turf/open/floor/plasteel, /area/security/brig) +"anz" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/security/brig) +"anA" = ( +/obj/structure/closet/crate{ + name = "Asshole Containment" + }, +/obj/item/banhammer, +/obj/item/toy/plush/mammal/winfre{ + item_state = "Winfre"; + name = "Winfre, Destroyer of Fun" + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "anB" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -8131,30 +8938,21 @@ /turf/closed/wall, /area/security/brig) "anH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/maintenance/port/central) "anI" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "1-2" +/obj/structure/table, +/obj/item/stack/sheet/metal{ + amount = 30 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 +/obj/item/stack/sheet/glass{ + amount = 30 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 }, /turf/open/floor/plasteel, -/area/hallway/primary/port/fore) +/area/maintenance/port/central) "anJ" = ( /obj/machinery/door/airlock{ name = "Toilet Unit" @@ -8167,6 +8965,17 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/restrooms) +"anK" = ( +/obj/structure/rack, +/obj/item/crowbar/red, +/obj/item/wrench, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/central) "anL" = ( /obj/machinery/door/window/northleft{ dir = 4; @@ -8199,6 +9008,30 @@ /obj/item/beacon, /turf/open/floor/plasteel, /area/teleporter) +"anO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=6.1-EnteringDepartures"; + location = "5.3-LeavingCargo" + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) "anP" = ( /obj/machinery/teleport/station, /obj/machinery/light{ @@ -8336,40 +9169,38 @@ /turf/closed/wall/rust, /area/ai_monitored/storage/eva) "anZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/cable/white{ + icon_state = "4-8" }, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "aoa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=5.2-Cargo"; - location = "5.1-EnteringCargo" + icon_state = "4-8" }, /obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"aob" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) +"aob" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -8445,16 +9276,17 @@ /turf/open/floor/plasteel, /area/quartermaster/miningdock) "aoi" = ( -/obj/machinery/light_switch{ - pixel_x = -24; - pixel_y = 24 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Mining Dock"; + req_access_txt = "48" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/landmark/start/shaft_miner, -/obj/effect/turf_decal/loading_area{ - dir = 8 +/obj/structure/cable/white{ + icon_state = "4-8" }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) @@ -8504,6 +9336,43 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"aon" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningdock) +"aoo" = ( +/obj/machinery/vending/security, +/obj/machinery/airalarm/unlocked{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"aop" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/security/brig) "aoq" = ( /turf/open/floor/engine/vacuum, /area/engine/atmos) @@ -8564,17 +9433,16 @@ /turf/open/floor/plasteel, /area/security/brig) "aov" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/security/brig) +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) "aow" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -8585,26 +9453,20 @@ /turf/open/floor/plasteel, /area/security/brig) "aox" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "secinterior"; - name = "Brig"; - req_access_txt = "63" +/obj/machinery/autolathe, +/obj/structure/extinguisher_cabinet{ + pixel_y = -26 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/machinery/camera{ + c_tag = "Fore Primary Hallway East"; + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/security/brig) +/area/hallway/primary/starboard/fore) "aoy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -8613,48 +9475,45 @@ /turf/open/floor/plasteel, /area/security/brig) "aoz" = ( -/obj/machinery/light/small{ +/obj/structure/rack, +/obj/item/storage/toolbox/emergency{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/pickaxe, +/obj/item/storage/toolbox/emergency, +/obj/item/shovel, +/obj/machinery/camera{ + c_tag = "Mining Dock"; + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningdock) +"aoA" = ( +/obj/structure/table/reinforced, +/obj/machinery/recharger, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, -/obj/machinery/firealarm{ - pixel_y = 26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aoA" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "secexterior"; - name = "Brig"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/dark, /area/security/brig) "aoB" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/primary/port) "aoC" = ( @@ -8740,39 +9599,40 @@ /turf/open/floor/plasteel/dark, /area/teleporter) "aoJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/structure/cable/white{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/maintenance/port/central) -"aoK" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal{ - amount = 30 +/obj/effect/turf_decal/tile/yellow{ + dir = 1 }, -/obj/item/stack/sheet/glass{ - amount = 30 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/port/central) -"aoL" = ( -/obj/structure/rack, -/obj/item/crowbar/red, -/obj/item/wrench, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, /turf/open/floor/plasteel, -/area/maintenance/port/central) +/area/storage/primary) +"aoK" = ( +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard) +"aoL" = ( +/obj/machinery/mineral/mint, +/obj/structure/sign/poster/official/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/maintenance/starboard) "aoM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -8947,42 +9807,24 @@ }, /area/hallway/primary/starboard/fore) "apa" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/effect/decal/cleanable/oil, +/obj/effect/turf_decal/bot, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard"; + dir = 1; + name = "Starboard Maintenance APC"; + pixel_y = 26 }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "0-2" }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=6.1-EnteringDepartures"; - location = "5.3-LeavingCargo" - }, -/obj/effect/turf_decal/tile/brown, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/maintenance/starboard) "apb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/maintenance/starboard) "apc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -9048,45 +9890,63 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "aph" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/item/assembly/flash/handheld, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/turf/open/floor/plasteel/dark, +/area/security/brig) "api" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/mining{ - name = "Mining Dock"; - req_access_txt = "48" +/obj/structure/table/reinforced, +/obj/item/radio{ + pixel_x = 5; + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/item/radio{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/radio, +/obj/machinery/newscaster/security_unit{ + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" +/turf/open/floor/plasteel/dark, +/area/security/brig) +"apj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/vending/wardrobe/sec_wardrobe, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) -"apj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/quartermaster/miningdock) +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/dark, +/area/security/brig) "apk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -9138,6 +9998,24 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"apo" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "app" = ( /obj/docking_port/stationary{ dir = 4; @@ -9150,10 +10028,98 @@ }, /turf/open/space/basic, /area/space) +"apq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + dir = 4; + name = "Primary Tool Storage" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"apr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"aps" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"apt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/storage/primary) +"apu" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "apv" = ( /obj/machinery/air_sensor/atmos/mix_tank, /turf/open/floor/engine/vacuum, /area/engine/atmos) +"apw" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/storage/primary) "apx" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ @@ -9182,23 +10148,9 @@ /turf/open/floor/plasteel, /area/security/brig) "apy" = ( -/obj/machinery/vending/security, -/obj/machinery/airalarm/unlocked{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) +/obj/machinery/shieldgen, +/turf/open/floor/plasteel, +/area/maintenance/starboard) "apz" = ( /obj/effect/landmark/start/security_officer, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -9244,29 +10196,9 @@ /turf/open/floor/plasteel, /area/security/brig) "apC" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "secinterior"; - name = "Brig"; - req_access_txt = "63" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, +/obj/structure/easel, /turf/open/floor/plasteel, -/area/security/brig) +/area/maintenance/starboard) "apD" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -9278,41 +10210,30 @@ /turf/open/floor/plasteel, /area/security/brig) "apE" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/cable/white{ + icon_state = "1-2" }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/security/brig) +/area/hallway/primary/port) "apF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "secexterior"; - name = "Brig"; - req_access_txt = "63" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/security/brig) +/area/hallway/primary/port) "apG" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -9441,6 +10362,16 @@ /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/maintenance/port/central) +"apR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "apS" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -9672,13 +10603,15 @@ }, /area/hallway/primary/starboard/fore) "aqi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" }, -/obj/effect/turf_decal/tile/brown, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/maintenance/starboard) "aqj" = ( /obj/machinery/computer/cargo/request{ dir = 1 @@ -9723,34 +10656,31 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) +"aqo" = ( +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/plasteel, +/area/maintenance/starboard) "aqp" = ( -/obj/machinery/autolathe, -/obj/structure/extinguisher_cabinet{ - pixel_y = -26 - }, -/obj/machinery/camera{ - c_tag = "Fore Primary Hallway East"; - dir = 1 - }, -/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) +/area/maintenance/starboard) "aqq" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/emergency{ - pixel_x = -3; - pixel_y = 3 +/obj/structure/closet/crate{ + icon_state = "crateopen" }, -/obj/item/pickaxe, -/obj/item/storage/toolbox/emergency, -/obj/item/shovel, -/obj/machinery/camera{ - c_tag = "Mining Dock"; - dir = 4 +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" }, -/obj/effect/turf_decal/bot, +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 + }, +/obj/item/storage/box, /turf/open/floor/plasteel, -/area/quartermaster/miningdock) +/area/maintenance/starboard) "aqr" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -9800,6 +10730,26 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"aqw" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aqx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aqy" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/wrench, +/obj/item/wirecutters, +/turf/open/floor/plasteel, +/area/maintenance/starboard) "aqz" = ( /turf/closed/wall/r_wall, /area/engine/atmos) @@ -9807,6 +10757,13 @@ /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, /area/engine/atmos) +"aqB" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, +/obj/item/tank/internals/air, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel, +/area/maintenance/starboard) "aqC" = ( /obj/machinery/meter, /obj/structure/grille, @@ -9815,6 +10772,22 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) +"aqD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "aqE" = ( /obj/machinery/meter, /obj/structure/grille, @@ -9835,6 +10808,16 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/maintenance/port/fore) +"aqH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "aqI" = ( /obj/structure/closet/secure_closet/security/sec, /obj/item/radio/intercom{ @@ -9868,22 +10851,25 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "aqK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/obj/machinery/light{ dir = 4 }, -/obj/machinery/vending/wardrobe/sec_wardrobe, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/camera{ + c_tag = "Security - Brig Aft"; dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, /area/security/brig) "aqL" = ( /obj/structure/cable/white{ @@ -9896,20 +10882,13 @@ /turf/open/floor/plating, /area/security/brig) "aqM" = ( -/obj/structure/table/reinforced, -/obj/machinery/recharger, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/security/brig) +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "aqN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/tile/red, @@ -9932,26 +10911,6 @@ /turf/open/floor/plasteel, /area/security/brig) "aqP" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Security - Brig Aft"; - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/brig) -"aqQ" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, /obj/item/clipboard, @@ -9968,8 +10927,31 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel, /area/security/brig) +"aqQ" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) "aqR" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -10234,6 +11216,72 @@ }, /turf/open/floor/plasteel, /area/quartermaster/miningdock) +"arn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"aro" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Atmospherics Access"; + req_access_txt = "24" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) +"arp" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1.1-BrigCentral"; + location = "9.6-LeavingDorms" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"arq" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Lockerroom" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "arr" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2o{ dir = 8 @@ -10251,6 +11299,53 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) +"ars" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"art" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=9.5-Dorms"; + location = "9.4-EnteringDorms" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"aru" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/crew_quarters/dorms) "arv" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 9 @@ -10399,48 +11494,39 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "arF" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) -"arG" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/machinery/door/airlock/security/glass{ + dir = 4; name = "Gear Room"; req_access_txt = "63" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/structure/cable/white{ icon_state = "1-4" }, /obj/structure/cable/white{ icon_state = "2-4" }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/security/brig) +"arG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/starboard/fore) "arH" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -10458,6 +11544,9 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /turf/open/floor/plasteel, /area/security/brig) "arI" = ( @@ -10498,9 +11587,23 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) "arL" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard/fore) +"arM" = ( /obj/machinery/door/firedoor, /obj/structure/cable/white{ icon_state = "2-4" @@ -10509,45 +11612,15 @@ icon_state = "4-8" }, /obj/machinery/door/airlock/security/glass{ + dir = 4; name = "Security Desk"; req_access_txt = "63" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/security/brig) -"arM" = ( -/obj/machinery/holopad, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -26; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) "arN" = ( /obj/machinery/button/door{ desc = "A remote control switch for the medbay foyer."; @@ -10633,20 +11706,28 @@ /turf/open/floor/plating, /area/storage/primary) "arQ" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ +/obj/structure/table, +/obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plasteel, -/area/storage/primary) +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/suit/hazardvest{ + desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; + name = "emergency lifejacket" + }, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) "arR" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/yellow{ @@ -10749,6 +11830,20 @@ icon_state = "platingdmg3" }, /area/maintenance/port/central) +"asa" = ( +/obj/structure/table, +/obj/item/crowbar, +/obj/item/crowbar, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/hallway/secondary/exit) "asb" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -10894,6 +11989,26 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/central) +"asm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port) +"asn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) "aso" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -10914,42 +12029,64 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/central) -"asr" = ( -/obj/effect/turf_decal/loading_area{ +"asq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard) -"ass" = ( -/obj/machinery/mineral/mint, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/starboard) -"ast" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/starboard"; - dir = 1; - name = "Starboard Maintenance APC"; - pixel_y = 26 +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" }, /obj/structure/cable/white{ - icon_state = "0-2" + icon_state = "4-8" }, /turf/open/floor/plasteel, /area/maintenance/starboard) +"asr" = ( +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit) +"ass" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"ast" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/twohanded/required/kirbyplants{ + icon_state = "plant-21" + }, +/turf/open/floor/plasteel, +/area/crew_quarters/dorms) +"asu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "asv" = ( /turf/open/floor/engine/n2, /area/engine/atmos) @@ -10969,6 +12106,56 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"asy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"asz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=6.3-DeparturesS"; + location = "6.2-DeparturesN" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asA" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asB" = ( +/obj/machinery/door/airlock/security/glass{ + dir = 4; + id_tag = "secexterior"; + name = "Brig Control"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel, +/area/security/brig) "asC" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 @@ -10982,6 +12169,35 @@ dir = 1 }, /area/engine/atmos) +"asD" = ( +/obj/machinery/door/airlock/public/glass{ + dir = 4; + name = "Departure Lounge" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asE" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) "asF" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 5 @@ -11078,6 +12294,39 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "asL" = ( +/obj/machinery/holopad, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26; + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) +"asM" = ( +/obj/structure/cable/white, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/security/brig) +"asN" = ( /obj/structure/closet/secure_closet/security/sec, /obj/machinery/firealarm{ dir = 1; @@ -11089,14 +12338,49 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/security/brig) -"asM" = ( -/obj/structure/cable/white, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/brig) -"asN" = ( +"asO" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asP" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Escape Arm Airlocks"; + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit) +"asR" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26; pixel_y = -32 @@ -11108,99 +12392,11 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, /turf/open/floor/plasteel, /area/security/brig) -"asO" = ( -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/assembly/flash/handheld, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) -"asP" = ( -/obj/structure/table/reinforced, -/obj/item/radio{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/radio{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/radio, -/obj/machinery/newscaster/security_unit{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) -"asQ" = ( -/obj/structure/table/reinforced, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/taperecorder, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/item/flashlight/seclite, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) -"asR" = ( -/obj/machinery/computer/security{ - dir = 1 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_x = -26; - pixel_y = -26 - }, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Security - Front Desk"; - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/security/brig) "asS" = ( /obj/machinery/computer/secure_data{ dir = 1 @@ -11224,54 +12420,57 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "asT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=6.4-LeavingDepartures"; + location = "6.3-DeparturesS" }, -/obj/structure/cable/white{ - icon_state = "2-4" +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, +/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"asU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/storage/primary) +/area/hallway/secondary/exit) +"asU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit) "asV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_x = -26 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/camera{ + c_tag = "Atmospherics South West"; dir = 4 }, -/obj/structure/cable/white{ - icon_state = "1-8" +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/structure/cable/white{ - icon_state = "4-8" +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/storage/primary) +/area/hallway/primary/port) "asW" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, @@ -11337,6 +12536,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/storage/primary) +"ata" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/newscaster{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hallway/primary/port) "atb" = ( /obj/structure/cable/white{ icon_state = "1-8" @@ -11431,6 +12639,20 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) +"atk" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/starboard) "atl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -11487,6 +12709,80 @@ }, /turf/open/floor/plasteel, /area/maintenance/starboard) +"atr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"ats" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"att" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"atu" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/port/aft) +"atv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atw" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) "atx" = ( /obj/machinery/air_sensor/atmos/nitrogen_tank, /turf/open/floor/engine/n2, @@ -11501,6 +12797,139 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"atz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = 26 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Aft Primary Hallway 4" + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atC" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atD" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"atE" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"atF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"atG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"atH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "atI" = ( /obj/structure/cable/white{ icon_state = "0-2" @@ -11528,6 +12957,21 @@ }, /turf/open/floor/plasteel/dark/corner, /area/engine/atmos) +"atJ" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "atK" = ( /obj/structure/sign/poster/contraband/random{ pixel_x = 32 @@ -11569,43 +13013,49 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "atN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ - dir = 4 + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/hallway/primary/starboard) "atO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/cable/white{ + icon_state = "1-8" }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, /turf/open/floor/plasteel, -/area/storage/primary) +/area/hallway/primary/starboard) "atP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/plasteel, -/area/storage/primary) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/port/aft) "atQ" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical, @@ -11899,6 +13349,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) +"auh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) "aui" = ( /obj/machinery/status_display, /turf/closed/wall, @@ -12013,6 +13470,58 @@ /obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"aur" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/port/aft) +"aus" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/port/aft) +"aut" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) +"auu" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=8.1-AftNE"; + location = "7.1-StarboardQuarter" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "auv" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 @@ -12031,6 +13540,37 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"aux" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"auy" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) +"auz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Aft Primary Hallway 2"; + dir = 4 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=9.1-Library"; + location = "8.4-AftNW" + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "auA" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -12080,9 +13620,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "auF" = ( @@ -12251,27 +13788,29 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "auS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 + icon_state = "1-2" }, /obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) -"auT" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/open/floor/plasteel, -/area/storage/primary) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/central) +"auT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel{ + heat_capacity = 1e+006 + }, +/area/hallway/primary/central) "auU" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -12495,6 +14034,11 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) +"avm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/hallway/primary/central) "avn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -12590,19 +14134,26 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard/fore) "avv" = ( -/obj/machinery/shieldgen, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/maintenance/starboard) +/area/hallway/primary/central) "avw" = ( -/obj/machinery/shieldgen, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/camera{ + c_tag = "Aft Primary Hallway 1"; + dir = 8; + pixel_y = -22 }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=8.2-AftSE"; + location = "8.1-AftNE" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/maintenance/starboard) +/area/hallway/primary/central) "avx" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/machinery/computer/atmos_control/tank/oxygen_tank{ @@ -12641,12 +14192,64 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) +"avz" = ( +/obj/structure/barricade/wooden, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/maintenance/starboard/aft) +"avA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"avB" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"avC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"avD" = ( +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/science/research) "avE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 10 }, /turf/open/floor/plasteel, /area/engine/atmos) +"avF" = ( +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/science/research) "avG" = ( /obj/machinery/light{ dir = 4 @@ -12665,6 +14268,11 @@ }, /turf/open/floor/plasteel/dark/corner, /area/engine/atmos) +"avH" = ( +/obj/structure/closet/emcloset, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel, +/area/maintenance/starboard/aft) "avI" = ( /obj/structure/cable/white{ icon_state = "2-4" @@ -12754,9 +14362,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 @@ -12775,9 +14380,6 @@ name = "2maintenance loot spawner" }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "avQ" = ( @@ -12789,9 +14391,6 @@ dir = 4 }, /obj/structure/cable/white, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, /turf/open/floor/plasteel, /area/maintenance/port/fore) "avR" = ( @@ -12816,35 +14415,23 @@ /turf/open/floor/plasteel/dark, /area/hallway/primary/port) "avT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/maintenance/starboard/aft) "avU" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/maintenance/starboard/aft) "avV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/hallway/primary/aft) "avW" = ( /obj/machinery/airalarm{ dir = 1; @@ -13118,25 +14705,25 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) "aws" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock{ - name = "Bar Backroom"; - req_access_txt = "25" +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, /obj/effect/turf_decal/stripes/line{ - dir = 4 + dir = 1 }, /turf/open/floor/plasteel, -/area/crew_quarters/bar/atrium) +/area/hallway/primary/aft) "awt" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -13245,14 +14832,35 @@ }, /area/hallway/primary/starboard/fore) "awz" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, -/area/maintenance/starboard) +/area/hallway/primary/aft) "awA" = ( /turf/open/floor/engine/o2, /area/engine/atmos) +"awB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "awC" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -13276,11 +14884,55 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) +"awD" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/matter_bin{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/matter_bin, +/obj/item/stock_parts/micro_laser, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"awE" = ( +/obj/machinery/rnd/destructive_analyzer, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) "awF" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/engine/atmos) +"awG" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"awH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/rnd/production/protolathe/department/science, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) "awI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 @@ -13307,6 +14959,31 @@ }, /turf/open/floor/plasteel/dark/corner, /area/engine/atmos) +"awL" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil/white{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil/white, +/obj/item/stock_parts/scanning_module{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stock_parts/capacitor, +/obj/item/stock_parts/manipulator, +/obj/item/stock_parts/manipulator, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_x = 28 + }, +/obj/item/multitool, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) "awM" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -13335,19 +15012,25 @@ /turf/open/floor/plasteel, /area/engine/atmos) "awO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/computer/rdconsole/core{ + dir = 4 + }, +/obj/machinery/power/apc{ + dir = 8; + name = "Research and Development Lab APC"; + areastring = "/area/science/lab"; + pixel_x = -26; + pixel_y = 3 + }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "0-4" }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) +/turf/open/floor/plasteel/dark, +/area/science/lab) "awP" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall, @@ -13557,29 +15240,104 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "axf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/effect/landmark/start/scientist, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/structure/cable/white{ + icon_state = "2-8" }, -/turf/open/floor/plasteel, -/area/maintenance/starboard) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) "axg" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/item/reagent_containers/glass/beaker/sulphuric, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/rnd/production/circuit_imprinter/department/science, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/item/wrench, -/obj/item/wirecutters, -/turf/open/floor/plasteel, -/area/maintenance/starboard) +/turf/open/floor/plasteel/dark, +/area/science/lab) +"axh" = ( +/obj/structure/table/reinforced, +/obj/item/integrated_circuit_printer, +/obj/item/integrated_electronics/analyzer, +/obj/item/integrated_electronics/debugger, +/obj/item/integrated_electronics/wirer, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) "axi" = ( /obj/machinery/air_sensor/atmos/oxygen_tank, /turf/open/floor/engine/o2, /area/engine/atmos) +"axj" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/structure/barricade/wooden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"axk" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -24 + }, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/high, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/lab) +"axl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "axm" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer, /turf/open/floor/plasteel, /area/engine/atmos) +"axn" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "axo" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/turf_decal/stripes/line{ @@ -13725,18 +15483,17 @@ /turf/open/floor/plasteel/checker, /area/engine/atmos) "axB" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + dir = 4; + name = "Research Division Access"; + req_access_txt = "47" }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/science/research) "axC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -13856,6 +15613,16 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"axL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "axM" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ @@ -14005,6 +15772,13 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/bar/atrium) +"axU" = ( +/obj/structure/closet/firecloset, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/aft) "axV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/newscaster{ @@ -14020,6 +15794,117 @@ "axW" = ( /turf/closed/wall, /area/hallway/secondary/exit) +"axX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"axY" = ( +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -24 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) +"axZ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/landmark/start/research_director, +/turf/open/floor/plasteel/white, +/area/science/research) +"aya" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel/white, +/area/science/research) +"ayb" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"ayc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/science/research) +"ayd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/science/research) +"aye" = ( +/obj/structure/closet/bombcloset, +/obj/machinery/light_switch{ + pixel_y = 28 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"ayf" = ( +/obj/structure/closet/bombcloset, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"ayg" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/firealarm{ + dir = 2; + pixel_y = 24 + }, +/obj/machinery/camera{ + c_tag = "Toxins Lab West"; + dir = 2; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel, +/area/science/mixing) "ayh" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ dir = 8 @@ -14182,28 +16067,36 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"ayy" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/item/radio/intercom{ + pixel_y = 25 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "ayz" = ( /turf/open/floor/plasteel/grimy, /area/crew_quarters/dorms) "ayA" = ( -/obj/structure/bed, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/obj/item/bedsheet/blue, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/dorms) +/obj/machinery/portable_atmospherics/scrubber, +/obj/item/storage/firstaid/toxin, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/science/mixing) "ayB" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) "ayC" = ( -/obj/structure/bed, -/obj/machinery/newscaster{ - pixel_x = 32 +/obj/machinery/portable_atmospherics/pump, +/obj/structure/window/reinforced{ + dir = 4 }, -/obj/item/bedsheet/red, -/turf/open/floor/carpet, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/science/mixing) +"ayD" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plasteel, +/area/science/mixing) "ayE" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -14367,9 +16260,6 @@ /area/maintenance/starboard/central) "ayQ" = ( /obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "ayR" = ( @@ -14389,14 +16279,10 @@ areastring = "/area/maintenance/starboard/central"; pixel_y = 25 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "ayS" = ( /obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, /turf/open/floor/plasteel, /area/maintenance/starboard/central) "ayT" = ( @@ -14531,6 +16417,94 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/hallway/secondary/exit) +"azc" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/mixing) +"azd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/science/research) +"aze" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/science/research) +"azf" = ( +/obj/machinery/mecha_part_fabricator, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/robotics/lab) +"azg" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"azh" = ( +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"azi" = ( +/obj/machinery/firealarm{ + dir = 8; + pixel_x = -24 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/machinery/camera{ + c_tag = "Mech Bay"; + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"azj" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"azk" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) "azl" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ dir = 4 @@ -14559,6 +16533,21 @@ dir = 1 }, /area/engine/atmos) +"azn" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"azo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/robotics/lab) "azp" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -14722,18 +16711,11 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "azD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock{ - name = "Cabin" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, /turf/open/floor/plasteel, -/area/crew_quarters/dorms) +/area/science/robotics/lab) "azE" = ( /obj/structure/table/wood, /obj/item/staff/broom, @@ -15003,6 +16985,42 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) +"aAa" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aAb" = ( +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aAc" = ( +/obj/effect/landmark/start/roboticist, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aAd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aAe" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aAf" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + icon_state = "freezer"; + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) "aAg" = ( /turf/open/floor/engine/air, /area/engine/atmos) @@ -15027,6 +17045,24 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engine/atmos) +"aAk" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aAl" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aAm" = ( +/obj/machinery/doppler_array/research/science{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "aAn" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 6 @@ -15034,6 +17070,15 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmos) +"aAo" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/robotics/mechbay) "aAp" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 @@ -15090,28 +17135,14 @@ /turf/open/floor/plasteel, /area/engine/atmos) "aAu" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Access"; - req_access_txt = "24" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 }, /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/engine/atmos) +/area/science/robotics/lab) "aAv" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -15206,43 +17237,26 @@ /turf/open/floor/plasteel/dark/corner, /area/engine/atmos) "aAC" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=1.1-BrigCentral"; - location = "9.6-LeavingDorms" - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/science/robotics/lab) "aAD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Lockerroom" +/obj/structure/cable{ + icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/dark, +/area/science/mixing) "aAE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/dark, +/area/science/mixing) "aAF" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -15483,6 +17497,11 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/central) +"aAU" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel, +/area/maintenance/port) "aAV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -15521,11 +17540,26 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "aAY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, -/area/science/mixing) +/area/hallway/primary/aft) "aAZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -15632,29 +17666,171 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) +"aBi" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/vending/wardrobe/robo_wardrobe, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aBj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aBk" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/science/robotics/lab) +"aBl" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aBm" = ( +/obj/machinery/camera{ + c_tag = "Toxins Launch Room Access"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/heater{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/mixing) +"aBn" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical, +/obj/item/clothing/head/welding, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + dir = 4; + name = "Port Maintenance APC"; + areastring = "/area/maintenance/port"; + pixel_x = 26 + }, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aBo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "aBp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/oxygen_output{ dir = 1 }, /turf/open/floor/engine/o2, /area/engine/atmos) +"aBq" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint) "aBr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrogen_output{ dir = 1 }, /turf/open/floor/engine/n2, /area/engine/atmos) +"aBs" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel, +/area/maintenance/port) "aBt" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/nitrogen_input{ dir = 1 }, /turf/open/floor/engine/n2, /area/engine/atmos) +"aBu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) +"aBv" = ( +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_y = -24 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/robotics/mechbay) +"aBw" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/turf/open/floor/plating, +/area/science/robotics/mechbay) +"aBx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/science/research) "aBy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"aBz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/science/research) "aBA" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -15791,53 +17967,42 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "aBL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Medbay Maintenance"; + req_access_txt = "5" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=9.5-Dorms"; - location = "9.4-EnteringDorms" - }, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, -/area/hallway/primary/port) +/area/maintenance/port) "aBM" = ( /obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Lockerroom" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/door/airlock/research{ + name = "Research Division Access"; + req_access_txt = "47" }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, -/area/crew_quarters/dorms) +/area/science/research) "aBN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Research Division Access"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 - }, -/area/crew_quarters/dorms) +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel, +/area/science/research) "aBO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -16063,17 +18228,22 @@ /turf/closed/wall, /area/crew_quarters/kitchen) "aCg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 +/obj/structure/cable/white{ + icon_state = "2-8" }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 +/obj/structure/cable/white{ + icon_state = "2-4" }, -/area/hallway/primary/starboard/fore) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port) "aCh" = ( /obj/machinery/vending/snack/random, /obj/machinery/firealarm{ @@ -16167,16 +18337,144 @@ /obj/structure/sign/warning/vacuum, /turf/open/floor/plating, /area/hallway/secondary/exit) +"aCo" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/structure/cable/white{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aCp" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port) +"aCq" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aCr" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/security/glass{ + name = "Security Checkpoint"; + req_access_txt = "63" + }, +/turf/open/floor/plasteel, +/area/security/checkpoint) "aCs" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/light/small, /turf/open/floor/engine/o2, /area/engine/atmos) +"aCt" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"aCu" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) +"aCv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/aft) "aCw" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/light/small, /turf/open/floor/engine/n2, /area/engine/atmos) +"aCx" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/turf/open/floor/plasteel, +/area/maintenance/starboard/aft) +"aCy" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard/aft) "aCz" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -16200,6 +18498,20 @@ }, /turf/open/floor/plasteel/white/corner, /area/engine/atmos) +"aCB" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) "aCC" = ( /obj/machinery/firealarm{ dir = 1; @@ -16367,10 +18679,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/port) "aCM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/effect/turf_decal/bot, +/obj/item/storage/backpack, +/obj/item/crowbar, +/obj/item/wrench, +/obj/structure/rack, /turf/open/floor/plasteel, -/area/hallway/primary/central) +/area/maintenance/port) "aCN" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -16605,21 +18923,24 @@ dir = 1 }, /area/hallway/secondary/exit) -"aDg" = ( +"aDf" = ( /obj/structure/cable/white{ - icon_state = "1-8" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/turf/open/floor/plating{ + icon_state = "panelscorched" }, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/area/maintenance/port) +"aDg" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch"; + req_access_txt = "12" }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/maintenance/port) "aDh" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -16648,12 +18969,87 @@ }, /turf/open/space/basic, /area/space) +"aDk" = ( +/obj/machinery/door/poddoor/preopen{ + id = "rdxeno"; + name = "Xenobiology Containment Door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "47" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aDl" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel, /area/engine/atmos) +"aDm" = ( +/obj/machinery/door/poddoor/preopen{ + id = "rdxeno"; + name = "Xenobiology Containment Door" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research{ + name = "Xenobiology Lab"; + req_access_txt = "47" + }, +/obj/structure/sign/departments/xenobio{ + pixel_x = 32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"aDn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aDo" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aDp" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) +"aDq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) "aDr" = ( /obj/structure/sign/warning/nosmoking, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -16789,38 +19185,57 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "aDF" = ( -/obj/machinery/light{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/machinery/newscaster{ - pixel_x = 32 +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel/white, +/area/science/xenobiology) "aDG" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/crew_quarters/dorms) "aDH" = ( -/obj/structure/bed, -/obj/machinery/newscaster{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" }, -/obj/item/bedsheet/brown, -/turf/open/floor/wood, -/area/crew_quarters/dorms) +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/obj/structure/cable/white{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/science/xenobiology) "aDI" = ( -/obj/structure/bed, -/obj/machinery/newscaster{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Xenobiology North"; + dir = 4; + pixel_y = -5 }, -/obj/item/bedsheet/black, -/turf/open/floor/plasteel/grimy, -/area/crew_quarters/dorms) +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aDJ" = ( /obj/structure/table/wood, /obj/item/lipstick/random{ @@ -16879,25 +19294,30 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/theatre) "aDN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock{ - name = "Theatre Backstage"; - req_access_txt = "46" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/button/door{ + id = "xeno5"; + name = "Containment Control"; + pixel_x = 26; + pixel_y = -6; + req_access_txt = "55" }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/button/door{ + id = "xeno4"; + name = "Containment Control"; + pixel_x = 26; + pixel_y = 6; + req_access_txt = "55" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, /turf/open/floor/plasteel, -/area/crew_quarters/theatre) +/area/science/xenobiology) "aDO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -17104,33 +19524,90 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aEe" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/extinguisher_cabinet{ + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aEf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aEg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aEh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_x = -26 }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=6.3-DeparturesS"; - location = "6.2-DeparturesN" +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aEi" = ( +/obj/machinery/shower{ + dir = 4; + name = "emergency shower" }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/camera{ + c_tag = "Xenobiology Central"; + dir = 4; + pixel_y = -5 + }, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) +"aEj" = ( +/obj/machinery/shower{ + dir = 8; + name = "emergency shower" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ +/turf/open/floor/plasteel, +/area/science/xenobiology) +"aEk" = ( +/obj/machinery/status_display{ + pixel_x = -32 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"aEf" = ( -/obj/structure/chair{ +/area/hallway/secondary/entry) +"aEl" = ( +/obj/machinery/status_display{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, -/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/entry) +"aEm" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aEn" = ( /obj/machinery/shieldgen, /obj/structure/sign/warning/nosmoking{ @@ -17387,21 +19864,12 @@ /turf/open/floor/plasteel, /area/engine/break_room) "aEH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/public/glass{ - name = "Engineering Foyer" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/break_room) +/area/hallway/secondary/entry) "aEI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -17445,25 +19913,11 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) "aEL" = ( -/obj/item/twohanded/required/kirbyplants{ - icon_state = "plant-21" - }, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/crew_quarters/dorms) +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "aEM" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/bot, @@ -17790,6 +20244,27 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/starboard/central) +"aFh" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/beakers{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/storage/box/syringes, +/obj/item/extinguisher/mini, +/obj/machinery/airalarm/unlocked{ + dir = 4; + pixel_x = -23 + }, +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Xenobiology Lab"; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aFi" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -17800,15 +20275,36 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"aFk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +"aFj" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/monkeycubes, +/obj/item/storage/box/monkeycubes, +/obj/machinery/status_display{ + pixel_y = -32 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/camera{ + c_tag = "Xenobiology South"; + dir = 1 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/science/xenobiology) +"aFk" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/stack/sheet/mineral/plasma{ + amount = 5 + }, +/obj/item/reagent_containers/glass/beaker/large, +/obj/item/reagent_containers/glass/beaker, +/obj/item/reagent_containers/dropper, +/obj/machinery/status_display{ + pixel_y = -32 + }, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aFl" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -17823,25 +20319,52 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) +"aFm" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 5 + }, +/obj/machinery/power/apc{ + dir = 4; + name = "Xenobiology Lab APC"; + areastring = "/area/science/xenobiology"; + pixel_x = 26 + }, +/obj/machinery/light_switch{ + pixel_x = 24; + pixel_y = -24 + }, +/obj/item/radio/intercom{ + name = "Station Intercom"; + pixel_y = -24 + }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/science/xenobiology) "aFn" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/camera{ + c_tag = "Arrivals Hallway"; dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/entry) +"aFo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/camera{ + c_tag = "Arrivals Hallway 2"; + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"aFp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "aFq" = ( /obj/machinery/power/emitter, /obj/machinery/light/small, @@ -18138,24 +20661,14 @@ /turf/open/floor/plasteel, /area/engine/break_room) "aFI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/status_display{ + pixel_x = -32 }, -/obj/machinery/door/airlock/public/glass{ - name = "Engineering Foyer" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 }, /turf/open/floor/plasteel, -/area/engine/break_room) +/area/hallway/secondary/entry) "aFJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -18204,6 +20717,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/port) +"aFM" = ( +/obj/machinery/status_display{ + pixel_x = 32 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "aFN" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -18359,6 +20881,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"aFZ" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/maintenance/port/central) "aGa" = ( /obj/effect/landmark/event_spawn, /obj/item/beacon, @@ -18375,14 +20902,15 @@ /turf/open/floor/plasteel, /area/hallway/secondary/exit) "aGb" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/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/reagent_containers/glass/bucket, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/maintenance/port/central) "aGc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/directions/engineering{ @@ -18392,6 +20920,21 @@ }, /turf/open/floor/plating, /area/hallway/secondary/exit) +"aGd" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/obj/machinery/light/small{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/structure/cable/white{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/maintenance/port/central) "aGe" = ( /turf/closed/wall/r_wall, /area/engine/gravity_generator) @@ -18608,40 +21151,56 @@ /turf/closed/wall, /area/maintenance/port/central) "aGz" = ( -/obj/structure/reagent_dispensers/watertank, +/obj/machinery/vending/dinnerware, +/obj/machinery/button/door{ + id = "kitchencounter"; + name = "Kitchen Counter Shutters"; + pixel_x = -24; + pixel_y = 8; + req_access_txt = "28" + }, +/obj/machinery/light_switch{ + pixel_x = -24; + pixel_y = -8 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -32 + }, /obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/port/central) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner, +/area/crew_quarters/kitchen) "aGA" = ( -/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/machinery/processor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/item/reagent_containers/glass/bucket, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/port/central) +/turf/open/floor/plasteel/white/corner, +/area/crew_quarters/kitchen) "aGB" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/machinery/light/small{ - dir = 1 +/obj/structure/kitchenspike, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, /turf/open/floor/plasteel, -/area/maintenance/port/central) +/area/crew_quarters/kitchen) +"aGC" = ( +/obj/machinery/icecream_vat, +/obj/structure/extinguisher_cabinet{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) "aGD" = ( /obj/machinery/power/apc/highcap/five_k{ dir = 1; @@ -18669,6 +21228,14 @@ }, /turf/open/floor/plating, /area/maintenance/port/central) +"aGF" = ( +/obj/structure/kitchenspike, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel, +/area/crew_quarters/kitchen) "aGG" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -18834,43 +21401,26 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar/atrium) "aGR" = ( -/obj/machinery/vending/dinnerware, -/obj/machinery/button/door{ - id = "kitchencounter"; - name = "Kitchen Counter Shutters"; - pixel_x = -24; - pixel_y = 8; - req_access_txt = "28" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/machinery/light_switch{ - pixel_x = -24; - pixel_y = -8 +/obj/structure/cable/white{ + icon_state = "4-8" }, -/obj/structure/noticeboard{ - dir = 1; - pixel_y = -32 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner, -/area/crew_quarters/kitchen) +/turf/open/floor/plating, +/area/maintenance/port) "aGS" = ( -/obj/machinery/processor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/turf/open/floor/plasteel/white/corner, -/area/crew_quarters/kitchen) +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port) "aGT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ @@ -18947,6 +21497,65 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"aGY" = ( +/obj/structure/closet/firecloset, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aGZ" = ( +/obj/structure/rack, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aHa" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/maintenance/port) +"aHb" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/structure/cable/white{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aHc" = ( +/obj/structure/cable/white{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port) +"aHd" = ( +/obj/structure/cable/white{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port) "aHe" = ( /obj/effect/turf_decal/bot_white/right, /obj/effect/turf_decal/tile/neutral{ @@ -18961,6 +21570,25 @@ }, /turf/open/floor/plasteel/dark, /area/engine/gravity_generator) +"aHf" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/taperecorder, +/obj/machinery/status_display{ + pixel_y = -32 + }, +/obj/item/flashlight/seclite, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) "aHg" = ( /obj/machinery/camera{ c_tag = "Gravity Generator Room"; @@ -19138,6 +21766,36 @@ }, /turf/open/floor/engine, /area/engine/engineering) +"aHs" = ( +/obj/machinery/computer/security{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_x = -26; + pixel_y = -26 + }, +/obj/machinery/status_display{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Security - Front Desk"; + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/security/brig) "aHt" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -19343,6 +22001,31 @@ }, /turf/open/floor/plating, /area/maintenance/port/central) +"aHG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Technology Storage"; + req_access_txt = "10" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) "aHH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -19370,6 +22053,30 @@ }, /turf/open/floor/plating, /area/maintenance/port/central) +"aHK" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Technology Storage"; + req_access_txt = "10" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 2 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/maintenance/starboard) "aHL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, @@ -19825,17 +22532,26 @@ /turf/open/floor/plasteel, /area/engine/engineering) "aIz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /obj/structure/cable/white{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/effect/landmark/event_spawn, +/obj/machinery/power/apc{ + areastring = "/area/maintenance/starboard/aft"; + dir = 2; + name = "Starboard Quarter Maintenance APC"; + pixel_y = -26 }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 +/obj/structure/cable/white{ + icon_state = "0-8" }, -/area/hallway/primary/central) +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard/aft) "aIA" = ( /obj/machinery/airalarm{ dir = 8; @@ -20021,21 +22737,23 @@ /turf/open/floor/plasteel, /area/hydroponics) "aIQ" = ( -/obj/machinery/newscaster{ - pixel_x = 32 +/obj/machinery/status_display{ + pixel_y = -32 }, -/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/vending/kink, /turf/open/floor/plasteel/dark, -/area/crew_quarters/bar/atrium) +/area/crew_quarters/dorms) "aIR" = ( /obj/structure/closet/secure_closet/freezer/meat, /obj/effect/turf_decal/bot, @@ -20850,29 +23568,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/gravity_generator) -"aKs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/command/glass{ - name = "Gravity Generator Chamber"; - req_access_txt = "19; 61" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) "aKt" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -20928,33 +23623,6 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) -"aKx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Access"; - req_access_txt = "10" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/gravity_generator) "aKy" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -21023,29 +23691,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"aKH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Access"; - req_access_txt = "10" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "aKI" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -21493,42 +24138,6 @@ }, /turf/closed/wall, /area/crew_quarters/kitchen) -"aLi" = ( -/obj/structure/kitchenspike, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/kitchen) -"aLj" = ( -/obj/machinery/icecream_vat, -/obj/structure/extinguisher_cabinet{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/kitchen) -"aLk" = ( -/obj/structure/kitchenspike, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/kitchen) "aLl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -22344,34 +24953,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"aNh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_x = -26 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/camera{ - c_tag = "Atmospherics South West"; - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 - }, -/area/hallway/primary/port) -"aNi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/newscaster{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/hallway/primary/port) "aNj" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, @@ -22579,19 +25160,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/central) -"aNF" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 - }, -/area/hallway/primary/starboard) "aNG" = ( /obj/structure/table/reinforced, /obj/item/clipboard, @@ -23078,18 +25646,6 @@ icon_state = "panelscorched" }, /area/maintenance/port) -"aOM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) "aON" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch"; @@ -23132,49 +25688,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/port/aft) -"aOP" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel{ - heat_capacity = 1e+006 - }, -/area/hallway/primary/port/aft) -"aOQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) -"aOR" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) "aOS" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -23187,57 +25700,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port/aft) -"aOT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) -"aOU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) -"aOV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = 26 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Aft Primary Hallway 4" - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) "aOW" = ( /obj/machinery/light{ dir = 1 @@ -23350,32 +25812,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port/aft) -"aPd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) -"aPe" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) "aPf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -23564,21 +26000,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) -"aPt" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) "aPu" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable/white{ @@ -23592,32 +26013,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"aPw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"aPx" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "aPy" = ( /obj/structure/table, /obj/item/storage/briefcase, @@ -23747,21 +26142,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"aPQ" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 3; - name = "3maintenance loot spawner" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "aPR" = ( /obj/structure/girder, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -23769,46 +26149,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"aPS" = ( -/obj/structure/closet/firecloset, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) -"aPT" = ( -/obj/structure/rack, -/obj/item/reagent_containers/food/drinks/bottle/whiskey, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) -"aPU" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "aPV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -23906,19 +26246,6 @@ heat_capacity = 1e+006 }, /area/hallway/primary/port/aft) -"aQc" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) "aQd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -24088,11 +26415,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel, /area/hallway/primary/central) -"aQw" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "aQx" = ( /obj/machinery/firealarm{ dir = 1; @@ -24417,21 +26739,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/medical/chemistry) -"aRk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Aft Primary Hallway 2"; - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=9.1-Library"; - location = "8.4-AftNW" - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/central) "aRq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/purple, @@ -24521,21 +26828,6 @@ "aRz" = ( /turf/closed/wall, /area/maintenance/starboard) -"aRA" = ( -/obj/structure/barricade/wooden, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) "aRB" = ( /obj/effect/turf_decal/bot, /obj/structure/table, @@ -24945,17 +27237,6 @@ }, /turf/open/floor/plasteel, /area/medical/chemistry) -"aSt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) "aSu" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -25027,33 +27308,6 @@ "aSz" = ( /turf/closed/wall, /area/science/lab) -"aSA" = ( -/obj/machinery/shower{ - dir = 4; - name = "emergency shower" - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/research) -"aSB" = ( -/obj/machinery/shower{ - dir = 8; - name = "emergency shower" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/research) "aSC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -25067,26 +27321,6 @@ /obj/structure/girder, /turf/open/floor/plating, /area/maintenance/starboard) -"aSE" = ( -/obj/structure/closet/emcloset, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) -"aSF" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) -"aSG" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) "aSH" = ( /obj/structure/sign/poster/contraband/random, /turf/closed/wall, @@ -25598,23 +27832,6 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) -"aTK" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/matter_bin{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/matter_bin, -/obj/item/stock_parts/micro_laser, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aTL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -26008,45 +28225,6 @@ }, /turf/open/floor/plasteel/grimy, /area/crew_quarters/lounge) -"aUA" = ( -/obj/machinery/rnd/destructive_analyzer, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) -"aUB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) -"aUC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/rnd/production/protolathe/department/science, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aUD" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/purple, @@ -26055,34 +28233,6 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) -"aUE" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil/white{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil/white, -/obj/item/stock_parts/scanning_module{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stock_parts/capacitor, -/obj/item/stock_parts/manipulator, -/obj/item/stock_parts/manipulator, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_x = 28 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/multitool, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aUF" = ( /obj/machinery/light{ dir = 8 @@ -26493,80 +28643,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"aVt" = ( -/obj/machinery/computer/rdconsole/core{ - dir = 4 - }, -/obj/machinery/power/apc{ - dir = 8; - name = "Research and Development Lab APC"; - areastring = "/area/science/lab"; - pixel_x = -26; - pixel_y = 3 - }, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) -"aVu" = ( -/obj/effect/landmark/start/scientist, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) -"aVv" = ( -/obj/item/reagent_containers/glass/beaker/sulphuric, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aVw" = ( /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel/white, /area/science/lab) -"aVx" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/integrated_circuit_printer, -/obj/item/integrated_electronics/analyzer, -/obj/item/integrated_electronics/debugger, -/obj/item/integrated_electronics/wirer, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aVy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -26641,23 +28721,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"aVG" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/structure/barricade/wooden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "aVH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -27048,28 +29111,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel/white, /area/science/lab) -"aWo" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/light_switch{ - pixel_x = 24; - pixel_y = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/lab) "aWp" = ( /obj/machinery/status_display, /turf/closed/wall, @@ -27627,43 +29668,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"aXw" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"aXx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) -"aXy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) "aXz" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/cable/white{ @@ -27741,25 +29745,6 @@ }, /turf/open/floor/plasteel/white, /area/science/research) -"aXF" = ( -/obj/machinery/door/airlock/command{ - name = "Research Division Server Room"; - req_access_txt = "30" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) "aXG" = ( /obj/machinery/atmospherics/pipe/simple/general/hidden, /obj/structure/cable/white{ @@ -28110,48 +30095,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"aYg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) -"aYh" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) -"aYi" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research) "aYj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -28195,26 +30138,6 @@ }, /turf/open/floor/plasteel/white, /area/science/research) -"aYn" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"aYo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel/white, -/area/science/research) "aYp" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 24 @@ -28307,25 +30230,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"aYu" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "aYv" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -28384,29 +30288,6 @@ icon_state = "platingdmg1" }, /area/maintenance/port) -"aYC" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/port) -"aYE" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/port) "aYF" = ( /obj/structure/cable/white{ icon_state = "2-8" @@ -28461,20 +30342,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"aYJ" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Storage"; - req_access_txt = "5" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone3) "aYK" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -28582,24 +30449,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"aYT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone3) "aYU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -28664,16 +30513,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"aYZ" = ( -/obj/structure/sign/warning/securearea{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) "aZa" = ( /turf/closed/wall/r_wall, /area/science/robotics/mechbay) @@ -28704,25 +30543,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/science/robotics/mechbay) -"aZf" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/research) -"aZg" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/research) "aZh" = ( /obj/structure/sign/nanotrasen, /turf/closed/wall/r_wall, @@ -28947,26 +30767,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"aZF" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Storage"; - req_access_txt = "5" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone3) "aZG" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -29115,27 +30915,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"aZP" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay"; - req_access_txt = "5" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone3) "aZQ" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -29230,23 +31009,6 @@ }, /turf/open/floor/plasteel/dark, /area/science/robotics/mechbay) -"aZY" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/science/research) -"aZZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/research) "baa" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -29278,17 +31040,6 @@ }, /turf/open/floor/plasteel/dark, /area/science/robotics/lab) -"bac" = ( -/obj/machinery/mecha_part_fabricator, -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/robotics/lab) "bad" = ( /obj/structure/rack, /obj/item/book/manual/wiki/robotics_cyborgs, @@ -29426,18 +31177,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/port) -"bao" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/port) "bap" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -29767,84 +31506,6 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"baN" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = -24 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/camera{ - c_tag = "Mech Bay"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) -"baO" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) -"baP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) -"baQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) -"baR" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Mech Bay"; - req_access_txt = "29" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) "baS" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -29884,47 +31545,6 @@ }, /turf/open/floor/plating, /area/science/robotics/lab) -"baV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"baW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"baX" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"baY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"baZ" = ( -/obj/effect/landmark/start/roboticist, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) "bba" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral{ @@ -29959,16 +31579,6 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/port) -"bbf" = ( -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/port) "bbg" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -29990,16 +31600,6 @@ icon_state = "panelscorched" }, /area/maintenance/port) -"bbj" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/port) "bbk" = ( /obj/structure/cable/white{ icon_state = "1-8" @@ -30116,24 +31716,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"bbx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Security Checkpoint"; - req_access_txt = "63" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint) "bby" = ( /obj/machinery/light_switch{ pixel_x = -26; @@ -30220,18 +31802,6 @@ }, /turf/open/floor/mech_bay_recharge_floor, /area/science/robotics/mechbay) -"bbF" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plating, -/area/science/robotics/mechbay) "bbG" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -30256,38 +31826,6 @@ }, /turf/open/floor/plasteel/white, /area/science/research) -"bbI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research/glass{ - name = "Robotics Lab"; - req_access_txt = "29" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"bbJ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) "bbK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30324,15 +31862,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/robotics/lab) -"bbN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) "bbO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -30435,14 +31964,6 @@ icon_state = "platingdmg1" }, /area/maintenance/port) -"bcc" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "bcd" = ( /obj/item/retractor, /obj/item/hemostat, @@ -30582,26 +32103,6 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/zone3) -"bcl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) "bcm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable/white{ @@ -30723,32 +32224,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel/white, /area/science/research) -"bcy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/vending/wardrobe/robo_wardrobe, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"bcz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"bcA" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"bcB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) "bcC" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 24 @@ -30871,27 +32346,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port) -"bcT" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/clothing/head/welding, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Port Maintenance APC"; - areastring = "/area/maintenance/port"; - pixel_x = 26 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "bcU" = ( /obj/item/circular_saw, /obj/item/surgicaldrill{ @@ -31046,22 +32500,6 @@ }, /turf/open/floor/plasteel/white, /area/medical/medbay/zone3) -"bdd" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint) "bde" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -31233,30 +32671,6 @@ "bds" = ( /turf/closed/wall/rust, /area/science/robotics/lab) -"bdt" = ( -/obj/machinery/power/apc{ - dir = 8; - name = "Robotics Lab APC"; - areastring = "/area/science/robotics/lab"; - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/robotics/lab) "bdu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -31482,21 +32896,6 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/port) -"bdO" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/port) -"bdP" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "bdQ" = ( /obj/structure/closet/secure_closet/medical2, /obj/machinery/airalarm{ @@ -31563,23 +32962,6 @@ }, /turf/open/floor/plasteel/dark, /area/medical/medbay/zone3) -"bdT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Surgery Theatre"; - req_access_txt = "45" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone3) "bdU" = ( /obj/machinery/firealarm{ dir = 1; @@ -31749,19 +33131,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"beg" = ( -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_y = -24 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/science/robotics/mechbay) "beh" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 1 @@ -31777,34 +33146,6 @@ }, /turf/open/floor/mech_bay_recharge_floor, /area/science/robotics/mechbay) -"bej" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plating, -/area/science/robotics/mechbay) -"bek" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research) -"bel" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research) "bem" = ( /obj/structure/table, /obj/item/stock_parts/cell/high, @@ -32034,23 +33375,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/medical/medbay/zone3) -"beF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Medbay Maintenance"; - req_access_txt = "5" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "beG" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, @@ -32124,44 +33448,6 @@ }, /turf/closed/wall/r_wall, /area/science/robotics/mechbay) -"beM" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plasteel, -/area/science/research) -"beN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Research Division Access"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plasteel, -/area/science/research) "beO" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/closed/wall/r_wall, @@ -32202,40 +33488,6 @@ }, /turf/open/floor/plating, /area/maintenance/port) -"beS" = ( -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/port) -"beV" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/maintenance/port) "beZ" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -32246,22 +33498,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/port) -"bfa" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/port) "bfb" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -32273,13 +33509,6 @@ icon_state = "platingdmg3" }, /area/maintenance/port) -"bfd" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "bfe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/airalarm/unlocked{ @@ -32291,23 +33520,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"bff" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock/security/glass{ - name = "Security Checkpoint"; - req_access_txt = "63" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/security/checkpoint) "bfg" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -32321,34 +33533,6 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel, /area/hallway/primary/aft) -"bfl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) -"bfm" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) "bfn" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/structure/cable/white{ @@ -32474,44 +33658,10 @@ }, /turf/closed/wall, /area/chapel/main) -"bfB" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/maintenance/port) "bfC" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/closed/wall/rust, /area/chapel/main) -"bfD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/item/storage/backpack, -/obj/item/crowbar, -/obj/item/wrench, -/obj/structure/rack, -/turf/open/floor/plasteel, -/area/maintenance/port) "bfE" = ( /obj/structure/cable/white{ icon_state = "1-4" @@ -32534,33 +33684,6 @@ /obj/item/clothing/mask/gas, /turf/open/floor/plating, /area/maintenance/port) -"bfG" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/port) -"bfH" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/port) "bfI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/cable/white{ @@ -32651,56 +33774,6 @@ "bfP" = ( /turf/closed/wall/r_wall, /area/science/xenobiology) -"bfQ" = ( -/obj/machinery/door/poddoor/preopen{ - id = "rdxeno"; - name = "Xenobiology Containment Door" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Xenobiology Lab"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"bfR" = ( -/obj/machinery/door/poddoor/preopen{ - id = "rdxeno"; - name = "Xenobiology Containment Door" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - name = "Xenobiology Lab"; - req_access_txt = "47" - }, -/obj/structure/sign/departments/xenobio{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "bfS" = ( /obj/structure/toilet{ dir = 4 @@ -32847,22 +33920,6 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/main) -"bgc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel, -/area/maintenance/port) -"bgd" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/maintenance/port) "bge" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -32948,19 +34005,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/science/xenobiology) -"bgq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"bgr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/xenobiology) "bgu" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -33349,45 +34393,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"bhc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) -"bhd" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/structure/cable/white{ - icon_state = "1-8" - }, -/obj/structure/cable/white{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/science/xenobiology) "bhg" = ( /turf/open/floor/circuit/green, /area/science/xenobiology) @@ -34231,36 +35236,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/secondary/entry) -"biC" = ( -/obj/machinery/shower{ - dir = 4; - name = "emergency shower" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology Central"; - dir = 4; - pixel_y = -5 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"biD" = ( -/obj/machinery/shower{ - dir = 8; - name = "emergency shower" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/end{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "biF" = ( /obj/structure/bed, /obj/item/bedsheet/black, @@ -34633,23 +35608,6 @@ }, /turf/open/floor/plating, /area/chapel/main) -"bjn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/extinguisher_cabinet{ - pixel_x = -24 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bjo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "bjp" = ( /obj/machinery/door/window/brigdoor{ dir = 8; @@ -34731,22 +35689,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/science/xenobiology) -"bjv" = ( -/obj/machinery/door/airlock/research/glass{ - name = "Xenobiology Kill Room"; - req_access_txt = "47" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "bjw" = ( /obj/machinery/atmospherics/pipe/manifold/general/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -34809,20 +35751,6 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"bjB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bjC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "bjD" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -34863,15 +35791,6 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"bjH" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "bjI" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/science/xenobiology) @@ -34913,57 +35832,6 @@ }, /turf/open/floor/plasteel/grimy, /area/chapel/main) -"bjM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_x = -26 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bjP" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/beakers{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/storage/box/syringes, -/obj/item/extinguisher/mini, -/obj/machinery/airalarm/unlocked{ - dir = 4; - pixel_x = -23 - }, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology Lab"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"bjQ" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/monkeycubes, -/obj/item/storage/box/monkeycubes, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Xenobiology South"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "bjR" = ( /obj/machinery/computer/camera_advanced/xenobio{ dir = 1 @@ -34981,81 +35849,6 @@ }, /turf/open/floor/circuit/green, /area/science/xenobiology) -"bjS" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white, -/obj/item/stack/sheet/mineral/plasma{ - amount = 5 - }, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/dropper, -/obj/machinery/status_display{ - pixel_y = -32 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"bjT" = ( -/obj/structure/table/reinforced, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/machinery/power/apc{ - dir = 4; - name = "Xenobiology Lab APC"; - areastring = "/area/science/xenobiology"; - pixel_x = 26 - }, -/obj/machinery/light_switch{ - pixel_x = 24; - pixel_y = -24 - }, -/obj/item/radio/intercom{ - name = "Station Intercom"; - pixel_y = -24 - }, -/obj/structure/cable/white{ - icon_state = "0-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) -"bjU" = ( -/obj/machinery/status_display{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bjV" = ( -/obj/machinery/status_display{ - pixel_x = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "bjX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/directions/engineering{ @@ -35099,25 +35892,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"bkk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bkl" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "bko" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 10 @@ -35176,39 +35950,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/entry) -"bkS" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bkW" = ( -/obj/machinery/status_display{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bkX" = ( -/obj/machinery/status_display{ - pixel_x = 32 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "blb" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/delivery, @@ -35231,21 +35972,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port/fore) -"blg" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Port Primary Hallway"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/fore) "blh" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable/white{ @@ -35302,17 +36028,6 @@ }, /turf/open/floor/engine/o2, /area/engine/atmos) -"bll" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Escape Arm Airlocks"; - dir = 8 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "blm" = ( /obj/structure/closet/emcloset, /obj/machinery/camera{ @@ -35361,20 +36076,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"blp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Aft Primary Hallway 1"; - dir = 8; - pixel_y = -22 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=8.2-AftSE"; - location = "8.1-AftNE" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/hallway/primary/central) "blq" = ( /obj/machinery/telecomms/broadcaster/preset_left/birdstation, /turf/open/floor/circuit/telecomms/mainframe, @@ -35456,28 +36157,6 @@ heat_capacity = 1e+006 }, /area/hallway/secondary/entry) -"blx" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Arrivals Hallway"; - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bly" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/camera{ - c_tag = "Arrivals Hallway 2"; - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "blA" = ( /obj/machinery/door/airlock/grunge{ name = "Mass Driver Room"; @@ -35595,21 +36274,6 @@ }, /turf/open/floor/engine, /area/engine/engineering) -"blL" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "blM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35625,18 +36289,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) -"blY" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "blZ" = ( /turf/open/floor/plasteel, /area/hallway/secondary/exit) @@ -35652,24 +36304,6 @@ dir = 1 }, /area/hallway/secondary/exit) -"bmh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) "bmC" = ( /obj/machinery/vending/snack/random, /obj/effect/turf_decal/bot, @@ -35690,12 +36324,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit) -"bpj" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "bpn" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -35779,24 +36407,6 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) -"bsB" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "bsC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -35864,18 +36474,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) -"bsO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "bsP" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 @@ -35911,26 +36509,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) -"bsR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "bsS" = ( /obj/structure/cable/white{ icon_state = "1-2" @@ -35941,43 +36519,6 @@ }, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/exit) -"bsT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=6.4-LeavingDepartures"; - location = "6.3-DeparturesS" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"bsV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) "bsX" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -36005,18 +36546,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) -"bsZ" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/airlock/mining/glass{ - name = "Cargo Office"; - req_access_txt = "48;50" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "bta" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -36669,29 +37198,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/circuit, /area/science/robotics/mechbay) -"bxW" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/science/robotics/lab) -"bxX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/starboard/aft"; - dir = 2; - name = "Starboard Quater Maintenance APC"; - pixel_y = -26 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/maintenance/starboard/aft) "bxY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -36830,29 +37336,6 @@ dir = 1 }, /area/engine/atmos) -"bNB" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"bOJ" = ( -/obj/machinery/camera{ - c_tag = "Toxins Launch Room Access"; - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/thermomachine/heater{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "bWO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -37092,28 +37575,6 @@ /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating, /area/science/storage) -"dfP" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) "dgV" = ( /obj/structure/cable{ icon_state = "4-8" @@ -37143,20 +37604,6 @@ }, /turf/open/floor/plating, /area/science/mixing) -"doD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/firedoor, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "dEa" = ( /obj/machinery/computer/arcade, /obj/effect/turf_decal/tile/neutral{ @@ -37199,23 +37646,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"dQC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/vr_sleeper, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar/atrium) "dXv" = ( /obj/item/transfer_valve{ pixel_x = -5 @@ -37385,18 +37815,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"eFp" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/camera{ - c_tag = "Xenobiology North"; - dir = 4; - pixel_y = -5 - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "eGm" = ( /turf/closed/wall/r_wall, /area/science/storage) @@ -37412,40 +37830,10 @@ /obj/item/pipe_dispenser, /turf/open/floor/plasteel, /area/engine/atmos) -"eUz" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) "eWo" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/mixing) -"eYe" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/public/glass{ - autoclose = 0; - frequency = 1449; - heat_proof = 1; - id_tag = "incinerator_airlock_exterior"; - name = "Incinerator Exterior Airlock"; - req_access_txt = "12" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) "eZd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/effect/turf_decal/stripes/line{ @@ -37518,18 +37906,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"fjN" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"flE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "fnp" = ( /obj/machinery/air_sensor/atmos/nitrous_tank, /turf/open/floor/engine/n2o, @@ -37618,22 +37994,6 @@ /obj/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"fMT" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "fWz" = ( /obj/machinery/door/airlock/external{ name = "External Docking Port"; @@ -37734,18 +38094,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"gyV" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "gGq" = ( /obj/machinery/mass_driver{ dir = 4; @@ -37782,20 +38130,6 @@ }, /turf/open/floor/plating/asteroid/airless, /area/asteroid/nearstation) -"gPY" = ( -/obj/machinery/vr_sleeper, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/crew_quarters/bar/atrium) "gSv" = ( /obj/structure/cable{ icon_state = "4-8" @@ -37967,18 +38301,6 @@ }, /turf/open/floor/engine/co2, /area/engine/atmos) -"hTn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/airlock/research/glass{ - name = "Robotics Lab"; - req_access_txt = "29" - }, -/obj/machinery/door/airlock/research/glass{ - name = "Robotics Lab"; - req_access_txt = "29" - }, -/turf/open/floor/plasteel, -/area/science/robotics/lab) "hUG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -38056,15 +38378,6 @@ "iio" = ( /turf/closed/wall, /area/science/mixing) -"iiW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "iqC" = ( /obj/machinery/air_sensor/atmos/carbon_tank, /turf/open/floor/engine/co2, @@ -38160,16 +38473,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"iXB" = ( -/obj/structure/closet/bombcloset, -/obj/machinery/light_switch{ - pixel_y = 28 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "iZQ" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/carbon_input{ dir = 2 @@ -38270,11 +38573,6 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/starboard) -"jsD" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior, -/turf/open/floor/engine, -/area/science/mixing) "jtZ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -38365,37 +38663,12 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/science/mixing) -"jLF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"jLT" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/item/storage/firstaid/toxin, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, -/area/science/mixing) "jRe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, /area/science/mixing) -"jXX" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "kaA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -38516,12 +38789,6 @@ }, /turf/closed/wall, /area/science/mixing) -"kQn" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "kRV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -38596,16 +38863,6 @@ dir = 1 }, /area/engine/atmos) -"lxq" = ( -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port) "lyp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/tile/blue, @@ -38691,19 +38948,6 @@ }, /turf/closed/wall/r_wall, /area/maintenance/starboard/aft) -"lQs" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "lTY" = ( /obj/structure/window/reinforced{ dir = 4 @@ -38763,13 +39007,6 @@ }, /turf/closed/wall, /area/maintenance/starboard/aft) -"mhf" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "mkF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 @@ -38814,24 +39051,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/science/mixing) -"mDx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/power/apc{ - areastring = "/area/hallway/primary/port/fore"; - dir = 1; - name = "Port Bow Primary Hallway APC"; - pixel_y = 24 - }, -/obj/structure/cable/white{ - icon_state = "0-2" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/fore) "mJP" = ( /obj/machinery/igniter{ id = "Incinerator" @@ -38918,47 +39137,6 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmos) -"nKi" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/starboard/aft) -"nMh" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 2; - pixel_y = 24 - }, -/obj/machinery/camera{ - c_tag = "Toxins Lab West"; - dir = 2; - network = list("ss13","rd") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "nTg" = ( /obj/item/assembly/timer{ pixel_x = 5; @@ -39059,11 +39237,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"oxb" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior, -/turf/open/floor/engine, -/area/science/mixing) "oxn" = ( /obj/machinery/power/compressor{ dir = 4; @@ -39187,16 +39360,6 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) -"pdX" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/item/radio/intercom{ - pixel_y = 25 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "pjU" = ( /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/yellow/hidden{ @@ -39204,30 +39367,6 @@ }, /turf/closed/wall/r_wall, /area/engine/atmos) -"plz" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/machinery/button/door{ - id = "xeno5"; - name = "Containment Control"; - pixel_x = 26; - pixel_y = -6; - req_access_txt = "55" - }, -/obj/machinery/button/door{ - id = "xeno4"; - name = "Containment Control"; - pixel_x = 26; - pixel_y = 6; - req_access_txt = "55" - }, -/turf/open/floor/plasteel, -/area/science/xenobiology) "pmK" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -39237,16 +39376,6 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"pmS" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/structure/cable/white{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/science/mixing) "pqs" = ( /obj/machinery/power/turbine{ dir = 8; @@ -39387,20 +39516,6 @@ /obj/structure/flora/ausbushes/grassybush, /turf/open/floor/grass, /area/hallway/secondary/entry) -"qcP" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/research{ - name = "Toxins Launch Room Access"; - req_access_txt = "7" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "qdt" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -39465,15 +39580,6 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"qyQ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/doppler_array/research/science{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "qEl" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 @@ -39570,20 +39676,6 @@ }, /turf/open/floor/engine, /area/maintenance/disposal/incinerator) -"rlq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/aft) "rpy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -39662,18 +39754,6 @@ }, /turf/open/floor/plasteel, /area/hydroponics) -"scn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "sdL" = ( /obj/effect/turf_decal/delivery, /obj/machinery/hydroponics/soil, @@ -39687,19 +39767,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"soC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "spw" = ( /obj/machinery/computer/bank_machine, /turf/open/floor/circuit/green, @@ -39930,30 +39997,6 @@ icon_state = "platingdmg2" }, /area/maintenance/port/central) -"sCt" = ( -/obj/structure/easel, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard) -"sCQ" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" - }, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/item/storage/box, -/turf/open/floor/plasteel, -/area/maintenance/starboard) "sDl" = ( /turf/closed/wall/rust, /area/crew_quarters/dorms) @@ -39964,16 +40007,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, /area/crew_quarters/theatre) -"sDq" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/item/tank/internals/air, -/obj/item/clothing/mask/gas, -/turf/open/floor/plasteel, -/area/maintenance/starboard) "sDK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/rust, @@ -40050,30 +40083,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) -"sEN" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Technology Storage"; - req_access_txt = "23" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/starboard) "sEQ" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall, @@ -40231,70 +40240,6 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/starboard) -"sFX" = ( -/obj/structure/table, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" - }, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/hallway/secondary/exit) -"sFY" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line, -/obj/item/crowbar, -/obj/item/crowbar, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/hallway/secondary/exit) -"sGy" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Technology Storage"; - req_access_txt = "23" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/maintenance/starboard) "sGA" = ( /obj/structure/cable/white{ icon_state = "2-4" @@ -40452,12 +40397,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) -"sIe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "sIu" = ( /turf/closed/wall/r_wall/rust, /area/engine/gravity_generator) @@ -40492,25 +40431,6 @@ }, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/exit) -"sIx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "sIy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -42298,19 +42218,6 @@ /obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/bridge) -"sOs" = ( -/obj/machinery/door/airlock/command{ - name = "MiniSat Access"; - req_access_txt = "65" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/bridge) "sOt" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42408,22 +42315,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/asteroid/nearstation) -"sOK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch"; - req_access_txt = "12" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/maintenance/starboard) "sOL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -42491,14 +42382,6 @@ icon_state = "panelscorched" }, /area/maintenance/starboard/aft) -"sPi" = ( -/obj/structure/closet/firecloset, -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/maintenance/starboard/aft) "sPk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -42508,13 +42391,6 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) -"sPo" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable/white{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/science/mixing) "sPq" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -42760,13 +42636,6 @@ "uhz" = ( /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) -"uiT" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - icon_state = "freezer"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "ujg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/nitrous_output{ dir = 2 @@ -42802,19 +42671,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"upN" = ( -/obj/machinery/door/airlock/research{ - name = "Toxins Launch Room"; - req_access_txt = "7" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "uqY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -42996,17 +42852,6 @@ /obj/machinery/meter/atmos, /turf/open/floor/plasteel, /area/engine/atmos) -"vkK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) "vlJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43046,17 +42891,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) -"voi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=8.1-AftNE"; - location = "7.1-StarboardQuarter" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/plasteel, -/area/hallway/primary/central) "vpz" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible{ dir = 4 @@ -43215,31 +43049,6 @@ }, /turf/open/floor/engine/plasma, /area/engine/atmos) -"vWg" = ( -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard/fore) -"vZb" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "wbV" = ( /obj/effect/turf_decal/delivery, /obj/machinery/hydroponics/soil, @@ -43301,17 +43110,6 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"wOe" = ( -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/airlock/research{ - name = "Toxins Lab"; - req_access_txt = "7" - }, -/obj/structure/cable/white{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/science/mixing) "wPr" = ( /obj/item/assembly/prox_sensor{ pixel_x = -4; @@ -43389,16 +43187,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/engine/atmos) -"xiZ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "xrf" = ( /obj/machinery/light{ dir = 8 @@ -43538,52 +43326,12 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/engine/atmos) -"xLe" = ( -/obj/structure/closet/bombcloset, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "xPz" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, /turf/open/floor/plating/asteroid/airless, /area/asteroid/nearstation) -"xZO" = ( -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/public/glass{ - autoclose = 0; - frequency = 1449; - heat_proof = 1; - id_tag = "incinerator_airlock_interior"; - name = "Incinerator Interior Airlock"; - req_access_txt = "12" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/embedded_controller/radio/airlock_controller{ - airpump_tag = "incinerator_airlock_pump"; - exterior_door_tag = "incinerator_airlock_exterior"; - id_tag = "incinerator_airlock_control"; - interior_door_tag = "incinerator_airlock_interior"; - name = "Incinerator Access Console"; - pixel_x = -8; - pixel_y = 35; - req_access_txt = "12"; - sanitize_external = 1; - sensor_tag = "incinerator_airlock_sensor" - }, -/turf/open/floor/engine, -/area/maintenance/disposal/incinerator) "yba" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43629,15 +43377,6 @@ }, /turf/open/floor/plasteel/dark, /area/science/xenobiology) -"yeO" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/primary/port/aft) "yhg" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57365,7 +57104,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -57629,7 +57368,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -57885,6 +57624,8 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa @@ -57923,9 +57664,7 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad aaa aaa aaa @@ -58118,6 +57857,7 @@ aaa aaa aaa aaa +aad aaa aaa aaa @@ -58142,8 +57882,7 @@ aaa aaa aaa aaa -aaa -aaa +aad aaa aaa aaa @@ -58395,7 +58134,7 @@ aaa aaa aaa aaa -aaa +aac aaa aaa aaa @@ -58651,17 +58390,17 @@ aaa aaa aaa aaa +aac +aad +aad aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aac aaa aaa aaa @@ -58907,19 +58646,19 @@ aaa aaa aaa aaa +aac +aad +aad +aad aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aac +aad +aad +aad +aad aaa aaa aaa @@ -59163,20 +58902,20 @@ aaa aaa aaa aaa +aad +aac +aad +aad +aad +aad aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aac +aad +aad +aad aaa aaa aaa @@ -59419,6 +59158,21 @@ aaa aaa aaa aaa +aac +aad +aad +aad +aad +aad +aad +aaa +aaa +aaa +aaa +aaa +aac +aad +aad aaa aaa aaa @@ -59431,22 +59185,7 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad aaa aaa aaa @@ -59670,19 +59409,19 @@ aaa aaa aaa aaa +aac aaa aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +ans +aad +aad aaa aaa aaa @@ -59927,20 +59666,20 @@ aaa aaa aaa aaa +aad +aac aaa aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +anA +aad +aad +aad aaa aaa aaa @@ -60184,20 +59923,20 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad +aad +aad aaa aaa aaa @@ -60441,18 +60180,18 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad aaa aaa aaa @@ -60697,25 +60436,25 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa aaa aaa +aad +aad +aad +aad +aad +aac aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad aaa aaa aaa @@ -60954,18 +60693,18 @@ aaa aaa aaa aaa +aad +aac aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aac +aad +aac aaa aaa aaa @@ -61217,11 +60956,11 @@ aaa aaa aaa aaa +aad +aad aaa aaa -aaa -aaa -aaa +aac aaa aaa aaa @@ -61474,6 +61213,8 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa @@ -61481,9 +61222,7 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad aaa aaa aaa @@ -61731,7 +61470,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -61988,7 +61727,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -62305,7 +62044,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -64542,7 +64281,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -64914,7 +64653,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -66387,6 +66126,7 @@ aaa aaa aaa aaa +edA aaa aaa aaa @@ -66441,11 +66181,10 @@ aaa aaa aaa aaa +aad aaa aaa -aaa -aaa -aaa +aad aaa aaa aaa @@ -66644,6 +66383,7 @@ aaa aaa aaa aaa +edA aaa aaa aaa @@ -66701,9 +66441,8 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad +aad aaa aaa aaa @@ -66960,7 +66699,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -67220,8 +66959,8 @@ aaa aaa aaa aaa -aaa -aaa +aad +aad aaa aaa aaa @@ -67477,9 +67216,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad +aad +aad aaa aaa aaa @@ -67733,11 +67472,11 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad aaa aaa aaa @@ -67989,13 +67728,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad +aad +aac aaa aaa aaa @@ -68246,13 +67985,13 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad +aad +aac aaa aaa aaa @@ -68412,7 +68151,7 @@ aaa aaa aaa aaa -aaa +edA aaa aaa aaa @@ -68504,12 +68243,12 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad +aac aaa aaa aaa @@ -68762,6 +68501,10 @@ aaa aaa aaa aaa +aad +aad +aad +aac aaa aaa aaa @@ -68770,12 +68513,8 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad aaa aaa aaa @@ -69020,6 +68759,8 @@ aaa aaa aaa aaa +aad +aad aaa aaa aaa @@ -69028,11 +68769,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad aaa aaa aaa @@ -69188,8 +68927,8 @@ aaa aaa aaa aaa -aaa -aaa +edA +edA aaa aaa aaa @@ -69287,9 +69026,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad +aad +aac aaa aaa aaa @@ -69544,9 +69283,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +aad +aad +aac aaa aaa aaa @@ -69733,7 +69472,7 @@ aad aad uhz bpn -eYe +akQ bYE uhz lrg @@ -69800,7 +69539,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -70247,7 +69986,7 @@ aqz aqz nhU bpn -xZO +akR dMl uhz gNH @@ -72055,7 +71794,7 @@ aGe aGe sIu aJj -aKs +afc aLG aMJ aNT @@ -73340,7 +73079,7 @@ aGf sIA aIe aJo -aKx +afJ aLL aMN aMN @@ -75332,7 +75071,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -76915,7 +76654,7 @@ ajR akT alH amH -any +amK aos akT aqI @@ -76928,7 +76667,7 @@ aqz axt aqz azs -aAu +aro aBC aCG aDv @@ -76938,7 +76677,7 @@ aDv aHv sHV aJA -aKH +afK aLX aEt aEt @@ -77212,8 +76951,8 @@ aTb aTb aVM aTb -bao -bbf +aHc +beR aZA bbR bdF @@ -77427,14 +77166,14 @@ aio aiT ajT akV +adr alJ -amJ -anA +any aou akV -aqK -arF -asL +apj +aqQ +asN agF auH avM @@ -77457,7 +77196,7 @@ aLZ aNb aEt bbg -aPQ +aGS aQW aQW aQW @@ -77684,13 +77423,13 @@ aip aiU ajU agF -alK +ads agF anB ait agF aqL -arG +arF asM agF auI @@ -77940,15 +77679,15 @@ ahv aiq aiV ajV +acB akW alL -amK anC -aov -apy -aqM +anr +aoo +aoA arH -asN +asR atL auJ avO @@ -77971,7 +77710,7 @@ aMb aNd sHV aOL -aPS +aGY sJI aSc aTc @@ -78205,7 +77944,7 @@ aiW apz aqN arI -asO +aph arC auK avP @@ -78228,7 +77967,7 @@ aMa aNe aEt aYA -aPT +aGZ aQW aRV aTd @@ -78462,7 +78201,7 @@ aiX apA aqO arJ -asP +api agF auL avQ @@ -78484,8 +78223,8 @@ aKN aMc aNf aEt -aOM -aPU +aGR +aHa aQW aRW aTe @@ -78498,7 +78237,7 @@ aQW aQW aQW sJI -bbj +aHd bbW bcM bdJ @@ -78717,9 +78456,9 @@ ajY anF aow apB -aqP +aqK arK -asQ +aHf agF auM avR @@ -78731,8 +78470,8 @@ aAB aBJ aqz xwu -aEH -aFI +aeR +aeR xwu aEt aIy @@ -78972,10 +78711,10 @@ ala aiZ amN ala -aox -apC +amJ +amJ ala -arL +arM asM agF auN @@ -79231,14 +78970,14 @@ aka ala aoy apD -aqQ -arM -asR +aqP +asL +aHs agF auO -avT -awO -axB +apE +aqw +aqD ayt ayt ayt @@ -79253,9 +78992,9 @@ cXu ttp cXu cXu -aNh -awO -aOP +asV +aqw +atu aPX aQX aRZ @@ -79486,21 +79225,21 @@ ala alQ bxA ala -aoz -apE +anu +aop aqR arN asS agF auP -avU -anH +apF +aqx +aqH axC -axC -axC -aAC -aBL -geZ +aqM +arp +art +asm geZ aEJ aFL @@ -79510,9 +79249,9 @@ aIA xEl bxP geZ -aNi -anH -aOQ +ata +aqx +atv aPY aQY aSa @@ -79523,7 +79262,7 @@ aVU aWE aXj sJI -aYC +bbg aZA bar bbm @@ -79743,20 +79482,20 @@ aip ajc ajc anG -aoA -apF +asB +asB agF arO ajc agF auQ -avV +apR awP awQ ayu ayu -aAD -aBM +arq +arq ayu ayu awQ @@ -79769,7 +79508,7 @@ aIB aIB aIB aOe -aOR +atw aPZ aQZ aSb @@ -79998,9 +79737,9 @@ ajd iaa alb alR -akc -blg -aoB +akp +alK +anv apG uGq uGq @@ -80011,10 +79750,10 @@ avW awQ axD ayv -ayv -aAE -aBN -ayv +arn +ars +aru +asn ayv aEK awQ @@ -80037,7 +79776,7 @@ aVW aWF aVW aXN -aYE +aHb aZB bap bap @@ -80255,15 +79994,15 @@ aje akd alc alS -alc -anI -lxq +akq +amt +anw apH aqS -lxq -asT -atN -auS +aoB +apo +aps +apu avX sDl axE @@ -80273,9 +80012,9 @@ aAF aBO aCN aDD -aEL +aIQ awQ -aGz +aFZ aGM aIB aJJ @@ -80283,8 +80022,8 @@ aKQ aMf aNk aOf -aOT -aQb +atz +atP aRa aSd aRU @@ -80518,8 +80257,8 @@ oyD apI apI arP -asU -atO +apq +apq arP apI awQ @@ -80532,7 +80271,7 @@ aCO aDE aEM sDl -aGA +aGb aHH aIC aJK @@ -80540,8 +80279,8 @@ aKR aMg aNl aID -aOU -aQc +atA +auh aRb aRb sJT @@ -80555,11 +80294,11 @@ aSh aSh aSh sKp -bcc -bcT -bdP +aAU +aBn +aBs aZo -beS +aCg bfz bfU bgE @@ -80774,10 +80513,10 @@ anJ aoC apI aqT -arQ -asV -atP -auT +aoJ +apr +apt +apw avY awQ axG @@ -80786,10 +80525,10 @@ bxJ aAH aBQ azC -aDF +ast aEN awQ -aGB +aGd aHI aID aJL @@ -80797,8 +80536,8 @@ aKS aMh aNm aIB -aOV -aQd +atB +aur aRc aSe aTj @@ -81296,13 +81035,13 @@ awa sDl axH ayz -azD +adM aAH aBQ -azD +aef aDG aEO -sDl +awQ aGD aHM aIE @@ -81330,8 +81069,8 @@ bce bcV bdR sKp -beV -bfB +aCo +aCB bfW bgH bht @@ -81511,7 +81250,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -81527,7 +81266,7 @@ aad aad aad bye -abW +abO acN adF aet @@ -81535,7 +81274,7 @@ afj afV agN ahG -aix +abP ajj aki oyD @@ -81552,12 +81291,12 @@ auW awb awQ axI -ayA +adu awQ aAH aBQ awQ -aDH +aej aEP awQ aGE @@ -81579,8 +81318,8 @@ sCb aSh aSh aXR -aYJ -aZF +agy +agU baw aSh bcf @@ -82067,13 +81806,13 @@ apI awQ axJ ayB -azD +adY aAH aBS -azD +aei ayz aEQ -sDl +awQ arY aHM aIG @@ -82099,7 +81838,7 @@ bay aSh aUn aWb -bdT +aiP aSh bbg bfA @@ -82308,7 +82047,7 @@ agP ahI abw ajh -akl +aeb alh alY amT @@ -82323,12 +82062,12 @@ auY awd awQ axK -ayC +ady awQ aAJ aBT awQ -aDI +aek aER awQ aGG @@ -82565,8 +82304,8 @@ agQ ahJ abw blf -akm -ali +afO +akl alZ anM bxB @@ -82580,11 +82319,11 @@ atc awe awQ awQ -sDl awQ awQ awQ -sDl +awQ +awQ awQ awQ awQ @@ -82614,8 +82353,8 @@ bbq bbq bbq bdV -beF -bfa +aBL +aCp bfA bgb bgM @@ -82822,7 +82561,7 @@ agR ahK abw ajm -akn +aeb alh ama amV @@ -82853,8 +82592,8 @@ aKY aMn aNr aOh -vsL -yeO +atC +aus aRg aSj aTq @@ -83079,8 +82818,8 @@ agS ahL abw ajh -ako -alj +aix +akm amb amW amW @@ -83110,8 +82849,8 @@ aKZ aMo aNs aHM -aPd -aQc +atD +auh aRf aSk aTr @@ -83130,29 +82869,29 @@ aWK aWK aSh bfb -bfD -bgc +aCM +aDn bgN bhz bip biU -bjn -bjB -bjM -bjU -bjB -bjB -bkk -bjB -bjB -bjB -bjB -bjB -bjB -bjB -bjB -bjB -bkW +aEe +aEg +aEh +aEk +aEg +aEg +aEH +aEg +aEg +aEg +aEg +aEg +aEg +aEg +aEg +aEg +aFI blb bgU aaa @@ -83335,8 +83074,8 @@ agc agT ahM abw -mDx -akp +acv +aiD alh amc amX @@ -83367,8 +83106,8 @@ aLa aMp aNt aOi -aPe -aQg +atE +aut aRh aSl aTs @@ -83388,28 +83127,28 @@ bdX aSh aYF bfE -bdO +aTb bgO bhA biq biV -bjo -bjC -bjC -bjV -bjC -bjC -bkl -blx -bjC -bjC -bjC -bjC -bjC -bjC -bly -bkS -bkX +aEf +aEf +aEf +aEl +aEf +aEf +aEL +aFn +aEf +aEf +aEf +aEf +aEf +aEf +aFo +aFp +aFM blc bgU aaa @@ -83557,7 +83296,7 @@ aaa aaa aaa aaa -aaa +aad aaa aaa aaa @@ -83589,11 +83328,11 @@ abw abw abw agd -agU +acA ahN abw +acx ajn -akq alg amd amY @@ -83849,13 +83588,13 @@ age agV aby aiy +acC ajo -akr alk aae aae anQ -aoJ +anH apP aqY asb @@ -83900,9 +83639,9 @@ bck bdc bdZ aSh -bfd -bfG -bgd +aCq +aDf +aDo bgP bhC bis @@ -84112,7 +83851,7 @@ alk aae aae anQ -aoK +anI apQ aqZ asc @@ -84149,8 +83888,8 @@ aRg aRf aSh aXR -aYT -aZP +agD +ahs aXR aSh aSh @@ -84158,7 +83897,7 @@ aWK bea beG sKE -bfH +aDg baj bgQ bhD @@ -84355,7 +84094,7 @@ aaZ aak abA acf -acW +abQ aak aak aak @@ -84369,7 +84108,7 @@ jwi ame ame tKM -aoL +anK arY sAA ara @@ -84384,7 +84123,7 @@ azI aAL aAL aCT -aDN +aen aAL aAL aHF @@ -84397,9 +84136,9 @@ aNx aOh aPb aQl -aRk -eUz -aTw +auz +avA +avV aTw aTw aTw @@ -84654,9 +84393,9 @@ ara all aPi aQm -aIz -rlq -aTx +auS +avB +aws aTx aVo aTx @@ -84667,9 +84406,9 @@ aYV aZR baH bbw -bcl -aTx -aTx +aAY +aBo +aBu aTx aTx bfJ @@ -84911,7 +84650,7 @@ arb aOm aPj aQn -amg +auT fgG aTy aUx @@ -84923,9 +84662,9 @@ aYc iey byo byo -bbx +aih bcm -bdd +aBq beb byo bys @@ -85417,8 +85156,8 @@ aEX aFO aGO aHT -gPY -dQC +asg +avi avi axP ard @@ -85442,7 +85181,7 @@ bco bdf bed beI -bff +aCr bfL aYc bgU @@ -85939,7 +85678,7 @@ arf aOq aPn aQr -amk +avm uuU aTC aUz @@ -86188,7 +85927,7 @@ aue aue aGQ aHU -aIQ +ajP aJX aLg sJn @@ -86196,9 +85935,9 @@ ara aOr aPo aQs -aCM -eUz -aTD +avv +avA +awz aTD aVs aTD @@ -86411,7 +86150,7 @@ abf aak abA acf -add +acz swv swv aak @@ -86453,16 +86192,16 @@ ayP sJA aPp aQt -blp -aSt +avw +avC +awB aTE aTE aTE -aTE -aTE -aXw -aYg -aYZ +axl +axn +axX +ayb aRq baM bbB @@ -86700,7 +86439,7 @@ aCV aDS aEZ aFR -aGR +aGz aCe aIR aJZ @@ -86717,12 +86456,12 @@ aRs aRr aRs aRr -aXx -aYh +axB +axB aZa aZa aZa -baR +aht bcs bdk aZa @@ -86933,8 +86672,8 @@ acn ahf ahX aiC +acW ajz -akC alk aae aae @@ -86957,7 +86696,7 @@ aCW aDT aFa aFS -aGS +aGA aHV aIS aKa @@ -86970,21 +86709,21 @@ aQv aRs aSu aTG -aUA -aVt +awE +awO aWk aTL -aXy -aYi +axL +axY aZb aZU -baN +azi bbC bct bdl -beg +aBv beL -aYu +aCt bfP bfP bfP @@ -87178,7 +86917,7 @@ aaa aan aay aak -sOs +abn aak abs swz @@ -87190,8 +86929,8 @@ agn abs ahY ahY +add ajA -vWg alu amn ane @@ -87203,7 +86942,7 @@ asp atm aui avn -aws +ajO axa ara ayP @@ -87227,15 +86966,15 @@ aQv aRt aSv aTH -aUB -aVu +awG +axf aWl aWU aXz aYj aZc aZV -baO +azj bbD bxV bdm @@ -87446,9 +87185,9 @@ afw ago abs ahZ -aiD -ajB -akD +abW +adt +akc alv amo anf @@ -87475,24 +87214,24 @@ aGU aCe aIU aKc -aLi +aGB aCe asp ayP -aPt -voi +atF +auu aRs aSw aTI -aUC -aVv +awH +axg aWm aWV aXA aYk aZd aZW -baP +azk bbE bcv bdn @@ -87732,12 +87471,12 @@ aGV aCe aIV aKd -aLj +aGC aCe aNB ayP -fMT -lQs +atG +aux aRr aSx aTJ @@ -87749,11 +87488,11 @@ aXB aYl aZe aZX -baQ -bbF +azn +aAo bcu bdo -bej +aBw beL sPI bfP @@ -87989,30 +87728,30 @@ aGW sIC aIW aKe -aLk +aGF aCf aNC aOt -soC -aQw +atH +auy aRs aSy -aTK -aUE -aVx -aWo +awD +awL +axh +axk aSz aXC aYm aZa aZe -baR +aht bbG aZe bdp aZe beL -nKi +aCu bfP bgp bhb @@ -88025,7 +87764,7 @@ nTi jdD bhb bhO -bjP +aFh bfP aad aad @@ -88260,29 +87999,29 @@ aTL aWp aWW blr -aYn -aZf -aZY +axZ +ayc +azd baS aYk bcw bdq -bek -beM -bfl -bfQ -bgq -bhc +aBx +aBM +aCv +aDk +aDp +aDF bhP -eFp +aDI bhP pLb bhP -biC +aEi bhP bjq bjD -bjQ +aFj bfP aad aad @@ -88510,32 +88249,32 @@ ayP blo aQy aRu -aSA +avD aTM aUF aVy aWq aWq aXD -aYo -aZg -aZZ +aya +ayd +aze baT bbH bcx bdr -bel -beN -bfm -bfR -bgr -bhd +aBz +aBN +aCx +aDm +aDq +aDH bhQ -plz +aDN iVw jBG iVw -biD +aEj biY bjr bjE @@ -88764,10 +88503,10 @@ ayP ayP ayP ayP -gyV +atJ oQL aRv -aSB +avF aTN aUG aVz @@ -88778,12 +88517,12 @@ aYp aZh baa baU -bbI +aii baa bds baa aZl -dfP +aCy bfP bgo rCw @@ -88796,7 +88535,7 @@ nTi biZ bjs bjF -bjS +aFk bfP aad aad @@ -88992,9 +88731,9 @@ abt ajF akJ bxz -amt -ank -anZ +akn +akr +amu aoZ aqh ari @@ -89008,9 +88747,9 @@ axV ayU azT aAZ -aCg -ank -aly +arG +akr +asu aly aFX aGX @@ -89019,9 +88758,9 @@ aIX udT aLm uqY -aNF -vkK -aPw +atk +ats +atN aQz sJL sJL @@ -89030,14 +88769,14 @@ aUH sKf aVA aVA -aXF +agm aUH aZi bab -baV -bbJ -bcy -bdt +azo +aAu +aBi +amE bem beO sOV @@ -89053,7 +88792,7 @@ ibv bja bjt bjG -bjT +aFm bfP aad aad @@ -89249,11 +88988,11 @@ aiH alz akK alz -amu -anl -aoa -apa -aqi +ako +akC +amF +anO +aov blh arj sOI @@ -89265,9 +89004,9 @@ arj arj sEJ aBa -aBa -anl -aDZ +arL +akC +asy mXV aFY bsz @@ -89276,9 +89015,9 @@ aIY fff sJa tLt -tLt -doD -aPx +atr +att +atO tLt aRx sOT @@ -89290,10 +89029,10 @@ aWY aXG aYq aZj -bac -baW +azf +azD bbK -bcz +aBj bdu ben beP @@ -89309,7 +89048,7 @@ bgm xFw bjb bju -bjH +aEm bfP sKZ aad @@ -89508,15 +89247,15 @@ ado adn ado adp -aob -apb +amU +anZ nwY sOF sOG atq aRz aRz -sOK +aqi aRz aRz bli @@ -89548,9 +89287,9 @@ aXH aYr aZi bad -baX +aAa bbL -bcA +aAb bdv beo aZl @@ -89565,7 +89304,7 @@ bhg bgm bfP bjc -bjv +ajN bjc bfP aad @@ -89765,16 +89504,16 @@ akL alA amv ado -aoc -apc +ank +aoa aqj aRz -asr +aoK bfp aRz -avv -acx -axf +apy +aqo +aqp aRz aRz sEK @@ -89783,8 +89522,8 @@ aRz aRz aRz aRz -blL -bsB +aeW +aeV aRz aRz aRz @@ -89795,7 +89534,7 @@ sqz lFi lFi sON -aSE +avH sOV aUI aVD @@ -89804,10 +89543,10 @@ aXa aXI aYs aZj -bac -baY +azf +aAb bbM -bxW +aBk bdw bep aZl @@ -90026,12 +89765,12 @@ aod apd aqk aRz -ass +aoL aTR sJN -avw -awz -axg +apy +aqp +aqy aRz sEl sEL @@ -90052,7 +89791,7 @@ aae aae aae aRy -aSF +avT aTS aUJ aVE @@ -90062,9 +89801,9 @@ aVE sKh aZk baf -baZ -bbN -bcB +aAc +aAC +aAb bdx beq sKQ @@ -90283,7 +90022,7 @@ aoc apc aql aRz -ast +apa bfo aRz aRz @@ -90309,7 +90048,7 @@ bte aPz aPz sOM -aSG +avU aTT aUK aVF @@ -90325,7 +90064,7 @@ bcC bdy ber aZl -bxX +aIz glC sdL bhj @@ -90569,14 +90308,14 @@ sOM sJR sON sOY -aVG +axj sJR sOM sOY sOV aZm bah -hTn +ahW bah sKJ bah @@ -90797,15 +90536,15 @@ aof apf aqn aRz -abO +apb bfp aSD -sCt -sCQ -sDq +apC +aqq +aqB aSD sEn -sEN +aHK sFo sFS aSH @@ -90829,13 +90568,13 @@ aUL aVH aWw sOM -sPi +axU aYv die -sPo -pmS -sPo -sPo +azg +aAd +azg +azg bdz sPa sOZ @@ -91065,7 +90804,7 @@ aRz aRz sFp sFT -sGy +aHG sHb aRz bxM @@ -91079,7 +90818,7 @@ aae bte aPC aQD -aRA +avz aSJ aTV aUM @@ -91089,10 +90828,10 @@ sOM sON tms hXc -abP -jLF -aAY -hVE +azh +aAe +azh +azh bdA aRy aRy @@ -91307,9 +91046,9 @@ akP alF amB ado -acv -aph -aqp +anl +aob +aox aRz bvh sBx @@ -91347,7 +91086,7 @@ aad orV iio tPn -wOe +aig tPn hXc iio @@ -91565,7 +91304,7 @@ adn amC anp aoh -api +aoi amD amC amC @@ -91602,7 +91341,7 @@ aRy sON aad hns -iXB +aye hVE sPq hVE @@ -91820,10 +91559,10 @@ aae aae aae syD +akD anq -aoi -apj -aqq +aon +aoz ark amC sOJ @@ -91859,7 +91598,7 @@ aad aad aad hns -xLe +ayf hVE sPq hVE @@ -92077,7 +91816,7 @@ aaa aaa aaa amD -anr +ali aoj apk aqr @@ -92093,11 +91832,11 @@ aac sEQ aRz sJN -atq +asq aRz aRz -bmh -sIx +aeY +afa aKh sIP bmC @@ -92116,7 +91855,7 @@ aad aad aad orV -nMh +ayg hVE sPq wPr @@ -92334,7 +92073,7 @@ aaa aaa aaa amC -ans +alj aok apl aqs @@ -92349,7 +92088,7 @@ aaa aac bvg sFs -sFX +arQ sGC sHf sHB @@ -92373,14 +92112,14 @@ aac aad aad orV -pdX +ayy hVE bWO oKp dXv sVt low -jsD +aiQ low lMu sON @@ -92606,7 +92345,7 @@ aae bvg bvg sFs -sFY +asa sGD bsS sHC @@ -92630,7 +92369,7 @@ aad aad aad rpy -jLT +ayA lmr oRo pAN @@ -92866,13 +92605,13 @@ axW axW axW azb -blL -blY -bsB +asD +asD +asD azb axW aKh -bsZ +akS azb axW axW @@ -92887,14 +92626,14 @@ aad aad aad sVt -bNB +ayC hVE sPq hVE lzC sVt low -oxb +ajG low jRe aad @@ -93123,9 +92862,9 @@ aBc aCi aDd aEb -aFk -sIe -bsO +blM +blZ +bsC aHZ aJa azb @@ -93144,7 +92883,7 @@ aad aad aad sVt -jXX +ayD wwT sPq tFk @@ -93401,7 +93140,7 @@ aad aad aad meo -xiZ +azc wvy sPq mfj @@ -93658,7 +93397,7 @@ aac aad aad sVt -mhf +ayD kCG ybw vGQ @@ -93892,13 +93631,13 @@ ayZ azY aBf aCl -aDg -aEe -aFn -aGb -bsR -bsT -bsV +asr +asz +asE +asO +asQ +asT +asU bsX btd aMB @@ -93918,7 +93657,7 @@ sVt sVt sVt sVt -qcP +aij sVt meo meo @@ -94149,13 +93888,13 @@ aza azZ aBg aCm -aDh -aEf -aEf -bll -aEf -aEf -aDh +ass +asA +asA +asP +asA +asA +ass azb aLt aMC @@ -94174,9 +93913,9 @@ eGm eGm eGm meo -uiT -scn -bpj +aAf +aAD +azh iio aad aad @@ -94431,9 +94170,9 @@ leU dfK dfK sVt -kQn -lFm -fjN +aAk +aAE +aBl iio aad aad @@ -94688,9 +94427,9 @@ leU dfK qnA ucd -vZb -iiW -bOJ +aAl +aAE +aBm iio aad aad @@ -94946,7 +94685,7 @@ lmq lmq sVt iio -upN +ail iio iio iio @@ -95716,8 +95455,8 @@ aad aad aad iio -qyQ -flE +aAm +hVE msG diQ iio diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 7150ad0a..a01884e5 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -19,7 +19,7 @@ //organ defines #define COCK_SIZE_MIN 1 -#define COCK_SIZE_MAX 20 +#define COCK_SIZE_MAX 36 #define COCK_GIRTH_RATIO_MAX 0.42 #define COCK_GIRTH_RATIO_DEF 0.25 @@ -32,19 +32,19 @@ #define BALLS_VOLUME_BASE 25 #define BALLS_VOLUME_MULT 1 -#define BALLS_SIZE_MIN 1 -#define BALLS_SIZE_DEF 2 -#define BALLS_SIZE_MAX 3 +#define BALLS_SIZE_MIN 1 //Hyper - Unchanged +#define BALLS_SIZE_DEF 8 //Changed from 2 +#define BALLS_SIZE_MAX 40 //Changed from 3 #define BALLS_SACK_SIZE_MIN 1 #define BALLS_SACK_SIZE_DEF 8 #define BALLS_SACK_SIZE_MAX 40 -#define CUM_RATE 0.035 +#define CUM_RATE 5 #define CUM_RATE_MULT 1 -#define CUM_EFFICIENCY 1//amount of nutrition required per life() +#define CUM_EFFICIENCY 1 //amount of nutrition required per life() -#define EGG_GIRTH_MIN 1//inches +#define EGG_GIRTH_MIN 1 //inches #define EGG_GIRTH_DEF 6 #define EGG_GIRTH_MAX 16 @@ -52,25 +52,30 @@ #define BREASTS_VOLUME_MULT 1 //global multiplier for breast volume. #define BREASTS_SIZE_FLAT 0 #define BREASTS_SIZE_A 1 -#define BREASTS_SIZE_AA 1.5 #define BREASTS_SIZE_B 2 -#define BREASTS_SIZE_BB 2.5 #define BREASTS_SIZE_C 3 -#define BREASTS_SIZE_CC 3.5 #define BREASTS_SIZE_D 4 -#define BREASTS_SIZE_DD 4.5 #define BREASTS_SIZE_E 5 -#define BREASTS_SIZE_EE 5.5 #define BREASTS_SIZE_F 6 -#define BREASTS_SIZE_FF 6.5 #define BREASTS_SIZE_G 7 -#define BREASTS_SIZE_GG 7.5//Are these even real sizes? The world may never know because cup sizes make no fucking sense. #define BREASTS_SIZE_H 8 -#define BREASTS_SIZE_HH 8.5//Largest size, ever. For now. +#define BREASTS_SIZE_I 9 +#define BREASTS_SIZE_J 10 +#define BREASTS_SIZE_K 11 +#define BREASTS_SIZE_L 12 +#define BREASTS_SIZE_M 13 +#define BREASTS_SIZE_N 14 +#define BREASTS_SIZE_O 15 +#define BREASTS_SIZE_HUGE 16 +#define BREASTS_SIZE_MASSIVE 17 +#define BREASTS_SIZE_GIGA 25 +//Bodysize Limits +#define MIN_BODYSIZE 80 +#define MAX_BODYSIZE 120 #define BREASTS_SIZE_MIN BREASTS_SIZE_A -#define BREASTS_SIZE_DEF BREASTS_SIZE_C -#define BREASTS_SIZE_MAX BREASTS_SIZE_HH +#define BREASTS_SIZE_DEF BREASTS_SIZE_D +#define BREASTS_SIZE_MAX BREASTS_SIZE_GIGA #define MILK_RATE 5 #define MILK_RATE_MULT 1 diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm new file mode 100644 index 00000000..9609f19c --- /dev/null +++ b/code/__DEFINES/dcs/signals.dm @@ -0,0 +1,724 @@ +// All signals. Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// global signals +// These are signals which can be listened to by any component on any parent +// start global signals with "!", this used to be necessary but now it's just a formatting choice + +///from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args) +#define COMSIG_GLOB_NEW_Z "!new_z" +/// called after a successful var edit somewhere in the world: (list/args) +#define COMSIG_GLOB_VAR_EDIT "!var_edit" +/// called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range) +#define COMSIG_GLOB_EXPLOSION "!explosion" +/// mob was created somewhere : (mob) +#define COMSIG_GLOB_MOB_CREATED "!mob_created" +/// mob died somewhere : (mob , gibbed) +#define COMSIG_GLOB_MOB_DEATH "!mob_death" +/// global living say plug - use sparingly: (mob/speaker , message) +#define COMSIG_GLOB_LIVING_SAY_SPECIAL "!say_special" +/// called by datum/cinematic/play() : (datum/cinematic/new_cinematic) +#define COMSIG_GLOB_PLAY_CINEMATIC "!play_cinematic" + #define COMPONENT_GLOB_BLOCK_CINEMATIC (1<<0) +/// ingame button pressed (/obj/machinery/button/button) +#define COMSIG_GLOB_BUTTON_PRESSED "!button_pressed" + +/// signals from globally accessible objects + +///from SSsun when the sun changes position : (azimuth) +#define COMSIG_SUN_MOVED "sun_moved" + +////////////////////////////////////////////////////////////////// + +// /datum signals +/// when a component is added to a datum: (/datum/component) +#define COMSIG_COMPONENT_ADDED "component_added" +/// before a component is removed from a datum because of RemoveComponent: (/datum/component) +#define COMSIG_COMPONENT_REMOVING "component_removing" +/// before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation +#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted" +/// just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called +#define COMSIG_PARENT_QDELETING "parent_qdeleting" +/// generic topic handler (usr, href_list) +#define COMSIG_TOPIC "handle_topic" + +/// fires on the target datum when an element is attached to it (/datum/element) +#define COMSIG_ELEMENT_ATTACH "element_attach" +/// fires on the target datum when an element is attached to it (/datum/element) +#define COMSIG_ELEMENT_DETACH "element_detach" + +// /atom signals +///from base of atom/proc/Initialize(): sent any time a new atom is created +#define COMSIG_ATOM_CREATED "atom_created" +//from SSatoms InitAtom - Only if the atom was not deleted or failed initialization +#define COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE "atom_init_success" +///from base of atom/attackby(): (/obj/item, /mob/living, params) +#define COMSIG_PARENT_ATTACKBY "atom_attackby" +///Return this in response if you don't want afterattack to be called + #define COMPONENT_NO_AFTERATTACK (1<<0) +///from base of atom/attack_hulk(): (/mob/living/carbon/human) +#define COMSIG_ATOM_HULK_ATTACK "hulk_attack" +///from base of atom/animal_attack(): (/mob/user) +#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal" +///from base of atom/examine(): (/mob) +#define COMSIG_PARENT_EXAMINE "atom_examine" +///from base of atom/get_examine_name(): (/mob, list/overrides) +#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" + //Positions for overrides list + #define EXAMINE_POSITION_ARTICLE (1<<0) + #define EXAMINE_POSITION_BEFORE (1<<1) + //End positions + #define COMPONENT_EXNAME_CHANGED (1<<0) +///from base of atom/update_icon(): () +#define COMSIG_ATOM_UPDATE_ICON "atom_update_icon" + #define COMSIG_ATOM_NO_UPDATE_ICON_STATE (1<<0) + #define COMSIG_ATOM_NO_UPDATE_OVERLAYS (1<<1) +///from base of atom/update_overlays(): (list/new_overlays) +#define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays" +///from base of atom/update_icon(): (signalOut, did_anything) +#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon" +///from base of atom/Entered(): (atom/movable/entering, /atom) +#define COMSIG_ATOM_ENTERED "atom_entered" +///from base of atom/Exit(): (/atom/movable/exiting, /atom/newloc) +#define COMSIG_ATOM_EXIT "atom_exit" + #define COMPONENT_ATOM_BLOCK_EXIT (1<<0) +///from base of atom/Exited(): (atom/movable/exiting, atom/newloc) +#define COMSIG_ATOM_EXITED "atom_exited" +///from base of atom/Bumped(): (/atom/movable) +#define COMSIG_ATOM_BUMPED "atom_bumped" +///from base of atom/ex_act(): (severity, target) +#define COMSIG_ATOM_EX_ACT "atom_ex_act" +///from base of atom/emp_act(): (severity) +#define COMSIG_ATOM_EMP_ACT "atom_emp_act" +///from base of atom/fire_act(): (exposed_temperature, exposed_volume) +#define COMSIG_ATOM_FIRE_ACT "atom_fire_act" +///from base of atom/bullet_act(): (/obj/projectile, def_zone) +#define COMSIG_ATOM_BULLET_ACT "atom_bullet_act" +///from base of atom/blob_act(): (/obj/structure/blob) +#define COMSIG_ATOM_BLOB_ACT "atom_blob_act" +///from base of atom/acid_act(): (acidpwr, acid_volume) +#define COMSIG_ATOM_ACID_ACT "atom_acid_act" +///from base of atom/emag_act(): (/mob/user) +#define COMSIG_ATOM_EMAG_ACT "atom_emag_act" +///from base of atom/rad_act(intensity) +#define COMSIG_ATOM_RAD_ACT "atom_rad_act" +///from base of atom/narsie_act(): () +#define COMSIG_ATOM_NARSIE_ACT "atom_narsie_act" +///from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode) +#define COMSIG_ATOM_RCD_ACT "atom_rcd_act" +///from base of atom/singularity_pull(): (S, current_size) +#define COMSIG_ATOM_SING_PULL "atom_sing_pull" +///from obj/machinery/bsa/full/proc/fire(): () +#define COMSIG_ATOM_BSA_BEAM "atom_bsa_beam_pass" + #define COMSIG_ATOM_BLOCKS_BSA_BEAM (1<<0) +///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) +#define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del" +///from base of atom/has_gravity(): (turf/location, list/forced_gravities) +#define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity" +///from proc/get_rad_contents(): () +#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe" + #define COMPONENT_BLOCK_RADIATION (1<<0) +///from base of datum/radiation_wave/radiate(): (strength) +#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam" + #define COMPONENT_BLOCK_CONTAMINATION (1<<0) +///from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width) +#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass" + #define COMPONENT_RAD_WAVE_HANDLED (1<<0) +///from internal loop in atom/movable/proc/CanReach(): (list/next) +#define COMSIG_ATOM_CANREACH "atom_can_reach" + #define COMPONENT_BLOCK_REACH (1<<0) +///from base of atom/screwdriver_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_SCREWDRIVER_ACT "atom_screwdriver_act" +///from base of atom/wrench_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WRENCH_ACT "atom_wrench_act" +///from base of atom/multitool_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_MULTITOOL_ACT "atom_multitool_act" +///from base of atom/welder_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WELDER_ACT "atom_welder_act" +///from base of atom/wirecutter_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_WIRECUTTER_ACT "atom_wirecutter_act" +///from base of atom/crowbar_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_CROWBAR_ACT "atom_crowbar_act" +///from base of atom/analyser_act(): (mob/living/user, obj/item/I) +#define COMSIG_ATOM_ANALYSER_ACT "atom_analyser_act" + #define COMPONENT_BLOCK_TOOL_ATTACK (1<<0) +///called when teleporting into a protected turf: (channel, turf/origin) +#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport" + #define COMPONENT_BLOCK_TELEPORT (1<<0) +///called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers) +#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view" +///called when an atom starts orbiting another atom: (atom) +#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin" +///called when an atom stops orbiting another atom: (atom) +#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop" +///////////////// +///from base of atom/attack_ghost(): (mob/dead/observer/ghost) +#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" +///from base of atom/attack_hand(): (mob/user) +#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" +///from base of atom/attack_paw(): (mob/user) +#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" + #define COMPONENT_NO_ATTACK_HAND (1<<0) //works on all 3. +//This signal return value bitflags can be found in __DEFINES/misc.dm + +///called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels) +#define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" +///called on a movable (NOT living) when someone starts pulling it (atom/movable/puller, state, force) +#define COMSIG_ATOM_START_PULL "movable_start_pull" +///called on /living when someone starts pulling it (atom/movable/puller, state, force) +#define COMSIG_LIVING_START_PULL "living_start_pull" + +///////////////// + +///from base of area/Entered(): (/area) +#define COMSIG_ENTER_AREA "enter_area" +///from base of area/Exited(): (/area) +#define COMSIG_EXIT_AREA "exit_area" +///from base of atom/Click(): (location, control, params, mob/user) +#define COMSIG_CLICK "atom_click" +///from base of atom/ShiftClick(): (/mob) +#define COMSIG_CLICK_SHIFT "shift_click" + #define COMPONENT_ALLOW_EXAMINATE (1<<0) //Allows the user to examinate regardless of client.eye. +///from base of atom/CtrlClickOn(): (/mob) +#define COMSIG_CLICK_CTRL "ctrl_click" +///from base of atom/AltClick(): (/mob) +#define COMSIG_CLICK_ALT "alt_click" +///from base of atom/CtrlShiftClick(/mob) +#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click" +///from base of atom/MouseDrop(): (/atom/over, /mob/user) +#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto" + #define COMPONENT_NO_MOUSEDROP (1<<0) +///from base of atom/MouseDrop_T: (/atom/from, /mob/user) +#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto" + +// /area signals + +///from base of area/Entered(): (atom/movable/M) +#define COMSIG_AREA_ENTERED "area_entered" +///from base of area/Exited(): (atom/movable/M) +#define COMSIG_AREA_EXITED "area_exited" + +// /turf signals + +///from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/transferring_comps) +#define COMSIG_TURF_CHANGE "turf_change" +///from base of atom/has_gravity(): (atom/asker, list/forced_gravities) +#define COMSIG_TURF_HAS_GRAVITY "turf_has_gravity" +///from base of turf/New(): (turf/source, direction) +#define COMSIG_TURF_MULTIZ_NEW "turf_multiz_new" + +// /atom/movable signals + +///from base of atom/movable/Moved(): (/atom) +#define COMSIG_MOVABLE_PRE_MOVE "movable_pre_move" + #define COMPONENT_MOVABLE_BLOCK_PRE_MOVE (1<<0) +///from base of atom/movable/Moved(): (/atom, dir) +#define COMSIG_MOVABLE_MOVED "movable_moved" +///from base of atom/movable/Cross(): (/atom/movable) +#define COMSIG_MOVABLE_CROSS "movable_cross" +///from base of atom/movable/Crossed(): (/atom/movable) +#define COMSIG_MOVABLE_CROSSED "movable_crossed" +///from base of atom/movable/Uncross(): (/atom/movable) +#define COMSIG_MOVABLE_UNCROSS "movable_uncross" + #define COMPONENT_MOVABLE_BLOCK_UNCROSS (1<<0) +///from base of atom/movable/Uncrossed(): (/atom/movable) +#define COMSIG_MOVABLE_UNCROSSED "movable_uncrossed" +///from base of atom/movable/Bump(): (/atom) +#define COMSIG_MOVABLE_BUMP "movable_bump" +///from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum) +#define COMSIG_MOVABLE_IMPACT "movable_impact" + #define COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH (1<<0) //if true, flip if the impact will push what it hits + #define COMPONENT_MOVABLE_IMPACT_NEVERMIND (1<<1) //return true if you destroyed whatever it was you're impacting and there won't be anything for hitby() to run on +///from base of mob/living/hitby(): (mob/living/target, hit_zone) +#define COMSIG_MOVABLE_IMPACT_ZONE "item_impact_zone" +///from base of atom/movable/buckle_mob(): (mob, force) +#define COMSIG_MOVABLE_BUCKLE "buckle" +///from base of atom/movable/unbuckle_mob(): (mob, force) +#define COMSIG_MOVABLE_UNBUCKLE "unbuckle" +///from base of atom/movable/throw_at(): (list/args) +#define COMSIG_MOVABLE_PRE_THROW "movable_pre_throw" + #define COMPONENT_CANCEL_THROW (1<<0) +///from base of atom/movable/throw_at(): (datum/thrownthing, spin) +#define COMSIG_MOVABLE_POST_THROW "movable_post_throw" +///from base of atom/movable/onTransitZ(): (old_z, new_z) +#define COMSIG_MOVABLE_Z_CHANGED "movable_ztransit" +///called when the movable is placed in an unaccessible area, used for stationloving: () +#define COMSIG_MOVABLE_SECLUDED_LOCATION "movable_secluded" +///from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)) +#define COMSIG_MOVABLE_HEAR "movable_hear" + #define HEARING_MESSAGE 1 + #define HEARING_SPEAKER 2 +// #define HEARING_LANGUAGE 3 + #define HEARING_RAW_MESSAGE 4 + /* #define HEARING_RADIO_FREQ 5 + #define HEARING_SPANS 6 + #define HEARING_MESSAGE_MODE 7 */ + +///called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source) +#define COMSIG_MOVABLE_DISPOSING "movable_disposing" + +// /mob signals + +///from base of /mob/Login(): () +#define COMSIG_MOB_LOGIN "mob_login" +///from base of /mob/Logout(): () +#define COMSIG_MOB_LOGOUT "mob_logout" +///from base of mob/death(): (gibbed) +#define COMSIG_MOB_DEATH "mob_death" +///from base of mob/set_stat(): (new_stat) +#define COMSIG_MOB_STATCHANGE "mob_statchange" +///from base of mob/clickon(): (atom/A, params) +#define COMSIG_MOB_CLICKON "mob_clickon" +///from base of mob/MiddleClickOn(): (atom/A) +#define COMSIG_MOB_MIDDLECLICKON "mob_middleclickon" +///from base of mob/AltClickOn(): (atom/A) +#define COMSIG_MOB_ALTCLICKON "mob_altclickon" + #define COMSIG_MOB_CANCEL_CLICKON (1<<0) + +///from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj +#define COMSIG_MOB_ALLOWED "mob_allowed" +///from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources) +#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" + #define COMPONENT_BLOCK_MAGIC (1<<0) +///from base of mob/create_mob_hud(): () +#define COMSIG_MOB_HUD_CREATED "mob_hud_created" +///from base of atom/attack_hand(): (mob/user) +#define COMSIG_MOB_ATTACK_HAND "mob_attack_hand" +///from base of /obj/item/attack(): (mob/M, mob/user) +#define COMSIG_MOB_ITEM_ATTACK "mob_item_attack" + #define COMPONENT_ITEM_NO_ATTACK (1<<0) +///from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone) +#define COMSIG_MOB_APPLY_DAMGE "mob_apply_damage" +///from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters) +#define COMSIG_MOB_ITEM_AFTERATTACK "mob_item_afterattack" +///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, proxiumity_flag, click_parameters) +#define COMSIG_MOB_ITEM_ATTACK_QDELETED "mob_item_attack_qdeleted" +///from base of mob/RangedAttack(): (atom/A, params) +#define COMSIG_MOB_ATTACK_RANGED "mob_attack_ranged" +///from base of /mob/throw_item(): (atom/target) +#define COMSIG_MOB_THROW "mob_throw" +///from base of /mob/verb/examinate(): (atom/target) +#define COMSIG_MOB_EXAMINATE "mob_examinate" +///from base of /mob/update_sight(): () +#define COMSIG_MOB_UPDATE_SIGHT "mob_update_sight" +////from /mob/living/say(): () +#define COMSIG_MOB_SAY "mob_say" + #define COMPONENT_UPPERCASE_SPEECH (1<<0) + // used to access COMSIG_MOB_SAY argslist + #define SPEECH_MESSAGE 1 + // #define SPEECH_BUBBLE_TYPE 2 + #define SPEECH_SPANS 3 + /* #define SPEECH_SANITIZE 4 + #define SPEECH_LANGUAGE 5 + #define SPEECH_IGNORE_SPAM 6 + #define SPEECH_FORCED 7 */ + +///from /mob/say_dead(): (mob/speaker, message) +#define COMSIG_MOB_DEADSAY "mob_deadsay" + #define MOB_DEADSAY_SIGNAL_INTERCEPT (1<<0) +///from /mob/living/emote(): () +#define COMSIG_MOB_EMOTE "mob_emote" +///from base of mob/swap_hand(): (obj/item) +#define COMSIG_MOB_SWAP_HANDS "mob_swap_hands" + #define COMPONENT_BLOCK_SWAP (1<<0) + +// /mob/living signals + +///from base of mob/living/resist() (/mob/living) +#define COMSIG_LIVING_RESIST "living_resist" +///from base of mob/living/IgniteMob() (/mob/living) +#define COMSIG_LIVING_IGNITED "living_ignite" +///from base of mob/living/ExtinguishMob() (/mob/living) +#define COMSIG_LIVING_EXTINGUISHED "living_extinguished" +///from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags) +#define COMSIG_LIVING_ELECTROCUTE_ACT "living_electrocute_act" +///sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check) +#define COMSIG_LIVING_SHOCK_PREVENTED "living_shock_prevented" +///sent by stuff like stunbatons and tasers: () +#define COMSIG_LIVING_MINOR_SHOCK "living_minor_shock" +///from base of mob/living/revive() (full_heal, admin_revive) +#define COMSIG_LIVING_REVIVE "living_revive" +///from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs) +#define COMSIG_LIVING_REGENERATE_LIMBS "living_regen_limbs" +///from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment +#define COMSIG_LIVING_ATTACH_LIMB "living_attach_limb" + #define COMPONENT_NO_ATTACH (1<<0) +///sent from borg recharge stations: (amount, repairs) +#define COMSIG_PROCESS_BORGCHARGER_OCCUPANT "living_charge" +///sent when a mob/login() finishes: (client) +#define COMSIG_MOB_CLIENT_LOGIN "comsig_mob_client_login" +///sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation) +#define COMSIG_BORG_SAFE_DECONSTRUCT "borg_safe_decon" + +//ALL OF THESE DO NOT TAKE INTO ACCOUNT WHETHER AMOUNT IS 0 OR LOWER AND ARE SENT REGARDLESS! + +///from base of mob/living/Stun() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_STUN "living_stun" +///from base of mob/living/Knockdown() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" +///from base of mob/living/Paralyze() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_PARALYZE "living_paralyze" +///from base of mob/living/Immobilize() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_IMMOBILIZE "living_immobilize" +///from base of mob/living/Unconscious() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_UNCONSCIOUS "living_unconscious" +///from base of mob/living/Sleeping() (amount, update, ignore) +#define COMSIG_LIVING_STATUS_SLEEP "living_sleeping" + #define COMPONENT_NO_STUN (1<<0) //For all of them +///from base of /mob/living/can_track(): (mob/user) +#define COMSIG_LIVING_CAN_TRACK "mob_cantrack" + #define COMPONENT_CANT_TRACK (1<<0) + +// /mob/living/carbon signals + +///from base of mob/living/carbon/soundbang_act(): (list(intensity)) +#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" +///from /item/organ/proc/Insert() (/obj/item/organ/) +#define COMSIG_CARBON_GAIN_ORGAN "carbon_gain_organ" +///from /item/organ/proc/Remove() (/obj/item/organ/) +#define COMSIG_CARBON_LOSE_ORGAN "carbon_lose_organ" +///from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent) +#define COMSIG_CARBON_EQUIP_HAT "carbon_equip_hat" +///from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent) +#define COMSIG_CARBON_UNEQUIP_HAT "carbon_unequip_hat" +///defined twice, in carbon and human's topics, fired when interacting with a valid embedded_object to pull it out (mob/living/carbon/target, /obj/item, /obj/item/bodypart/L) +#define COMSIG_CARBON_EMBED_RIP "item_embed_start_rip" +///called when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item) +#define COMSIG_CARBON_EMBED_REMOVAL "item_embed_remove_safe" + +// /mob/living/simple_animal/hostile signals +#define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" + #define COMPONENT_HOSTILE_NO_ATTACK (1<<0) + +// /obj signals + +///from base of obj/deconstruct(): (disassembled) +#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" +///called in /obj/structure/setAnchored(): (value) +#define COMSIG_OBJ_SETANCHORED "obj_setanchored" +///from base of code/game/machinery +#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" +///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide +#define COMSIG_OBJ_HIDE "obj_hide" + +// /obj/machinery signals + +///from /obj/machinery/obj_break(damage_flag): (damage_flag) +#define COMSIG_MACHINERY_BROKEN "machinery_broken" +///from base power_change() when power is lost +#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost" +///from base power_change() when power is restored +#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored" + +// /obj/item signals + +///from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +#define COMSIG_ITEM_ATTACK "item_attack" +///from base of obj/item/attack_self(): (/mob) +#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" + #define COMPONENT_NO_INTERACT (1<<0) +///from base of obj/item/attack_obj(): (/obj, /mob) +#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" + #define COMPONENT_NO_ATTACK_OBJ (1<<0) +///from base of obj/item/pre_attack(): (atom/target, mob/user, params) +#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" + #define COMPONENT_NO_ATTACK (1<<0) +///from base of obj/item/afterattack(): (atom/target, mob/user, params) +#define COMSIG_ITEM_AFTERATTACK "item_afterattack" +///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) +#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" +///from base of obj/item/equipped(): (/mob/equipper, slot) +#define COMSIG_ITEM_EQUIPPED "item_equip" +///from base of obj/item/dropped(): (mob/user) +#define COMSIG_ITEM_DROPPED "item_drop" +///from base of obj/item/pickup(): (/mob/taker) +#define COMSIG_ITEM_PICKUP "item_pickup" +///from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) +#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" +///return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) +#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" +///called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user) +#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval" + #define COMPONENT_BLOCK_MARK_RETRIEVAL (1<<0) +///from base of obj/item/hit_reaction(): (list/args) +#define COMSIG_ITEM_HIT_REACT "item_hit_react" +///called on item when crossed by something (): (/atom/movable, mob/living/crossed) +#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" +///called on item when microwaved (): (obj/machinery/microwave/M) +#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" +///from base of item/sharpener/attackby(): (amount, max) +#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" + #define COMPONENT_BLOCK_SHARPEN_APPLIED (1<<0) + #define COMPONENT_BLOCK_SHARPEN_BLOCKED (1<<1) + #define COMPONENT_BLOCK_SHARPEN_ALREADY (1<<2) + #define COMPONENT_BLOCK_SHARPEN_MAXED (1<<3) +///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) +#define COMSIG_TOOL_IN_USE "tool_in_use" +///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) +#define COMSIG_TOOL_START_USE "tool_start_use" +///from [/obj/item/proc/disableEmbedding]: +#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" +///from [/obj/effect/mine/proc/triggermine]: +#define COMSIG_MINE_TRIGGERED "minegoboom" + +// /obj/item signals for economy +///called when an item is sold by the exports subsystem +#define COMSIG_ITEM_SOLD "item_sold" +///called when a wrapped up structure is opened by hand +#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" +#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" +///called when a wrapped up item is opened by hand + #define COMSIG_ITEM_SPLIT_VALUE (1<<0) +///called when getting the item's exact ratio for cargo's profit. +#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" +///called when getting the item's exact ratio for cargo's profit, without selling the item. +#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry" + +// /obj/item/clothing signals + +///from base of obj/item/clothing/shoes/proc/step_action(): () +#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" + +// /obj/item/implant signals +///from base of /obj/item/implant/proc/activate(): () +#define COMSIG_IMPLANT_ACTIVATED "implant_activated" +///from base of /obj/item/implant/proc/implant(): (list/args) +#define COMSIG_IMPLANT_IMPLANTING "implant_implanting" + #define COMPONENT_STOP_IMPLANTING (1<<0) +///called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant) +#define COMSIG_IMPLANT_OTHER "implant_other" + //#define COMPONENT_STOP_IMPLANTING (1<<0) //The name makes sense for both + #define COMPONENT_DELETE_NEW_IMPLANT (1<<1) + #define COMPONENT_DELETE_OLD_IMPLANT (1<<2) +///called on implants being implanted into someone with an uplink implant: (datum/component/uplink) +#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists" + //This uses all return values of COMSIG_IMPLANT_OTHER + +// /obj/item/pda signals + +///called on pda when the user changes the ringtone: (mob/living/user, new_ringtone) +#define COMSIG_PDA_CHANGE_RINGTONE "pda_change_ringtone" + #define COMPONENT_STOP_RINGTONE_CHANGE (1<<0) +#define COMSIG_PDA_CHECK_DETONATE "pda_check_detonate" + #define COMPONENT_PDA_NO_DETONATE (1<<0) + +// /obj/item/radio signals + +///called from base of /obj/item/radio/proc/set_frequency(): (list/args) +#define COMSIG_RADIO_NEW_FREQUENCY "radio_new_frequency" + +// /obj/item/pen signals + +///called after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user) +#define COMSIG_PEN_ROTATED "pen_rotated" + +// /obj/item/gun signals + +///called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_MOB_FIRED_GUN "mob_fired_gun" + +// /obj/item/grenade signals + +///called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_PRIME "grenade_prime" +///called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_ARMED "grenade_armed" + +// /obj/projectile signals (sent to the firer) + +///from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) +#define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit" +///from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) +#define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit" +///from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target) +#define COMSIG_PROJECTILE_BEFORE_FIRE "projectile_before_fire" +///from the base of /obj/projectile/proc/fire(): () +#define COMSIG_PROJECTILE_FIRE "projectile_fire" +///sent to targets during the process_hit proc of projectiles +#define COMSIG_PROJECTILE_PREHIT "com_proj_prehit" +///sent to targets during the process_hit proc of projectiles +#define COMSIG_PROJECTILE_RANGE_OUT "projectile_range_out" +///sent when trying to force an embed (mainly for projectiles, only used in the embed element) +#define COMSIG_EMBED_TRY_FORCE "item_try_embed" + +///sent to targets during the process_hit proc of projectiles +#define COMSIG_PELLET_CLOUD_INIT "pellet_cloud_init" + +// /obj/mecha signals + +///sent from mecha action buttons to the mecha they're linked to +#define COMSIG_MECHA_ACTION_ACTIVATE "mecha_action_activate" + +// /mob/living/carbon/human signals + +///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity) +#define COMSIG_HUMAN_EARLY_UNARMED_ATTACK "human_early_unarmed_attack" +///from mob/living/carbon/human/UnarmedAttack(): (atom/target, proximity) +#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" +///from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker) +#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" +///Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted) +#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" +///Whenever EquipRanked is called, called after job is set +#define COMSIG_JOB_RECEIVED "job_received" + +// /datum/species signals + +///from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species) +#define COMSIG_SPECIES_GAIN "species_gain" +///from datum/species/on_species_loss(): (datum/species/lost_species) +#define COMSIG_SPECIES_LOSS "species_loss" + +// /datum/song signals + +///sent to the instrument when a song starts playing +#define COMSIG_SONG_START "song_start" +///sent to the instrument when a song stops playing +#define COMSIG_SONG_END "song_end" + +/*******Component Specific Signals*******/ +//Janitor + +///(): Returns bitflags of wet values. +#define COMSIG_TURF_IS_WET "check_turf_wet" +///(max_strength, immediate, duration_decrease = INFINITY): Returns bool. +#define COMSIG_TURF_MAKE_DRY "make_turf_try" +///called on an object to clean it of cleanables. Usualy with soap: (num/strength) +#define COMSIG_COMPONENT_CLEAN_ACT "clean_act" + +//Creamed + +///called when you wash your face at a sink: (num/strength) +#define COMSIG_COMPONENT_CLEAN_FACE_ACT "clean_face_act" + +//Food + +///from base of obj/item/reagent_containers/food/snacks/attack(): (mob/living/eater, mob/feeder) +#define COMSIG_FOOD_EATEN "food_eaten" + +//Gibs + +///from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases) +#define COMSIG_GIBS_STREAK "gibs_streak" + +//Mood + +///called when you send a mood event from anywhere in the code. +#define COMSIG_ADD_MOOD_EVENT "add_mood" +///Mood event that only RnD members listen for +#define COMSIG_ADD_MOOD_EVENT_RND "RND_add_mood" +///called when you clear a mood event from anywhere in the code. +#define COMSIG_CLEAR_MOOD_EVENT "clear_mood" + +//NTnet + +///called on an object by its NTNET connection component on receive. (sending_id(number), sending_netname(text), data(datum/netdata)) +#define COMSIG_COMPONENT_NTNET_RECEIVE "ntnet_receive" + +//Nanites + +///() returns TRUE if nanites are found +#define COMSIG_HAS_NANITES "has_nanites" +///() returns TRUE if nanites have stealth +#define COMSIG_NANITE_IS_STEALTHY "nanite_is_stealthy" +///() deletes the nanite component +#define COMSIG_NANITE_DELETE "nanite_delete" +///(list/nanite_programs) - makes the input list a copy the nanites' program list +#define COMSIG_NANITE_GET_PROGRAMS "nanite_get_programs" +///(amount) Returns nanite amount +#define COMSIG_NANITE_GET_VOLUME "nanite_get_volume" +///(amount) Sets current nanite volume to the given amount +#define COMSIG_NANITE_SET_VOLUME "nanite_set_volume" +///(amount) Adjusts nanite volume by the given amount +#define COMSIG_NANITE_ADJUST_VOLUME "nanite_adjust" +///(amount) Sets maximum nanite volume to the given amount +#define COMSIG_NANITE_SET_MAX_VOLUME "nanite_set_max_volume" +///(amount(0-100)) Sets cloud ID to the given amount +#define COMSIG_NANITE_SET_CLOUD "nanite_set_cloud" +///(method) Modify cloud sync status. Method can be toggle, enable or disable +#define COMSIG_NANITE_SET_CLOUD_SYNC "nanite_set_cloud_sync" +///(amount) Sets safety threshold to the given amount +#define COMSIG_NANITE_SET_SAFETY "nanite_set_safety" +///(amount) Sets regeneration rate to the given amount +#define COMSIG_NANITE_SET_REGEN "nanite_set_regen" +///(code(1-9999)) Called when sending a nanite signal to a mob. +#define COMSIG_NANITE_SIGNAL "nanite_signal" +///(comm_code(1-9999), comm_message) Called when sending a nanite comm signal to a mob. +#define COMSIG_NANITE_COMM_SIGNAL "nanite_comm_signal" +///(mob/user, full_scan) - sends to chat a scan of the nanites to the user, returns TRUE if nanites are detected +#define COMSIG_NANITE_SCAN "nanite_scan" +///(list/data, scan_level) - adds nanite data to the given data list - made for ui_data procs +#define COMSIG_NANITE_UI_DATA "nanite_ui_data" +///(datum/nanite_program/new_program, datum/nanite_program/source_program) Called when adding a program to a nanite component +#define COMSIG_NANITE_ADD_PROGRAM "nanite_add_program" + ///Installation successful + #define COMPONENT_PROGRAM_INSTALLED (1<<0) + ///Installation failed, but there are still nanites + #define COMPONENT_PROGRAM_NOT_INSTALLED (1<<1) +///(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component +#define COMSIG_NANITE_SYNC "nanite_sync" + +// /datum/component/storage signals + +///() - returns bool. +#define COMSIG_CONTAINS_STORAGE "is_storage" +///(obj/item/inserting, mob/user, silent, force) - returns bool +#define COMSIG_TRY_STORAGE_INSERT "storage_try_insert" +///(mob/show_to, force) - returns bool. +#define COMSIG_TRY_STORAGE_SHOW "storage_show_to" +///(mob/hide_from) - returns bool +#define COMSIG_TRY_STORAGE_HIDE_FROM "storage_hide_from" +///returns bool +#define COMSIG_TRY_STORAGE_HIDE_ALL "storage_hide_all" +///(newstate) +#define COMSIG_TRY_STORAGE_SET_LOCKSTATE "storage_lock_set_state" +///() - returns bool. MUST CHECK IF STORAGE IS THERE FIRST! +#define COMSIG_IS_STORAGE_LOCKED "storage_get_lockstate" +///(type, atom/destination, amount = INFINITY, check_adjacent, force, mob/user, list/inserted) - returns bool - type can be a list of types. +#define COMSIG_TRY_STORAGE_TAKE_TYPE "storage_take_type" +///(type, amount = INFINITY, force = FALSE). Force will ignore max_items, and amount is normally clamped to max_items. +#define COMSIG_TRY_STORAGE_FILL_TYPE "storage_fill_type" +///(obj, new_loc, force = FALSE) - returns bool +#define COMSIG_TRY_STORAGE_TAKE "storage_take_obj" +///(loc) - returns bool - if loc is null it will dump at parent location. +#define COMSIG_TRY_STORAGE_QUICK_EMPTY "storage_quick_empty" +///(list/list_to_inject_results_into, recursively_search_inside_storages = TRUE) +#define COMSIG_TRY_STORAGE_RETURN_INVENTORY "storage_return_inventory" +///(obj/item/insertion_candidate, mob/user, silent) - returns bool +#define COMSIG_TRY_STORAGE_CAN_INSERT "storage_can_equip" + +// /datum/component/two_handed signals + +///from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user) +#define COMSIG_TWOHANDED_WIELD "twohanded_wield" + #define COMPONENT_TWOHANDED_BLOCK_WIELD (1<<0) +///from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user) +#define COMSIG_TWOHANDED_UNWIELD "twohanded_unwield" + +// /datum/action signals + +///from base of datum/action/proc/Trigger(): (datum/action) +#define COMSIG_ACTION_TRIGGER "action_trigger" + #define COMPONENT_ACTION_BLOCK_TRIGGER (1<<0) + +//Xenobio hotkeys + +///from slime CtrlClickOn(): (/mob) +#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl" +///from slime AltClickOn(): (/mob) +#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" +///from slime ShiftClickOn(): (/mob) +#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" +///from turf ShiftClickOn(): (/mob) +#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" +///from turf AltClickOn(): (/mob) +#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" +///from monkey CtrlClickOn(): (/mob) +#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 8891c06f..45fb2819 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -75,6 +75,7 @@ #define AREA_LAYER 10 #define MASSIVE_OBJ_LAYER 11 #define POINT_LAYER 12 +#define CHAT_LAYER 12.1 #define LIGHTING_PLANE 15 #define LIGHTING_LAYER 15 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 935d71a3..1efa51c8 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -57,16 +57,16 @@ Will print: "/mob/living/carbon/human/death" (you can optionally embed it in a s #define BODYPARTS_LAYER 28 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag #define MARKING_LAYER 27 //Matrixed body markings because clashing with snouts? #define BODY_ADJ_LAYER 26 //certain mutantrace features (snout, body markings) that must appear above the body parts -#define GENITALS_FRONT_LAYER 25 //Draws some genitalia above clothes and the TAUR body if need be. -#define BODY_LAYER 24 //underwear, undershirts, socks, eyes, lips(makeup) -#define FRONT_MUTATIONS_LAYER 23 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) -#define DAMAGE_LAYER 22 //damage indicators (cuts and burns) -#define UNIFORM_LAYER 21 -#define ID_LAYER 20 +#define BODY_LAYER 25 //underwear, undershirts, socks, eyes, lips(makeup) +#define FRONT_MUTATIONS_LAYER 24 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes) +#define DAMAGE_LAYER 23 //damage indicators (cuts and burns) +#define UNIFORM_LAYER 22 +#define ID_LAYER 21 #define HANDS_PART_LAYER 20 #define SHOES_LAYER 19 #define GLOVES_LAYER 18 #define EARS_LAYER 17 +#define GENITALS_FRONT_LAYER 17 //Draws some genitalia above clothes and the TAUR body if need be. #define BODY_TAUR_LAYER 16 #define SUIT_LAYER 15 #define GLASSES_LAYER 13 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 08b9b6c3..679d113e 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -103,6 +103,7 @@ #define TRAIT_HOLY "holy" #define TRAIT_DEPRESSION "depression" #define TRAIT_JOLLY "jolly" +#define TRAIT_HEADPAT_SLUT "headpat_slut" #define TRAIT_NOCRITDAMAGE "no_crit" #define TRAIT_NOSLIPWATER "noslip_water" #define TRAIT_NOSLIPALL "noslip_all" @@ -128,6 +129,7 @@ // item traits #define TRAIT_NODROP "nodrop" +//roundstart traits #define TRAIT_ALCOHOL_TOLERANCE "alcohol_tolerance" #define TRAIT_AGEUSIA "ageusia" #define TRAIT_HEAVY_SLEEPER "heavy_sleeper" @@ -159,6 +161,8 @@ #define TRAIT_CULT_EYES "cult_eyes" #define TRAIT_XRAY_VISION "xray_vision" #define TRAIT_THERMAL_VISION "thermal_vision" +#define TRAIT_CUM_PLUS "cum_plus" +#define TRAIT_NEVER_CLONE "noclone" // common trait sources diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index 812ced8d..6a9d3944 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -21,6 +21,8 @@ #define LAZYCLEARLIST(L) if(L) L.Cut() #define SANITIZE_LIST(L) ( islist(L) ? L : list() ) #define reverseList(L) reverseRange(L.Copy()) +#define LAZYADDASSOC(L, K, V) if(!L) { L = list(); } L[K] += list(V); +#define LAZYREMOVEASSOC(L, K, V) if(L) { if(L[K]) { L[K] -= V; if(!length(L[K])) L -= K; } if(!length(L)) L = null; } // binary search sorted insert // IN: Object to be inserted diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index aec25a3f..630c3b43 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -54,7 +54,7 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list) - GLOB.breasts_size_list = list ("a", "b", "c", "d", "e", "f", "g", "h") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing. + GLOB.breasts_size_list = list ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing. GLOB.genital_fluids_list = list ("milk", "water", "semen", "blood", "femcum") GLOB.gentlemans_organ_names = list("phallus", "willy", "dick", "prick", "member", "tool", "gentleman's organ", "cock", "wang", "knob", "dong", "joystick", "pecker", "johnson", "weenie", "tadger", "schlong", "thirsty ferret", "baloney pony", "schlanger") for(var/K in GLOB.breasts_shapes_list) diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index f054cb0c..02e7ff06 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -11,7 +11,8 @@ GLOBAL_LIST_INIT(available_ui_styles, list( "Plasmafire" = 'icons/mob/screen_plasmafire.dmi', "Slimecore" = 'icons/mob/screen_slimecore.dmi', "Operative" = 'icons/mob/screen_operative.dmi', - "Clockwork" = 'icons/mob/screen_clockwork.dmi' + "Clockwork" = 'icons/mob/screen_clockwork.dmi', + "Kinaris" = 'icons/mob/screen_kinaris.dmi', )) /proc/ui_style2icon(ui_style) diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 1bc7d8e3..912dd0dd 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -138,6 +138,8 @@ friend_talk(message) /mob/camera/imaginary_friend/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode)) /mob/camera/imaginary_friend/proc/friend_talk(message) diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm new file mode 100644 index 00000000..695c1477 --- /dev/null +++ b/code/datums/chatmessage.dm @@ -0,0 +1,244 @@ +#define CHAT_MESSAGE_SPAWN_TIME 0.2 SECONDS +#define CHAT_MESSAGE_LIFESPAN 5 SECONDS +#define CHAT_MESSAGE_EOL_FADE 0.7 SECONDS +#define CHAT_MESSAGE_EXP_DECAY 0.7 // Messages decay at pow(factor, idx in stack) +#define CHAT_MESSAGE_HEIGHT_DECAY 0.9 // Increase message decay based on the height of the message +#define CHAT_MESSAGE_APPROX_LHEIGHT 11 // Approximate height in pixels of an 'average' line, used for height decay +#define CHAT_MESSAGE_WIDTH 96 // pixels +#define CHAT_MESSAGE_MAX_LENGTH 110 // characters +#define WXH_TO_HEIGHT(x) text2num(copytext((x), findtextEx((x), "x") + 1)) // thanks lummox + +/** + * # Chat Message Overlay + * + * Datum for generating a message overlay on the map + */ +/datum/chatmessage + /// The visual element of the chat messsage + var/image/message + /// The location in which the message is appearing + var/atom/message_loc + /// The client who heard this message + var/client/owned_by + /// Contains the scheduled destruction time + var/scheduled_destruction + /// Contains the approximate amount of lines for height decay + var/approx_lines + +/** + * Constructs a chat message overlay + * + * Arguments: + * * text - The text content of the overlay + * * target - The target atom to display the overlay at + * * owner - The mob that owns this overlay, only this mob will be able to view it + * * extra_classes - Extra classes to apply to the span that holds the text + * * lifespan - The lifespan of the message in deciseconds + */ +/datum/chatmessage/New(text, atom/target, mob/owner, list/extra_classes = list(), lifespan = CHAT_MESSAGE_LIFESPAN) + . = ..() + if (!istype(target)) + CRASH("Invalid target given for chatmessage") + if(QDELETED(owner) || !istype(owner) || !owner.client) + stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner") + qdel(src) + return + INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, extra_classes, lifespan) + +/datum/chatmessage/Destroy() + if (owned_by) + if (owned_by.seen_messages) + LAZYREMOVEASSOC(owned_by.seen_messages, message_loc, src) + owned_by.images.Remove(message) + owned_by = null + message_loc = null + message = null + return ..() + +/** + * Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal + */ +/datum/chatmessage/proc/on_parent_qdel() + qdel(src) + + + +/** + * Generates a chat message image representation + * + * Arguments: + * * text - The text content of the overlay + * * target - The target atom to display the overlay at + * * owner - The mob that owns this overlay, only this mob will be able to view it + * * extra_classes - Extra classes to apply to the span that holds the text + * * lifespan - The lifespan of the message in deciseconds + */ +/datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, list/extra_classes, lifespan) + // Register client who owns this message + owned_by = owner.client + RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/on_parent_qdel) + + // Clip message + var/maxlen = owned_by.prefs.max_chat_length + if (length_char(text) > maxlen) + text = copytext_char(text, 1, maxlen + 1) + "..." // BYOND index moment + + // Calculate target color if not already present + if (!target.chat_color || target.chat_color_name != target.name) + target.chat_color = colorize_string(target.name) + target.chat_color_darkened = colorize_string(target.name, 0.85, 0.85) + target.chat_color_name = target.name + + // Get rid of any URL schemes that might cause BYOND to automatically wrap something in an anchor tag + var/static/regex/url_scheme = new(@"[A-Za-z][A-Za-z0-9+-\.]*:\/\/", "g") + text = replacetext(text, url_scheme, "") + + // Reject whitespace + var/static/regex/whitespace = new(@"^\s*$") + if (whitespace.Find(text)) + qdel(src) + return + + // Non mobs speakers can be small + if (!ismob(target)) + extra_classes |= "small" + + // Append radio icon if from a virtual speaker + if (extra_classes.Find("virtual-speaker")) + var/image/r_icon = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "radio") + text = "\icon[r_icon] " + text + + // We dim italicized text to make it more distinguishable from regular text + var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color + + // Approximate text height + // Note we have to replace HTML encoded metacharacters otherwise MeasureText will return a zero height + // BYOND Bug #2563917 + // Construct text + var/static/regex/html_metachars = new(@"&[A-Za-z]{1,7};", "g") + var/complete_text = "[text]" + var/mheight = WXH_TO_HEIGHT(owned_by.MeasureText(replacetext(complete_text, html_metachars, "m"), null, CHAT_MESSAGE_WIDTH)) + approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT) + + // Translate any existing messages upwards, apply exponential decay factors to timers + message_loc = target + if (owned_by.seen_messages) + var/idx = 1 + var/combined_height = approx_lines + for(var/msg in owned_by.seen_messages[message_loc]) + var/datum/chatmessage/m = msg + animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME) + combined_height += m.approx_lines + var/sched_remaining = m.scheduled_destruction - world.time + if (sched_remaining > CHAT_MESSAGE_SPAWN_TIME) + var/remaining_time = (sched_remaining) * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) + m.scheduled_destruction = world.time + remaining_time + addtimer(CALLBACK(m, .proc/end_of_life), remaining_time, TIMER_UNIQUE|TIMER_OVERRIDE) + + // Build message image + message = image(loc = message_loc, layer = CHAT_LAYER) + message.plane = GAME_PLANE + message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART + message.alpha = 0 + message.pixel_y = owner.bound_height * 0.95 + message.maptext_width = CHAT_MESSAGE_WIDTH + message.maptext_height = mheight + message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 + message.maptext = complete_text + + // View the message + LAZYADDASSOC(owned_by.seen_messages, message_loc, src) + owned_by.images |= message + animate(message, alpha = 255, time = CHAT_MESSAGE_SPAWN_TIME) + + // Prepare for destruction + scheduled_destruction = world.time + (lifespan - CHAT_MESSAGE_EOL_FADE) + addtimer(CALLBACK(src, .proc/end_of_life), lifespan - CHAT_MESSAGE_EOL_FADE, TIMER_UNIQUE|TIMER_OVERRIDE) + +/** + * Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion + */ +/datum/chatmessage/proc/end_of_life(fadetime = CHAT_MESSAGE_EOL_FADE) + animate(message, alpha = 0, time = fadetime, flags = ANIMATION_PARALLEL) + QDEL_IN(src, fadetime) + +/** + * Creates a message overlay at a defined location for a given speaker + * + * Arguments: + * * speaker - The atom who is saying this message + * * message_language - The language that the message is said in + * * raw_message - The text content of the message + * * spans - Additional classes to be added to the message + * * message_mode - Bitflags relating to the mode of the message + */ +/mob/proc/create_chat_message(atom/movable/speaker, datum/language/message_language, raw_message, list/spans, message_mode) + // Ensure the list we are using, if present, is a copy so we don't modify the list provided to us + spans = spans ? spans.Copy() : list() + + // Check for virtual speakers (aka hearing a message through a radio) + var/atom/movable/originalSpeaker = speaker + if (istype(speaker, /atom/movable/virtualspeaker)) + var/atom/movable/virtualspeaker/v = speaker + speaker = v.source + spans |= "virtual-speaker" + + // Ignore virtual speaker (most often radio messages) from ourself + if (originalSpeaker != src && speaker == src) + return + + // Display visual above source + new /datum/chatmessage(lang_treat(speaker, message_language, raw_message, spans, null, TRUE), speaker, src, spans) + + +// Tweak these defines to change the available color ranges +#define CM_COLOR_SAT_MIN 0.6 +#define CM_COLOR_SAT_MAX 0.7 +#define CM_COLOR_LUM_MIN 0.65 +#define CM_COLOR_LUM_MAX 0.75 + +/** + * Gets a color for a name, will return the same color for a given string consistently within a round.atom + * + * Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map. + * + * Arguments: + * * name - The name to generate a color for + * * sat_shift - A value between 0 and 1 that will be multiplied against the saturation + * * lum_shift - A value between 0 and 1 that will be multiplied against the luminescence + */ +/datum/chatmessage/proc/colorize_string(name, sat_shift = 1, lum_shift = 1) + // seed to help randomness + var/static/rseed = rand(1,26) + + // get hsl using the selected 6 characters of the md5 hash + var/hash = copytext(md5(name + GLOB.round_id), rseed, rseed + 6) + var/h = hex2num(copytext(hash, 1, 3)) * (360 / 255) + var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((CM_COLOR_SAT_MAX - CM_COLOR_SAT_MIN) / 63) + CM_COLOR_SAT_MIN + var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((CM_COLOR_LUM_MAX - CM_COLOR_LUM_MIN) / 63) + CM_COLOR_LUM_MIN + + // adjust for shifts + s *= clamp(sat_shift, 0, 1) + l *= clamp(lum_shift, 0, 1) + + // convert to rgb + var/h_int = round(h/60) // mapping each section of H to 60 degree sections + var/c = (1 - abs(2 * l - 1)) * s + var/x = c * (1 - abs((h / 60) % 2 - 1)) + var/m = l - c * 0.5 + x = (x + m) * 255 + c = (c + m) * 255 + m *= 255 + switch(h_int) + if(0) + return "#[num2hex(c, 2)][num2hex(x, 2)][num2hex(m, 2)]" + if(1) + return "#[num2hex(x, 2)][num2hex(c, 2)][num2hex(m, 2)]" + if(2) + return "#[num2hex(m, 2)][num2hex(c, 2)][num2hex(x, 2)]" + if(3) + return "#[num2hex(m, 2)][num2hex(x, 2)][num2hex(c, 2)]" + if(4) + return "#[num2hex(x, 2)][num2hex(m, 2)][num2hex(c, 2)]" + if(5) + return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]" diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 422ec447..01f7933c 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -113,3 +113,8 @@ /datum/mood_event/happy_empath/add_effects(var/mob/happytarget) description = "[happytarget.name]'s happiness is infectious!\n" + +/datum/mood_event/lewd_headpat + description = "I love headpats so much!\n" + mood_change = 3 + timeout = 2 MINUTES diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index 18efae95..81b78605 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -222,4 +222,12 @@ id = "puzzle" description = "Mystery to be solved." suffix = "lavaland_surface_puzzle.dmm" - cost = 5 \ No newline at end of file + cost = 5 + +/datum/map_template/ruin/lavaland/oasis + name = "Oasis" + id = "oasis" + description = "A little paradise in the middle of hell." + suffix = "lavaland_surface_oasis.dmm" + allow_duplicates = FALSE + cost = 0 \ No newline at end of file diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index f57b8823..5bcf6f32 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -160,9 +160,9 @@ /datum/quirk/lightless name = "Light Sensitivity" - desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Nanotrasen was more considerate of your needs..." + desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Kinaris was more considerate of your needs..." value = -1 - gain_text = "The safty of light feels off..." + gain_text = "The safety of light feels off..." lose_text = "Enlighing." /datum/quirk/lightless/on_process() @@ -366,3 +366,11 @@ gain_text = "There's a lot on your mind right now." lose_text = "Your mind finally feels calm." medical_record_text = "Patient's mind is in a vulnerable state, and cannot recover from traumatic events." + +//Port from Shadow +/datum/quirk/noclone + name = "DNC" + desc = "You have filed a Do Not Clone order, stating that you do not wish to be cloned. You can still be revived by other means." + value = -2 + mob_trait = TRAIT_NEVER_CLONE + medical_record_text = "Patient has a DNC (Do not clone) order on file, and cannot be cloned as a result." \ No newline at end of file diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index f70e3a3c..61b54ca7 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -101,4 +101,11 @@ value = 0 medical_record_text = "Patient never skipped ass day." gain_text = "Your ass rivals those of golems." - lose_text = "Your butt feels more squishy and slappable." \ No newline at end of file + lose_text = "Your butt feels more squishy and slappable." + +/datum/quirk/headpat_slut + name = "Headpat Slut" + desc = "You like headpats, alot, maybe even a little bit too much. Headpats give you a bigger mood boost and cause arousal" + mob_trait = TRAIT_HEADPAT_SLUT + value = 0 + medical_record_text = "Patient seems overly affectionate" diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index 76f090d5..c4af7323 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -32,6 +32,9 @@ /area/ruin/powered/seedvault icon_state = "dk_yellow" +/area/ruin/powered/oasis + icon_state = "dk_yellow" + /area/ruin/unpowered/syndicate_lava_base name = "Secret Base" icon_state = "dk_yellow" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 9e8756bb..a3cbda60 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -13,6 +13,13 @@ //HUD images that this atom can provide. var/list/hud_possible + /// Last name used to calculate a color for the chatmessage overlays + var/chat_color_name + /// Last color calculated for the the chatmessage overlays + var/chat_color + /// A luminescence-shifted value of the last color calculated for chatmessage overlays + var/chat_color_darkened + //Value used to increment ex_act() if reactionary_explosions is on var/explosion_block = 0 diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 855ede0e..e3c2cfd3 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -164,7 +164,6 @@ var/mob/living/carbon/human/H = new /mob/living/carbon/human(src) H.hardset_dna(ui, mutation_index, H.real_name, null, mrace, features) - if(prob(50 - efficiency*10)) //Chance to give a bad mutation. H.easy_randmut(NEGATIVE+MINOR_NEGATIVE) //100% bad mutation. Can be cured with mutadone. @@ -205,7 +204,10 @@ H.give_genitals(TRUE) H.suiciding = FALSE + H.custom_body_size = H.client.prefs.body_size + //H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) //Not working dont know why. attempting = FALSE + return TRUE //Grow clones to maturity then kick them out. FREELOADERS diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 039152f5..05486a4c 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -449,6 +449,10 @@ var/mob/living/brain/B = mob_occupant dna = B.stored_dna + if(HAS_TRAIT(mob_occupant, TRAIT_NEVER_CLONE)) + scantemp = "Subject has an active DNC record on file. Unable to clone." + playsound(src, 'sound/machines/terminal_alert.ogg', 50, 0) + return if(!istype(dna)) scantemp = "Unable to locate valid genetic data." playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 6bf9930e..566613b1 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -180,7 +180,7 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/machinery/newscaster name = "newscaster" - desc = "A standard Nanotrasen-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!" + desc = "A standard Kinaris-licensed newsfeed handler for use in commercial space stations. All the news you absolutely have no use for, in one place!" icon = 'icons/obj/terminals.dmi' icon_state = "newscaster_normal" verb_say = "beeps" @@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(allCasters) switch(screen) if(0) dat += "Welcome to Newscasting Unit #[unit_no].
Interface & News networks Operational." - dat += "
Property of Nanotrasen Inc" + dat += "
Property of Kinaris Corp" if(GLOB.news_network.wanted_issue.active) dat+= "
Read Wanted Issue" dat+= "

Create Feed Channel" @@ -616,14 +616,14 @@ GLOBAL_LIST_EMPTY(allCasters) screen = 15 else if(GLOB.news_network.wanted_issue.isAdminMsg) - alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot edit it.","Ok") + alert("The wanted issue has been distributed by a Kinaris higherup. You cannot edit it.","Ok") return GLOB.news_network.submitWanted(channel_name, msg, scanned_user, picture) screen = 19 updateUsrDialog() else if(href_list["cancel_wanted"]) if(GLOB.news_network.wanted_issue.isAdminMsg) - alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot take it down.","Ok") + alert("The wanted issue has been distributed by a Kinaris higherup. You cannot take it down.","Ok") return var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel") if(choice=="Confirm") @@ -636,21 +636,21 @@ GLOBAL_LIST_EMPTY(allCasters) else if(href_list["censor_channel_author"]) var/datum/newscaster/feed_channel/FC = locate(href_list["censor_channel_author"]) if(FC.is_admin_channel) - alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") + alert("This channel was created by a Kinaris Officer. You cannot censor it.","Ok") return FC.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_author"]) var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_author"]) if(MSG.is_admin_message) - alert("This message was created by a Nanotrasen Officer. You cannot censor its author.","Ok") + alert("This message was created by a Kinaris Officer. You cannot censor its author.","Ok") return MSG.toggleCensorAuthor() updateUsrDialog() else if(href_list["censor_channel_story_body"]) var/datum/newscaster/feed_message/MSG = locate(href_list["censor_channel_story_body"]) if(MSG.is_admin_message) - alert("This channel was created by a Nanotrasen Officer. You cannot censor it.","Ok") + alert("This channel was created by a Kinaris Officer. You cannot censor it.","Ok") return MSG.toggleCensorBody() updateUsrDialog() @@ -662,7 +662,7 @@ GLOBAL_LIST_EMPTY(allCasters) else if(href_list["toggle_d_notice"]) var/datum/newscaster/feed_channel/FC = locate(href_list["toggle_d_notice"]) if(FC.is_admin_channel) - alert("This channel was created by a Nanotrasen Officer. You cannot place a D-Notice upon it.","Ok") + alert("This channel was created by a Kinaris Officer. You cannot place a D-Notice upon it.","Ok") return FC.toggleCensorDclass() updateUsrDialog() @@ -864,7 +864,7 @@ GLOBAL_LIST_EMPTY(allCasters) /obj/item/newspaper name = "newspaper" - desc = "An issue of The Griffon, the newspaper circulating aboard Nanotrasen Space Stations." + desc = "An issue of The Griffon, the newspaper circulating aboard Kin.Co Space Stations." icon = 'icons/obj/bureaucracy.dmi' icon_state = "newspaper" lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 50d40697..884fe7b3 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -178,7 +178,7 @@ /obj/structure/sign/poster/contraband poster_item_name = "contraband poster" - poster_item_desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard Nanotrasen space facilities." + poster_item_desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard space facilities." poster_item_icon_state = "rolled_poster" /obj/structure/sign/poster/contraband/random @@ -264,7 +264,7 @@ /obj/structure/sign/poster/contraband/power name = "Power" - desc = "A poster that positions the seat of power outside Nanotrasen." + desc = "A poster that positions the seat of power outside Kinaris.Co." icon_state = "poster16" /obj/structure/sign/poster/contraband/space_cube @@ -425,8 +425,8 @@ icon_state = "poster1_legit" /obj/structure/sign/poster/official/nanotrasen_logo - name = "Nanotrasen Logo" - desc = "A poster depicting the Nanotrasen logo." + name = "Kinaris Logo" + desc = "A poster depicting the Kinaris.Co logo." icon_state = "poster2_legit" /obj/structure/sign/poster/official/cleanliness @@ -556,12 +556,12 @@ /obj/structure/sign/poster/official/pda_ad name = "PDA Ad" - desc = "A poster advertising the latest PDA from Nanotrasen suppliers." + desc = "A poster advertising the latest PDA from Think-a-tronic suppliers." icon_state = "poster28_legit" /obj/structure/sign/poster/official/enlist name = "Enlist" // but I thought deathsquad was never acknowledged - desc = "Enlist in the Nanotrasen Deathsquadron reserves today!" + desc = "Enlist in the Kinaris Deathsquadron reserves today!" icon_state = "poster29_legit" /obj/structure/sign/poster/official/nanomichi_ad @@ -586,7 +586,7 @@ /obj/structure/sign/poster/official/no_erp name = "No ERP" - desc = "This poster reminds the crew that Eroticism, Rape and Pornography are banned on Nanotrasen stations." + desc = "This poster reminds the crew that Eroticism, Rape and Pornography are banned on Kinaris stations." icon_state = "poster34_legit" /obj/structure/sign/poster/official/wtf_is_co2 diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 3a881a0f..770d1805 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -32,7 +32,7 @@ AddComponent(/datum/component/slippery, 80) /obj/item/soap/nanotrasen - desc = "A Nanotrasen brand bar of soap. Smells of plasma." + desc = "A Kinaris.Co brand bar of soap. Smells of plasma." icon_state = "soapnt" /obj/item/soap/homemade diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index 801ca707..8706870b 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -271,10 +271,10 @@ "} /obj/item/book/manual/wiki/chemistry - name = "Chemistry Textbook" + name = "Guide to chems" icon_state ="chemistrybook" - author = "Nanotrasen" - title = "Chemistry Textbook" + author = "Kin-Chems" + title = "Guide to chems" page_link = "Guide_to_chemistry" /obj/item/book/manual/wiki/engineering_construction @@ -292,17 +292,17 @@ page_link = "Guide_to_engineering" /obj/item/book/manual/wiki/engineering_singulo_tesla - name = "Singularity and Tesla for Dummies" + name = "Singularity 101" icon_state ="bookEngineeringSingularitySafety" author = "Engineering Encyclopedia" - title = "Singularity and Tesla for Dummies" + title = "Singularity 101" page_link = "Singularity_and_Tesla_engines" /obj/item/book/manual/wiki/security_space_law name = "Space Law" - desc = "A set of Nanotrasen guidelines for keeping law and order on their space stations." + desc = "A set of Kin-Station guidelines for keeping law and order on their space stations." icon_state = "bookSpaceLaw" - author = "Nanotrasen" + author = "Kin.Co PMC" title = "Space Law" page_link = "Space_Law" @@ -311,10 +311,10 @@ return OXYLOSS /obj/item/book/manual/wiki/infections - name = "Infections - Making your own pandemic!" + name = "Space CDC: Infections and you!" icon_state = "bookInfections" author = "Infections Encyclopedia" - title = "Infections - Making your own pandemic!" + title = "Space CDC: Infections and you!" page_link = "Infections" /obj/item/book/manual/wiki/telescience @@ -325,16 +325,16 @@ page_link = "Guide_to_telescience" /obj/item/book/manual/wiki/engineering_hacking - name = "Hacking" + name = "Hacking: A greytider's manual" icon_state ="bookHacking" - author = "Engineering Encyclopedia" - title = "Hacking" + author = "The Greytider" + title = "Hacking: A greytider's manual" page_link = "Hacking" /obj/item/book/manual/wiki/detective name = "The Film Noir: Proper Procedures for Investigations" icon_state ="bookDetective" - author = "Nanotrasen" + author = "The Stranger" title = "The Film Noir: Proper Procedures for Investigations" page_link = "Detective" @@ -346,17 +346,17 @@ page_link = "Guide_to_food_and_drinks" /obj/item/book/manual/wiki/robotics_cyborgs - name = "Robotics for Dummies" + name = "The offical Robotics manual" icon_state = "borgbook" author = "XISC" - title = "Robotics for Dummies" + title = "The offical Robotics manual" page_link = "Guide_to_robotics" /obj/item/book/manual/wiki/research_and_development - name = "Research and Development 101" + name = "RnD: safe sciences" icon_state = "rdbook" author = "Dr. L. Ight" - title = "Research and Development 101" + title = "RnD: safe sciences" page_link = "Guide_to_Research_and_Development" /obj/item/book/manual/wiki/experimentor @@ -369,37 +369,37 @@ /obj/item/book/manual/wiki/medical_cloning name = "Cloning techniques of the 26th century" icon_state ="bookCloning" - author = "Medical Journal, volume 3" + author = "Angel Paulson" title = "Cloning techniques of the 26th century" page_link = "Guide_to_genetics#Cloning" /obj/item/book/manual/wiki/cooking_to_serve_man - name = "To Serve Man" - desc = "It's a cookbook!" + name = "Cooking for kids!" + desc = "It's a cooking datapad!" icon_state ="cooked_book" - author = "the Kanamitan Empire" - title = "To Serve Man" + author = "Gordon Ramsay" + title = "Cooking for kids!" page_link = "Guide_to_food_and_drinks" /obj/item/book/manual/wiki/circuitry - name = "Circuitry for Dummies" + name = "Wiring and safety manual" icon_state = "book1" author = "Dr. Hans Asperger" - title = "Circuitry for Dummies" + title = "Wiring and safety manual" page_link = "Guide_to_circuits" /obj/item/book/manual/wiki/tcomms - name = "Subspace Telecommunications And You" + name = "Keeping communications" icon_state = "book3" author = "Engineering Encyclopedia" - title = "Subspace Telecommunications And You" + title = "Keeping communications" page_link = "Guide_to_Telecommunications" /obj/item/book/manual/wiki/atmospherics - name = "Lexica Atmosia" + name = "O2 & You" icon_state = "book5" - author = "the City-state of Atmosia" - title = "Lexica Atmosia" + author = "the department of NT-Atmos" + title = "O2 & You" page_link = "Guide_to_Atmospherics" /obj/item/book/manual/wiki/medicine @@ -410,10 +410,10 @@ page_link = "Guide_to_medicine" /obj/item/book/manual/wiki/surgery - name = "Brain Surgery for Dummies" + name = "Surgery: step by step" icon_state = "book4" author = "Dr. F. Fran" - title = "Brain Surgery for Dummies" + title = "Surgery: step by step" page_link = "Surgery" /obj/item/book/manual/wiki/grenades diff --git a/code/game/objects/items/mesmetron.dm b/code/game/objects/items/mesmetron.dm new file mode 100644 index 00000000..7983125f --- /dev/null +++ b/code/game/objects/items/mesmetron.dm @@ -0,0 +1,91 @@ +/obj/item/mesmetron + name = "Mesmetron" + desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..." + icon = 'icons/obj/pocketwatch.dmi' + icon_state = "pocketwatch" + item_state = "pocketwatch" + w_class = WEIGHT_CLASS_SMALL + throw_range = 7 + throw_speed = 3 + var/mob/living/carbon/subject = null + var/closed = FALSE + + + +//Hypnotize someone +/obj/item/mesmetron/attack(mob/living/carbon/human/H, mob/living/user) + if(closed) + return + if(H.IsSleeping()) + to_chat(user, "You can't hypnotize [H] whilst they're asleep!") + return + + user.visible_message("[user] begins to mesmerizingly wave [src] like a pendulum before [H]'s very eyes!") + + if(!do_mob(user, H, 12 SECONDS)) + return + if(!(user in view(1, loc))) + return + + var/response = alert(H, "Do you wish to fall into a hypnotic sleep? (This will allow [user] to issue hypnotic suggestions)", "Hypnosis", "Yes", "No") + + if(response == "Yes") + H.visible_message("[H] falls into a deep slumber!", "Your eyelids gently shut as you fall into a deep slumber. All you can hear is [user]'s voice as you commit to following all of their suggestions") + + H.SetSleeping(1200) + H.drowsyness = max(H.drowsyness, 40) + subject = H + return + + //No + H.visible_message("[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this", "Your concentration breaks as you realise you have no interest in following [user]'s words!") + + + +//If there's a subject, open the suggestion interface +/obj/item/mesmetron/attack_self(mob/user) + if(closed) + return + if(!subject) + return + if(!subject.IsSleeping()) + to_chat(user, "[subject] is awake and no longer under hypnosis!") + subject = null + return + + var/response = alert(user, "Would you like to release your subject or give them a suggestion?", "Mesmetron", "Suggestion", "Release") + if(response == "Suggestion") + if(get_dist(user, subject) > 1) + to_chat(user, "You must stand in whisper range of [subject].") + return + + text = input("What would you like to suggest?", "Hypnotic suggestion", null, null) + text = sanitize(text) + if(!text) + return + + to_chat(user, "You whisper your suggestion in a smooth calming voice to [subject]") + to_chat(subject, "...[text]...") + return + //Release + subject.visible_message("[subject] wakes up from their deep slumber!", "Your eyelids gently open as you see [user]'s face staring back at you") + subject.SetSleeping(0) + subject = null + + + +//Toggle open/close +/obj/item/mesmetron/AltClick(mob/user) + //Close it + if(icon_state == "pocketwatch") + icon_state = "pocketwatch_closed" + item_state = "pocketwatch_closed" + desc = "An elaborate pocketwatch, with a captivating gold etching. It's closed however and you can't see it's face" + closed = TRUE + return + //Open it + icon_state = "pocketwatch" + item_state = "pocketwatch" + desc = "An elaborate pocketwatch, with a captivating gold etching and an enchanting face..." + closed = FALSE + diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index a38d3d2f..e3955fa2 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -12,6 +12,7 @@ * Cigarette Box * Cigar Case * Heart Shaped Box w/ Chocolates + * Ring Box */ /obj/item/storage/fancy @@ -350,3 +351,33 @@ GET_COMPONENT(STR, /datum/component/storage) STR.max_items = 8 STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/tinychocolate)) + +/* + * Ring Box + */ + +/obj/item/storage/fancy/ringbox + name = "ring box" + desc = "A tiny box covered in soft red felt made for holding rings." + icon = 'icons/obj/ring.dmi' + icon_state = "gold ringbox" + icon_type = "gold ring" + w_class = WEIGHT_CLASS_TINY + spawn_type = /obj/item/clothing/gloves/ring + +/obj/item/storage/fancy/ringbox/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_items = 1 + STR.can_hold = typecacheof(list(/obj/item/clothing/gloves/ring)) + +/obj/item/storage/fancy/ringbox/diamond + icon_state = "diamond ringbox" + icon_type = "diamond ring" + spawn_type = /obj/item/clothing/gloves/ring/diamond + +/obj/item/storage/fancy/ringbox/silver + icon_state = "silver ringbox" + icon_type = "silver ring" + spawn_type = /obj/item/clothing/gloves/ring/silver + diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 1aaeb8a4..9b6fa2c6 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -314,6 +314,11 @@ icon = "thehive" desc = "Comb in for some sweet drinks! Not known for serving any sappy drink." +/datum/barsign/kinariscorp + name = "Kinaris.Co" + icon = "kinariscorp" + desc = "Provided in saturated olive, Much like the drinks." + /datum/barsign/hiddensigns hidden = TRUE diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index a8ba2597..3008e98c 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -115,7 +115,7 @@ LINEN BINS /obj/item/bedsheet/captain name = "captain's bedsheet" - desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains." + desc = "It has a Kinaris symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains." icon_state = "sheetcaptain" item_color = "captain" dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain") @@ -214,8 +214,8 @@ LINEN BINS dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic") /obj/item/bedsheet/nanotrasen - name = "nanotrasen bedsheet" - desc = "It has the Nanotrasen logo on it and has an aura of duty." + name = "Kinaris bedsheet" + desc = "It has the Kinaris.Co logo on it and has an aura of duty." icon_state = "sheetNT" item_color = "nanotrasen" dream_messages = list("authority", "an ending") diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 5de3f0fc..84a382c7 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -58,7 +58,7 @@ /obj/structure/showcase/mecha/marauder name = "combat mech exhibit" - desc = "A stand with an empty old Nanotrasen Corporation combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees." + desc = "A stand with an empty old Kinaris.Co combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees." icon = 'icons/mecha/mecha.dmi' icon_state = "marauder" @@ -69,30 +69,30 @@ icon_state = "firefighter" /obj/structure/showcase/machinery/implanter - name = "Nanotrasen automated mindshield implanter exhibit" - desc = "A flimsy model of a standard Nanotrasen automated mindshield implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!" + name = "Kinaris automated mindshield implanter exhibit" + desc = "A flimsy model of a standard Kinaris automated mindshield implant machine. With secure positioning harnesses and a robotic surgical injector, brain damage and other serious medical anomalies are now up to 60% less likely!" icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" /obj/structure/showcase/machinery/microwave - name = "Nanotrasen-brand microwave" - desc = "The famous Nanotrasen-brand microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box." + name = "Kinaris-brand microwave" + desc = "The famous Kinaris.Co microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box." icon = 'icons/obj/kitchen.dmi' icon_state = "mw" /obj/structure/showcase/machinery/cloning_pod name = "cloning pod exhibit" - desc = "Signs describe how cloning pods like these ensure that every Nanotrasen employee can carry out their contracts in full, even in the unlikely event of their catastrophic death. Hopefully they aren't all made of cardboard, like this one." + desc = "Signs describe how cloning pods like these ensure that every Kin.Co employee can carry out their contracts in full, even in the unlikely event of their catastrophic death. Hopefully they aren't all made of cardboard, like this one." icon = 'icons/obj/machines/cloning.dmi' icon_state = "pod_0" /obj/structure/showcase/perfect_employee name = "'Perfect Man' employee exhibit" - desc = "A stand with a model of the perfect Nanotrasen Employee bolted to it. Signs indicate it is robustly genetically engineered, as well as being ruthlessly loyal." + desc = "A stand with a model of the perfect Kinaris Employee bolted to it. Signs indicate it is robustly genetically engineered, as well as being ruthlessly loyal." /obj/structure/showcase/machinery/tv - name = "Nanotrasen corporate newsfeed" - desc = "A slightly battered looking TV. Various Nanotrasen infomercials play on a loop, accompanied by a jaunty tune." + name = "Kinaris-Co brand newsfeed" + desc = "A slightly battered looking TV. Various galactic infomercials play on a loop, accompanied by a jaunty tune." icon = 'icons/obj/computer.dmi' icon_state = "television" diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index ac611427..c122201f 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -121,13 +121,13 @@ setDir(turn(dir, 90)) /obj/structure/sign/nanotrasen - name = "\improper Nanotrasen Logo" - desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!" + name = "\improper Kinaris.Corp Logo" + desc = "A sign with the Kinaris Logo on it. Blessed be Kinaris!" icon_state = "nanotrasen" /obj/structure/sign/logo - name = "nanotrasen logo" - desc = "The Nanotrasen corporate logo." + name = "Kinaris.Co Logo" + desc = "The Kinaris corporate logo." icon_state = "nanotrasen_sign1" /obj/structure/sign/logo/kinaris diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index c386726f..75113338 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -126,6 +126,7 @@ /obj/structure/transit_tube/station/proc/launch_pod() if(launch_cooldown >= world.time) return + density = FALSE for(var/obj/structure/transit_tube_pod/pod in loc) if(!pod.moving) pod_moving = 1 @@ -148,6 +149,7 @@ pod.setDir(tube_dirs[1]) //turning the pod around for next launch. launch_cooldown = world.time + cooldown_delay open_animation() + density = TRUE sleep(OPEN_DURATION + 2) pod_moving = 0 if(!QDELETED(pod)) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index 56608789..bd6f9d3a 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/atmospherics/pipes/transit_tube.dmi' icon_state = "straight" desc = "A transit tube for moving things around." - density = TRUE + density = FALSE layer = LOW_ITEM_LAYER anchored = TRUE climbable = 1 @@ -16,7 +16,7 @@ /obj/structure/transit_tube/CanPass(atom/movable/mover, turf/target) if(istype(mover) && (mover.pass_flags & PASSGLASS)) - return 1 + return TRUE return !density /obj/structure/transit_tube/New(loc, newdirection) @@ -189,7 +189,6 @@ dir = WEST /obj/structure/transit_tube/diagonal/crossing - density = FALSE icon_state = "diagonal_crossing" tube_construction = /obj/structure/c_transit_tube/diagonal/crossing @@ -263,7 +262,6 @@ /obj/structure/transit_tube/crossing icon_state = "crossing" tube_construction = /obj/structure/c_transit_tube/crossing - density = FALSE //mostly for mapping use /obj/structure/transit_tube/crossing/horizontal diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm index de830ebe..eec77a51 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm @@ -88,7 +88,7 @@ /obj/structure/c_transit_tube/curved icon_state = "curved0" build_type = /obj/structure/transit_tube/curved - flipped_build_type = /obj/structure/transit_tube/curved/flipped + flipped_build_type = /obj/structure/c_transit_tube/curved/flipped base_icon = "curved" /obj/structure/c_transit_tube/curved/flipped 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 ee46538b..ebcdfb06 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -3,7 +3,7 @@ icon_state = "pod" animate_movement = FORWARD_STEPS anchored = TRUE - density = TRUE + density = FALSE layer = BELOW_OBJ_LAYER var/moving = 0 var/datum/gas_mixture/air_contents = new() @@ -136,13 +136,11 @@ sleep(last_delay) setDir(next_dir) forceMove(next_loc) // When moving from one tube to another, skip collision and such. - density = current_tube.density if(current_tube && current_tube.should_stop_pod(src, next_dir)) current_tube.pod_stopped(src, dir) break - density = TRUE moving = 0 var/obj/structure/transit_tube/TT = locate(/obj/structure/transit_tube) in loc diff --git a/code/game/say.dm b/code/game/say.dm index 4ce1d3c7..2bb67dfc 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -94,21 +94,21 @@ GLOBAL_LIST_INIT(freqtospan, list( return "[say_mod(input, message_mode)][spanned ? ", \"[spanned]\"" : ""]" // Citadel edit [spanned ? ", \"[spanned]\"" : ""]" -/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode) +/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode, no_quote = FALSE) if(has_language(language)) var/atom/movable/AM = speaker.GetSource() if(AM) //Basically means "if the speaker is virtual" - return AM.say_quote(raw_message, spans, message_mode) + return no_quote ? raw_message : AM.say_quote(raw_message, spans, message_mode) else - return speaker.say_quote(raw_message, spans, message_mode) + return no_quote ? raw_message : speaker.say_quote(raw_message, spans, message_mode) else if(language) var/atom/movable/AM = speaker.GetSource() var/datum/language/D = GLOB.language_datum_instances[language] raw_message = D.scramble(raw_message) if(AM) - return AM.say_quote(raw_message, spans, message_mode) + return no_quote ? raw_message : AM.say_quote(raw_message, spans, message_mode) else - return speaker.say_quote(raw_message, spans, message_mode) + return no_quote ? raw_message : speaker.say_quote(raw_message, spans, message_mode) else return "makes a strange sound." diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm index 708ca230..d0410dde 100644 --- a/code/game/turfs/simulated/water.dm +++ b/code/game/turfs/simulated/water.dm @@ -4,9 +4,6 @@ desc = "Shallow water." icon = 'icons/turf/floors.dmi' icon_state = "riverwater_motion" - baseturfs = /turf/open/chasm/lavaland - initial_gas_mix = LAVALAND_DEFAULT_ATMOS - planetary_atmos = TRUE slowdown = 1 bullet_sizzle = TRUE bullet_bounce_sound = null //needs a splashing sound one day. diff --git a/code/game/world.dm b/code/game/world.dm index 88166c4b..37c3fac2 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -33,6 +33,7 @@ GLOBAL_VAR(restart_counter) #endif load_admins() + load_patreons() LoadVerbs(/datum/verbs/menu) if(CONFIG_GET(flag/usewhitelist)) load_whitelist() diff --git a/code/modules/awaymissions/pamphlet.dm b/code/modules/awaymissions/pamphlet.dm index 7cbbde09..399a6cda 100644 --- a/code/modules/awaymissions/pamphlet.dm +++ b/code/modules/awaymissions/pamphlet.dm @@ -3,18 +3,18 @@ icon_state = "pamphlet" /obj/item/paper/pamphlet/gateway - info = "Welcome to the Nanotrasen Gateway project...
\ + info = "Welcome to the Kinaris Gateway project...
\ Congratulations! If you're reading this, you and your superiors have decided that you're \ ready to commit to a life spent colonising the rolling hills of far away worlds. You \ must be ready for a lifetime of adventure, a little bit of hard work, and an award \ - winning dental plan- but that's not all the Nanotrasen Gateway project has to offer.
\ + winning dental plan- but that's not all the Kinaris Gateway project has to offer.
\
Because we care about you, we feel it is only fair to make sure you know the risks \ - before you commit to joining the Nanotrasen Gateway project. All away destinations have \ - been fully scanned by a Nanotrasen expeditionary team, and are certified to be 100% safe. \ + before you commit to joining the Kinaris Gateway project. All away destinations have \ + been fully scanned by a Kinaris expeditionary team, and are certified to be 100% safe. \ We've even left a case of space beer along with the basic materials you'll need to expand \ - Nanotrasen's operational area and start your new life.

\ + Kinaris's operational area and start your new life.

\ Gateway Operation Basics
\ - All Nanotrasen approved Gateways operate on the same basic principals. They operate off \ + All Kinaris approved Gateways operate on the same basic principals. They operate off \ area equipment power as you would expect, and without this supply, it cannot safely function, \ causinng it to reject all attempts at operation.

\ Once it is correctly setup, and once it has enough power to operate, the Gateway will begin \ @@ -30,7 +30,7 @@ number of cases, the Gateway they have established may not be immediately obvious. \ Do not panic if you cannot locate the return Gateway. Begin colonisation of the destination. \

A New World
\ - As a participant in the Nanotrasen Gateway Project, you will be on the frontiers of space. \ + As a participant in the Kinaris Gateway Project, you will be on the frontiers of space. \ Though complete safety is assured, participants are advised to prepare for inhospitable \ environs." diff --git a/code/modules/cargo/bounties/assistant.dm b/code/modules/cargo/bounties/assistant.dm index cf4efaa8..6d85973f 100644 --- a/code/modules/cargo/bounties/assistant.dm +++ b/code/modules/cargo/bounties/assistant.dm @@ -1,19 +1,19 @@ /datum/bounty/item/assistant/strange_object name = "Strange Object" - description = "Nanotrasen has taken an interest in strange objects. Find one in maint, and ship it off to CentCom right away." + description = "Kinaris has taken an interest in strange objects. Find one in maint, and ship it off to CentCom right away." reward = 1200 wanted_types = list(/obj/item/relic) /datum/bounty/item/assistant/scooter name = "Scooter" - description = "Nanotrasen has determined walking to be wasteful. Ship a scooter to CentCom to speed operations up." + description = "Kinaris has determined walking to be wasteful. Ship a scooter to CentCom to speed operations up." reward = 1080 // the mat hoffman wanted_types = list(/obj/vehicle/ridden/scooter) include_subtypes = FALSE /datum/bounty/item/assistant/skateboard name = "Skateboard" - description = "Nanotrasen has determined walking to be wasteful. Ship a skateboard to CentCom to speed operations up." + description = "Kinaris has determined walking to be wasteful. Ship a skateboard to CentCom to speed operations up." reward = 900 // the tony hawk wanted_types = list(/obj/vehicle/ridden/scooter/skateboard) @@ -180,7 +180,7 @@ /datum/bounty/item/assistant/ied name = "IED" - description = "Nanotrasen's maximum security prison at CentCom is undergoing personnel training. Ship a handful of IEDs to serve as a training tools." + description = "Kinaris's prison at CentCom is undergoing personnel training. Ship a handful of IEDs to serve as a training tools." reward = 2000 required_count = 3 wanted_types = list(/obj/item/grenade/iedcasing) diff --git a/code/modules/cargo/bounties/chef.dm b/code/modules/cargo/bounties/chef.dm index b9d9ebc1..50da3c67 100644 --- a/code/modules/cargo/bounties/chef.dm +++ b/code/modules/cargo/bounties/chef.dm @@ -1,12 +1,12 @@ /datum/bounty/item/chef/birthday_cake name = "Birthday Cake" - description = "Nanotrasen's birthday is coming up! Ship them a birthday cake to celebrate!" + description = "Winfre's birthday is coming up! Ship them a birthday cake to celebrate!" reward = 4000 wanted_types = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday, /obj/item/reagent_containers/food/snacks/cakeslice/birthday) /datum/bounty/item/chef/soup name = "Soup" - description = "To quell the homeless uprising, Nanotrasen will be serving soup to all underpaid workers. Ship any type of soup." + description = "To quell the homeless uprising, Kinaris will be serving soup to all underpaid workers. Ship any type of soup." reward = 3000 required_count = 3 wanted_types = list(/obj/item/reagent_containers/food/snacks/soup) @@ -20,7 +20,7 @@ /datum/bounty/item/chef/onionrings name = "Onion Rings" - description = "Nanotrasen is remembering Saturn day. Ship onion rings to show the station's support." + description = "Kinaris.co is remembering Saturn day. Ship onion rings to show the station's support." reward = 3000 required_count = 3 wanted_types = list(/obj/item/reagent_containers/food/snacks/onionrings) @@ -36,7 +36,7 @@ name = "Bread" description = "Problems with central planning have led to bread prices skyrocketing. Ship some bread to ease tensions." reward = 1000 - wanted_types = list(/obj/item/reagent_containers/food/snacks/store/bread, /obj/item/reagent_containers/food/snacks/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) + wanted_types = list(/obj/item/reagent_containers/food/snacks/store/bread, /obj/item/reagent_containers/food/snacks/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) /datum/bounty/item/chef/pie name = "Pie" @@ -78,7 +78,7 @@ /datum/bounty/item/chef/hotdog name = "Hot Dog" - description = "Nanotrasen is conducting taste tests to determine the best hot dog recipe. Ship your station's version to participate." + description = "Kinaris.co is conducting taste tests to determine the best hot dog recipe. Ship your station's version to participate." reward = 8000 wanted_types = list(/obj/item/reagent_containers/food/snacks/hotdog) @@ -98,7 +98,7 @@ /datum/bounty/item/chef/chawanmushi name = "Chawanmushi" - description = "Nanotrasen wants to improve relations with its sister company, Japanotrasen. Ship Chawanmushi immediately." + description = "Kinaris.Co wants to improve relations with its sister company, Donk.Co. Ship Chawanmushi immediately." reward = 8000 wanted_types = list(/obj/item/reagent_containers/food/snacks/chawanmushi) @@ -117,7 +117,7 @@ /datum/bounty/item/chef/pancakes name = "Pancakes" - description = "Here at Nanotrasen we consider employees to be family. And you know what families love? Pancakes. Ship a baker's dozen." + description = "Here at Kinaris.Co we consider employees to be family. And you know what families love? Pancakes. Ship a baker's dozen." reward = 5000 required_count = 13 wanted_types = list(/datum/crafting_recipe/food/pancakes) diff --git a/code/modules/cargo/bounties/engineering.dm b/code/modules/cargo/bounties/engineering.dm index cf2cd7d9..a0c3c577 100644 --- a/code/modules/cargo/bounties/engineering.dm +++ b/code/modules/cargo/bounties/engineering.dm @@ -21,7 +21,7 @@ /datum/bounty/item/engineering/gas/tritium_tank name = "Full Tank of Tritium" - description = "Station 49 is looking to kickstart their research program. Ship them a tank full of Tritium." + description = "Station 42 is looking to kickstart their research program. Ship them a tank full of Tritium." gas_type = /datum/gas/tritium /datum/bounty/item/engineering/pacman diff --git a/code/modules/cargo/bounties/medical.dm b/code/modules/cargo/bounties/medical.dm index 31290517..2e849792 100644 --- a/code/modules/cargo/bounties/medical.dm +++ b/code/modules/cargo/bounties/medical.dm @@ -48,7 +48,7 @@ /datum/bounty/item/medical/lizard_tail name = "Lizard Tail" - description = "The Wizard Federation has made off with Nanotrasen's supply of lizard tails. While CentCom is dealing with the wizards, can the station spare a tail of their own?" + description = "The Wizard Federation has made off with Kinaris.Co's supply of lizard tails. While CentCom is dealing with the wizards, can the station spare a tail of their own?" reward = 3000 wanted_types = list(/obj/item/organ/tail/lizard) @@ -60,7 +60,7 @@ /datum/bounty/item/medical/blood name = "Generic Blood" - description = "Nanotrasen's annual blood drive is back up to full speed, following the garlic incident. Good blood in good volumes accepted for Credit returns." + description = "The Kinaris annual blood drive is back up to full speed, following the garlic incident. Good blood in good volumes accepted for Credit returns." reward = 3500 required_count = 600 wanted_types = list(/datum/reagent/blood) @@ -79,7 +79,7 @@ required_count = 200 wanted_types = (L,/datum/reagent/blood) if(istype(L,/datum/reagent/blood)) - wanted_types += L + wanted_types += L /datum/bounty/item/medical/bloodu //Dosnt work do to how blood is yet* name = "U-Type Blood" @@ -88,7 +88,7 @@ required_count = 200 wanted_types = (U,/datum/reagent/blood) if(istype(U,/datum/reagent/blood)) - wanted_types += U + wanted_types += U */ diff --git a/code/modules/cargo/bounties/reagent.dm b/code/modules/cargo/bounties/reagent.dm index 3f458e2b..e6d2e91a 100644 --- a/code/modules/cargo/bounties/reagent.dm +++ b/code/modules/cargo/bounties/reagent.dm @@ -84,7 +84,7 @@ datum/bounty/reagent/simple_drink/New() var/reagent_type = pick(possible_reagents) wanted_reagent = new reagent_type name = wanted_reagent.name - description = "CentCom is thirsty! Send a shipment of [name] to CentCom to quench the company's thirst." + description = "Winfre is thirsty, Send a shipment of [name] to CentCom to quench her thirst." reward += rand(0, 2) * 500 /datum/bounty/reagent/complex_drink @@ -112,7 +112,7 @@ datum/bounty/reagent/complex_drink/New() /datum/reagent/consumable/bluecherryshake,\ /datum/reagent/consumable/doctor_delight,\ /datum/reagent/consumable/ethanol/silencer) - + var/reagent_type = pick(possible_reagents) wanted_reagent = new reagent_type name = wanted_reagent.name diff --git a/code/modules/cargo/bounties/security.dm b/code/modules/cargo/bounties/security.dm index cae8d10c..34c9856b 100644 --- a/code/modules/cargo/bounties/security.dm +++ b/code/modules/cargo/bounties/security.dm @@ -7,14 +7,14 @@ /datum/bounty/item/security/recharger name = "Rechargers" - description = "Nanotrasen military academy is conducting marksmanship exercises. They request that rechargers be shipped." + description = "Kinaris PMC is conducting marksmanship exercises. They request that rechargers be shipped." reward = 2000 required_count = 3 wanted_types = list(/obj/machinery/recharger) /datum/bounty/item/security/practice name = "Practice Laser Gun" - description = "Nanotrasen Military Academy is conducting routine marksmanship exercises. The clown hid all the practice lasers, and we're not using live weapons after last time." + description = "Kinaris PMC is conducting routine marksmanship exercises. The clown hid all the practice lasers, and we're not using live weapons after last time." reward = 3000 required_count = 3 wanted_types = list(/obj/item/gun/energy/laser/practice) @@ -27,28 +27,28 @@ /datum/bounty/item/security/sechuds name = "Sec HUDs" - description = "Nanotrasen military academy has started to train officers how to use Sec HUDs to the fullest affect. Please send spare Sec HUDs so we can teach the men." + description = "Nanotrasen PMC has started to train officers how to use Sec HUDs to the fullest affect. Please send spare Sec HUDs so we can teach the men." reward = 3000 required_count = 5 wanted_types = list(/obj/item/clothing/glasses/hud/security) /datum/bounty/item/security/techslugs name = "Tech Slugs" - description = "Nanotrasen Military Academy is conducting an ammo loading and use lessons, on the new 'Tech Slugs'. Problem is we don't have any, please fix this..." + description = "Kinaris PMC is conducting an ammo loading and use lessons, on the new 'Tech Slugs'. Problem is we don't have any, please fix this..." reward = 7500 required_count = 15 wanted_types = list(/obj/item/ammo_casing/shotgun/techshell) /datum/bounty/item/security/WT550 name = "Spare WT-550 clips" - description = "Nanotrasen Military Academy's ammunition is running low, please send in spare ammo for practice." + description = "Kinaris Military Academy's ammunition is running low, please send in spare ammo for practice." reward = 7500 required_count = 5 wanted_types = list(/obj/item/ammo_box/magazine/wt550m9) /datum/bounty/item/security/pins name = "Test range firing pins" - description = "Nanotrasen Military Academy just got a new set of guns, sadly they didn't come with any pins. Can you send us some Test range locked firing pins?" + description = "Kinaris PMC just got a new set of guns, sadly they didn't come with any pins. Can you send us some Test range locked firing pins?" reward = 5000 required_count = 3 wanted_types = list(/obj/item/firing_pin/test_range) diff --git a/code/modules/cargo/bounties/slime.dm b/code/modules/cargo/bounties/slime.dm index 4aa0797c..80b2dc4d 100644 --- a/code/modules/cargo/bounties/slime.dm +++ b/code/modules/cargo/bounties/slime.dm @@ -3,7 +3,7 @@ /datum/bounty/item/slime/New() ..() - description = "Nanotrasen's science lead is hunting for the rare and exotic [name]. A bounty has been offered for finding it." + description = "Kinaris's head xenobiologist team is hunting for the rare and exotic [name]. A bounty has been offered for finding it." reward += rand(0, 4) * 500 /datum/bounty/item/slime/green diff --git a/code/modules/cargo/bounties/virus.dm b/code/modules/cargo/bounties/virus.dm index 8f078a26..d514c3e3 100644 --- a/code/modules/cargo/bounties/virus.dm +++ b/code/modules/cargo/bounties/virus.dm @@ -10,7 +10,7 @@ if(rand(3) == 1) stat_value *= -1 name = "Virus ([stat_name] of [stat_value])" - description = "Nanotrasen is interested in a virus with a [stat_name] stat of exactly [stat_value]. Central Command will pay handsomely for such a virus." + description = "Kinaris.Co is interested in a virus with a [stat_name] stat of exactly [stat_value]. Central Command will pay handsomely for such a virus." reward += rand(0, 4) * 500 /datum/bounty/virus/completion_string() diff --git a/code/modules/cargo/bounty_console.dm b/code/modules/cargo/bounty_console.dm index 2e5d943d..39465df7 100644 --- a/code/modules/cargo/bounty_console.dm +++ b/code/modules/cargo/bounty_console.dm @@ -1,8 +1,8 @@ #define PRINTER_TIMEOUT 10 /obj/machinery/computer/bounty - name = "Nanotrasen bounty console" - desc = "Used to check and claim bounties offered by Nanotrasen" + name = "Kinaris.Co bounty console" + desc = "Used to check and claim bounties offered by Kinaris" icon_screen = "bounty" circuit = /obj/item/circuitboard/computer/bounty light_color = "#E2853D"//orange @@ -20,7 +20,7 @@ /obj/item/paper/bounty_printout/Initialize() . = ..() - info = "

Nanotrasen Cargo Bounties


" + info = "

Kinaris.Co Cargo Bounties


" for(var/datum/bounty/B in GLOB.bounties_list) if(B.claimed) continue @@ -67,7 +67,7 @@ dat += "" dat += "" - var/datum/browser/popup = new(user, "bounties", "Nanotrasen Bounties", 700, 600) + var/datum/browser/popup = new(user, "bounties", "Kinaris Bounties", 700, 600) popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) popup.open() diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 149416bf..861c122a 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -3283,3 +3283,20 @@ /obj/item/toner, /obj/item/toner) crate_name = "toner crate" + +/datum/supply_pack/misc/diamondring + name = "Diamond Ring" + desc = "Show them your love is like a diamond: unbreakable and forever lasting. Shipped straight from child slave cartels in the space african mines." + cost = 10000 + contains = list(/obj/item/storage/fancy/ringbox/diamond) + crate_name = "diamond ring crate" + +/datum/supply_pack/misc/jewelry + name = "Jewelry Crate" + desc = "Bling out with this crate of jewelry. Includes gold necklace and a set of two rings." + cost = 5000 + contains = list(/obj/item/clothing/neck/necklace/dope, + /obj/item/storage/fancy/ringbox, + /obj/item/storage/fancy/ringbox/silver + ) + crate_name = "jewelry crate" diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 4e7ec45b..3dd76c75 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -80,4 +80,7 @@ var/client_keysend_amount = 0 var/next_keysend_reset = 0 var/next_keysend_trip_reset = 0 - var/keysend_tripped = FALSE \ No newline at end of file + var/keysend_tripped = FALSE + + /// Messages currently seen by this client + var/list/seen_messages \ No newline at end of file diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 1713df90..94c9798d 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -458,6 +458,7 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) if(movingmob != null) movingmob.client_mobs_in_contents -= mob UNSETEMPTY(movingmob.client_mobs_in_contents) + seen_messages = null Master.UpdateTickRate() return ..() diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index fbc30413..9c17a9d3 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -45,6 +45,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/UI_style = null var/buttons_locked = FALSE var/hotkeys = FALSE + var/chat_on_map = TRUE + var/max_chat_length = CHAT_MESSAGE_MAX_LENGTH + var/see_chat_non_mob = TRUE var/tgui_fancy = TRUE var/tgui_lock = TRUE var/windowflashing = TRUE @@ -203,6 +206,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/current_tab = 0 var/unlock_content = 0 + var/vip = 0 var/list/ignoring = list() @@ -241,6 +245,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) unlock_content = C.IsByondMember() if(unlock_content) max_save_slots = 16 + if(clientckey in GLOB.patreons) + vip = 1 var/loaded_preferences_successfully = load_preferences() if(loaded_preferences_successfully) if(load_character()) @@ -776,6 +782,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) else dat += "Testicles Color:
" dat += "    Change
" + //dat += "Ball Circumference: [features["balls_size"]] inch(es)" // The menu works but doesn't do anything yet. Need to figure it out. dat += "Testicles showing:[features["balls_shape"]]" dat += "Produces:[features["balls_fluid"]]" dat += APPEARANCE_CATEGORY_COLUMN @@ -819,6 +826,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "UI Style: [UI_style]
" dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
" dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
" + dat += "Show Runechat Chat Bubbles: [chat_on_map ? "Enabled" : "Disabled"]
" + dat += "Runechat message char limit: [max_chat_length]
" + dat += "See Runechat for non-mobs: [see_chat_non_mob ? "Enabled" : "Disabled"]
" dat += "
" dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
" dat += "Keybindings: [(hotkeys) ? "Hotkeys" : "Default"]
" @@ -894,7 +904,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Ghosts of Others: [button_name]
" dat += "
" - //dat += "FPS: [clientfps]
" + dat += "FPS: [clientfps]
" dat += "Parallax (Fancy Space): " switch (parallax) if (PARALLAX_LOW) @@ -1974,6 +1984,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(new_length) features["cock_length"] = max(min( round(text2num(new_length)), COCK_SIZE_MAX),COCK_SIZE_MIN) + if("balls_size") + var/new_balls_size = input(user, "Testicle circumference in inches:\n([BALLS_SIZE_MIN]-[BALLS_SIZE_MAX])", "Character Preference") as num|null + if(new_balls_size) + features["balls_size"] = max(min( round(text2num(new_balls_size)), BALLS_SIZE_MAX),BALLS_SIZE_MIN) + if("cock_shape") var/new_shape new_shape = input(user, "Penis shape:", "Character Preference") as null|anything in GLOB.cock_shapes_list @@ -2118,18 +2133,18 @@ GLOBAL_LIST_EMPTY(preferences_datums) if (pickedmap) preferred_map = maplist[pickedmap] -// if ("clientfps") -// var/desiredfps = input(user, "Choose your desired fps. (0 = synced with server tick rate (currently:[world.fps]))", "Character Preference", clientfps) as null|num -// if (!isnull(desiredfps)) -// clientfps = desiredfps -// parent.fps = desiredfps + if ("clientfps") + var/desiredfps = input(user, "Choose your desired fps. (0 = synced with server tick rate (currently:[world.fps]))", "Character Preference", clientfps) as null|num + if (!isnull(desiredfps)) + clientfps = desiredfps + parent.fps = desiredfps //Hyperstation Body Size if("bodysize") - var/new_bodysize = input(user, "Choose your desired sprite size:\n(85%-110%), Warning: May make your character look distorted!", "Character Preference") as num|null + var/new_bodysize = input(user, "Choose your desired sprite size:\n([MIN_BODYSIZE]-[MAX_BODYSIZE]), Warning: May make your character look distorted!", "Character Preference") as num|null if (new_bodysize) - body_size = max(min( round(text2num(new_bodysize)), 110),85) + body_size = max(min( round(text2num(new_bodysize)), MAX_BODYSIZE),MIN_BODYSIZE) @@ -2151,6 +2166,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/pickedPDASkin = input(user, "Choose your PDA reskin.", "Character Preference", pda_skin) as null|anything in GLOB.pda_reskins if(pickedPDASkin) pda_skin = pickedPDASkin + if ("max_chat_length") + var/desiredlength = input(user, "Choose the max character length of shown Runechat messages. Valid range is 1 to [CHAT_MESSAGE_MAX_LENGTH] (default: [initial(max_chat_length)]))", "Character Preference", max_chat_length) as null|num + if (!isnull(desiredlength)) + max_chat_length = clamp(desiredlength, 1, CHAT_MESSAGE_MAX_LENGTH) else switch(href_list["preference"]) @@ -2236,6 +2255,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) winset(user, null, "input.focus=true input.background-color=[COLOR_INPUT_ENABLED] mainwindow.macro=old_default") if("action_buttons") buttons_locked = !buttons_locked + if("chat_on_map") + chat_on_map = !chat_on_map + if("see_chat_non_mob") + see_chat_non_mob = !see_chat_non_mob if("tgui_fancy") tgui_fancy = !tgui_fancy if("tgui_lock") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index d9ec2c66..fc619515 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -100,6 +100,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["inquisitive_ghost"] >> inquisitive_ghost S["uses_glasses_colour"]>> uses_glasses_colour S["clientfps"] >> clientfps + S["chat_on_map"] >> chat_on_map + S["max_chat_length"] >> max_chat_length + S["see_chat_non_mob"] >> see_chat_non_mob + S["parallax"] >> parallax S["ambientocclusion"] >> ambientocclusion @@ -129,6 +133,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) UI_style = sanitize_inlist(UI_style, GLOB.available_ui_styles, GLOB.available_ui_styles[1]) hotkeys = sanitize_integer(hotkeys, 0, 1, initial(hotkeys)) + chat_on_map = sanitize_integer(chat_on_map, 0, 1, initial(chat_on_map)) + max_chat_length = sanitize_integer(max_chat_length, 1, CHAT_MESSAGE_MAX_LENGTH, initial(max_chat_length)) + see_chat_non_mob = sanitize_integer(see_chat_non_mob, 0, 1, initial(see_chat_non_mob)) tgui_fancy = sanitize_integer(tgui_fancy, 0, 1, initial(tgui_fancy)) tgui_lock = sanitize_integer(tgui_lock, 0, 1, initial(tgui_lock)) buttons_locked = sanitize_integer(buttons_locked, 0, 1, initial(buttons_locked)) @@ -180,6 +187,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["lastchangelog"], lastchangelog) WRITE_FILE(S["UI_style"], UI_style) WRITE_FILE(S["hotkeys"], hotkeys) + WRITE_FILE(S["chat_on_map"], chat_on_map) + WRITE_FILE(S["max_chat_length"], max_chat_length) + WRITE_FILE(S["see_chat_non_mob"], see_chat_non_mob) WRITE_FILE(S["tgui_fancy"], tgui_fancy) WRITE_FILE(S["tgui_lock"], tgui_lock) WRITE_FILE(S["buttons_locked"], buttons_locked) diff --git a/code/modules/client/verbs/ooc.dm b/code/modules/client/verbs/ooc.dm index 8a233025..c79eb418 100644 --- a/code/modules/client/verbs/ooc.dm +++ b/code/modules/client/verbs/ooc.dm @@ -56,9 +56,13 @@ GLOBAL_VAR_INIT(normal_ooc_colour, "#002eb8") mob.log_talk(raw_msg, LOG_OOC, tag="(OOC)") var/keyname = key + if(prefs.unlock_content) if(prefs.toggles & MEMBER_PUBLIC) keyname = "[icon2html('icons/member_content.dmi', world, "blag")][keyname]" + + if(prefs.vip) //patreon supporter! + keyname = "[icon2html('hyperstation/icons/chat/reward.dmi', world, "vip")] [keyname]" //The linkify span classes and linkify=TRUE below make ooc text get clickable chat href links if you pass in something resembling a url for(var/client/C in GLOB.clients) if(C.prefs.chat_toggles & CHAT_OOC) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 08adb8e5..b51b6a5e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -47,8 +47,8 @@ //Basically syntax is species_restricted = list("Species Name","Species Name") //Add a "exclude" string to do the opposite, making it only only species listed that can't wear it. //You append this to clothing objects. - - + //Hyper change// - Variables for HS13 checks + var/roomy = 0 //0 For false /obj/item/clothing/Initialize() @@ -95,6 +95,18 @@ obj_integrity = max_integrity to_chat(user, "You fix the damage on [src] with [C].") return 1 + //Hyper Change// + if(istype(W, /obj/item/bluespace_thread)) + var/obj/item/bluespace_thread/B = W + if ((istype(src, /obj/item/clothing/under) || istype(src, /obj/item/clothing/suit)) && roomy != 1) //Make sure the thread is used on an item that could be ripped off in the first place + roomy = 1 //True + user.show_message("You add a few stiches to your clothing, and find them to fit a little looser.", 1) + B.uses -= 1 //One use has been used + if(B.uses <= 0) + user.show_message("The thread has been used up!", 1) + qdel(B) + else + user.show_message("You probably don't need any more room in that.", 1) return ..() /obj/item/clothing/Destroy() diff --git a/code/modules/clothing/gloves/ring.dm b/code/modules/clothing/gloves/ring.dm new file mode 100644 index 00000000..430469a0 --- /dev/null +++ b/code/modules/clothing/gloves/ring.dm @@ -0,0 +1,32 @@ +/obj/item/clothing/gloves/ring + name = "gold ring" + desc = "A tiny gold ring, sized to wrap around a finger." + gender = NEUTER + w_class = WEIGHT_CLASS_TINY + icon = 'icons/obj/ring.dmi' + icon_state = "ringgold" + item_state = "gring" + body_parts_covered = 0 + attack_verb = list("proposed") + transfer_prints = TRUE + strip_delay = 40 + +/obj/item/clothing/gloves/ring/suicide_act(mob/living/carbon/user) + user.visible_message("\[user] is putting the [src] in [user.p_their()] mouth! It looks like [user] is trying to choke on the [src]!") + return OXYLOSS + + +/obj/item/clothing/gloves/ring/diamond + name = "diamond ring" + item_state = "dring" + icon_state = "ringdiamond" + desc = "An expensive ring, studded with a diamond. Cultures have used these rings in courtship for a millenia." + +/obj/item/clothing/gloves/ring/diamond/attack_self(mob/user) + user.visible_message("\The [user] gets down on one knee, presenting \the [src].","You get down on one knee, presenting \the [src].") + +/obj/item/clothing/gloves/ring/silver + name = "silver ring" + item_state = "sring" + icon_state = "ringsilver" + desc = "A tiny silver ring, sized to wrap around a finger." \ No newline at end of file diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 325c1248..ae5da913 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -203,16 +203,18 @@ name = "CentCom Commander" uniform = /obj/item/clothing/under/rank/centcom_commander - suit = /obj/item/clothing/suit/armor/bulletproof + suit = /obj/item/clothing/suit/hooded/wintercoat/centcom shoes = /obj/item/clothing/shoes/combat/swat gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/headset_cent/commander - glasses = /obj/item/clothing/glasses/eyepatch + glasses = /obj/item/clothing/glasses/thermal/eyepatch mask = /obj/item/clothing/mask/cigarette/cigar/cohiba head = /obj/item/clothing/head/centhat - belt = /obj/item/gun/ballistic/revolver/mateba + neck = /obj/item/clothing/neck/cloak/centcom + belt = /obj/item/gun/ballistic/automatic/pistol/lato r_pocket = /obj/item/lighter - l_pocket = /obj/item/ammo_box/a357 + l_pocket = /obj/item/ammo_box/magazine/latomag + l_hand = /obj/item/ammo_box/magazine/latomag back = /obj/item/storage/backpack/satchel/leather id = /obj/item/card/id diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 85503c72..9bb9453b 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -556,7 +556,7 @@ /obj/item/clothing/suit/space/hardsuit/captain name = "captain's SWAT suit" - desc = "A MK.II SWAT suit with streamlined joints and armor made out of superior materials, insulated against intense heat. The most advanced tactical armor available Usually reserved for heavy hitter corporate security, this one has a regal finish in Nanotrasen company colors. Better not let the assistants get a hold of it." + desc = "A MK.II SWAT suit with streamlined joints and armor made out of superior materials, insulated against intense heat. The most advanced tactical armor available Usually reserved for heavy hitter corporate security. Better not let the assistants get a hold of it." icon_state = "caparmor" item_state = "capspacesuit" armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 25, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 100, "acid" = 100) diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index c3276213..4e7fce0f 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -55,6 +55,13 @@ desc = "Worn by the Head of Personnel. It smells faintly of bureaucracy." icon_state = "hopcloak" +/obj/item/clothing/neck/cloak/centcom + name = "central command's cloak" + desc = "Worn by High-Ranking Central Command Personnel. I guess they needed one too." + icon_state = "centcomcloak" + armor = list("melee" = 35, "bullet" = 40, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 20, "rad" = 20, "fire" = 60, "acid" = 60) + body_parts_covered = CHEST|GROIN|ARMS + /obj/item/clothing/suit/hooded/cloak/goliath name = "goliath cloak" icon_state = "goliath_cloak" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index a621404a..8eb8c08f 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -113,15 +113,15 @@ item_color = "vice" can_adjust = FALSE /obj/item/clothing/under/rank/centcom_officer - desc = "It's a jumpsuit worn by CentCom Officers." - name = "\improper CentCom officer's jumpsuit" + desc = "CentCom officer's jumpsuit, adorned with a golden K and a star, signifying work under Kinaris." + name = "\improper CentCom Officer's jumpsuit" icon_state = "officer" item_state = "g_suit" item_color = "officer" alt_covers_chest = TRUE /obj/item/clothing/under/rank/centcom_commander - desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders." - name = "\improper CentCom officer's jumpsuit" + desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders, adorned with a golden K and a star. signifying work under Kinaris." + name = "\improper CentCom Commander's jumpsuit" icon_state = "centcom" item_state = "dg_suit" item_color = "centcom" diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 7fe2b758..75c9a424 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -685,15 +685,6 @@ tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) category = CAT_MISC -/datum/crafting_recipe/femur_breaker - name = "Femur Breaker" - result = /obj/structure/femur_breaker - time = 150 - reqs = list(/obj/item/stack/sheet/metal = 20, - /obj/item/stack/cable_coil = 30) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_MISC - /datum/crafting_recipe/lizardhat name = "Lizard Cloche Hat" result = /obj/item/clothing/head/lizard diff --git a/code/modules/events/aurora_caelus.dm b/code/modules/events/aurora_caelus.dm index 89a84d34..85bb7960 100644 --- a/code/modules/events/aurora_caelus.dm +++ b/code/modules/events/aurora_caelus.dm @@ -14,13 +14,13 @@ announceWhen = 1 startWhen = 9 endWhen = 50 - var/list/aurora_colors = list("#A2FF80", "#A2FF8B", "#A2FF96", "#A2FFA5", "#A2FFB6", "#A2FFC7", "#A2FFDE", "#A2FFEE") + var/list/aurora_colors = list("#ffd980", "#eaff80", "#eaff80", "#ffd980", "#eaff80", "#A2FFC7", "#A2FFDE", "#ffd980") var/aurora_progress = 0 //this cycles from 1 to 8, slowly changing colors from gentle green to gentle blue /datum/round_event/aurora_caelus/announce() - priority_announce("[station_name()]: A harmless cloud of ions is approaching your station, and will exhaust their energy battering the hull. Nanotrasen has approved a short break for all employees to relax and observe this very rare event. During this time, starlight will be bright but gentle, shifting between quiet green and blue colors. Any staff who would like to view these lights for themselves may proceed to the area nearest to them with viewing ports to open space. We hope you enjoy the lights.", + priority_announce("[station_name()]: A harmless cloud of ions is approaching your station, and will exhaust their energy battering the hull. Kinaris Command has approved a short break for all employees to relax and observe this very rare event. During this time, starlight will be bright but gentle, shifting between quiet green and blue colors. Any staff who would like to view these lights for themselves may proceed to the area nearest to them with viewing ports to open space. We hope you enjoy the lights.", sound = 'sound/misc/notice2.ogg', - sender_override = "Nanotrasen Meteorology Division") + sender_override = "Kinaris Meteorology Division") for(var/V in GLOB.player_list) var/mob/M = V if((M.client.prefs.toggles & SOUND_MIDI) && is_station_level(M.z)) @@ -51,7 +51,7 @@ fade_to_black(S) priority_announce("The aurora caelus event is now ending. Starlight conditions will slowly return to normal. When this has concluded, please return to your workplace and continue work as normal. Have a pleasant shift, [station_name()], and thank you for watching with us.", sound = 'sound/misc/notice2.ogg', - sender_override = "Nanotrasen Meteorology Division") + sender_override = "Kinaris Meteorology Division") /datum/round_event/aurora_caelus/proc/fade_to_black(turf/open/space/S) set waitfor = FALSE diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm index 6081bb36..4ffa6b21 100644 --- a/code/modules/events/carp_migration.dm +++ b/code/modules/events/carp_migration.dm @@ -1,8 +1,8 @@ /datum/round_event_control/carp_migration name = "Carp Migration" typepath = /datum/round_event/carp_migration - weight = 15 - min_players = 2 + weight = 10 //decreased weight from 15 to 10 + min_players = 5 //increased min players from 2 to 5 to reduce chances of half the crew dying in a carp breach earliest_start = 10 MINUTES max_occurrences = 6 diff --git a/code/modules/events/high_priority_bounty.dm b/code/modules/events/high_priority_bounty.dm index ffdcd884..d629a0b8 100644 --- a/code/modules/events/high_priority_bounty.dm +++ b/code/modules/events/high_priority_bounty.dm @@ -6,7 +6,7 @@ earliest_start = 10 /datum/round_event/high_priority_bounty/announce(fake) - priority_announce("Central Command has issued a high-priority cargo bounty. Details have been sent to all bounty consoles.", "Nanotrasen Bounty Program") + priority_announce("C.C has issued a high-priority bounty. Details have been uploaded to all bounty consoles.", "Kinaris Corp Bounty Program") /datum/round_event/high_priority_bounty/start() var/datum/bounty/B diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index d035db82..54ca1808 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -683,31 +683,27 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(get_dist(target,H)As you are trying to read, you suddenly feel very stupid!") return if(ismonkey(user)) - to_chat(user, "You skim through the book but can't comprehend any of it.") + to_chat(user, "You skim through the datapad but can't comprehend any of it.") return if(dat) - user << browse("Penned by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") - user.visible_message("[user] opens a book titled \"[title]\" and begins reading intently.") + user << browse("Created by [author].
" + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]") + user.visible_message("[user] begins reading a datapad titled \"[title]\" intently.") SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd) onclose(user, "book") else - to_chat(user, "This book is completely blank!") + to_chat(user, "This datapad is completely blank!") /obj/item/book/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/pen)) if(is_blind(user)) - to_chat(user, " As you are trying to write on the book, you suddenly feel very stupid!") + to_chat(user, " As you are trying to edit the datapad, you suddenly feel very stupid!") return if(unique) - to_chat(user, "These pages don't seem to take the ink well! Looks like you can't modify it.") + to_chat(user, "These entries don't seem to be editable! Looks like you can't modify it.") return var/literate = user.is_literate() if(!literate) - to_chat(user, "You scribble illegibly on the cover of [src]!") + to_chat(user, "You enter illegible text on the cover page of [src]!") return var/choice = input("What would you like to change?") in list("Title", "Contents", "Author", "Cancel") if(!user.canUseTopic(src, BE_CLOSE, literate)) @@ -232,7 +231,7 @@ if(!user.canUseTopic(src, BE_CLOSE, literate)) return if (length(newtitle) > 20) - to_chat(user, "That title won't fit on the cover!") + to_chat(user, "That title is too large for the datapad's memory!") return if(!newtitle) to_chat(user, "That title is invalid.") @@ -241,7 +240,7 @@ name = newtitle title = newtitle if("Contents") - var/content = stripped_input(user, "Write your book's contents (HTML NOT allowed):","","",8192) + var/content = stripped_input(user, "Write your datapad's contents (HTML NOT allowed):","","",8192) if(!user.canUseTopic(src, BE_CLOSE, literate)) return if(!content) @@ -250,7 +249,7 @@ else dat += content if("Author") - var/newauthor = stripped_input(user, "Write the author's name:") + var/newauthor = stripped_input(user, "Enter the author's name:") if(!user.canUseTopic(src, BE_CLOSE, literate)) return if(!newauthor) @@ -291,10 +290,10 @@ scanner.computer.inventory.Add(src) to_chat(user, "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'") - else if(istype(I, /obj/item/kitchen/knife) || istype(I, /obj/item/wirecutters)) - to_chat(user, "You begin to carve out [title]...") + else if(istype(I, /obj/item/multitool)) + to_chat(user, "You begin to erase the data from [title] with your PDA!...") if(do_after(user, 30, target = src)) - to_chat(user, "You carve out the pages from [title]! You didn't want to read it anyway.") + to_chat(user, "You erase all the page data from [title] with your PDA! You didn't want to read it anyway.") var/obj/item/storage/book/B = new B.name = src.name B.title = src.title diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 49986e71..92cb0ecd 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -564,10 +564,10 @@ GLOBAL_LIST(cachedbooks) // List of our cached book datums * Book binder */ /obj/machinery/bookbinder - name = "book binder" + name = "Datapad transcriptor" icon = 'icons/obj/library.dmi' icon_state = "binder" - desc = "Only intended for binding paper products." + desc = "Reads and scans papers placed into it for text to datapad conversion." density = TRUE var/busy = FALSE diff --git a/code/modules/library/random_books.dm b/code/modules/library/random_books.dm index accd4773..a3e9b11f 100644 --- a/code/modules/library/random_books.dm +++ b/code/modules/library/random_books.dm @@ -58,7 +58,7 @@ B.author = query_get_random_books.item[2] B.title = query_get_random_books.item[3] B.dat = query_get_random_books.item[4] - B.name = "Book: [B.title]" + B.name = "Datapad: [B.title]" B.icon_state= "book[rand(1,8)]" qdel(query_get_random_books) diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 47fd657c..7a027c69 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -578,12 +578,9 @@ mind.transfer_to(H) //won't transfer key since the mind is not active H.name = real_name - - - //h13 assign your characters custom height. - if (H.custom_body_size > 0) - H.resize = (H.custom_body_size * 0.01) - + //h13 assign your characters custom height. + if (H.custom_body_size) //Do they have it set? + H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) //h13 give your starting impregchance (30%) if (H.breedable == TRUE) H.impregchance = 30 diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm index e5682059..f9a22678 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair_head.dm @@ -225,6 +225,10 @@ name = "Hitop" icon_state = "hair_hitop" +/datum/sprite_accessory/hair/hyenamane + name = "Hyena Mane" + icon_state = "hair_hyenamane" + /datum/sprite_accessory/hair/jensen name = "Jensen Hair" icon_state = "hair_jensen" diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index 6dd7a109..70fbba8d 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -34,6 +34,9 @@ else to_follow = V.source var/link = FOLLOW_LINK(src, to_follow) + // Create map text prior to modifying message for goonchat + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) // Recompose the message, because it's scrambled by default message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode) to_chat(src, "[link] [message]") diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 1dbf6b69..bd9c20ae 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -282,10 +282,17 @@ else if(check_zone(M.zone_selected) == "head") var/mob/living/carbon/human/H = src var/datum/species/pref_species = H.dna.species - - M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ + + if(HAS_TRAIT(H, TRAIT_HEADPAT_SLUT)) + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better! They seem incredibly pleased!", \ + "You give [H] a pat on the head to make [p_them()] feel better! They seem to like it way too much") + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "lewd_headpat", /datum/mood_event/lewd_headpat) + H.adjustArousalLoss(5) //Headpats are hot af + else + M.visible_message("[M] gives [H] a pat on the head to make [p_them()] feel better!", \ "You give [H] a pat on the head to make [p_them()] feel better!") - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "headpat", /datum/mood_event/headpat) + if(HAS_TRAIT(M, TRAIT_FRIENDLY)) GET_COMPONENT_FROM(mood, /datum/component/mood, M) if (mood.sanity >= SANITY_GREAT) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 3ae1e305..fd0aa3bd 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -54,7 +54,7 @@ var/mob_size = MOB_SIZE_HUMAN //H13 custom body size and impregnation - var/custom_body_size = 1 + var/custom_body_size = 100 var/breedable = 0 var/impregchance = 0 diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index 1716d313..b051b59e 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -1,6 +1,10 @@ /mob/living/Moved() . = ..() update_turf_movespeed(loc) + if(is_shifted) + is_shifted = FALSE + pixel_x = get_standard_pixel_x_offset(lying) + pixel_y = get_standard_pixel_y_offset(lying) /mob/living/toggle_move_intent() . = ..() diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 192cc7ad..c608e584 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -238,6 +238,9 @@ GLOBAL_LIST_INIT(department_radio_keys, list( else deaf_message = "You can't hear yourself!" deaf_type = 2 // Since you should be able to hear yourself without looking + // Create map text prior to modifying message for goonchat + if (client?.prefs.chat_on_map && stat != UNCONSCIOUS && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear()) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) // Recompose message for AI hrefs, language incomprehension. message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode) @@ -295,7 +298,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( //speech bubble var/list/speech_bubble_recipients = list() for(var/mob/M in listening) - if(M.client) + if(M.client && !M.client.prefs.chat_on_map) speech_bubble_recipients.Add(M.client) var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER) I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index e86315eb..7f12e037 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -808,7 +808,7 @@ return get_dist(src, A) <= max(viewscale[1]*0.5,viewscale[2]*0.5) /mob/living/silicon/ai/proc/relay_speech(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) - raw_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) + var/treated_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) var/start = "Relayed Speech: " var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]" var/hrefpart = "
" @@ -821,9 +821,11 @@ else jobpart = "Unknown" - var/rendered = "[start][hrefpart][namepart] ([jobpart]) [raw_message]" + var/rendered = "[start][hrefpart][namepart] ([jobpart]) [treated_message]" + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) - show_message(rendered, 2) + show_message(rendered, 2) /mob/living/silicon/ai/fully_replace_character_name(oldname,newname) ..() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 7b33a6ce..1601ccfe 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -58,7 +58,7 @@ var/canholo = TRUE var/obj/item/card/id/access_card = null var/chassis = "repairbot" - var/list/possible_chassis = list("cat" = TRUE, "mouse" = TRUE, "monkey" = TRUE, "corgi" = FALSE, "fox" = FALSE, "repairbot" = TRUE, "rabbit" = TRUE) //assoc value is whether it can be picked up. + var/list/possible_chassis = list("cat" = TRUE, "mouse" = TRUE, "monkey" = TRUE, "corgi" = FALSE, "fox" = FALSE, "repairbot" = TRUE, "rabbit" = TRUE, "operator" = TRUE) //assoc value is whether it can be picked up. var/static/item_head_icon = 'icons/mob/pai_item_head.dmi' var/static/item_lh_icon = 'icons/mob/pai_item_lh.dmi' var/static/item_rh_icon = 'icons/mob/pai_item_rh.dmi' diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 0cb886f1..4f804dd8 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -38,6 +38,7 @@ var/lying = 0 var/lying_prev = 0 var/canmove = 1 + var/is_shifted = FALSE //MOVEMENT SPEED var/list/movespeed_modification //Lazy list, see mob_movespeed.dm diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 1b060583..6acc68cf 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -11,7 +11,7 @@ * Pens */ /obj/item/pen - desc = "It's a normal black ink pen." + desc = "It's a black ink pen, modified for use with both paper and Nanotransen-brand Digital-Readpadsâ„¢!" name = "pen" icon = 'icons/obj/bureaucracy.dmi' icon_state = "pen" @@ -33,12 +33,12 @@ return(BRUTELOSS) /obj/item/pen/blue - desc = "It's a normal blue ink pen." + desc = "It's a blue ink pen, modified for use with both paper and Nanotransen-brand Digital-Readpadsâ„¢!" icon_state = "pen_blue" colour = "blue" /obj/item/pen/red - desc = "It's a normal red ink pen." + desc = "It's a red ink pen, modified for use with both paper and Nanotransen-brand Digital-Readpadsâ„¢!" icon_state = "pen_red" colour = "red" @@ -48,7 +48,7 @@ colour = "white" /obj/item/pen/fourcolor - desc = "It's a fancy four-color ink pen, set to black." + desc = "It's a fancy four-color ink pen, set to black. Modified to be compatible with Nanotransen-brand Digital-Readpadsâ„¢" name = "four-color pen" colour = "black" diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index 9c151667..62f52e83 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -33,3 +33,11 @@ desc = "A signiature shell from a Braton, lined with engravings." caliber = "bratonb" projectile_type = /obj/item/projectile/bullet/bratonb + +//FAL bullet +/obj/item/ammo_casing/fal762 + name = "7.62x51 bullet casing" + desc = "A 7.62x51 bullet casing. Looks to be a bit shorter than the also ancient 7.62x54r, just without the rim." + icon_state = "762fal-casing" + caliber = "762fal" + projectile_type = /obj/item/projectile/bullet/fal762 diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 436822ef..82f6c049 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -26,4 +26,13 @@ icon_state = "bratonmag" ammo_type = /obj/item/ammo_casing/bratonmag caliber = "bratonb" - max_ammo = 60 \ No newline at end of file + max_ammo = 60 + +//FAL +/obj/item/ammo_box/magazine/falMag + name = "FAL Magazine (20rnd.)" + icon_state = "fal-mag" + ammo_type = /obj/item/ammo_casing/fal762 + caliber = "762fal" + max_ammo = 20 + multiple_sprites = 2 \ No newline at end of file diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 36f1fcfd..c307a8db 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -223,6 +223,20 @@ fire_delay = 1 //ENDS HERE +//FAL +/obj/item/gun/ballistic/automatic/fal + name = "\improper FAL" + desc = "An ancient, but reliable battle rifle. As long as you dont get any dirt in it." + icon_state = "fal-wood" + item_state = "fal-wood" + w_class = WEIGHT_CLASS_HUGE + slot_flags = 0 + mag_type = /obj/item/ammo_box/magazine/falMag + fire_sound = 'sound/weapons/falshot.ogg' + can_suppress = FALSE + burst_size = 4 + fire_delay = 1 + /obj/item/gun/ballistic/automatic/tommygun name = "\improper Thompson SMG" desc = "Based on the classic 'Chicago Typewriter'." diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index e54d3141..bdc93a29 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -18,4 +18,9 @@ // bratonmag (Braton) /obj/item/projectile/bullet/bratonb name = "braton bullet" - damage = 10 \ No newline at end of file + damage = 10 + +//FAL ammo +/obj/item/projectile/bullet/fal762 + name = "7.62x51 bullet" + damage = 42 \ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index bba25ffc..cce2ba84 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -219,8 +219,8 @@ description = "An opaque white liquid produced by the mammary glands of mammals." color = "#DFDFDF" // rgb: 223, 223, 223 taste_description = "milk" - glass_icon_state = "glass_white" - glass_name = "glass of milk" + glass_icon_state = "milkglass" + glass_name = "milk drum" glass_desc = "White and nutritious goodness!" /datum/reagent/consumable/milk/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index aebeed65..bb12514d 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2194,3 +2194,53 @@ to_chat(M, "[pick("Headpats feel nice.", "The feeling of a hairball...", "Backrubs would be nice.", "Whats behind those doors?")]") M.adjustArousalLoss(2) ..() + +// Adding new mutation toxin stuff from /code/modules/reagent/chemistry/recipes/slime_extracts.dm +//Some other stuff like moth and felinid ( /datum/reagent/mutationtoxin/moth and /datum/reagent/mutationtoxin/felinid ) already exists. - Chemlight +/datum/reagent/mutationtoxin/mammal + name = "Mammal Mutation Toxin" + id = "mammalmutationtoxin" + description = "A fuzzy toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/mammal + mutationtext = "The pain subsides. You feel... furry." + +/datum/reagent/mutationtoxin/avian + name = "Avian Mutation Toxin" + id = "avianmutationtoxin" + description = "A bird-like toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/avian + mutationtext = "The pain subsides. You feel... feathery." + +/datum/reagent/mutationtoxin/aquatic + name = "Aquatic Mutation Toxin" + id = "aquaticmutationtoxin" + description = "A aquatic toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/aquatic + mutationtext = "The pain subsides. You feel... parched and wet." + +/datum/reagent/mutationtoxin/xeno + name = "Xeno Mutation Toxin" + id = "xenomutationtoxin" + description = "A xenomorhpic toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/xeno + mutationtext = "The pain subsides. You feel... very alien compared to your previous self." + +/datum/reagent/mutationtoxin/insect + name = "Insect Mutation Toxin" + id = "insectmutationtoxin" + description = "A buggy toxin." + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/insect + mutationtext = "The pain subsides. You feel... oddly attracted to light." + +/datum/reagent/mutationtoxin/ipc + name = "IPC Mutation Toxin" + id = "ipcmutationtoxin" + description = "A robotic toxin." //NANOMACHINES SON. + color = "#5EFF3B" //RGB: 94, 255, 59 + race = /datum/species/ipc + mutationtext = "The pain subsides. You feel... metallic." diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 8edca91a..1a72e0f2 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -676,3 +676,62 @@ /datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder) new /obj/item/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom)) ..() + +// Hyper change addition with granting more mutations to the existing races in the code. +// Back to the special snowflame mammal race, and more! +// If something isn't wanted here, just delet this - Chemlight +/datum/chemical_reaction/slime/slimemammal //Mammal species, pet dog. + name = "Mammal Mutation Toxin" + id = "mammalmuttoxin" + results = list("mammalmutationtoxin" = 1) + required_reagents = list("sulfur" = 1) //Sulfur, furry, GET IT?! + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimeavian //BIRDUP Species + name = "Avian Mutation Toxin" + id = "avianmuttoxin" + results = list("avianmutationtoxin" = 1) + required_reagents = list("oxygen" = 1) //Oxygen gives you.. wait that's redbull. + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimeaquatic //Aquatic species, aquaman got now shit on you. + name = "Aquatic Mutation Toxin" + id = "aquaticmuttoxin" + results = list("aquaticmutationtoxin" = 1) + required_reagents = list("water" = 1) //Water, 60% found in a human body, you tipped the scales, you fucked up. + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimexeno //HISS(Xeno hybrid) species, the other hiss not cats. + name = "Xeno Mutation Toxin" + id = "xenomuttoxin" + results = list("xenomutationtoxin" = 1) + required_reagents = list("sacid" = 1) //Sulphuric Acid, just like xeno spit, yuck. + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimefelinid //Felinid species, like cats, but the degenerate kind. + name = "Felinid Mutation Toxin" + id = "felinidmuttoxin" + results = list("felinidmutationtoxin" = 1) + required_reagents = list("aphro" = 1) //Crocin, *points* HORNY, also the whole /datum/chemical_reaction/cat and /datum/reagent/mutationtoxin/felinid already exists in code, THIS ONE IS OPTIONAL. + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimeinsect //insect species, you have a strange attraction to... lamp.. + name = "Insect Mutation Toxin" + id = "insectmuttoxin" + results = list("insectmutationtoxin" = 1) + required_reagents = list("ammonia" = 1) //Ammonia, used for the mothman chemical reaction so it's more of a reference. + required_other = TRUE + required_container = /obj/item/slime_extract/green + +/datum/chemical_reaction/slime/slimeipc //IPC species, BEEP. + name = "IPC Mutation Toxin" + id = "ipcmuttoxin" + results = list("ipcmutationtoxin" = 1) + required_reagents = list("oil" = 1) //Oil, makes sense for it being their blood, so.. + required_other = TRUE + required_container = /obj/item/slime_extract/green diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 6df151fc..472efb40 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -365,5 +365,15 @@ /obj/item/reagent_containers/glass/beaker/waterbottle/large/empty list_reagents = list() +/obj/item/reagent_containers/glass/beaker/waterbottle/wataur + name = "Bottled Wataur" + desc = "Finally, a bottle as proportionate as you. Incredible!" + icon = 'icons/obj/drinks.dmi' + icon_state = "wataur" + list_reagents = list("water" = 100) //robust ass wataur + volume = 100 + amount_per_transfer_from_this = 20 + container_HP = 1 + /obj/item/reagent_containers/glass/get_belt_overlay() return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "bottle") diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index 92a4b155..713b6a62 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -115,6 +115,8 @@ var/flat_icon = "towel_flat" var/folded_icon = "towel" var/list/possible_colors + //Hyper Change + var/roomy = 1 //To cover XL bits /obj/item/reagent_containers/rag/towel/Initialize() . = ..() diff --git a/code/modules/surgery/breast_augmentation.dm b/code/modules/surgery/breast_augmentation.dm new file mode 100644 index 00000000..10899dc2 --- /dev/null +++ b/code/modules/surgery/breast_augmentation.dm @@ -0,0 +1,78 @@ +/datum/surgery/breast_augmentation + name = "Breast augmentation" + steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/augment_breasts, /datum/surgery_step/close) + species = list(/mob/living/carbon/human) + possible_locs = list(BODY_ZONE_CHEST) + +/datum/surgery_step/augment_breasts + name = "augment breasts" + implements = list(/obj/item/scalpel = 100, /obj/item/stack/sheet/plastic = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/kitchen/knife = 65, + /obj/item/shard = 45, /obj/item = 30) // 30% success with any sharp item. + time = 32 + repeatable = TRUE + +/datum/surgery_step/augment_breasts/tool_check(mob/user, obj/item/tool) + if(istype(tool, /obj/item/cautery) || istype(tool, /obj/item/gun/energy/laser)) + return FALSE + return !tool.is_hot() + +/datum/surgery_step/augment_breasts/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + //Patient has titties + if(target.has_breasts()) + if(tool.is_sharp()) + display_results(user, target, "You begin to cut the excess out of [target]'s breasts, bringing them down a cup size...", + "[user] begins to augment [target]'s breasts.", + "[user] begins to augment [target]'s breasts.") + if(istype(tool, /obj/item/stack/sheet/plastic)) + display_results(user, target, "You begin to mold, shape, and then add plastic to [target]'s breasts, increasing their cup size by 1...", + "[user] begins to augment [target]'s breasts.", + "[user] begins to augment [target]'s breasts.") + //Patient does not have titties + else + if(istype(tool, /obj/item/stack/sheet/plastic)) + display_results(user, target, "You begin to remodel [target]'s chest, creating a new pair of breasts which are barely A cups...", + "[user] begins to perform plastic surgery on [target].", + "[user] begins to perform plastic surgery on [target].") + +/datum/surgery_step/augment_breasts/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/genital/breasts/B = target.getorganslot("breasts") + //Patient has titties + if(B) + //Reduce their size (you fucking monster) + if(tool.is_sharp()) + B.cached_size = B.cached_size - 1 + B.update() + return 1 + //Increase the size (that's more like it!) + if(istype(tool, /obj/item/stack/sheet/plastic)) + var/obj/item/stack/sheet/plastic/pS = tool + pS.amount = pS.amount - 1 + if(pS.amount < 1) + pS.Destroy() + + B.cached_size = B.cached_size + 1 + B.update() + return 1 + //Patient does not have titties + else + //Give 'em titties + if(istype(tool, /obj/item/stack/sheet/plastic)) + //Makes it so no one has any weird coloured tits + var/mob/living/carbon/human/H = target + if(H.dna.species.use_skintones) + H.dna.features["breasts_color"] = skintone2hex(H.skin_tone) + else + H.dna.features["breasts_color"] = H.dna.features["mcolor"] + + var/obj/item/stack/sheet/plastic/pS = tool + pS.amount = pS.amount - 1 + if(pS.amount < 1) + pS.Destroy() + + var/obj/item/organ/genital/breasts/nB = new + nB.size = "flat" + nB.cached_size = 0 + nB.prev_size = 0 + nB.Insert(target) + nB.update() + return 1 diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 009cfce0..df8ce65b 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -1105,7 +1105,8 @@ //teir 2 - /* removed for now + //removed for now + //Hyper change - Unremoved for now //ORGASM else if((findtext(message, orgasm_words))) for(var/V in listeners) @@ -1122,7 +1123,7 @@ E.cooldown += 6 else H.throw_at(get_step_towards(user,H), 3 * power_multiplier, 1 * power_multiplier) - */ + //awoo diff --git a/code/modules/surgery/penis_augmentation.dm b/code/modules/surgery/penis_augmentation.dm new file mode 100644 index 00000000..fc431e69 --- /dev/null +++ b/code/modules/surgery/penis_augmentation.dm @@ -0,0 +1,78 @@ +/datum/surgery/penis_augmentation + name = "Penis augmentation" + steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/augment_penis, /datum/surgery_step/close) + species = list(/mob/living/carbon/human) + possible_locs = list(BODY_ZONE_PRECISE_GROIN) + +/datum/surgery_step/augment_penis + name = "augment penis" + implements = list(/obj/item/scalpel = 100, /obj/item/stack/sheet/plastic = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/kitchen/knife = 65, + /obj/item/shard = 45, /obj/item = 30) // 30% success with any sharp item. + time = 32 + repeatable = TRUE + +/datum/surgery_step/augment_penis/tool_check(mob/user, obj/item/tool) + if(istype(tool, /obj/item/cautery) || istype(tool, /obj/item/gun/energy/laser)) + return FALSE + return !tool.is_hot() + +/datum/surgery_step/augment_penis/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + //Patient has a cock + if(target.has_penis()) + if(tool.is_sharp()) + display_results(user, target, "You begin to reshape [target]'s penis, decreasing it's length by an inch...", + "[user] begins to augment [target]'s penis.", + "[user] begins to augment [target]'s penis.") + if(istype(tool, /obj/item/stack/sheet/plastic)) + display_results(user, target, "You begin to mold, shape, and then add plastic to [target]'s penis, making it one inch bigger...", + "[user] begins to augment [target]'s penis.", + "[user] begins to augment [target]'s penis.") + //Patient does not have a cock + else + if(istype(tool, /obj/item/stack/sheet/plastic)) + display_results(user, target, "You begin to remodel [target]'s groin, creating a new penis of length 1 inch...", + "[user] begins to perform plastic surgery on [target].", + "[user] begins to perform plastic surgery on [target].") + +/datum/surgery_step/augment_penis/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + var/obj/item/organ/genital/penis/P = target.getorganslot("penis") + //Patient has a cock + if(P) + //Reduce their size + if(tool.is_sharp()) + P.cached_length = P.cached_length - 1 + P.update() + return 1 + //Increase the size + if(istype(tool, /obj/item/stack/sheet/plastic)) + var/obj/item/stack/sheet/plastic/pS = tool + pS.amount = pS.amount - 1 + if(pS.amount < 1) + pS.Destroy() + + P.cached_length = P.cached_length + 1 + P.update() + return 1 + //Patient does not have a cock + else + //Give 'em a cock + if(istype(tool, /obj/item/stack/sheet/plastic)) + //Makes it so no one has a weird coloured dick + var/mob/living/carbon/human/H = target + if(H.dna.species.use_skintones) + H.dna.features["penis_color"] = skintone2hex(H.skin_tone) + else + H.dna.features["penis_color"] = H.dna.features["mcolor"] + + var/obj/item/stack/sheet/plastic/pS = tool + pS.amount = pS.amount - 1 + if(pS.amount < 1) + pS.Destroy() + + var/obj/item/organ/genital/penis/nP = new + nP.length = 1 + nP.cached_length = 1 + nP.prev_length = 0 + nP.Insert(target) + nP.update() + return 1 diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index 0e4252bb..4c77e09f 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -130,7 +130,8 @@ /obj/item/clothing/suit/jacket/leather/overcoat = 4, /obj/item/clothing/under/pants/mustangjeans = 3, /obj/item/clothing/neck/necklace/dope = 5, - /obj/item/clothing/suit/jacket/letterman_nanotrasen = 5) + /obj/item/clothing/suit/jacket/letterman_nanotrasen = 5, + /obj/item/bluespace_thread = 3) refill_canister = /obj/item/vending_refill/clothing /obj/item/vending_refill/clothing diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 3da3398a..e245b48d 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -14,7 +14,8 @@ /obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime = 10, /obj/item/reagent_containers/glass/beaker/waterbottle = 10) contraband = list(/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko = 6, - /obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6) + /obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6, + /obj/item/reagent_containers/glass/beaker/waterbottle/wataur = 2) premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1, /obj/item/reagent_containers/food/drinks/soda_cans/air = 1, /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1) diff --git a/code/world.dm b/code/world.dm index ab3b32b6..dc300e06 100644 --- a/code/world.dm +++ b/code/world.dm @@ -1,3 +1,4 @@ + //This file is just for the necessary /world definition //Try looking in game/world.dm diff --git a/config/lavaRuinBlacklist.txt b/config/lavaRuinBlacklist.txt index 1d9804e0..2691f317 100644 --- a/config/lavaRuinBlacklist.txt +++ b/config/lavaRuinBlacklist.txt @@ -38,3 +38,4 @@ #_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm #_maps/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm #_maps/RandomRuins/LavaRuins/lavaland_surface_swarmer_crash.dmm +#_maps/RandomRuins/LavaRuins/lavaland_surface_oasis.dmm diff --git a/config/patreons.txt b/config/patreons.txt new file mode 100644 index 00000000..b9b54a59 --- /dev/null +++ b/config/patreons.txt @@ -0,0 +1,5 @@ +//Patreon Supporters go here, and get a special little icon in OOC, Keep each name to one line + +User1 +User2 +User3 \ No newline at end of file diff --git a/growing_vegetables.dmi b/growing_vegetables.dmi deleted file mode 100644 index 86bb9fbe..00000000 Binary files a/growing_vegetables.dmi and /dev/null differ diff --git a/hyperstation/code/mobs/mimic.dm b/hyperstation/code/mobs/mimic.dm index ec0ccf2e..e69de29b 100644 --- a/hyperstation/code/mobs/mimic.dm +++ b/hyperstation/code/mobs/mimic.dm @@ -1,58 +0,0 @@ -/mob/living/simple_animal/hostile/mimic - name = "Mimic" - icon = 'hyperstation/icons/mobs/mimic.dmi' - icon_state = "mimic" - icon_living = "mimic" - icon_dead = "mimic_dead" - gender = NEUTER - speak_chance = 0 - turns_per_move = 5 - maxHealth = 30 - health = 30 - see_in_dark = 3 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/killertomato = 2) - response_help = "prods" - response_disarm = "pushes aside" - response_harm = "smacks" - melee_damage_lower = 8 - melee_damage_upper = 12 - attacktext = "slams" - attack_sound = 'sound/weapons/punch1.ogg' - ventcrawler = VENTCRAWLER_ALWAYS - faction = list("plants") - - var/unstealth = FALSE - - -/mob/living/simple_animal/hostile/mimic/Initialize() -// When initialized, make sure they take the form of something. - unstealth = FALSE - Mimictransform() - -/mob/living/simple_animal/hostile/mimic/proc/Mimictransform() - - var/transformitem = rand(1,3) - - if (unstealth == FALSE) - switch(transformitem) - if(1) - //Glass - icon = 'icons/obj/drinks.dmi' - icon_state = "glass_empty" - aggro_vision_range = 0 - - if(2) - //Glass - icon = 'icons/obj/drinks.dmi' - icon_state = "glass_empty" - aggro_vision_range = 0 - - if(3) - //Glass - icon = 'icons/obj/drinks.dmi' - icon_state = "glass_empty" - aggro_vision_range = 0 - else - //back to normal - icon = 'hyperstation/icons/mobs/mimic.dmi' - icon_state = "mimic" \ No newline at end of file diff --git a/hyperstation/code/modules/patreon/patreon.dm b/hyperstation/code/modules/patreon/patreon.dm new file mode 100644 index 00000000..932ccd73 --- /dev/null +++ b/hyperstation/code/modules/patreon/patreon.dm @@ -0,0 +1,15 @@ +#define PATREONFILE "[global.config.directory]/patreons.txt" + +GLOBAL_LIST_EMPTY(patreons) + +/proc/load_patreons() + GLOB.patreons = list() + for(var/line in world.file2list(PATREONFILE)) + if(!line) + continue + GLOB.patreons += ckey(line) + +/proc/check_patreons(var/ckey) + if(!GLOB.patreons) + return FALSE + . = (ckey in GLOB.patreons) diff --git a/hyperstation/code/modules/traits.dm b/hyperstation/code/modules/traits.dm new file mode 100644 index 00000000..f3407352 --- /dev/null +++ b/hyperstation/code/modules/traits.dm @@ -0,0 +1,33 @@ + + +//Jay Sparrow +/datum/quirk/cum_plus + name = "Extra productive genitals" + desc = "Your lower bits produce more and hold more than normal." + value = 0 + mob_trait = TRAIT_CUM_PLUS + gain_text = "You feel pressure in your groin." + lose_text = "You feel a weight lifted from your groin." + medical_record_text = "Patient has greatly increased production of sexual fluids" + +/datum/quirk/cum_plus/add() + var/mob/living/carbon/M = quirk_holder + if(M.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") + T.fluid_mult = 1.5 //Base is 1 + T.fluid_max_volume = 5 + +/datum/quirk/cum_plus/remove() + var/mob/living/carbon/M = quirk_holder + if(quirk_holder.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") + T.fluid_mult = 1 //Base is 1 + T.fluid_max_volume = 3 //Base is 3 + +/datum/quirk/cum_plus/on_process() + var/mob/living/carbon/M = quirk_holder //If you get balls later, then this will still proc + if(M.getorganslot("testicles")) + var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") + if(T.fluid_max_volume <= 5 || T.fluid_mult <= 0.2) //INVALID EXPRESSION? + T.fluid_mult = 1.5 //Base is 0.133 + T.fluid_max_volume = 5 \ No newline at end of file diff --git a/hyperstation/code/obj/bluespace sewing kit.dm b/hyperstation/code/obj/bluespace sewing kit.dm new file mode 100644 index 00000000..7bb4fe72 --- /dev/null +++ b/hyperstation/code/obj/bluespace sewing kit.dm @@ -0,0 +1,35 @@ +//Jay Sparrow +#define ROOMY = "ROOMY" + +/obj/item/bluespace_thread + name = "Bluespace Sewing Kit" + desc = "Thread infused with bluespace dust to make your clothes a little more roomy." + icon = 'hyperstation/icons/obj/bluespace_thread.dmi' + icon_state = "thread" + item_state = "thread" + var/uses = 5 //Give it a few charges so it can last through the shift + w_class = WEIGHT_CLASS_TINY + +/obj/item/bluespace_thread/attack_obj(obj/O, mob/living/user) + . = ..() + if(!istype(O, /obj/item/clothing)) + user.show_message("You find yourself unable to stitch this.", 1) + return + +/obj/item/bluespace_thread/attack_self(mob/living/user) + user.show_message("The spool has [uses] uses remaining.", 1) + +//Let's add this to the loadout screen +/datum/gear/bluespace_thread + name = "Bluespace Sewing Kit" + category = SLOT_IN_BACKPACK + path = /obj/item/bluespace_thread + +//Crafting recipe +/datum/crafting_recipe/bluespace_thread + name = "Bluespace Sewing Kit" + result = /obj/item/bluespace_thread + time = 40 + reqs = list(/obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/sheet/cloth = 3) + category = CAT_MISC \ No newline at end of file diff --git a/hyperstation/code/obj/kinkyclothes.dm b/hyperstation/code/obj/kinkyclothes.dm index 209b2dfc..032e3313 100644 --- a/hyperstation/code/obj/kinkyclothes.dm +++ b/hyperstation/code/obj/kinkyclothes.dm @@ -22,3 +22,5 @@ icon_state = "highheels" item_state = "highheels" icon = 'hyperstation/icons/obj/clothing/shoes.dmi' + alternate_worn_icon = 'hyperstation/icons/mobs/feet.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION \ No newline at end of file diff --git a/hyperstation/code/obj/leash.dm b/hyperstation/code/obj/leash.dm new file mode 100644 index 00000000..75ce8c00 --- /dev/null +++ b/hyperstation/code/obj/leash.dm @@ -0,0 +1,403 @@ +//Jay Sparrow +//TODO +/* +Icons, maybe? +*/ + +#define STATUS_EFFECT_LEASH_PET /datum/status_effect/leash_pet +#define STATUS_EFFECT_LEASH_DOM /datum/status_effect/leash_dom +#define STATUS_EFFECT_LEASH_FREEPET /datum/status_effect/leash_freepet +#define MOVESPEED_ID_LEASH "LEASH" + +/////STATUS EFFECTS///// +//These are mostly used as flags for the states each member can be in + +/datum/status_effect/leash_dom + status_type = STATUS_EFFECT_UNIQUE + alert_type = /obj/screen/alert/status_effect/leash_dom + +/obj/screen/alert/status_effect/leash_dom + name = "Leash Master" + desc = "You've got a leash, and a cute pet on the other end." + icon_state = "leash_master" //These call icons that don't exist, so no icon comes up. Which is good. + //As a result, the descriptions also don't proc, which is fine. + +/datum/status_effect/leash_freepet + status_type = STATUS_EFFECT_UNIQUE + alert_type = /obj/screen/alert/status_effect/leash_freepet + +/obj/screen/alert/status_effect/leash_freepet + name = "Escaped Pet" + desc = "You're on a leash, but you've no master. If anyone grabs the leash they'll gain control!" + icon_state = "leash_freepet" + + +/datum/status_effect/leash_pet + id = "leashed" + status_type = STATUS_EFFECT_UNIQUE + var/datum/weakref/redirect_component + alert_type = /obj/screen/alert/status_effect/leash_pet + +/obj/screen/alert/status_effect/leash_pet + name = "Leashed Pet" + desc = "You're on the hook now! Be good for your master." + icon_state = "leash_pet" + + +/datum/status_effect/leash_pet/on_apply() + redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/owner_resist)))) + if(!owner.stat) + to_chat(owner, "You have been leashed!") + return ..() + +//This lets the pet resist their leash +/datum/status_effect/leash_pet/proc/owner_resist() + to_chat(owner, "You reach for the hook on your collar...") + //Determine how long it takes to remove the leash + var/deleash = 15 + //if(owner.get_item_by_slot(SLOT_HANDCUFFED)) //Commented out because there is no clear way to make this proc BEFORE decuff on resist. + //deleash = 100 + if(do_mob(owner, owner, deleash))//do_mob creates a progress bar and then enacts the code after. Owner, owner, because it's an act on themself + if(!QDELETED(src)) + to_chat(owner, "[owner] has removed their leash!") + owner.remove_status_effect(/datum/status_effect/leash_pet) + +///// OBJECT ///// +//The leash object itself +//The component variables are used for hooks, used later. + +/obj/item/leash + name = "leash" + desc = "A simple tether that can easily be hooked onto a collar. Perfect for your pet." + icon = 'hyperstation/icons/obj/leash.dmi' + icon_state = "leash" + item_state = "leash" + throw_range = 4 + slot_flags = ITEM_SLOT_BELT + force = 1 + throwforce = 1 + w_class = WEIGHT_CLASS_SMALL + var/leash_used = 0 //A flag to see if the leash has been used yet, because for some reason picking up an unused leash is weird + var/mob/living/leash_pet = "null" //Variable to store our pet later + var/mob/living/leash_master = "null" //And our master too + var/datum/component/mobhook_leash_pet + var/datum/component/mobhook_leash_master //Needed to watch for these entities to move + var/datum/component/mobhook_leash_freepet + var/leash_location[3] //Three digit list for us to store coordinates later + +//Called when someone is clicked with the leash +/obj/item/leash/attack(mob/living/carbon/C, mob/living/user) //C is the target, user is the one with the leash + if(istype(C.get_item_by_slot(SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(SLOT_NECK), /obj/item/electropack/shockcollar)) + var/leashtime = 50 + if(C.handcuffed) + leashtime = 5 + if(do_mob(user, C, leashtime)) //do_mob adds a progress bar, but then we also check to see if they have a collar + log_combat(user, C, "leashed", addition="playfully") + //TODO: Figure out how to make an easy breakout for leashed leash_pets + C.apply_status_effect(/datum/status_effect/leash_pet)//Has now been leashed + user.apply_status_effect(/datum/status_effect/leash_dom) //Is the leasher + leash_pet = C //Save pet reference for later + leash_master = user //Save dom reference for later + mobhook_leash_pet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_pet_move))) + mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_master_move))) + leash_used = 1 + if(!leash_pet.has_status_effect(/datum/status_effect/leash_dom)) //Add slowdown if the pet didn't leash themselves + leash_pet.add_movespeed_modifier(MOVESPEED_ID_LEASH, multiplicative_slowdown = 5) + for(var/mob/viewing in viewers(user, null)) + if(viewing == leash_master) + to_chat(leash_master, "You have hooked a leash onto [leash_pet]!") + else + viewing.show_message("[leash_pet] has been leashed by [leash_master]!", 1) + if(leash_pet.has_status_effect(/datum/status_effect/leash_dom)) //Pet leashed themself. They are not the dom + leash_pet.apply_status_effect(/datum/status_effect/leash_freepet) + leash_pet.remove_status_effect(/datum/status_effect/leash_dom) + while(1) //While true loop. The mark of a genius coder. ##MAINLOOP START + sleep(2) //Check every other tick + if(leash_pet == "null") //No pet, break loop + return + if(!(leash_pet.get_item_by_slot(SLOT_NECK))) //The pet has slipped their collar and is not the pet anymore. + for(var/mob/viewing in viewers(user, null)) + viewing.show_message("[leash_pet] has slipped out of their collar!!", 1) + to_chat(leash_pet, "You have slipped out of your collar!") + to_chat(loc, "[leash_pet] has slipped out of their collar!") + leash_pet.remove_status_effect(/datum/status_effect/leash_pet) + + if(!leash_pet.has_status_effect(/datum/status_effect/leash_pet)) //If there is no pet, there is no dom. Loop breaks. + QDEL_NULL(mobhook_leash_master) + QDEL_NULL(mobhook_leash_pet) + QDEL_NULL(mobhook_leash_freepet) + if(leash_pet.has_status_effect(/datum/status_effect/leash_freepet)) + leash_pet.remove_status_effect(/datum/status_effect/leash_freepet) + if(leash_pet.has_movespeed_modifier(MOVESPEED_ID_LEASH)) + leash_pet.remove_movespeed_modifier(MOVESPEED_ID_LEASH) + if(!leash_master == "null") + leash_master.remove_status_effect(/datum/status_effect/leash_dom) + leash_used = 0 //reset the leash to neutral + leash_pet = "null" + return + + else //No collar, no fun + var/leash_message = pick("Your pet needs a collar") + to_chat(user, "[leash_message]") + +//Called when the leash is used in hand +//Tugs the pet closer +/obj/item/leash/attack_self(mob/living/user) + if(!leash_pet == "null") //No pet, no tug. + return + //Yank the pet. Yank em in close. + if(leash_pet.x > leash_master.x + 1) + step(leash_pet, WEST, 1) //"1" is the speed of movement. We want the tug to be faster than their slow current walk speed. + if(leash_pet.y > leash_master.y)//Check the other axis, and tug them into alignment so they are behind the master + step(leash_pet, SOUTH, 1) + if(leash_pet.y < leash_master.y) + step(leash_pet, NORTH, 1) + if(leash_pet.x < leash_master.x - 1) + step(leash_pet, EAST, 1) + if(leash_pet.y > leash_master.y)//Check the other axis, and tug them into alignment so they are behind the master + step(leash_pet, SOUTH, 1) + if(leash_pet.y < leash_master.y) + step(leash_pet, NORTH, 1) + if(leash_pet.y > leash_master.y + 1) + step(leash_pet, SOUTH, 1) + if(leash_pet.x > leash_master.x)//Check the other axis, and tug them into alignment so they are behind the master + step(leash_pet, WEST, 1) + if(leash_pet.x < leash_master.x) + step(leash_pet, EAST, 1) + if(leash_pet.y < leash_master.y - 1) + step(leash_pet, NORTH, 1) + if(leash_pet.x > leash_master.x)//Check the other axis, and tug them into alignment so they are behind the master + step(leash_pet, WEST, 1) + if(leash_pet.x < leash_master.x) + step(leash_pet, EAST, 1) + +/obj/item/leash/proc/on_master_move() + //Make sure the dom still has a pet + if(leash_master == "null") //There must be a master + return + if(leash_pet == "null") //There must be a pet + return + if(leash_pet == leash_master) //Pet is the master + return + if(!leash_pet.has_status_effect(/datum/status_effect/leash_pet)) + QDEL_NULL(mobhook_leash_master) //Probably redundant, but it's nice to be safe + leash_master.remove_status_effect(/datum/status_effect/leash_dom) + return + + //If the master moves, pull the pet in behind + sleep(2) //A small sleep so the pet kind of bounces back after they make the step + //Also, the sleep means that the distance check for master happens before the pet, to prevent both from proccing. + + if(leash_master == "null") //Just to stop error messages + return + if(leash_pet == "null") + return + if(leash_pet.x > leash_master.x + 2) + step(leash_pet, WEST, 1) //"1" is the speed of movement. We want the tug to be faster than their slow current walk speed. + if(leash_pet.y > leash_master.y)//Check the other axis, and tug them into alignment so they are behind the master + step(leash_pet, SOUTH, 1) + if(leash_pet.y < leash_master.y) + step(leash_pet, NORTH, 1) + if(leash_pet.x < leash_master.x - 2) + step(leash_pet, EAST, 1) + if(leash_pet.y > leash_master.y) + step(leash_pet, SOUTH, 1) + if(leash_pet.y < leash_master.y) + step(leash_pet, NORTH, 1) + if(leash_pet.y > leash_master.y + 2) + step(leash_pet, SOUTH, 1) + if(leash_pet.x > leash_master.x) + step(leash_pet, WEST, 1) + if(leash_pet.x < leash_master.x) + step(leash_pet, EAST, 1) + if(leash_pet.y < leash_master.y - 2) + step(leash_pet, NORTH, 1) + if(leash_pet.x > leash_master.x) + step(leash_pet, WEST, 1) + if(leash_pet.x < leash_master.x) + step(leash_pet, EAST, 1) + + //Knock the pet over if they get further behind. Shouldn't happen too often. + sleep(3) //This way running normally won't just yank the pet to the ground. + if(leash_master == "null") //Just to stop error messages. Break the loop early if something removed the master + return + if(leash_pet == "null") + return + if(leash_pet.x > leash_master.x + 3 || leash_pet.x < leash_master.x - 3 || leash_pet.y > leash_master.y + 3 || leash_pet.y < leash_master.y - 3) + //var/leash_knockdown_message = "[leash_pet] got pulled to the ground by their leash!" + //to_chat(leash_master, "[leash_knockdown_message]") + //to_chat(leash_pet, "[leash_knockdown_message]") + leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0) + + //This code is to check if the pet has gotten too far away, and then break the leash. + sleep(3) //Wait to snap the leash + if(leash_master == "null") //Just to stop error messages + return + if(leash_pet == "null") + return + if(leash_pet.x > leash_master.x + 5 || leash_pet.x < leash_master.x - 5 || leash_pet.y > leash_master.y + 5 || leash_pet.y < leash_master.y - 5) + var/leash_break_message = "The leash snapped free from [leash_pet]!" + for(var/mob/viewing in viewers(leash_pet, null)) + if(viewing == leash_master) + to_chat(leash_master, "The leash snapped free from your pet!") + if(viewing == leash_pet) + to_chat(leash_pet, "Your leash has popped from your collar!") + else + viewing.show_message("[leash_break_message]", 1) + leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0) + leash_pet.adjustOxyLoss(5) + leash_pet.remove_status_effect(/datum/status_effect/leash_pet) + leash_pet.remove_movespeed_modifier(MOVESPEED_ID_LEASH) + leash_master.remove_status_effect(/datum/status_effect/leash_dom) + QDEL_NULL(mobhook_leash_master) + QDEL_NULL(mobhook_leash_pet) + leash_pet = "null" + leash_master = "null" + leash_used = 0 + +/obj/item/leash/proc/on_pet_move() + //This should only work if there is a pet and a master. + //This is here pretty much just to stop the console from flooding with errors + if(leash_master == "null") + return + if(leash_pet == "null") + return + //Make sure the pet is still a pet + if(!leash_pet.has_status_effect(/datum/status_effect/leash_pet)) + QDEL_NULL(mobhook_leash_pet) //Probably redundant, but it's nice to be safe + return + + //The pet has escaped. There is no DOM. GO PET RUN. + if(leash_pet.has_status_effect(/datum/status_effect/leash_freepet))//If the pet is free, break + return + + //If the pet gets too far away, they get tugged back + sleep(3)//A small sleep so the pet kind of bounces back after they make the step + if(leash_master == "null") + return + if(leash_pet == "null") + return + //West tug + if(leash_pet.x > leash_master.x + 2) + step(leash_pet, WEST, 1) //"1" is the speed of movement. We want the tug to be faster than their slow current walk speed. + //East tug + if(leash_pet.x < leash_master.x - 2) + step(leash_pet, EAST, 1) + //South tug + if(leash_pet.y > leash_master.y + 2) + step(leash_pet, SOUTH, 1) + //North tug + if(leash_pet.y < leash_master.y - 2) + step(leash_pet, NORTH, 1) + +/obj/item/leash/proc/on_freepet_move() + . = ..() + //Pet is on the run. Let's drag the leash behind them. + if(!leash_master == "null") //If there is a master, don't do this + return + if(leash_pet == "null") //If there is no pet, don't do this + return + if(leash_pet.is_holding_item_of_type(/obj/item/leash)) //If the pet is holding the leash, don't do this + return + + sleep(2) + if(leash_pet == "null") + return + //Double move to catch the leash up to the pet + if(src.x > leash_pet.x + 2) + . = step(src, WEST, 1) + if(src.x < leash_pet.x - 2) + . = step(src, EAST, 1) + if(src.y > leash_pet.y + 2) + . = step(src, SOUTH, 1) + if(src.y < leash_pet.y - 2) + . = step(src, NORTH, 1) + //Primary dragging code + if(src.x > leash_pet.x + 1) + . = step(src, WEST, 1) //"1" is the speed of movement. We want the tug to be faster than their slow current walk speed. + if(src.y > leash_pet.y)//Check the other axis, and tug them into alignment so they are behind the pet + . = step(src, SOUTH, 1) + if(src.y < leash_pet.y) + . = step(src, NORTH, 1) + if(src.x < leash_pet.x - 1) + . = step(src, EAST, 1) + if(src.y > leash_pet.y) + . = step(src, SOUTH, 1) + if(src.y < leash_pet.y) + . = step(src, NORTH, 1) + if(src.y > leash_pet.y + 1) + . = step(src, SOUTH, 1) + if(src.x > leash_pet.x) + . = step(src, WEST, 1) + if(src.x < leash_pet.x) + . = step(src, EAST, 1) + if(src.y < leash_pet.y - 1) + . = step(src, NORTH, 1) + if(src.x > leash_pet.x) + . = step(src, WEST, 1) + if(src.x < leash_pet.x) + . = step(src, EAST, 1) + + sleep(1) + //Just to prevent error messages + if(leash_pet == "null") + return + if(src.x > leash_pet.x + 5 || src.x < leash_pet.x - 5 || src.y > leash_pet.y + 5 || src.y < leash_pet.y - 5) + var/leash_break_message = "The leash snapped free from [leash_pet]!" + for(var/mob/viewing in viewers(leash_pet, null)) + if(viewing == leash_pet) + to_chat(leash_pet, "Your leash has popped from your collar!") + else + viewing.show_message("[leash_break_message]", 1) + leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0) + leash_pet.adjustOxyLoss(5) + leash_pet.remove_status_effect(/datum/status_effect/leash_pet) + leash_pet.remove_status_effect(/datum/status_effect/leash_freepet) + QDEL_NULL(mobhook_leash_pet) + QDEL_NULL(mobhook_leash_freepet) + leash_pet = "null" + leash_used = 0 + +/obj/item/leash/dropped() //Drop the leash, and the leash effects stop + . = ..() + if(leash_pet == "null") //There is no pet. Stop this silliness + return + if(leash_master == "null") + return + //Dropping procs any time the leash changes slots. So, we will wait a tick and see if the leash was actually dropped + sleep(1) + if(leash_master.is_holding_item_of_type(/obj/item/leash) || istype(leash_master.get_item_by_slot(SLOT_BELT), /obj/item/leash)) + return //Dom still has the leash as it turns out. Cancel the proc. + for(var/mob/viewing in viewers(leash_master, null)) + viewing.show_message("[leash_master] has dropped the leash.", 1) + //DOM HAS DROPPED LEASH. PET IS FREE. SCP HAS BREACHED CONTAINMENT. + leash_pet.remove_movespeed_modifier(MOVESPEED_ID_LEASH) + mobhook_leash_freepet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_freepet_move))) + leash_master.remove_status_effect(/datum/status_effect/leash_dom) //No dom with no leash. We will get a new dom if the leash is picked back up. + leash_master = "null" + QDEL_NULL(mobhook_leash_master) + +/obj/item/leash/equipped(mob/user) + . = ..() + if(leash_used == 0) //Don't apply statuses with a fresh leash. Keeps things clean on the backend. + return + sleep(2) + if(leash_pet == "null") + return + leash_master = user + if(leash_master.has_status_effect(/datum/status_effect/leash_freepet) || leash_master.has_status_effect(/datum/status_effect/leash_pet)) //Pet picked up their own leash. + leash_master = "null" + return + leash_master.apply_status_effect(/datum/status_effect/leash_dom) + mobhook_leash_master = leash_master.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_master_move))) + leash_pet.remove_status_effect(/datum/status_effect/leash_freepet) + QDEL_NULL(mobhook_leash_freepet) + leash_pet.add_movespeed_modifier(MOVESPEED_ID_LEASH, multiplicative_slowdown = 5) + +/datum/crafting_recipe/leash + name = "Leash" + result = /obj/item/leash + time = 40 + reqs = list(/obj/item/stack/sheet/metal = 1, + /obj/item/stack/sheet/cloth = 3) + category = CAT_MISC \ No newline at end of file diff --git a/hyperstation/code/obj/pregnancytester.dm b/hyperstation/code/obj/pregnancytester.dm index 6b751747..974fda3a 100644 --- a/hyperstation/code/obj/pregnancytester.dm +++ b/hyperstation/code/obj/pregnancytester.dm @@ -1,6 +1,6 @@ /obj/item/pregnancytest name = "pregnancy test" - desc = "a one time use small device, used to determine if someone is pregnant or not." + desc = "A one time use small device, used to determine whether someone is pregnant or not." icon = 'hyperstation/icons/obj/pregnancytest.dmi' throwforce = 0 icon_state = "ptest" @@ -27,7 +27,7 @@ icon_state = "negative" name = "[results] pregnancy test" status = 1 - to_chat(user, "You use the pregnancy test, the display reads positive!") + to_chat(user, "You use the pregnancy test, the display reads negative!") /obj/item/pregnancytest/proc/test(mob/living/user) diff --git a/hyperstation/code/obj/rope.dm b/hyperstation/code/obj/rope.dm new file mode 100644 index 00000000..98c933a2 --- /dev/null +++ b/hyperstation/code/obj/rope.dm @@ -0,0 +1,55 @@ +//Jay +//TODO: Better sprites +//Rope +/obj/item/restraints/handcuffs/rope/ //Fun + name = "soft rope" + desc = "A comfortable rope that would be easy to slip out of if you needed. Kinky." + breakouttime = 10 //Easy to break out. It's not for gaming. + icon = 'hyperstation/icons/obj/rope.dmi' + icon_state = "rope" + item_state = "rope_hands" //This sprite is in restraints.dmi until I figure out how to refrence somewhere else + cuffsound = 'sound/weapons/cablecuff.ogg' + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) + +/mob/living/proc/rope_add(source) //Check to see if the rope is on, and then add effects + var/mob/living/carbon/M = source + if(M.handcuffed) + var/rope_message = pick("The rope is tightly tied onto you") + to_chat(M, "[rope_message]") + M.min_arousal = 33 + M.arousal_rate += 2 + update_stat() + +/mob/living/proc/rope_remove(list/sources, temp_min_arousal, temp_max_arousal, temp_arousal_rate) //Check to see it the rope is gone, and reset effects + var/mob/living/carbon/M = sources + if (!M.handcuffed) + var/rope_message = pick("The rope has been removed") + to_chat(M, "[rope_message]") + M.min_arousal = temp_min_arousal + M.max_arousal = temp_max_arousal + M.arousal_rate = temp_arousal_rate + update_stat() + +/obj/item/restraints/handcuffs/rope/attack(mob/living/carbon/C, mob/living/user) + . = ..() + var/temp_min_arousal = C.min_arousal //Temp variables to hold original arousal values + var/temp_max_arousal = C.max_arousal + var/temp_arousal_rate = C.arousal_rate + var/datum/callback/Cback = new(user, /mob/living/proc/rope_add, C)//Put the rope on + addtimer(Cback, 6, TIMER_UNIQUE)//We are going to call this proc six seconds after the click. The rope tying takes 5 seconds + var/datum/callback/Cback2 = new(user, /mob/living/proc/rope_remove, C, temp_min_arousal, temp_max_arousal, temp_arousal_rate) + while(1) //Loop until break - Because I can't figure out any better way to do it. + var/rope_emote = pick("moan", "blush") + sleep(50) //5 second wait + addtimer(Cback2, 1, TIMER_UNIQUE) //Just keep calling this timer proc + if (prob(10)) + C.emote(rope_emote) + if (!C.handcuffed) + return //Break when the rope is removed + +/datum/crafting_recipe/rope + name = "Soft Rope" + result = /obj/item/restraints/handcuffs/rope + time = 40 + reqs = list(/obj/item/stack/sheet/cloth = 5) + category = CAT_MISC \ No newline at end of file diff --git a/hyperstation/icons/chat/chat.dmi b/hyperstation/icons/chat/chat.dmi new file mode 100644 index 00000000..1457f7f2 Binary files /dev/null and b/hyperstation/icons/chat/chat.dmi differ diff --git a/hyperstation/icons/chat/reward.dmi b/hyperstation/icons/chat/reward.dmi new file mode 100644 index 00000000..1fe18a20 Binary files /dev/null and b/hyperstation/icons/chat/reward.dmi differ diff --git a/hyperstation/icons/mobs/feet.dmi b/hyperstation/icons/mobs/feet.dmi index cf74d737..3a0d6bd2 100644 Binary files a/hyperstation/icons/mobs/feet.dmi and b/hyperstation/icons/mobs/feet.dmi differ diff --git a/hyperstation/icons/obj/bluespace_thread.dmi b/hyperstation/icons/obj/bluespace_thread.dmi new file mode 100644 index 00000000..8a2a4835 Binary files /dev/null and b/hyperstation/icons/obj/bluespace_thread.dmi differ diff --git a/hyperstation/icons/obj/condom.dmi b/hyperstation/icons/obj/condom.dmi index cf74d737..afbec2df 100644 Binary files a/hyperstation/icons/obj/condom.dmi and b/hyperstation/icons/obj/condom.dmi differ diff --git a/hyperstation/icons/obj/leash.dmi b/hyperstation/icons/obj/leash.dmi new file mode 100644 index 00000000..08a9ae3f Binary files /dev/null and b/hyperstation/icons/obj/leash.dmi differ diff --git a/hyperstation/icons/obj/rope.dmi b/hyperstation/icons/obj/rope.dmi new file mode 100644 index 00000000..9937b8ea Binary files /dev/null and b/hyperstation/icons/obj/rope.dmi differ diff --git a/icons/UI_Icons/chat/chat_icons.dmi b/icons/UI_Icons/chat/chat_icons.dmi new file mode 100644 index 00000000..7040b396 Binary files /dev/null and b/icons/UI_Icons/chat/chat_icons.dmi differ diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index b69c6c88..63263b83 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 4d01c9bd..f8957bde 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 923762bb..cde5b1b1 100644 Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ diff --git a/icons/mob/inhands/equipment/banners_lefthand.dmi b/icons/mob/inhands/equipment/banners_lefthand.dmi index 27eb3bf7..ec477032 100644 Binary files a/icons/mob/inhands/equipment/banners_lefthand.dmi and b/icons/mob/inhands/equipment/banners_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/banners_righthand.dmi b/icons/mob/inhands/equipment/banners_righthand.dmi index a9cedf57..ff416691 100644 Binary files a/icons/mob/inhands/equipment/banners_righthand.dmi and b/icons/mob/inhands/equipment/banners_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index 7c411c33..12e73096 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index f1152c77..78f7fdbf 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index 5eb270d2..2e832ddb 100644 Binary files a/icons/mob/neck.dmi and b/icons/mob/neck.dmi differ diff --git a/icons/mob/pai.dmi b/icons/mob/pai.dmi index 94fb2ee6..062a7a53 100644 Binary files a/icons/mob/pai.dmi and b/icons/mob/pai.dmi differ diff --git a/icons/mob/restraints.dmi b/icons/mob/restraints.dmi index fa7eb43a..5a44b749 100644 Binary files a/icons/mob/restraints.dmi and b/icons/mob/restraints.dmi differ diff --git a/icons/mob/screen_kinaris.dmi b/icons/mob/screen_kinaris.dmi new file mode 100644 index 00000000..b3099fc8 Binary files /dev/null and b/icons/mob/screen_kinaris.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 621385ea..d37ceb0e 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/mob/suit_digi.dmi b/icons/mob/suit_digi.dmi index 5b4e22bb..a3c0405f 100644 Binary files a/icons/mob/suit_digi.dmi and b/icons/mob/suit_digi.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index d5434f6e..96f47ace 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index e31c340a..d3532f52 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/barsigns.dmi b/icons/obj/barsigns.dmi index 3bbb57d9..5dd7d2af 100644 Binary files a/icons/obj/barsigns.dmi and b/icons/obj/barsigns.dmi differ diff --git a/icons/obj/bedsheets.dmi b/icons/obj/bedsheets.dmi index 1cc99e09..855ce6d1 100644 Binary files a/icons/obj/bedsheets.dmi and b/icons/obj/bedsheets.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 1ced4827..70607d58 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/clothing/cloaks.dmi b/icons/obj/clothing/cloaks.dmi index dd1ae7d7..9543c12c 100644 Binary files a/icons/obj/clothing/cloaks.dmi and b/icons/obj/clothing/cloaks.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index ba6658c1..fd795c48 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index f86dd2e7..b99429ae 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/doors/airlocks/station/science.dmi b/icons/obj/doors/airlocks/station/science.dmi index 586e561f..172c8205 100644 Binary files a/icons/obj/doors/airlocks/station/science.dmi and b/icons/obj/doors/airlocks/station/science.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 75611879..c6694d3b 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index 9eafd6c2..6e6d9555 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 6975fa1a..895299be 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 3a6d8023..ddb9ed63 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index f28b8be5..1aba5d22 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/modular_console.dmi b/icons/obj/modular_console.dmi index 8d4ec3e2..9e2a332c 100644 Binary files a/icons/obj/modular_console.dmi and b/icons/obj/modular_console.dmi differ diff --git a/icons/obj/pocketwatch.dmi b/icons/obj/pocketwatch.dmi new file mode 100644 index 00000000..1fe0c975 Binary files /dev/null and b/icons/obj/pocketwatch.dmi differ diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi index fa74d50e..f2cc0f2a 100644 Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ diff --git a/icons/obj/ring.dmi b/icons/obj/ring.dmi new file mode 100644 index 00000000..3b985fa2 Binary files /dev/null and b/icons/obj/ring.dmi differ diff --git a/icons/obj/terminals.dmi b/icons/obj/terminals.dmi index a3ad5538..e9ccfad9 100644 Binary files a/icons/obj/terminals.dmi and b/icons/obj/terminals.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 23a138d5..859eba08 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index d5cae1db..1b7bc3f4 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index e8cecbc8..bf4b9ed4 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/interface/menu.dm b/interface/menu.dm index 66d88ef4..1f2ccde8 100644 --- a/interface/menu.dm +++ b/interface/menu.dm @@ -74,54 +74,6 @@ GLOBAL_LIST_EMPTY(menulist) else winset(C, null, list2params(list("command" = replacetext(verbpath.name, " ", "-")))) -//Hypestation 13 changes - -/datum/verbs/menu/Settings/FPS - checkbox = CHECKBOX_GROUP - default = /datum/verbs/menu/Settings/FPS/verb/twentyfiveframes - -/datum/verbs/menu/Settings/FPS/verb/twentyframes() - set name = "Low-End (20) FPS" - set desc = "&20 fps" - set category = "Preferences" - set hidden = 1 - usr.client.prefs.clientfps = 20 - usr.client.prefs.parent.fps = 20 - - -/datum/verbs/menu/Settings/FPS/verb/twentyfiveframes() - set name = "High-End (25) FPS" - set desc = "&25 fps" - set category = "Preferences" - set hidden = 1 - usr.client.prefs.clientfps = 25 - usr.client.prefs.parent.fps = 25 - - -/datum/verbs/menu/Settings/FPS/verb/thirtyframes() - set name = "Higher-End (30) FPS" - set desc = "&30 fps" - set category = "Preferences" - set hidden = 1 - usr.client.prefs.clientfps = 30 - usr.client.prefs.parent.fps = 30 - -/datum/verbs/menu/Settings/FPS/verb/fortyframes() - set name = "Very Higher-End (40) FPS" - set desc = "&40 fps" - set category = "Preferences" - set hidden = 1 - usr.client.prefs.clientfps = 40 - usr.client.prefs.parent.fps = 40 - - -/datum/verbs/menu/Settings/FPS/verb/sixtyframes() - set name = "Very Very Higher-End (60) FPS" - set desc = "&60 fps" - set category = "Preferences" - set hidden = 1 - usr.client.prefs.clientfps = 60 - usr.client.prefs.parent.fps = 60 /datum/verbs/menu/Settings/ChatOutput checkbox = CHECKBOX_GROUP diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 099d4559..599a590a 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -44,12 +44,16 @@ var/items = o.get_contents() for(var/obj/item/W in items) if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(o, "Your clothes give, ripping into pieces under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!") - o.visible_message("[o]'s chest suddenly bursts forth, ripping their clothes off!'") - else - to_chat(o, "Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.") + //Hyper change + var/obj/item/clothing/W2 = W + if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this. + //Hyper change end + o.dropItemToGround(W, TRUE) + playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(o, "Your clothes give, ripping into pieces under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!") + o.visible_message("[o]'s chest suddenly bursts forth, ripping their clothes off!'") + else + to_chat(o, "Your bountiful bosom is so rich with mass, you seriously doubt you'll be able to fit any clothes over it.") return ..() /datum/status_effect/chem/breast_enlarger/tick(mob/living/carbon/human/H)//If you try to wear clothes, you fail. Slows you down if you're comically huge @@ -66,9 +70,13 @@ var/items = o.get_contents() for(var/obj/item/W in items) if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(owner, "Your enormous breasts are way too large to fit anything over them!") + //Hyper change// Check for a flag before we remove clothes. + var/obj/item/clothing/W2 = W + if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + o.dropItemToGround(W, TRUE) + playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(owner, "Your enormous breasts are way too large to fit anything over them!") /* if (B.size == "huge") if(prob(1)) @@ -125,14 +133,23 @@ var/mob/living/carbon/human/o = owner var/items = o.get_contents() if(o.w_uniform || o.wear_suit) - to_chat(o, "Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!") - owner.visible_message("[o]'s schlong suddenly bursts forth, ripping their clothes off!'") + //Hyper change// Check for a flag before we remove clothes. + var/obj/item/clothing/suit = o.get_item_by_slot(SLOT_W_UNIFORM) + var/obj/item/clothing/jacket = o.get_item_by_slot(SLOT_WEAR_SUIT) + if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + to_chat(o, "Your clothes give, ripping into peices under the strain of your swelling pecker! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!") + owner.visible_message("[o]'s schlong suddenly bursts forth, ripping their clothes off!'") else to_chat(o, "Your emancipated trouser snake is so ripe with girth, you seriously doubt you'll be able to fit any clothes over it.") for(var/obj/item/W in items) if(W == o.w_uniform || W == o.wear_suit) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) + //Hyper change// Check for a flag before we remove clothes. + var/obj/item/clothing/W2 = W + if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + o.dropItemToGround(W, TRUE) + playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) return ..() @@ -151,14 +168,19 @@ var/items = o.get_contents() for(var/obj/item/W in items) - if (o.arousalloss > 32) // warning that your shaft is getting errect! - if(W == o.w_uniform || W == o.wear_suit ) - to_chat(M, "Your swelling cock begins to strain against your clothes tightly!") - if (o.arousalloss > 33) - if(W == o.w_uniform || W == o.wear_suit ) - o.dropItemToGround(W, TRUE) - playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) - to_chat(owner, "Your erect member is way to large to fit anything over! You will need to be flaccid again to wear clothes!") + //Hyper change// Check for a flag before we remove clothes. + if(istype(W, /obj/item/clothing)) + var/obj/item/clothing/W2 = W + if(!W2.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + if (o.arousalloss > 32) // warning that your shaft is getting errect! + if(W == o.w_uniform || W == o.wear_suit ) + to_chat(M, "Your swelling cock begins to strain against your clothes tightly!") + if (o.arousalloss > 33) + if(W == o.w_uniform || W == o.wear_suit ) + o.dropItemToGround(W, TRUE) + playsound(o.loc, 'sound/items/poster_ripped.ogg', 50, 1) + to_chat(owner, "Your erect member is way to large to fit anything over! You will need to be flaccid again to wear clothes!") /* switch(round(P.cached_length)) if(21) diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm index 63e8e446..fd6294dd 100644 --- a/modular_citadel/code/game/machinery/vending.dm +++ b/modular_citadel/code/game/machinery/vending.dm @@ -58,11 +58,14 @@ /obj/item/clothing/neck/petcollar = 5, /obj/item/clothing/under/mankini = 1, /obj/item/dildo/flared/huge = 1, - /obj/item/clothing/head/dominatrixcap = 1 + /obj/item/clothing/head/dominatrixcap = 1, + /obj/item/mesmetron = 1 ) premium = list( /obj/item/electropack/shockcollar = 3, - /obj/item/clothing/neck/petcollar/locked = 1 + /obj/item/clothing/neck/petcollar/locked = 1, + /obj/item/restraints/handcuffs/rope = 1, + /obj/item/leash = 1 ) refill_canister = /obj/item/vending_refill/kink /* diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 75a2ff2c..8ca1e450 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -9,13 +9,13 @@ size = BREASTS_SIZE_DEF //SHOULD BE A LETTER, starts as a number...??? var/cached_size = null //for enlargement SHOULD BE A NUMBER var/prev_size //For flavour texts SHOULD BE A LETTER - //var/breast_sizes = list ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "huge", "flat") - var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0) + //var/breast_sizes = list ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "huge", "massive", "giga", "flat") + var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "massive" = 17, "giga" = 25, "flat" = 0) // Note: Do not forget to define new sizes. var/statuscheck = FALSE fluid_id = "milk" var/amount = 2 fluid_mult = 0.25 // Set to a lower value due to production scaling with size (I.E. D cups produce the "normal" amount) - fluid_max_volume = 5 + fluid_max_volume = 10 producing = TRUE shape = "Pair" can_masturbate_with = TRUE @@ -32,7 +32,7 @@ reagents.maximum_volume = fluid_max_volume * cached_size// fluid amount is also scaled by the size of the organ if(fluid_id && producing) if(reagents.total_volume == 0) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank. - fluid_rate = 0.1 + reagents.total_volume = 0.1 else fluid_rate = CUM_RATE * cached_size * fluid_mult // fluid rate is scaled by the size of the organ generate_milk() @@ -68,7 +68,7 @@ desc = "You see three sets of breasts, running from their chest to their belly." else desc = "You see some breasts, they seem to be quite exotic." - if(cached_size > 16) + if(cached_size > 18 && cached_size != 25) desc = "You see [pick("some serious honkers", "a real set of badonkers", "some dobonhonkeros", "massive dohoonkabhankoloos", "two big old tonhongerekoogers", "a couple of giant bonkhonagahoogs", "a pair of humongous hungolomghnonoloughongous")]. Their volume is way beyond cupsize now, measuring in about [round(cached_size)]cm in diameter." else if (!isnum(size)) if (size == "flat") @@ -125,12 +125,20 @@ if(!owner.has_status_effect(/datum/status_effect/chem/breast_enlarger)) owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger) statuscheck = TRUE - if(16 to 20) //if Rediculous - size = cached_size - if(20 to INFINITY) //if Hyper-Rediculous - size = cached_size + if(16 to 18) //if Ridiculous + size = breast_values[round(cached_size)] + if(!owner.has_status_effect(/datum/status_effect/chem/breast_enlarger)) + owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger) + statuscheck = TRUE - if(round(cached_size) < 16)//Because byond doesn't count from 0, I have to do this. + if(19 to INFINITY) //if Hyper-Ridiculous + size = cached_size + if(!owner.has_status_effect(/datum/status_effect/chem/breast_enlarger)) + owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger) + statuscheck = TRUE + + + if(round(cached_size) < 19 && round(cached_size) == 25)//Because byond doesn't count from 0, I have to do this. if (prev_size == 0) prev_size = "flat" if(size == 0)//Bloody byond with it's counting from 1 @@ -146,7 +154,7 @@ var/mob/living/carbon/human/H = owner H.Force_update_genitals() prev_size = size - else if (cached_size >= 16) - size = "huge" - else if (cached_size >= 20) + else if (cached_size >= 18 && cached_size < 25) size = "massive" + else if (cached_size >= 25) + size = "giga" \ No newline at end of file diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index dd983e0e..eac9832b 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -10,7 +10,8 @@ shape = "single" var/sack_size = BALLS_SACK_SIZE_DEF var/cached_size = 6 - fluid_mult = 0.133 // Set to a lower value due to production scaling with size (I.E. 6 inches the "normal" amount) + //fluid_mult = 0.133 // Set to a lower value due to production scaling with size (I.E. 6 inches the "normal" amount) + fluid_mult = 1.0 //Defaults to 1 no matter what you do. It just does. Just gonna adapt I guess. fluid_max_volume = 3 fluid_id = "semen" producing = TRUE @@ -24,17 +25,19 @@ return if(!reagents || !owner) return - reagents.maximum_volume = fluid_max_volume * cached_size// fluid amount is also scaled by the size of the organ + //reagents.maximum_volume = fluid_max_volume * cached_size// fluid amount is also scaled by the size of the organ + reagents.maximum_volume = fluid_max_volume * ((cached_size / 2) + 1) * ((size / 2) + 1) * fluid_mult //Hyper - New calculation for more dynamic fluid levels. I can't believe I typed that. if(fluid_id && producing) if(reagents.total_volume == 0) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank. fluid_rate = 0.1 else - fluid_rate = CUM_RATE * cached_size * fluid_mult // fluid rate is scaled by the size of the organ + //fluid_rate = CUM_RATE * cached_size * fluid_mult // fluid rate is scaled by the size of the organ + fluid_rate = ((CUM_RATE / 5) * (cached_size / 3) * (size / 4) * fluid_mult) / 10 //Hyper - Production was way too high by default. This should drop it back down, but allow for it to get really high generate_cum() /obj/item/organ/genital/testicles/proc/generate_cum() - reagents.maximum_volume = fluid_max_volume - if(reagents.total_volume >= reagents.maximum_volume) + //reagents.maximum_volume = fluid_max_volume //This is the line that broke cum for so long + if(reagents.total_volume >= reagents.maximum_volume - 0.1) //Hyper - Check for it being close to the maximum. It sometimes doesn't proc due to a rounding error. if(!sent_full_message) send_full_message() sent_full_message = TRUE @@ -66,11 +69,14 @@ /obj/item/organ/genital/testicles/update_appearance() switch(size) - if(0.1 to 1) + //if(0.1 to 1) //Hyper - Change the displayed ball sizes + if(0.1 to 3) size_name = "average" - if(1.1 to 2) + //if(1.1 to 2) + if(3.1 to 8) size_name = "enlarged" - if(2.1 to INFINITY) + //if(2.1 to INFINITY) + if(8.1 to INFINITY) size_name = "engorged" else size_name = "nonexistant" diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm index c8dbfed0..28d7bb43 100644 --- a/modular_citadel/code/modules/arousal/organs/womb.dm +++ b/modular_citadel/code/modules/arousal/organs/womb.dm @@ -20,7 +20,7 @@ else fluid_rate = CUM_RATE if(reagents.total_volume >= 5) - fluid_mult = 0.5 + fluid_mult = 0.8 else fluid_mult = 1 generate_femcum() diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm index 0a2922f7..1c0b40f4 100644 --- a/modular_citadel/code/modules/client/loadout/backpack.dm +++ b/modular_citadel/code/modules/client/loadout/backpack.dm @@ -120,4 +120,22 @@ name = "A fancy pen" category = SLOT_IN_BACKPACK path = /obj/item/pen/fountain - cost = 2 \ No newline at end of file + cost = 2 + +/datum/gear/ringbox_gold + name = "A gold ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox + cost = 3 + +/datum/gear/ringbox_silver + name = "A silver ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox/silver + cost = 3 + +/datum/gear/ringbox_diamond + name = "A diamond ring box" + category = SLOT_IN_BACKPACK + path = /obj/item/storage/fancy/ringbox/diamond + cost = 5 \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/gloves.dm b/modular_citadel/code/modules/client/loadout/gloves.dm index 826e8096..641d4f2e 100644 --- a/modular_citadel/code/modules/client/loadout/gloves.dm +++ b/modular_citadel/code/modules/client/loadout/gloves.dm @@ -2,3 +2,21 @@ name = "Fingerless Gloves" category = SLOT_GLOVES path = /obj/item/clothing/gloves/fingerless + +/datum/gear/goldring + name = "A gold ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring + cost = 2 + +/datum/gear/silverring + name = "A silver ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring/silver + cost = 2 + +/datum/gear/diamondring + name = "A diamond ring" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/ring/diamond + cost = 4 \ No newline at end of file diff --git a/modular_citadel/code/modules/client/loadout/shoes.dm b/modular_citadel/code/modules/client/loadout/shoes.dm index 7b3bee66..7398205b 100644 --- a/modular_citadel/code/modules/client/loadout/shoes.dm +++ b/modular_citadel/code/modules/client/loadout/shoes.dm @@ -71,4 +71,9 @@ /datum/gear/santaboots name = "Santa Boots" category = SLOT_SHOES - path= /obj/item/clothing/shoes/winterboots/santaboots \ No newline at end of file + path= /obj/item/clothing/shoes/winterboots/santaboots + +datum/gear/highheels + name = "High Heels" + category = SLOT_SHOES + path= /obj/item/clothing/shoes/highheels \ No newline at end of file diff --git a/modular_citadel/code/modules/mob/mob.dm b/modular_citadel/code/modules/mob/mob.dm index bf6987ab..e2e90ce9 100644 --- a/modular_citadel/code/modules/mob/mob.dm +++ b/modular_citadel/code/modules/mob/mob.dm @@ -23,3 +23,35 @@ var/turf/sourceturf = get_turf(src) if(istype(speakturf) && istype(sourceturf) && !(speakturf in get_hear(5, sourceturf))) . = "[.]" //Don't ask how the fuck this works. It just does. + +/mob/verb/eastshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_x <= 16) + pixel_x++ + is_shifted = TRUE + +/mob/verb/westshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_x >= -16) + pixel_x-- + is_shifted = TRUE + +/mob/verb/northshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_y <= 16) + pixel_y++ + is_shifted = TRUE + +/mob/verb/southshift() + set hidden = TRUE + if(!canface()) + return FALSE + if(pixel_y >= -16) + pixel_y-- + is_shifted = TRUE \ No newline at end of file diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index 5ebad3b2..3a2928ec 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -98,10 +98,15 @@ B.cached_size = B.cached_size + 0.05 if (B.cached_size >= 8.5 && B.cached_size < 9) if(H.w_uniform || H.wear_suit) - var/target = M.get_bodypart(BODY_ZONE_CHEST) - to_chat(M, "Your breasts begin to strain against your clothes tightly!") - M.adjustOxyLoss(5, 0) - M.apply_damage(1, BRUTE, target) + //Hyper change// Check for a flag before we remove clothes. + var/obj/item/clothing/suit = H.get_item_by_slot(SLOT_W_UNIFORM) + var/obj/item/clothing/jacket = H.get_item_by_slot(SLOT_WEAR_SUIT) + if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + var/target = M.get_bodypart(BODY_ZONE_CHEST) + to_chat(M, "Your breasts begin to strain against your clothes tightly!") + M.adjustOxyLoss(5, 0) + M.apply_damage(1, BRUTE, target) B.update() ..() @@ -246,6 +251,7 @@ return var/mob/living/carbon/human/H = M var/obj/item/organ/genital/penis/P = M.getorganslot("penis") + var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") //Hyper Change if(!P)//They do have a preponderance for escapism, or so I've heard. //If they have Acute hepatic pharmacokinesis, then route processing though liver. @@ -268,14 +274,45 @@ nP.prev_length = 1 M.reagents.remove_reagent(id, 5) P = nP + + if(!T)//Hyper change// Adds testicles if there are none. + + //If they have Acute hepatic pharmacokinesis, then route processing though liver. + if(HAS_TRAIT(M, TRAIT_PHARMA)) + var/obj/item/organ/liver/L = M.getorganslot("liver") + if(L) + L.swelling+= 0.05 + return..() + else + M.adjustToxLoss(1) + return..() + + //otherwise proceed as normal + var/obj/item/organ/genital/testicles/nT = new + nT.Insert(M) + if(nT) + nT.size = BALLS_SIZE_MIN + to_chat(M, "Your groin feels warm, as you feel two sensitive orbs taking shape below.") + nT.cached_size = 1 + nT.sack_size = BALLS_SACK_SIZE_DEF + T = nT P.cached_length = P.cached_length + 0.1 + //Hyper change// Increase ball size too + T.size = T.size + 0.1 + if (P.cached_length >= 20.5 && P.cached_length < 21) if(H.w_uniform || H.wear_suit|| H.arousalloss > 33) - var/target = M.get_bodypart(BODY_ZONE_CHEST) - to_chat(M, "Your cock begins to strain against your clothes tightly!") - M.apply_damage(1, BRUTE, target) + //Hyper change// Check for a flag before we remove clothes. + var/obj/item/clothing/suit = H.get_item_by_slot(SLOT_W_UNIFORM) + var/obj/item/clothing/jacket = H.get_item_by_slot(SLOT_WEAR_SUIT) + if(!suit.roomy == 1 || !jacket.roomy == 1) //If the clothes are "roomy" then don't do this. + //End Hyper Change// + var/target = M.get_bodypart(BODY_ZONE_CHEST) + to_chat(M, "Your cock begins to strain against your clothes tightly!") + M.apply_damage(1, BRUTE, target) + T.update() //Hyper change - Make the ball size update P.update() ..() diff --git a/modular_citadel/code/modules/reagents/reagent container/milking machine.dm b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm index 057c657e..4aa6520d 100644 --- a/modular_citadel/code/modules/reagents/reagent container/milking machine.dm +++ b/modular_citadel/code/modules/reagents/reagent container/milking machine.dm @@ -10,7 +10,7 @@ var/on = FALSE var/obj/item/reagent_containers/glass/inserted_item = null - var/transfer_rate = 0.25 // How much we transfer every 2 seconds + var/transfer_rate = 1 // How much we transfer every 2 seconds var/target_organ = "breasts" // What organ we are transfering from /obj/item/milker/examine(mob/user) diff --git a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm index 38751db9..0337d213 100644 --- a/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm +++ b/modular_citadel/code/modules/reagents/reagents/cit_reagents.dm @@ -10,6 +10,9 @@ color = "#FFFFFF" // rgb: 255, 255, 255 can_synth = FALSE nutriment_factor = 0.5 * REAGENTS_METABOLISM + glass_icon_state = "semen" + glass_name = "chalice of semen" + glass_desc = "In the Sumerian mythology, Enki - the God of water, was believed to have created the Tigris and Euphrates rivers by masturbating and ejaculating into their empty riverbeds." /datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume) if(!istype(T)) @@ -85,7 +88,7 @@ S = new(T) if(data["blood_DNA"]) S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"])) - + /datum/reagent/consumable/milk/reaction_turf(turf/T, reac_volume) if(!istype(T)) return diff --git a/modular_citadel/icons/mob/suit_digi.dmi b/modular_citadel/icons/mob/suit_digi.dmi index d348d71d..eeda8c37 100644 Binary files a/modular_citadel/icons/mob/suit_digi.dmi and b/modular_citadel/icons/mob/suit_digi.dmi differ diff --git a/modular_citadel/icons/mob/uniform_digi.dmi b/modular_citadel/icons/mob/uniform_digi.dmi index a741fbff..eaa4245f 100644 Binary files a/modular_citadel/icons/mob/uniform_digi.dmi and b/modular_citadel/icons/mob/uniform_digi.dmi differ diff --git a/modular_citadel/icons/obj/genitals/breasts_onmob.dmi b/modular_citadel/icons/obj/genitals/breasts_onmob.dmi index 5fb13a29..fc18e642 100644 Binary files a/modular_citadel/icons/obj/genitals/breasts_onmob.dmi and b/modular_citadel/icons/obj/genitals/breasts_onmob.dmi differ diff --git a/modular_citadel/interface/skin.dmf b/modular_citadel/interface/skin.dmf index 7dddfa2e..b822aa46 100644 --- a/modular_citadel/interface/skin.dmf +++ b/modular_citadel/interface/skin.dmf @@ -111,6 +111,7 @@ window "mapwindow" is-default = true saved-params = "icon-size" zoom-mode = distort + style=".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .command_headset { font-weight: bold; font-size: 8px; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .greentext { color: #00FF00; font-size: 7px; } .redtext { color: #FF0000; font-size: 7px; } .clown { color: #FF69Bf; font-size: 7px; font-weight: bold; } .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; } .italics { font-size: 6px; }" window "infowindow" elem "infowindow" diff --git a/onion.dm b/onion.dm deleted file mode 100644 index 4c10eccc..00000000 --- a/onion.dm +++ /dev/null @@ -1,92 +0,0 @@ -/obj/item/seeds/onion - name = "pack of onion seeds" - desc = "These seeds grow into onions." - icon_state = "seed-onion" - species = "onion" - plantname = "Onion Sprouts" - product = /obj/item/reagent_containers/food/snacks/grown/onion - lifespan = 20 - maturation = 3 - production = 4 - yield = 6 - endurance = 25 - growthstages = 3 - weed_chance = 3 - growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi' - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1) - mutatelist = list(/obj/item/seeds/onion/red) - -/obj/item/reagent_containers/food/snacks/grown/onion - seed = /obj/item/seeds/onion - name = "onion" - desc = "Nothing to cry over." - icon_state = "onion" - filling_color = "#C0C9A0" - bitesize_mod = 2 - tastes = list("onions" = 1) - slice_path = /obj/item/reagent_containers/food/snacks/onion_slice - slices_num = 2 - wine_power = 30 - -/obj/item/seeds/onion/red - name = "pack of red onion seeds" - desc = "For growing exceptionally potent onions." - icon_state = "seed-onionred" - species = "onion_red" - plantname = "Red Onion Sprouts" - weed_chance = 1 - product = /obj/item/reagent_containers/food/snacks/grown/onion/red - reagents_add = list("vitamin" = 0.04, "nutriment" = 0.1, "tearjuice" = 0.05) - mutatelist = list(/obj/item/seeds/onion/burning) - -/obj/item/reagent_containers/food/snacks/grown/onion/red - seed = /obj/item/seeds/onion/red - name = "red onion" - desc = "Purple despite the name." - icon_state = "onion_red" - filling_color = "#C29ACF" - slice_path = /obj/item/reagent_containers/food/snacks/onion_slice/red - wine_power = 60 - -/obj/item/reagent_containers/food/snacks/grown/onion/slice(accuracy, obj/item/W, mob/user) - var/datum/effect_system/smoke_spread/chem/S = new //Since the onion is destroyed when it's sliced, - var/splat_location = get_turf(src) //we need to set up the smoke beforehand - S.attach(splat_location) - S.set_up(reagents, 0, splat_location, 0) - if(..()) - S.start() - return TRUE - qdel(S) - -/obj/item/reagent_containers/food/snacks/onion_slice - name = "onion slices" - desc = "Rings, not for wearing." - icon_state = "onionslice" - list_reagents = list("nutriment" = 5, "vitamin" = 2) - filling_color = "#C0C9A0" - gender = PLURAL - cooked_type = /obj/item/reagent_containers/food/snacks/onionrings - -/obj/item/reagent_containers/food/snacks/onion_slice/red - name = "red onion slices" - desc = "They shine like exceptionally low quality amethyst." - icon_state = "onionslice_red" - filling_color = "#C29ACF" - list_reagents = list("nutriment" = 5, "vitamin" = 2, "tearjuice" = 2.5) - -/obj/item/seeds/onion/burning - name ="pack of burning onion seeds" - desc = "For when you REALLY want to burn your eyes." - icon_state = "seed-onionburning" - species = "onion_burning" - plantname = "Burning Onion Sprouts" - product = /obj/item/reagent_containers/food/snacks/grown/onion/burning - reagents_add = list("phlogiston" = 0.05,"nutriment" = 0.05, "tearjuice" = 0.1, "condensedcapsaicin" = 0.04) - -/obj/item/reagent_containers/food/snacks/grown/onion/burning - seed = /obj/item/seeds/onion/burning - name = "burning onion" - desc = "Warm to the touch. Probably not safe to eat these." - icon_state = "onion_burning" - filling_color = "#F48E34" - list_reagents = list("phlogiston" = 2, "nutriment" = 2, "tearjuice" = 5, "condensedcapsaicin" = 1) \ No newline at end of file diff --git a/sound/music/sacredgeometry.ogg b/sound/music/sacredgeometry.ogg new file mode 100644 index 00000000..635db4da Binary files /dev/null and b/sound/music/sacredgeometry.ogg differ diff --git a/sound/weapons/falshot.ogg b/sound/weapons/falshot.ogg new file mode 100644 index 00000000..4cade964 Binary files /dev/null and b/sound/weapons/falshot.ogg differ diff --git a/strings/round_start_sounds.txt b/strings/round_start_sounds.txt index a8409188..03ff64cc 100644 --- a/strings/round_start_sounds.txt +++ b/strings/round_start_sounds.txt @@ -4,6 +4,7 @@ sound/ambience/title3.ogg sound/ambience/title4.ogg sound/misc/i_did_not_grief_them.ogg sound/ambience/clown.ogg +sound/music/sacredgeometry.ogg sound/music/1.ogg sound/music/carmenmirandasghost.ogg sound/music/century21march.ogg diff --git a/tgstation.dme b/tgstation.dme index badc040b..cf10f10c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -109,6 +109,7 @@ #include "code\__DEFINES\vv.dm" #include "code\__DEFINES\wall_dents.dm" #include "code\__DEFINES\wires.dm" +#include "code\__DEFINES\dcs\signals.dm" #include "code\__HELPERS\_cit_helpers.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" @@ -297,6 +298,7 @@ #include "code\datums\beam.dm" #include "code\datums\browser.dm" #include "code\datums\callback.dm" +#include "code\datums\chatmessage.dm" #include "code\datums\cinematic.dm" #include "code\datums\dash_weapon.dm" #include "code\datums\datacore.dm" @@ -829,6 +831,7 @@ #include "code\game\objects\items\kitchen.dm" #include "code\game\objects\items\latexballoon.dm" #include "code\game\objects\items\manuals.dm" +#include "code\game\objects\items\mesmetron.dm" #include "code\game\objects\items\miscellaneous.dm" #include "code\game\objects\items\mop.dm" #include "code\game\objects\items\paint.dm" @@ -993,7 +996,6 @@ #include "code\game\objects\structures\electricchair.dm" #include "code\game\objects\structures\extinguisher.dm" #include "code\game\objects\structures\false_walls.dm" -#include "code\game\objects\structures\femur_breaker.dm" #include "code\game\objects\structures\fence.dm" #include "code\game\objects\structures\fireaxe.dm" #include "code\game\objects\structures\fireplace.dm" @@ -1507,6 +1509,7 @@ #include "code\modules\clothing\gloves\boxing.dm" #include "code\modules\clothing\gloves\color.dm" #include "code\modules\clothing\gloves\miscellaneous.dm" +#include "code\modules\clothing\gloves\ring.dm" #include "code\modules\clothing\gloves\vg_gloves.dm" #include "code\modules\clothing\head\_head.dm" #include "code\modules\clothing\head\beanie.dm" @@ -2740,6 +2743,7 @@ #include "code\modules\station_goals\station_goal.dm" #include "code\modules\surgery\amputation.dm" #include "code\modules\surgery\brain_surgery.dm" +#include "code\modules\surgery\breast_augmentation.dm" #include "code\modules\surgery\cavity_implant.dm" #include "code\modules\surgery\core_removal.dm" #include "code\modules\surgery\coronary_bypass.dm" @@ -2756,6 +2760,7 @@ #include "code\modules\surgery\nutcracker.dm" #include "code\modules\surgery\organ_manipulation.dm" #include "code\modules\surgery\organic_steps.dm" +#include "code\modules\surgery\penis_augmentation.dm" #include "code\modules\surgery\plastic_surgery.dm" #include "code\modules\surgery\prosthetic_replacement.dm" #include "code\modules\surgery\remove_embedded_object.dm" @@ -2880,19 +2885,24 @@ #include "hyperstation\code\mobs\hugbot.dm" #include "hyperstation\code\mobs\mimic.dm" #include "hyperstation\code\mobs\werewolf.dm" +#include "hyperstation\code\modules\traits.dm" #include "hyperstation\code\modules\antagonists\werewolf\werewolf.dm" #include "hyperstation\code\modules\clothing\head.dm" #include "hyperstation\code\modules\crafting\recipes.dm" +#include "hyperstation\code\modules\patreon\patreon.dm" #include "hyperstation\code\modules\resize\holder_micro.dm" #include "hyperstation\code\modules\resize\resizing.dm" #include "hyperstation\code\modules\resize\sizegun.dm" +#include "hyperstation\code\obj\bluespace sewing kit.dm" #include "hyperstation\code\obj\decal.dm" #include "hyperstation\code\obj\fluff.dm" #include "hyperstation\code\obj\kinkyclothes.dm" +#include "hyperstation\code\obj\leash.dm" #include "hyperstation\code\obj\milking machine.dm" #include "hyperstation\code\obj\plushes.dm" #include "hyperstation\code\obj\pregnancytester.dm" #include "hyperstation\code\obj\rewards.dm" +#include "hyperstation\code\obj\rope.dm" #include "interface\interface.dm" #include "interface\menu.dm" #include "interface\stylesheet.dm"