diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index ce5539cee7..dfae5e0ad7 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -9502,6 +9502,9 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "asV" = ( @@ -9529,6 +9532,9 @@ name = "Medbay"; req_access_txt = "5" }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "asY" = ( @@ -26752,7 +26758,6 @@ /obj/structure/sign/warning/vacuum/external{ pixel_y = 32 }, -/obj/item/cigbutt, /turf/open/floor/plating, /area/maintenance/starboard) "blS" = ( @@ -28539,8 +28544,9 @@ /turf/open/floor/plasteel/white, /area/science/lab) "bqg" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/starboard) "bqh" = ( @@ -29181,18 +29187,16 @@ /turf/open/floor/plating, /area/maintenance/starboard) "brH" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, +/obj/item/cigbutt/cigarbutt, /turf/open/floor/plating, /area/maintenance/starboard) "brI" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, /obj/machinery/light/small{ dir = 4 }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/starboard) "brJ" = ( @@ -29840,15 +29844,17 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "btp" = ( +/obj/item/cigbutt, /turf/open/floor/plating, /area/maintenance/starboard) "btq" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Space Loop Out" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" }, -/turf/open/floor/plating, /area/maintenance/starboard) "btr" = ( /obj/machinery/camera{ @@ -30971,15 +30977,13 @@ /turf/open/floor/plasteel/white, /area/science/explab) "bvQ" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, /turf/open/floor/plating, /area/maintenance/starboard) "bvR" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 }, +/obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/maintenance/starboard) "bvS" = ( @@ -31632,11 +31636,12 @@ /turf/open/floor/plasteel/white, /area/science/explab) "bxt" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/general/visible, /obj/structure/cable{ icon_state = "2-4" }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, /turf/open/floor/plating, /area/maintenance/starboard) "bxu" = ( @@ -42935,6 +42940,9 @@ /area/science/circuit) "bZi" = ( /obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/starboard) "bZj" = ( @@ -52756,6 +52764,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/starboard) "cNS" = ( @@ -52768,15 +52779,19 @@ /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, /turf/open/floor/plating, /area/maintenance/starboard) "cNT" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/starboard) "cNU" = ( @@ -54024,6 +54039,13 @@ }, /turf/open/floor/plasteel, /area/security/processing) +"eXL" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "fbp" = ( /obj/structure/tank_dispenser, /obj/effect/turf_decal/bot, @@ -55608,6 +55630,13 @@ }, /turf/open/space, /area/solar/starboard/fore) +"jIy" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "jJF" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ @@ -55780,6 +55809,11 @@ }, /turf/closed/wall/r_wall, /area/engine/engine_smes) +"kgk" = ( +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) "kgr" = ( /obj/machinery/light/small{ brightness = 3; @@ -56930,6 +56964,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"nJP" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "nJQ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/dark/visible, @@ -57305,6 +57346,12 @@ }, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"oBQ" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop In" + }, +/turf/open/floor/plating, +/area/maintenance/starboard) "oDm" = ( /obj/machinery/gulag_teleporter, /turf/open/floor/plasteel, @@ -57842,6 +57889,13 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"qtH" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "qus" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -57956,6 +58010,13 @@ /obj/structure/chair/sofa/left, /turf/open/floor/plasteel, /area/security/prison) +"qXJ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "rcD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -59468,6 +59529,11 @@ }, /turf/open/floor/plating, /area/security/range) +"vdo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "vdu" = ( /obj/structure/table/wood, /obj/machinery/airalarm{ @@ -59980,6 +60046,15 @@ /obj/item/instrument/recorder, /turf/open/floor/plating, /area/maintenance/fore) +"wkc" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) "wkN" = ( /turf/closed/wall, /area/science/circuit) @@ -60041,6 +60116,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"wqW" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/starboard) "wrp" = ( /obj/machinery/light{ dir = 8 @@ -93272,9 +93355,9 @@ aZV aZV aZV aZV -bmx -bmx -bmx +aZV +aZV +aZV bqH bqH btM @@ -112032,14 +112115,14 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa +gXs +jIy +nJP +jIy +nJP +gXs bky -btp +kgk brH bvQ bxt @@ -112290,15 +112373,15 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +qtH +eXL +qXJ +eXL +vdo bZi bqg -brG -brG +oBQ +wqW cNR brG brG @@ -112547,18 +112630,18 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +eXL +vdo +vdo +vdo +vdo bZi btq brI bvR cNS byx -brI +wkc bky bky bEs @@ -112808,7 +112891,7 @@ aaa aaa aaa aaa -aaa +gXs bky bky bky diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 943aa85efd..127b8b2241 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -110277,9 +110277,6 @@ /turf/open/floor/plasteel/airless/solarpanel, /area/solar/starboard/aft) "dFz" = ( -/obj/structure/chair/office/dark{ - dir = 8 - }, /obj/item/radio/intercom{ name = "Station Intercom"; pixel_x = -26; @@ -110288,12 +110285,19 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/machinery/computer/security/telescreen/toxins{ + dir = 4 + }, +/obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/science/mixing) "dFA" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/chair/office/dark{ + dir = 8 + }, /turf/open/floor/plasteel, /area/science/mixing) "dFB" = ( @@ -110311,25 +110315,28 @@ network = list("ss13","rd") }, /obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dFC" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/science/mixing) -"dFD" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/light{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) +"dFD" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop Out"; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "dFE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/newscaster{ pixel_y = 32 }, @@ -110337,9 +110344,10 @@ dir = 8; pixel_x = 24 }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dFF" = ( @@ -111237,20 +111245,16 @@ /turf/open/floor/plating, /area/science/test_area) "dGY" = ( -/obj/structure/table/reinforced, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/computer/security/telescreen/toxins{ - dir = 4 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, /turf/open/floor/plasteel, /area/science/mixing) "dGZ" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/science/mixing) "dHa" = ( @@ -111267,9 +111271,6 @@ }, /area/science/mixing) "dHb" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -111279,22 +111280,7 @@ }, /turf/open/floor/plasteel, /area/science/mixing) -"dHc" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/mixing) "dHd" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -111995,16 +111981,12 @@ /turf/open/floor/plasteel, /area/science/mixing) "dIk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, /turf/open/floor/plasteel, /area/science/mixing) "dIl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dIm" = ( @@ -112012,14 +111994,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dIn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dIo" = ( @@ -112030,7 +112010,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "dIp" = ( @@ -112918,6 +112897,9 @@ dir = 4 }, /obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "dJM" = ( @@ -112930,6 +112912,9 @@ dir = 4 }, /obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "dJN" = ( @@ -112938,6 +112923,9 @@ }, /obj/effect/turf_decal/bot, /obj/machinery/suit_storage_unit/rd, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "dJO" = ( @@ -112950,6 +112938,9 @@ dir = 4 }, /obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "dJP" = ( @@ -125274,6 +125265,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hydroponics/garden/abandoned) +"esD" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "etO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -125737,6 +125734,13 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"hLf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, +/turf/open/floor/plating, +/area/science/mixing) "hNZ" = ( /obj/structure/chair/office/light{ dir = 8 @@ -125956,6 +125960,12 @@ }, /turf/open/floor/plasteel/white, /area/science/research) +"jdR" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "jeu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -126547,6 +126557,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"mtj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 1 + }, +/turf/open/floor/plating, +/area/science/mixing) "mvm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -126642,6 +126659,17 @@ /obj/machinery/vending/kink, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"nMo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) +"nNN" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space, +/area/space/nearstation) "nOz" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -126911,6 +126939,13 @@ }, /turf/open/floor/plating, /area/science/research/abandoned) +"pwx" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) "pxR" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -127233,6 +127268,13 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) +"tzM" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) "tCh" = ( /turf/closed/wall, /area/science/misc_lab) @@ -127712,6 +127754,13 @@ }, /turf/open/floor/plasteel/white, /area/science/mixing) +"xmL" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) "xok" = ( /obj/machinery/light{ dir = 1 @@ -155077,8 +155126,8 @@ dmy dAt djs dhQ -aad -aaa +atI +jdR aaa aaa aad @@ -155334,8 +155383,8 @@ dAt dBX dDl dhQ -aad -aad +pwx +pwx aad aad abj @@ -155591,8 +155640,8 @@ dhQ dhQ dhQ dhQ -aad -aaa +pwx +esD aaa aaa aad @@ -155846,10 +155895,10 @@ djw fRT dAu caE -aaa -aad -aad -aad +nMo +nNN +xmL +pwx aad aad abj @@ -156103,10 +156152,10 @@ drH dzn cLt caE -aad +pwx drP dEn -dEn +hLf drP dEn drP @@ -156360,7 +156409,7 @@ djA cJT cLx cOj -aaa +esD dEn dFz dGY @@ -156617,7 +156666,7 @@ djA cJS cLu cOj -aad +pwx dEn dFA dGZ @@ -156874,7 +156923,7 @@ djA dzo cLt caE -aaa +esD drP dFB dHa @@ -157131,8 +157180,8 @@ djA dzp cLy cOj -aad -dEn +tzM +mtj dFC dHb dIm @@ -157391,7 +157440,7 @@ cOj aaa dEn dFD -dHc +dHd dIn dJN dEn diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 51bfe5038e..ffa75eb200 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -27414,10 +27414,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating{ icon_state = "platingdmg1" }, @@ -27448,11 +27446,10 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/medbay/central) "aSZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -73372,6 +73369,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/blobstart, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -84288,7 +84286,9 @@ /area/maintenance/starboard) "cOo" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/starboard) "cOx" = ( @@ -84748,6 +84748,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"gwE" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "gxY" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -84854,6 +84861,13 @@ }, /turf/open/floor/engine, /area/science/xenobiology) +"iPI" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "iSg" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -84863,6 +84877,13 @@ /mob/living/simple_animal/hostile/retaliate/ghost, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/fore) +"iXU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) "iZo" = ( /turf/closed/wall/r_wall/rust, /area/medical/virology) @@ -85117,6 +85138,10 @@ /obj/structure/sign/nanotrasen, /turf/closed/wall, /area/maintenance/port/fore) +"kWO" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/maintenance/starboard) "kXo" = ( /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, @@ -85128,6 +85153,10 @@ icon_state = "wood-broken4" }, /area/maintenance/port/fore) +"lht" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "llm" = ( /obj/structure/sign/poster/ripped, /turf/closed/wall, @@ -85154,6 +85183,14 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/security/warden) +"lVT" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "mbs" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/item/pickaxe, @@ -85217,6 +85254,12 @@ /obj/effect/decal/cleanable/dirt, /turf/closed/mineral/random/labormineral, /area/space/nearstation) +"nHl" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space/basic, +/area/space/nearstation) "nJw" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -85274,6 +85317,12 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/security/vacantoffice) +"oXQ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "ppP" = ( /turf/open/floor/wood{ icon_state = "wood-broken7" @@ -85309,6 +85358,13 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/prison) +"qlK" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "qvS" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=W CPH"; @@ -85375,6 +85431,13 @@ /mob/living/carbon/monkey, /turf/open/floor/grass, /area/medical/virology) +"rnD" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ruL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -85382,6 +85445,20 @@ }, /turf/open/floor/plating, /area/security/prison) +"rvN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/starboard) +"rwy" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "rNm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, @@ -85416,12 +85493,28 @@ /obj/structure/sign/warning, /turf/closed/wall/rust, /area/space/nearstation) +"tog" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "tCi" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/wood{ icon_state = "wood-broken3" }, /area/maintenance/port/fore) +"tJC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop Out"; + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/starboard) "uda" = ( /turf/closed/wall/rust, /area/security/warden) @@ -85430,6 +85523,13 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plating, /area/maintenance/port/fore) +"uhv" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "ukP" = ( /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/bot/cleanbot{ @@ -85478,6 +85578,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/security/vacantoffice) +"uOT" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "uRM" = ( /turf/open/floor/wood, /area/security/vacantoffice) @@ -85595,6 +85702,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel/dark, /area/security/prison) +"ygZ" = ( +/obj/structure/lattice, +/obj/structure/grille/broken, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space/basic, +/area/space/nearstation) "ykB" = ( /obj/structure/chair/stool, /turf/open/floor/wood, @@ -128901,9 +129016,9 @@ ava bkd bkd bkd -avA -avA -bkd +tJC +iXU +kWO bBX bkd cwC @@ -129157,10 +129272,10 @@ avA bkd aeu aeu -aeu -acm -aaa -acm +bkd +rvN +rvN +bkd aaa bkd cwD @@ -129415,8 +129530,8 @@ bkd aeu alm acm -aaQ -aeo +iPI +ygZ aeo acm bkd @@ -129672,9 +129787,9 @@ bkd aeu aeU aaa -acm -aaa -acm +iPI +rwy +uhv aaa acm acK @@ -129928,10 +130043,10 @@ aaa bhq aeu aUz -aaa -aaQ -aaa -acm +oXQ +lVT +rnD +gwE aaa acm aaa @@ -130185,10 +130300,10 @@ aaa akA aeu aeU -aaa +qlK aeo -aaa -acm +rwy +uhv aaa acm aaa @@ -130442,10 +130557,10 @@ aaa cko aeu aeu -aeU -acm -aaa -acK +nHl +tog +lht +uOT acm acK aaa diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index a0d54edb91..b87c755979 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -391,8 +391,12 @@ /turf/open/space, /area/solar/port/fore) "abk" = ( -/turf/closed/wall/r_wall, -/area/asteroid/nearstation) +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "abl" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -720,9 +724,6 @@ /obj/machinery/doppler_array/research/science{ dir = 1 }, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, /obj/item/radio/intercom{ dir = 8; pixel_x = -28 @@ -742,14 +743,17 @@ /turf/open/floor/plasteel, /area/science/mixing) "acf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, /obj/machinery/button/massdriver{ id = "toxinsdriver"; pixel_x = 24; pixel_y = 24 }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/mixing) "acg" = ( @@ -1137,13 +1141,13 @@ /turf/open/floor/plasteel, /area/science/mixing) "adb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, /turf/open/floor/plasteel, /area/science/mixing) "adc" = ( @@ -1153,13 +1157,9 @@ "add" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/mixing) "ade" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, /obj/machinery/light, /turf/open/floor/plasteel, /area/science/mixing) @@ -4424,7 +4424,6 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "ajC" = ( -/obj/effect/turf_decal/stripes/line, /obj/machinery/camera/autoname{ dir = 1 }, @@ -10504,6 +10503,10 @@ "atH" = ( /turf/closed/wall/r_wall, /area/science/server) +"atI" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "atJ" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -63631,10 +63634,26 @@ }, /turf/open/space/basic, /area/solar/starboard/aft) +"egV" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "ehl" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/paramedic) +"ehs" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "eia" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -64004,6 +64023,12 @@ }, /turf/open/floor/plating, /area/maintenance/aft) +"eLb" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "eMH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -64435,6 +64460,9 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"fvD" = ( +/turf/open/floor/plasteel, +/area/science/mixing) "fvI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/binary/pump{ @@ -65459,6 +65487,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"hbf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/maintenance/fore) "hbS" = ( /obj/machinery/button/door{ id = "engstorage"; @@ -66197,6 +66234,13 @@ icon_state = "platingdmg2" }, /area/maintenance/aft) +"iIs" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "iJd" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch{ @@ -66614,6 +66658,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/atmos) +"jwN" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "jEf" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -67109,6 +67159,11 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) +"krP" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "krZ" = ( /obj/structure/cable{ icon_state = "2-8" @@ -67214,6 +67269,15 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/command) +"kFO" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "kJN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1, /obj/structure/table, @@ -68138,6 +68202,15 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"mkV" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "mmA" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -70166,6 +70239,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/electrical) +"qPP" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 1 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "qSJ" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable{ @@ -70410,6 +70490,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/cargo) +"rsU" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) "rtC" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{ dir = 4 @@ -71613,6 +71700,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/maintenance/aft) +"ucV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "ufs" = ( /obj/machinery/light/small{ dir = 8 @@ -72684,6 +72777,15 @@ }, /turf/open/space, /area/space/nearstation) +"wgn" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop In" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "wgU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output, /turf/open/floor/engine/vacuum, @@ -72988,6 +73090,15 @@ "wPh" = ( /turf/closed/wall, /area/hallway/secondary/entry) +"wPU" = ( +/obj/structure/chair/office/dark{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "wQP" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -73270,6 +73381,11 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"xzG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plating, +/area/science/mixing) "xAN" = ( /turf/closed/wall, /area/maintenance/department/electrical) @@ -99141,7 +99257,7 @@ aaA aaA aaA abY -aUL +hbf afP afB acw @@ -100418,11 +100534,11 @@ aaA aaA aaA aaA -abk -abk -abk -abk -abk +aaQ +aaQ +aaQ +aaQ +aaQ aaA aaA abY @@ -103763,8 +103879,8 @@ aAY aAY aAY aAY -aAY -aAY +aaA +aaA abJ acb acF @@ -104009,20 +104125,20 @@ aab aab aab aab -aab -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY +aaa +aaa +aaa +abk +krP +krP +krP +qPP +atI +ucV aAY abK +abK +abJ acc acG adb @@ -104268,19 +104384,19 @@ aab aab aab aaa -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -abK -ace +aaa +rsU +krP +krP +krP +iIs +aac +jwN +atI +xzG +kFO +mkV +eLb acH ajC abJ @@ -104525,19 +104641,19 @@ aab aab aab aaa -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY +aac +abk +krP +krP +krP +egV +aac aAY aAY abK -ace +wPU +fvD +fvD acI add adv @@ -104781,19 +104897,19 @@ aab aab aab aab -aaa -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -aAY -abK +aac +aac +rsU +krP +krP +krP +qPP +atI +atI +atI +xzG +wgn +ehs acf adH ade @@ -105048,8 +105164,8 @@ aaA aaA aaA aaA -aaA -aaA +abJ +abJ abJ abK abK diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 218044c6c2..64af02437d 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -76185,6 +76185,14 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) +"cYI" = ( +/obj/machinery/camera{ + c_tag = "Research Division Circuitry Lab"; + dir = 1; + network = list("ss13","rd") + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "cYJ" = ( /obj/docking_port/stationary{ dir = 2; @@ -79847,12 +79855,12 @@ /turf/open/floor/plating, /area/chapel/main) "dka" = ( -/obj/structure/noticeboard{ - dir = 1; - pixel_y = -32 +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 }, -/turf/open/floor/plasteel/white, -/area/science/circuit) +/turf/open/space, +/area/space/nearstation) "dlI" = ( /turf/closed/wall/r_wall, /area/engine/supermatter) @@ -81295,6 +81303,14 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"etb" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "etr" = ( /obj/machinery/vr_sleeper, /turf/open/floor/plasteel, @@ -81335,6 +81351,11 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"faU" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "fdr" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -81515,6 +81536,11 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"idz" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "ioI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -81532,6 +81558,12 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/cryopod) +"izh" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "izu" = ( /obj/machinery/autolathe{ name = "public autolathe" @@ -81674,6 +81706,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) +"jDS" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "jKK" = ( /obj/machinery/door/airlock/external{ req_access_txt = "13" @@ -81907,6 +81946,16 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/plasteel, /area/science/robotics/lab) +"lUv" = ( +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -32 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "lWL" = ( /obj/machinery/smartfridge/organ/preloaded, /turf/closed/wall, @@ -82010,6 +82059,13 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"mIJ" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/space, +/area/space/nearstation) "mSd" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -82105,6 +82161,13 @@ }, /turf/open/floor/plasteel, /area/construction/storage/wing) +"nKU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/science/circuit) "nLT" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -82325,6 +82388,13 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) +"pDn" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space/basic, +/area/space/nearstation) "pEv" = ( /obj/machinery/airalarm{ dir = 8; @@ -82397,6 +82467,12 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"qaK" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "qhe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -82442,6 +82518,11 @@ "qBq" = ( /turf/closed/wall/mineral/plastitanium, /area/hallway/secondary/entry) +"qEc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, +/turf/open/floor/plating, +/area/science/circuit) "qJZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -82459,13 +82540,12 @@ /turf/open/floor/plating, /area/crew_quarters/cryopod) "qRM" = ( -/obj/machinery/camera{ - c_tag = "Research Division Circuitry Lab"; - dir = 1; - network = list("ss13","rd") +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 }, -/turf/open/floor/plasteel/white, -/area/science/circuit) +/turf/open/space, +/area/space/nearstation) "qVR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -82623,6 +82703,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) +"sqe" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "stP" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Fuel Pipe" @@ -82708,6 +82792,13 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/cryopod) +"tfs" = ( +/obj/machinery/light, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "tre" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -82756,6 +82847,13 @@ }, /turf/open/floor/plasteel/dark, /area/medical/morgue) +"tID" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop Out"; + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "tUa" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -82871,6 +82969,13 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"vda" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) "vgd" = ( /obj/item/taperecorder, /obj/item/camera, @@ -82935,6 +83040,11 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space) +"vYs" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space, +/area/space/nearstation) "wdu" = ( /obj/structure/grille, /obj/structure/lattice, @@ -83006,6 +83116,13 @@ /obj/effect/turf_decal/stripes/line, /turf/closed/wall, /area/science/circuit) +"wNQ" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "wOE" = ( /obj/machinery/door/airlock/external{ name = "Atmospherics External Airlock"; @@ -83135,6 +83252,13 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"xHA" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop In"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/science/circuit) "xIi" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -83161,6 +83285,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/vacantoffice) +"xUO" = ( +/turf/open/space, +/area/space/nearstation) "xVl" = ( /turf/closed/wall, /area/hallway/secondary/service) @@ -83186,6 +83313,13 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) +"yfk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "yfW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -83209,9 +83343,12 @@ /turf/open/floor/plasteel, /area/science/circuit) "ykE" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/white, -/area/science/circuit) +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) (1,1,1) = {" oRp @@ -120387,11 +120524,11 @@ kOt gRS oUA cxO -qRM +cxO +cYI krD aaf aaf -aaf anS anS anS @@ -120644,9 +120781,9 @@ oLW gGT wPk dGH -dka +cxO +lUv krD -aaf aaa aaf aaf @@ -120901,12 +121038,12 @@ ocT xkG uTS cxO -ykE +cxO +tfs krD aaa aaa aaa -aaa aaf aaa aaf @@ -121159,9 +121296,9 @@ llb uTS cxO cxO -krD -aaa -aaa +tID +noG +lMJ aaa aaa aaf @@ -121415,13 +121552,13 @@ lsv txj eEe cxO -cxO -krD -aaa -aaa -aaa -aaf -aaf +izh +qaK +qEc +idz +idz +vYs +mIJ aaa anT aaf @@ -121672,13 +121809,13 @@ jyv ohj nnK cxO +xHA cxO krD aaa aaa aaa -aaa -aaf +qRM aaa anT aaf @@ -121929,13 +122066,13 @@ krD noG krD noG +nKU krD krD -aaa -aaa -aaa -aaa -aaf +yfk +idz +idz +vda aaa aqB aaa @@ -122181,18 +122318,18 @@ dvY dvY dvY aaf -aaf -aaf +dka +vYs +idz +idz +idz +jDS aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf -aaf +wNQ +idz +vYs +mIJ aaf anT aaa @@ -122438,18 +122575,18 @@ crc aaf ctl aaa -aaf -aaf +qRM +xUO anT anT anT -aaf -aaf -aaf -lMJ -lMJ -aaf -aaa +ake +ake +ake +pDn +faU +vYs +jDS aaf anT aaf @@ -122695,17 +122832,17 @@ crd ack ack aaf -aaf +ykE +idz +sqe +sqe +idz +idz +idz +idz +etb aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaf +ake aaf aaf anT diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 5149033cb4..eabbdbb656 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -1741,7 +1741,7 @@ pixel_x = 12 }, /obj/machinery/shower{ - pixel_y = 26 + pixel_y = 16 }, /turf/open/floor/plasteel/freezer, /area/security/prison) @@ -39574,10 +39574,21 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit) +"boE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "bpj" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/machinery/camera{ + c_tag = "Toxins Launch Room Access"; + dir = 4 + }, /turf/open/floor/plasteel, /area/science/mixing) "bpn" = ( @@ -39586,6 +39597,12 @@ }, /turf/closed/wall/r_wall, /area/maintenance/disposal/incinerator) +"bpo" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "bpB" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 10 @@ -40604,10 +40621,6 @@ }, /area/engine/atmos) "bOJ" = ( -/obj/machinery/camera{ - c_tag = "Toxins Launch Room Access"; - dir = 1 - }, /obj/effect/turf_decal/stripes/corner{ dir = 8 }, @@ -41121,6 +41134,12 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/closed/wall/r_wall, /area/science/mixing) +"eXV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "eYe" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/public/glass{ @@ -41233,6 +41252,10 @@ /obj/item/wrench, /turf/open/space, /area/space/nearstation) +"foz" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plasteel, +/area/science/mixing) "fsl" = ( /obj/docking_port/stationary{ dir = 2; @@ -41526,6 +41549,12 @@ }, /turf/open/floor/plasteel/dark, /area/engine/atmos) +"gZk" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "heQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/navbeacon{ @@ -41580,6 +41609,13 @@ }, /turf/closed/wall/r_wall/rust, /area/engine/atmos) +"hyX" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "hAy" = ( /obj/machinery/power/apc{ areastring = "/area/science/mixing"; @@ -41820,6 +41856,13 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"iOL" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "iUq" = ( /obj/machinery/status_display, /turf/closed/wall, @@ -42031,6 +42074,13 @@ }, /turf/closed/wall/r_wall/rust, /area/engine/atmos) +"jEK" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "jFP" = ( /turf/open/space/basic, /area/space/station_ruins) @@ -42045,6 +42095,11 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/science/mixing) +"jIu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/turf/open/floor/plasteel, +/area/science/mixing) "jLF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -42065,8 +42120,16 @@ /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/plasteel, /area/science/mixing) +"jYq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "kaA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -42078,6 +42141,12 @@ }, /turf/open/floor/plasteel/cafeteria, /area/engine/atmos) +"kcN" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "kit" = ( /obj/machinery/portable_atmospherics/canister/toxins, /obj/machinery/light/small{ @@ -42096,6 +42165,11 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"kpi" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "kqH" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 4; @@ -42107,6 +42181,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/science/mixing) +"kuK" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plasteel, +/area/science/mixing) "kwF" = ( /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 @@ -42209,7 +42287,7 @@ /turf/closed/wall/r_wall/rust, /area/science/storage) "lmq" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/plating, /area/science/storage) "low" = ( @@ -42379,6 +42457,13 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"mdx" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "meo" = ( /turf/closed/wall/r_wall/rust, /area/science/mixing) @@ -42513,10 +42598,27 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"nbT" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1; + name = "Space Loop Out" + }, +/turf/open/floor/plasteel, +/area/science/mixing) "ndg" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"nfS" = ( +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/turf/open/floor/plating, +/area/science/storage) +"ngY" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "nhU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -42708,6 +42810,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/vacuum, /area/maintenance/disposal/incinerator) +"oys" = ( +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel, +/area/science/mixing) "oyD" = ( /turf/closed/wall, /area/crew_quarters/toilet/restrooms) @@ -42785,6 +42891,12 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"oXz" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "pbT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -42976,6 +43088,12 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) +"pMh" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "pNE" = ( /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -44007,6 +44125,13 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit) +"sIm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/science/mixing) "sIu" = ( /turf/closed/wall/r_wall/rust, /area/engine/gravity_generator) @@ -46249,6 +46374,9 @@ /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "ujg" = ( @@ -46377,6 +46505,19 @@ }, /turf/open/floor/plasteel/dark, /area/engine/gravity_generator) +"uDp" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) +"uEu" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "uGq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/red{ @@ -46635,6 +46776,10 @@ dir = 1 }, /area/engine/atmos) +"vKE" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, +/turf/open/floor/plating/asteroid/airless, +/area/asteroid/nearstation) "vMb" = ( /turf/open/floor/engine/n2o, /area/engine/atmos) @@ -46779,6 +46924,13 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel, /area/science/mixing) +"wRY" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "wUF" = ( /obj/machinery/door/airlock/atmos/glass/critical{ heat_proof = 1; @@ -97368,7 +97520,7 @@ meo sVt sVt sVt -aad +iio aad aad aad @@ -97620,13 +97772,13 @@ meo uiT bfq bpj +oys +oys +oys +oys +fjN iio aad -aad -aad -aad -aad -aad aaa aaa aaa @@ -97877,12 +98029,12 @@ sVt kQn lFm fjN -iio -aad -aad -aad -aad -aad +hVE +hVE +hVE +hVE +pMh +kuK aac aaa aaa @@ -98134,15 +98286,15 @@ ucd vZb iiW bOJ -iio -aad -aad -aad -aad -aad -aac -aaa -aaa +foz +nbT +ngY +oXz +bpo +jIu +vKE +kpi +mdx aaa aaa aaa @@ -98386,20 +98538,20 @@ aac aad eGm lmq -lmq +nfS sVt iio upN iio iio iio -aad -aad -aad +iio +sIm +boE +iio aac -aac -aaa -aaa +sdX +jEK aaa aaa aaa @@ -98651,12 +98803,12 @@ uTF gGq iio aad -aad -aad aac -aaa -aaa -aaa +gZk +uDp +uEu +hyX +jEK jFP jFP jFP @@ -98908,12 +99060,12 @@ msG ogL iio aad -aad -aad aac -aaa -aaa -aaa +aac +eXV +wRY +wRY +jEK jFP jFP jFP @@ -99165,12 +99317,12 @@ msG diQ iio aad -aad aac aac -aaa -aaa -aaa +kcN +wRY +wRY +jEK jFP jFP jFP @@ -99424,10 +99576,10 @@ iio aac aac aac -aaa -aaa -aaa -aaa +jEK +wRY +wRY +jEK jFP jFP jFP @@ -99681,10 +99833,10 @@ sdX aac aac aac -aaa -aaa -aaa -aaa +jEK +wRY +wRY +jEK jFP jFP jFP @@ -99938,10 +100090,10 @@ sdX aaa aac aaa -aaa -aaa -aaa -aaa +jEK +wRY +wRY +jEK jFP jFP jFP @@ -100195,10 +100347,10 @@ sdX aaa aaa aaa -aaa -aaa -aaa -aaa +jYq +iOL +jYq +iOL jFP jFP jFP diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 3e79030b78..0f77d35dd5 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -34077,9 +34077,13 @@ /turf/closed/wall, /area/science/mixing) "bAG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, -/area/science/mixing) +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/department/science) "bAH" = ( /obj/structure/disposaloutlet, /obj/structure/disposalpipe/trunk{ @@ -37242,12 +37246,15 @@ req_access_txt = "8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 + dir = 4 }, /turf/open/floor/plating, /area/science/mixing) "bGB" = ( /obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/department/science) "bGD" = ( @@ -37753,13 +37760,13 @@ /turf/open/floor/plasteel, /area/science/mixing) "bHD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, /area/science/mixing) "bHE" = ( @@ -38317,11 +38324,12 @@ /turf/open/floor/plasteel, /area/science/mixing) "bIP" = ( -/obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, /area/maintenance/department/science) "bIQ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -38331,11 +38339,9 @@ /area/maintenance/department/science) "bIR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" + dir = 10 }, +/turf/open/floor/plating, /area/maintenance/department/science) "bIT" = ( /obj/structure/window/reinforced{ @@ -39403,7 +39409,7 @@ dir = 4 }, /obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -40359,11 +40365,12 @@ /turf/open/floor/engine/vacuum, /area/science/mixing) "bNq" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 1 +/obj/machinery/door/airlock/maintenance{ + name = "Toxins Launch Maintenance"; + req_access_txt = "8" }, -/turf/open/floor/plating/airless, -/area/science/mixing) +/turf/open/floor/plating, +/area/maintenance/department/science) "bNr" = ( /obj/structure/window/reinforced{ dir = 4 @@ -40798,11 +40805,10 @@ /turf/open/floor/engine/vacuum, /area/science/mixing) "bOu" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 6 +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 }, -/turf/open/space, +/turf/open/floor/plating/airless, /area/science/mixing) "bOv" = ( /obj/structure/window/reinforced{ @@ -54165,11 +54171,10 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "fwr" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/closed/wall, -/area/science/mixing) +/obj/machinery/door/airlock/maintenance/abandoned, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/department/science) "fwI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ @@ -54258,6 +54263,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/science/mixing) "fBZ" = ( @@ -54461,6 +54467,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"gjv" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Space Loop In"; + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/department/science) "gjN" = ( /obj/item/weldingtool, /obj/effect/spawner/lootdrop/maintenance, @@ -54810,10 +54823,11 @@ /turf/open/floor/plasteel/dark, /area/hallway/secondary/exit/departure_lounge) "gMm" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 + dir = 5 }, -/turf/closed/wall, +/turf/open/floor/plating, /area/science/mixing) "gMO" = ( /obj/structure/plasticflaps/opaque, @@ -55085,6 +55099,13 @@ /obj/item/clothing/glasses/regular, /turf/open/floor/plating, /area/maintenance/department/science) +"hxI" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) "hyh" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 @@ -55189,6 +55210,12 @@ /obj/machinery/power/rad_collector/anchored, /turf/open/floor/engine, /area/engine/supermatter) +"hMx" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/department/science) "hOx" = ( /obj/structure/cable{ icon_state = "2-4" @@ -55450,6 +55477,13 @@ /obj/machinery/processor/slime, /turf/open/floor/plasteel/white, /area/science/xenobiology) +"ilE" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) "imE" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -57131,6 +57165,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/aft) +"mhK" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space/basic, +/area/space/nearstation) "miw" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/visible, /obj/structure/cable/yellow{ @@ -57383,6 +57422,13 @@ }, /turf/open/floor/plating, /area/maintenance/department/engine) +"mJp" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space/basic, +/area/space/nearstation) "mKc" = ( /obj/structure/bookcase/random/nonfiction, /turf/open/floor/plasteel/dark, @@ -59579,12 +59625,10 @@ /turf/open/floor/plating, /area/chapel/asteroid/monastery) "rBh" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plating{ + icon_state = "platingdmg1" }, -/turf/open/floor/plating, /area/maintenance/department/science) "rEh" = ( /obj/structure/table/glass, @@ -60153,6 +60197,12 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"tfx" = ( +/obj/machinery/atmospherics/components/binary/valve{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/department/science) "tfP" = ( /obj/item/beacon, /turf/open/floor/engine, @@ -60207,6 +60257,13 @@ /obj/structure/table, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"tlp" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) "tlw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, @@ -61929,6 +61986,11 @@ }, /turf/open/floor/plasteel/dark, /area/science/xenobiology) +"xlg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction, +/turf/open/floor/plating, +/area/maintenance/department/science) "xlA" = ( /obj/machinery/door/airlock/maintenance/abandoned, /turf/open/floor/plating, @@ -62181,6 +62243,13 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plasteel/freezer, /area/storage/emergency/port) +"xQk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) "xSd" = ( /obj/machinery/light/small, /turf/open/floor/plating, @@ -105349,7 +105418,7 @@ bHy bHy bHy bOs -aht +mZE aaa aaa aaa @@ -105606,7 +105675,7 @@ bCV bCV bCV bOu -bNq +aht aaa aaa aaa @@ -106115,7 +106184,7 @@ bFt bGy bHD fBz -bCV +gMm bCV bCV bCV @@ -106627,17 +106696,17 @@ bwm bAF bAF bGA -bAG -fwr -gMm bAF bAF -aht -aht -abI -abI -abI -abI +bAF +bAF +bAF +uaO +dsz +xQk +hxI +xQk +hxI abI abI abI @@ -106883,18 +106952,18 @@ cDB lWy tSL lWy -cDB +bAG bwm rBh -bwm -aht -aht -aht -aaa -aht -aaa -aaa -aaa +gjv +tfx +xlg +mJp +nqu +mJp +nqu +tlp +ilE aaa aaa aaa @@ -107140,18 +107209,18 @@ cDB hxn uvq bFx -tSL -bwm bIP -bwm -aht -aaa -aht -aaa -aht -aht -aht -aht +bNq +tSL +hMx +tfx +xlg +mhK +wIo +mhK +mhK +mhK +hyh aht aaa aaa @@ -107399,16 +107468,16 @@ obP bFy bGB bwm -bIQ bwm -aht +bwm +rNB bwm bwm rNB bwm rNB bwm -aaa +cdm aby aaa aaa @@ -107654,9 +107723,9 @@ rKL lWy lWy bFz -lWy -xlA bIR +fwr +eMC bwm aht bwm diff --git a/_maps/shuttles/snow_taxi.dmm b/_maps/shuttles/snow_taxi.dmm index 55259fa1fe..bc6b8761e0 100644 --- a/_maps/shuttles/snow_taxi.dmm +++ b/_maps/shuttles/snow_taxi.dmm @@ -39,6 +39,7 @@ name = "Mining Shuttle Airlock" }, /obj/docking_port/mobile{ + callTime = 5; dwidth = 3; height = 4; id = "snow_taxi"; diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index c6cc6a5037..3b4c674079 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -5,6 +5,7 @@ #define SPECIES_ANDROID "android" #define SPECIES_ANGEL "angel" #define SPECIES_MAMMAL "mammal" +#define SPECIES_ARACHNID "arachnid" #define SPECIES_INSECT "insect" #define SPECIES_DULLAHAN "dullahan" #define SPECIES_DWARF "dwarf" @@ -34,6 +35,7 @@ #define SPECIES_SYNTH_MIL "military_synth" #define SPECIES_VAMPIRE "vampire" #define SPECIES_XENOHYBRID "xeno" +#define SPECIES_ZOMBIE "zombie" // Species Category Defines --------------------- @@ -45,6 +47,7 @@ #define SPECIES_CATEGORY_PLANT "plant" #define SPECIES_CATEGORY_ROBOT "robotic" #define SPECIES_CATEGORY_JELLY "jelly" +#define SPECIES_CATEGORY_LIZARD "lizard" #define SPECIES_CATEGORY_SHADOW "shadow" #define SPECIES_CATEGORY_SKELETON "skeleton" #define SPECIES_CATEGORY_UNDEAD "undead" diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 1dea40a802..47b93928d4 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -158,8 +158,8 @@ SUBSYSTEM_DEF(traumas) /obj/item/clothing/head/frenchberet, /obj/item/clothing/suit/suspenders, /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing, /obj/item/storage/backpack/mime, /obj/item/reagent_containers/food/snacks/grown/banana/mime, /obj/item/grown/bananapeel/mimanapeel, /obj/item/cartridge/virus/mime, /obj/item/clothing/shoes/sneakers/mime, - /obj/item/bedsheet/mime, /obj/item/reagent_containers/food/snacks/burger/mime, /obj/item/clothing/head/beret, /obj/item/clothing/mask/gas/sexymime, - /obj/item/clothing/under/rank/civilian/mime/sexy, /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)), + /obj/item/bedsheet/mime, /obj/item/reagent_containers/food/snacks/burger/mime, /obj/item/clothing/head/beret, + /obj/item/toy/figure/mime, /obj/item/toy/crayon/mime, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced, /obj/mecha/combat/reticence)), "cats" = typecacheof(list(/obj/item/organ/ears/cat, /obj/item/organ/tail/cat, /obj/item/laser_pointer, /obj/item/toy/cattoy, /obj/item/clothing/head/kitty, /obj/item/clothing/head/collectable/kitty, /obj/item/melee/chainofcommand/tailwhip/kitty, /obj/item/stack/sheet/animalhide/cat)), diff --git a/code/datums/action.dm b/code/datums/action.dm index fbf7487e4d..4e65a0a698 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -273,6 +273,13 @@ if(istype(H)) H.toggle_welding_screen(owner) +/datum/action/item_action/toggle_welding_screen/plasmaman + +/datum/action/item_action/toggle_welding_screen/plasmaman/Trigger() + var/obj/item/clothing/head/helmet/space/plasmaman/H = target + if(istype(H)) + H.toggle_welding_screen(owner) + /datum/action/item_action/toggle_headphones name = "Toggle Headphones" desc = "UNTZ UNTZ UNTZ" diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 36faba256e..b8191a377b 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -25,7 +25,7 @@ RegisterSignal(parent, list(COMSIG_ATOM_ENTERED, COMSIG_ATOM_BLOB_ACT, COMSIG_ATOM_HULK_ATTACK, COMSIG_PARENT_ATTACKBY), .proc/play_squeak) if(ismovable(parent)) RegisterSignal(parent, list(COMSIG_MOVABLE_BUMP, COMSIG_MOVABLE_IMPACT), .proc/play_squeak) - RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED, COMSIG_MOVABLE_CROSS), .proc/play_squeak_crossed) + RegisterSignal(parent, list(COMSIG_MOVABLE_CROSSED, COMSIG_ITEM_WEARERCROSSED), .proc/play_squeak_crossed) RegisterSignal(parent, COMSIG_CROSS_SQUEAKED, .proc/delay_squeak) RegisterSignal(parent, COMSIG_MOVABLE_DISPOSING, .proc/disposing_react) if(isitem(parent)) diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index f952307685..44775ed031 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -236,12 +236,12 @@ switch(stage) if(1) if(ishuman(affected_mob) && affected_mob.dna) - if(affected_mob.dna.species.id == "slime" || affected_mob.dna.species.id == "stargazer" || affected_mob.dna.species.id == "slimelumi") + if(affected_mob.dna.species.id == SPECIES_SLIME_LUMI || affected_mob.dna.species.id == SPECIES_STARGAZER || affected_mob.dna.species.id == SPECIES_SLIME_LUMI) stage = 5 if(3) if(ishuman(affected_mob)) var/mob/living/carbon/human/human = affected_mob - if(human.dna.species.id != "slime" && affected_mob.dna.species.id != "stargazer" && affected_mob.dna.species.id != "slimelumi") + if(human.dna.species.id != SPECIES_SLIME_LUMI && affected_mob.dna.species.id != SPECIES_STARGAZER && affected_mob.dna.species.id != SPECIES_SLIME_LUMI) human.set_species(/datum/species/jelly/slime) /datum/disease/transformation/corgi diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm index b75df644eb..4304fc3c9c 100644 --- a/code/game/objects/effects/spawners/bundle.dm +++ b/code/game/objects/effects/spawners/bundle.dm @@ -160,13 +160,13 @@ /obj/effect/spawner/bundle/costume/sexyclown name = "sexy clown costume spawner" items = list( - /obj/item/clothing/mask/gas/sexyclown, + /obj/item/clothing/mask/gas/clown_hat/sexy, /obj/item/clothing/under/rank/civilian/clown/sexy) /obj/effect/spawner/bundle/costume/sexymime name = "sexy mime costume spawner" items = list( - /obj/item/clothing/mask/gas/sexymime, + /obj/item/clothing/mask/gas/mime/sexy, /obj/item/clothing/under/rank/civilian/mime/sexy) /obj/effect/spawner/bundle/crate/Initialize(mapload) diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 6aab698a4a..0679d9ffac 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -33,7 +33,9 @@ H.saved_socks = H.socks // Mutant randomizing, doesn't affect the mob appearance unless it's the specific mutant. - H.dna.features["mcolor"] = random_short_color() + H.dna.features["mcolor"] = sanitize_hexcolor(random_short_color(), 6) + H.dna.features["mcolor2"] = sanitize_hexcolor(random_short_color(), 6) + H.dna.features["mcolor3"] = sanitize_hexcolor(random_short_color(), 6) H.dna.features["tail_lizard"] = pick(GLOB.tails_list_lizard) H.dna.features["snout"] = pick(GLOB.snouts_list) H.dna.features["horns"] = pick(GLOB.horns_list) diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm index 6c732e3ee1..350a08dce6 100644 --- a/code/modules/atmospherics/machinery/datum_pipeline.dm +++ b/code/modules/atmospherics/machinery/datum_pipeline.dm @@ -208,7 +208,11 @@ stack_trace("[src]([REF(src)]) has one or more null gas mixtures, which may cause bugs. Null mixtures will not be considered in reconcile_air().") return listclearnulls(.) -/datum/pipeline/proc/reconcile_air() +/datum/pipeline/proc/empty() + for(var/datum/gas_mixture/GM in get_all_connected_airs()) + GM.clear() + +/datum/pipeline/proc/get_all_connected_airs() var/list/datum/gas_mixture/GL = list() var/list/datum/pipeline/PL = list() PL += src @@ -233,6 +237,10 @@ var/obj/machinery/atmospherics/components/unary/portables_connector/C = atmosmch if(C.connected_device) GL += C.portableConnectorReturnAir() + return GL + +/datum/pipeline/proc/reconcile_air() + var/list/datum/gas_mixture/GL = get_all_connected_airs() var/total_thermal_energy = 0 var/total_heat_capacity = 0 diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 07f98e3538..aa7eeb9ad3 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -263,14 +263,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car path = "data/player_saves/[ckey[1]]/[ckey]/[filename]" vr_path = "data/player_saves/[ckey[1]]/[ckey]/vore" -/datum/preferences/proc/load_preferences() +/datum/preferences/proc/load_preferences(bypass_cooldown = FALSE) if(!path) return FALSE - if(world.time < loadprefcooldown) - if(istype(parent)) - to_chat(parent, "You're attempting to load your preferences a little too fast. Wait half a second, then try again.") - return FALSE - loadprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN + if(!bypass_cooldown) + if(world.time < loadprefcooldown) + if(istype(parent)) + to_chat(parent, "You're attempting to load your preferences a little too fast. Wait half a second, then try again.") + return FALSE + loadprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN if(!fexists(path)) return FALSE @@ -355,8 +356,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car fcopy(S, bacpath) //byond helpfully lets you use a savefile for the first arg. update_preferences(needs_update, S) //needs_update = savefile_version if we need an update (positive integer) - - //Sanitize ooccolor = sanitize_ooccolor(sanitize_hexcolor(ooccolor, 6, 1, initial(ooccolor))) lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) @@ -412,11 +411,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car continue max_save_slots = max(max_save_slots, slotnum) //so we can still update byond member slots after they lose memeber status default_slot = slotnum - if (load_character()) // this updtates char slots - save_character() + if (load_character(null, TRUE)) // this updtates char slots + save_character(TRUE) default_slot = old_default_slot max_save_slots = old_max_save_slots - save_preferences() + save_preferences(TRUE) return TRUE @@ -438,14 +437,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(!GLOB.keybindings_by_name[bindname]) modless_key_bindings -= key -/datum/preferences/proc/save_preferences() +/datum/preferences/proc/save_preferences(bypass_cooldown = FALSE) if(!path) return 0 - if(world.time < saveprefcooldown) - if(istype(parent)) - to_chat(parent, "You're attempting to save your preferences a little too fast. Wait half a second, then try again.") - return 0 - saveprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN + if(!bypass_cooldown) + if(world.time < saveprefcooldown) + if(istype(parent)) + to_chat(parent, "You're attempting to save your preferences a little too fast. Wait half a second, then try again.") + return 0 + saveprefcooldown = world.time + PREF_SAVELOAD_COOLDOWN var/savefile/S = new /savefile(path) if(!S) return 0 @@ -506,14 +506,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car return 1 -/datum/preferences/proc/load_character(slot) +/datum/preferences/proc/load_character(slot, bypass_cooldown = FALSE) if(!path) return FALSE - if(world.time < loadcharcooldown) //This is before the check to see if the filepath exists to ensure that BYOND can't get hung up on read attempts when the hard drive is a little slow - if(istype(parent)) - to_chat(parent, "You're attempting to load your character a little too fast. Wait half a second, then try again.") - return "SLOW THE FUCK DOWN" //the reason this isn't null is to make sure that people don't have their character slots overridden by random chars if they accidentally double-click a slot - loadcharcooldown = world.time + PREF_SAVELOAD_COOLDOWN + if(!bypass_cooldown) + if(world.time < loadcharcooldown) //This is before the check to see if the filepath exists to ensure that BYOND can't get hung up on read attempts when the hard drive is a little slow + if(istype(parent)) + to_chat(parent, "You're attempting to load your character a little too fast. Wait half a second, then try again.") + return "SLOW THE FUCK DOWN" //the reason this isn't null is to make sure that people don't have their character slots overridden by random chars if they accidentally double-click a slot + loadcharcooldown = world.time + PREF_SAVELOAD_COOLDOWN if(!fexists(path)) return FALSE var/savefile/S = new /savefile(path) @@ -884,14 +885,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car return 1 -/datum/preferences/proc/save_character() +/datum/preferences/proc/save_character(bypass_cooldown = FALSE) if(!path) return 0 - if(world.time < savecharcooldown) - if(istype(parent)) - to_chat(parent, "You're attempting to save your character a little too fast. Wait half a second, then try again.") - return 0 - savecharcooldown = world.time + PREF_SAVELOAD_COOLDOWN + if(!bypass_cooldown) + if(world.time < savecharcooldown) + if(istype(parent)) + to_chat(parent, "You're attempting to save your character a little too fast. Wait half a second, then try again.") + return 0 + savecharcooldown = world.time + PREF_SAVELOAD_COOLDOWN var/savefile/S = new /savefile(path) if(!S) return 0 diff --git a/code/modules/clothing/masks/_masks.dm b/code/modules/clothing/masks/_masks.dm index 94f7ee179a..c4063108db 100644 --- a/code/modules/clothing/masks/_masks.dm +++ b/code/modules/clothing/masks/_masks.dm @@ -44,30 +44,38 @@ var/mob/M = loc M.update_inv_wear_mask() -//Proc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption -/obj/item/clothing/mask/proc/adjustmask(mob/living/user) +/** + * Proc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption + * The flavor_details variable is for masks that use this function only to toggle HIDEFACE for identity. + */ +/obj/item/clothing/mask/proc/adjustmask(mob/living/user, just_flavor = FALSE) if(user && user.incapacitated()) - return + return FALSE mask_adjusted = !mask_adjusted if(!mask_adjusted) - src.icon_state = initial(icon_state) - gas_transfer_coefficient = initial(gas_transfer_coefficient) - permeability_coefficient = initial(permeability_coefficient) - clothing_flags |= visor_flags + if(!just_flavor) + src.icon_state = initial(icon_state) + gas_transfer_coefficient = initial(gas_transfer_coefficient) + permeability_coefficient = initial(permeability_coefficient) + slot_flags = initial(slot_flags) + flags_cover |= visor_flags_cover + clothing_flags |= visor_flags flags_inv |= visor_flags_inv - flags_cover |= visor_flags_cover - to_chat(user, "You push \the [src] back into place.") - slot_flags = initial(slot_flags) else - icon_state += "_up" - to_chat(user, "You push \the [src] out of the way.") - gas_transfer_coefficient = null - permeability_coefficient = null - clothing_flags &= ~visor_flags + if(!just_flavor) + icon_state += "_up" + gas_transfer_coefficient = null + permeability_coefficient = null + clothing_flags &= ~visor_flags + flags_cover &= ~visor_flags_cover + if(adjusted_flags) + slot_flags = adjusted_flags flags_inv &= ~visor_flags_inv - flags_cover &= ~visor_flags_cover - if(adjusted_flags) - slot_flags = adjusted_flags if(user) - user.wear_mask_update(src, toggle_off = mask_adjusted) - user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off. + if(!just_flavor) + to_chat(user, "You push \the [src] [mask_adjusted ? "out of the way" : "back into place"].") + user.wear_mask_update(src, toggle_off = mask_adjusted) + user.update_action_buttons_icon() //when mask is adjusted out, we update all buttons icon so the user's potential internal tank correctly shows as off. + else + to_chat(usr, "You adjust [src], it will now [mask_adjusted ? "not" : ""] obscure your identity while worn.") + return TRUE diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 4c26a0863e..0d1b6861c8 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -72,18 +72,29 @@ flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) + visor_flags_inv = HIDEFACE dog_fashion = /datum/dog_fashion/head/clown - var/list/clownmask_designs = list() + var/static/list/clownmask_designs = list() /obj/item/clothing/mask/gas/clown_hat/Initialize(mapload) .=..() - clownmask_designs = list( - "True Form" = image(icon = src.icon, icon_state = "clown"), - "The Feminist" = image(icon = src.icon, icon_state = "sexyclown"), - "The Jester" = image(icon = src.icon, icon_state = "chaos"), - "The Madman" = image(icon = src.icon, icon_state = "joker"), - "The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow") - ) + if(!clownmask_designs) + clownmask_designs = list( + "True Form" = image(icon = src.icon, icon_state = "clown"), + "The Feminist" = image(icon = src.icon, icon_state = "sexyclown"), + "The Jester" = image(icon = src.icon, icon_state = "chaos"), + "The Madman" = image(icon = src.icon, icon_state = "joker"), + "The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow") + ) + +/obj/item/clothing/mask/gas/clown_hat/examine(mob/user) + . = ..() + . += "Alt-click to toggle identity concealment. it's currently [flags_inv & HIDEFACE ? "on" : "off"]." + +/obj/item/clothing/mask/gas/clown_hat/AltClick(mob/user) + . = ..() + if(adjustmask(user, TRUE)) + return TRUE /obj/item/clothing/mask/gas/clown_hat/ui_action_click(mob/user) if(!istype(user) || user.incapacitated()) @@ -103,14 +114,12 @@ to_chat(user, "Your Clown Mask has now morphed into [choice], all praise the Honkmother!") return TRUE -/obj/item/clothing/mask/gas/sexyclown +/obj/item/clothing/mask/gas/clown_hat/sexy name = "sexy-clown wig and mask" desc = "A feminine clown mask for the dabbling crossdressers or female entertainers." - clothing_flags = ALLOWINTERNALS icon_state = "sexyclown" item_state = "sexyclown" - flags_cover = MASKCOVERSEYES - resistance_flags = FLAMMABLE + actions_types = list() /obj/item/clothing/mask/gas/mime name = "mime mask" @@ -121,18 +130,27 @@ flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) - var/list/mimemask_designs = list() + visor_flags_inv = HIDEFACE + var/static/list/mimemask_designs = list() +/obj/item/clothing/mask/gas/mime/examine(mob/user) + . = ..() + . += "Alt-click to toggle identity concealment. it's currently [flags_inv & HIDEFACE ? "on" : "off"]." + +/obj/item/clothing/mask/gas/mime/AltClick(mob/user) + . = ..() + if(adjustmask(user, TRUE)) + return TRUE /obj/item/clothing/mask/gas/mime/Initialize(mapload) .=..() - mimemask_designs = list( - "Blanc" = image(icon = src.icon, icon_state = "mime"), - "Excité" = image(icon = src.icon, icon_state = "sexymime"), - "Triste" = image(icon = src.icon, icon_state = "sadmime"), - "Effrayé" = image(icon = src.icon, icon_state = "scaredmime") - ) - + if(!mimemask_designs) + mimemask_designs = list( + "Blanc" = image(icon = src.icon, icon_state = "mime"), + "Excité" = image(icon = src.icon, icon_state = "sexymime"), + "Triste" = image(icon = src.icon, icon_state = "sadmime"), + "Effrayé" = image(icon = src.icon, icon_state = "scaredmime") + ) /obj/item/clothing/mask/gas/mime/ui_action_click(mob/user) if(!istype(user) || user.incapacitated()) @@ -151,6 +169,13 @@ to_chat(user, "Your Mime Mask has now morphed into [choice]!") return TRUE +/obj/item/clothing/mask/gas/mime/sexy + name = "sexy mime mask" + desc = "A traditional female mime's mask." + icon_state = "sexymime" + item_state = "sexymime" + actions_types = list() + /obj/item/clothing/mask/gas/monkeymask name = "monkey mask" desc = "A mask used when acting as a monkey." @@ -160,15 +185,6 @@ flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE -/obj/item/clothing/mask/gas/sexymime - name = "sexy mime mask" - desc = "A traditional female mime's mask." - clothing_flags = ALLOWINTERNALS - icon_state = "sexymime" - item_state = "sexymime" - flags_cover = MASKCOVERSEYES - resistance_flags = FLAMMABLE - /obj/item/clothing/mask/gas/death_commando name = "Death Commando Mask" icon_state = "death_commando_mask" diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 5128f77433..b50c2b45db 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -40,37 +40,115 @@ icon_state = "plasmaman-helm" item_state = "plasmaman-helm" strip_delay = 80 + flash_protect = 2 + tint = 2 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 100, "acid" = 75, "wound" = 10) resistance_flags = FIRE_PROOF var/brightness_on = 4 //luminosity when the light is on - var/on = FALSE + var/helmet_on = FALSE + var/smile = FALSE + var/smile_color = "#FF0000" var/light_overlay = "envirohelm-light" - actions_types = list(/datum/action/item_action/toggle_helmet_light) + var/visor_icon = "envisor" + var/smile_state = "envirohelm_smile" + actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen/plasmaman) + visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT + flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES + visor_flags_inv = HIDEEYES|HIDEFACE|HIDEFACIALHAIR mutantrace_variation = NONE +/obj/item/clothing/head/helmet/space/plasmaman/Initialize() + . = ..() + visor_toggling() + update_icon() + +/obj/item/clothing/head/helmet/space/plasmaman/ComponentInitialize() + . = ..() + RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, .proc/wipe_that_smile_off_your_face) + AddElement(/datum/element/update_icon_updates_onmob) + +/obj/item/clothing/head/helmet/space/plasmaman/AltClick(mob/user) + . = ..() + if(user.canUseTopic(src, BE_CLOSE)) + toggle_welding_screen(user) + return TRUE + +/obj/item/clothing/head/helmet/space/plasmaman/proc/toggle_welding_screen(mob/living/user) + if(weldingvisortoggle(user)) + if(helmet_on) + to_chat(user, "Your helmet's torch can't pass through your welding visor!") + helmet_on = FALSE + set_light(0) + playsound(src, 'sound/mecha/mechmove03.ogg', 50, TRUE) //Visors don't just come from nothing + update_icon() + +/obj/item/clothing/head/helmet/space/plasmaman/update_overlays() + . = ..() + if(!up) + . += visor_icon + if(helmet_on) + . += light_overlay + if(smile) + var/mutable_appearance/M = mutable_appearance(icon, smile_state) + M.color = smile_color + . += M + +/obj/item/clothing/head/helmet/space/plasmaman/attackby(obj/item/C, mob/living/user) + . = ..() + if(istype(C, /obj/item/toy/crayon)) + if(!smile) + var/obj/item/toy/crayon/CR = C + to_chat(user, "You start drawing a smiley face on the helmet's visor..") + if(do_after(user, 25, target = src)) + smile = TRUE + smile_color = CR.paint_color + to_chat(user, "You draw a smiley on the helmet visor.") + update_icon() + else + to_chat(user, "Seems like someone already drew something on this helmet's visor!") + +///gets called when receiving the CLEAN_ACT signal from something, i.e soap or a shower. exists to remove any smiley faces drawn on the helmet. +/obj/item/clothing/head/helmet/space/plasmaman/proc/wipe_that_smile_off_your_face() + if(smile) + smile = FALSE + update_icon() + /obj/item/clothing/head/helmet/space/plasmaman/attack_self(mob/user) if(!light_overlay) return - on = !on - if(!on) - cut_overlay(light_overlay) - else - add_overlay(light_overlay) - user.update_inv_head() //So the mob overlay updates + if(!up) + to_chat(user, "Your helmet's torch can't pass through your welding visor!") + return + helmet_on = !helmet_on - if(on) + if(helmet_on) set_light(brightness_on, 0.8, "#FFCC66") else set_light(0) - for(var/X in actions) - var/datum/action/A=X - A.UpdateButtonIcon() + update_icon() + +/obj/item/clothing/head/helmet/space/plasmaman/visor_toggling() //handles all the actual toggling of flags + up = !up + clothing_flags ^= visor_flags + flags_inv ^= visor_flags_inv + if(visor_vars_to_toggle & VISOR_FLASHPROTECT) + flash_protect ^= initial(flash_protect) + if(visor_vars_to_toggle & VISOR_TINT) + tint ^= initial(tint) /obj/item/clothing/head/helmet/space/plasmaman/worn_overlays(isinhands, icon_file, used_state, style_flags = NONE) . = ..() - if(!isinhands && on) - . += mutable_appearance(icon_file, light_overlay) + if(!isinhands) + if(smile) + var/mutable_appearance/M = mutable_appearance(icon_file, smile_state) + M.color = smile_color + . += M + if(!up) + . += mutable_appearance(icon_file, visor_icon) + if(helmet_on) + . += mutable_appearance(icon_file, light_overlay) /obj/item/clothing/head/helmet/space/plasmaman/security name = "security plasma envirosuit helmet" @@ -170,6 +248,7 @@ desc = "A khaki helmet given to plasmamen miners operating on lavaland." icon_state = "explorer_envirohelm" item_state = "explorer_envirohelm" + visor_icon = "explorer_envisor" /obj/item/clothing/head/helmet/space/plasmaman/chaplain name = "chaplain's plasma envirosuit helmet" @@ -202,7 +281,9 @@ icon_state = "prototype_envirohelm" item_state = "prototype_envirohelm" light_overlay = null - actions_types = list() + actions_types = list(/datum/action/item_action/toggle_welding_screen/plasmaman) + smile_state = "prototype_smile" + visor_icon = "prototype_envisor" /obj/item/clothing/head/helmet/space/plasmaman/botany name = "botany plasma envirosuit helmet" @@ -222,6 +303,7 @@ icon_state = "mime_envirohelm" item_state = "mime_envirohelm" light_overlay = "mime_envirohelm-light" + visor_icon = "mime_envisor" /obj/item/clothing/head/helmet/space/plasmaman/clown name = "clown envirosuit helmet" @@ -229,3 +311,6 @@ icon_state = "clown_envirohelm" item_state = "clown_envirohelm" light_overlay = "clown_envirohelm-light" + item_state = "clown_envirohelm" + visor_icon = "clown_envisor" + smile_state = "clown_smile" diff --git a/code/modules/events/travelling_trader.dm b/code/modules/events/travelling_trader.dm index c7b982eda8..eeb1acdba5 100644 --- a/code/modules/events/travelling_trader.dm +++ b/code/modules/events/travelling_trader.dm @@ -321,6 +321,7 @@ mob/living/carbon/human/dummy/travelling_trader/animal_hunter/Initialize() var/new_implant = new chosen_implant var/obj/item/autosurgeon/reward = new(get_turf(src)) reward.insert_organ(new_implant) + reward.uses = 1 /datum/outfit/otherworldly_surgeon name = "Otherworldly Surgeon" diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 9ac270bf34..9cf3f44cb8 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -100,6 +100,14 @@ return held_items.Find(I) +///Find number of held items, multihand compatible +/mob/proc/get_num_held_items() + . = 0 + for(var/i in 1 to held_items.len) + if(held_items[i]) + .++ + + //Sad that this will cause some overhead, but the alias seems necessary //*I* may be happy with a million and one references to "indexes" but others won't be /mob/proc/is_holding(obj/item/I) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index eefd422727..a22f0054e8 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -453,14 +453,14 @@ /mob/living/carbon/getBruteLoss_nonProsthetic() var/amount = 0 for(var/obj/item/bodypart/BP in bodyparts) - if (BP.status < 2) + if (BP.is_organic_limb()) amount += BP.brute_dam return amount /mob/living/carbon/getFireLoss_nonProsthetic() var/amount = 0 for(var/obj/item/bodypart/BP in bodyparts) - if (BP.status < 2) + if (BP.is_organic_limb()) amount += BP.burn_dam return amount diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 492f3d58e0..bfa3073f64 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -10,5 +10,5 @@ damage_overlay_type = "synth" mutanttongue = /obj/item/organ/tongue/robot species_language_holder = /datum/language_holder/synthetic - limbs_id = "synth" + limbs_id = SPECIES_SYNTH species_category = SPECIES_CATEGORY_ROBOT diff --git a/code/modules/mob/living/carbon/human/species_types/angel.dm b/code/modules/mob/living/carbon/human/species_types/angel.dm index 9c87f3ad5d..977e8aaab3 100644 --- a/code/modules/mob/living/carbon/human/species_types/angel.dm +++ b/code/modules/mob/living/carbon/human/species_types/angel.dm @@ -7,7 +7,7 @@ use_skintones = USE_SKINTONES_GRAYSCALE_CUSTOM no_equip = list(SLOT_BACK) blacklisted = 1 - limbs_id = "human" + limbs_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human species_category = SPECIES_CATEGORY_BASIC //they're a kind of human @@ -130,7 +130,7 @@ /datum/species/angel/proc/ToggleFlight(mob/living/carbon/human/H,flight) if(flight && CanFly(H)) stunmod = 2 - speedmod = -0.35 + speedmod = -0.1 H.setMovetype(H.movement_type | FLYING) override_float = TRUE H.pass_flags |= PASSTABLE diff --git a/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/code/modules/mob/living/carbon/human/species_types/arachnid.dm index 2072883c54..4a8c872400 100644 --- a/code/modules/mob/living/carbon/human/species_types/arachnid.dm +++ b/code/modules/mob/living/carbon/human/species_types/arachnid.dm @@ -1,6 +1,6 @@ /datum/species/arachnid name = "Arachnid" - id = "arachnid" + id = SPECIES_ARACHNID override_bp_icon = 'icons/mob/arachnid_parts.dmi' say_mod = "chitters" default_color = "00FF00" @@ -59,10 +59,10 @@ SW?.Remove(H) /datum/action/innate/spin_web - name = "Spin Web" - check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS - icon_icon = 'icons/mob/actions/actions_animal.dmi' - button_icon_state = "lay_web" + name = "Spin Web" + check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS + icon_icon = 'icons/mob/actions/actions_animal.dmi' + button_icon_state = "lay_web" /datum/action/innate/spin_cocoon name = "Spin Cocoon" @@ -152,4 +152,4 @@ else A.forceMove(C) H.visible_message("[H] wraps [A] into a cocoon!") - return \ No newline at end of file + return diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index f756fd8816..7faa08b52c 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -11,7 +11,7 @@ mutanttongue = /obj/item/organ/tongue/dullahan mutantears = /obj/item/organ/ears/dullahan blacklisted = TRUE - limbs_id = "human" + limbs_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human has_field_of_vision = FALSE //Too much of a trouble, their vision is already bound to their severed head. species_category = SPECIES_CATEGORY_UNDEAD diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 011b6b7642..3fcefbe2cc 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -2,7 +2,7 @@ /datum/species/human/felinid name = "Felinid" id = SPECIES_FELINID - limbs_id = "human" + limbs_id = SPECIES_HUMAN mutant_bodyparts = list("mam_tail" = "Cat", "mam_ears" = "Cat", "deco_wings" = "None") diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 58a10fb08e..a87c92bdb9 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -468,7 +468,7 @@ /datum/species/jelly/roundstartslime name = "Xenobiological Slime Hybrid" id = SPECIES_SLIME_HYBRID - limbs_id = "slime" + limbs_id = SPECIES_SLIME default_color = "00FFFF" species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR) inherent_traits = list(TRAIT_TOXINLOVER) @@ -480,7 +480,7 @@ heatmod = 1 burnmod = 1 - allowed_limb_ids = list("slime","stargazer","lum") + allowed_limb_ids = list(SPECIES_SLIME,SPECIES_STARGAZER,SPECIES_SLIME_LUMI) /datum/action/innate/slime_change name = "Alter Form" diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index c37a24a93a..e02d15303f 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -28,7 +28,7 @@ tail_type = "tail_lizard" wagging_type = "waggingtail_lizard" - species_category = "lizard" + species_category = SPECIES_CATEGORY_LIZARD /datum/species/lizard/random_name(gender,unique,lastname) if(unique) @@ -47,7 +47,7 @@ /datum/species/lizard/ashwalker name = "Ash Walker" id = SPECIES_ASHWALKER - limbs_id = "lizard" + limbs_id = SPECIES_LIZARD species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE) inherent_traits = list(TRAIT_CHUNKYFINGERS) mutantlungs = /obj/item/organ/lungs/ashwalker diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index fae8ebfb0d..3d79e13685 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -69,7 +69,7 @@ id = SPECIES_POD_WEAK species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS) mutant_bodyparts = list("mcolor" = "FFFFFF","mcolor2" = "FFFFFF","mcolor3" = "FFFFFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs") - limbs_id = "pod" + limbs_id = SPECIES_POD light_nutrition_gain_factor = 3 light_bruteheal = -0.2 light_burnheal = -0.2 diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 7dc8083264..4806813c04 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -33,7 +33,7 @@ /datum/species/shadow/nightmare name = "Nightmare" id = SPECIES_NIGHTMARE - limbs_id = "shadow" + limbs_id = SPECIES_SHADOW burnmod = 1.5 blacklisted = TRUE no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE) @@ -141,7 +141,7 @@ playsound(owner,'sound/effects/singlebeat.ogg',40,1) if(respawn_progress >= HEART_RESPAWN_THRESHHOLD) owner.revive(full_heal = TRUE) - if(!(owner.dna.species.id == "shadow" || owner.dna.species.id == "nightmare")) + if(!(owner.dna.species.id == SPECIES_SHADOW || owner.dna.species.id == SPECIES_NIGHTMARE)) var/mob/living/carbon/old_owner = owner Remove(HEART_SPECIAL_SHADOWIFY) old_owner.set_species(/datum/species/shadow) diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index b0673a7df4..8175f505fa 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -32,7 +32,7 @@ /datum/species/skeleton/space name = "Spooky Spacey Skeleton" id = SPECIES_SKELETON_SPACE - limbs_id = "skeleton" + limbs_id = SPECIES_SKELETON blacklisted = 1 inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT, TRAIT_FAKEDEATH, TRAIT_CALCIUM_HEALER) diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index 5d2b6f4c77..91711b5c39 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -11,7 +11,7 @@ meat = null gib_types = /obj/effect/gibspawner/robot damage_overlay_type = "synth" - limbs_id = "synth" + limbs_id = SPECIES_SYNTH var/list/initial_species_traits = list(NOTRANSSTING) //for getting these values back for assume_disguise() var/list/initial_inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER,TRAIT_NOBREATH) var/disguise_fail_health = 75 //When their health gets to this level their synthflesh partially falls off @@ -80,7 +80,7 @@ qdel(fake_species) fake_species = null meat = initial(meat) - limbs_id = "synth" + limbs_id = SPECIES_SYNTH use_skintones = FALSE sexes = 0 fixed_mut_color = "" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 4125d3beab..676248c463 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -11,7 +11,7 @@ mutant_heart = /obj/item/organ/heart/vampire mutanttongue = /obj/item/organ/tongue/vampire blacklisted = TRUE - limbs_id = "human" + limbs_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human var/info_text = "You are a Vampire. You will slowly but constantly lose blood if outside of a coffin. If inside a coffin, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability." species_category = SPECIES_CATEGORY_UNDEAD @@ -153,16 +153,33 @@ to_chat(caster, "You're already shapeshifted!") return + if(!ishuman(caster)) + to_chat(caster, "You need to be humanoid to be able to do this!") + return + + var/mob/living/carbon/human/human_caster = caster var/mob/living/shape = new shapeshift_type(caster.loc) - H = new(shape,src,caster) + H = new(shape,src,human_caster) if(istype(H, /mob/living/simple_animal)) var/mob/living/simple_animal/SA = H - if((caster.blood_volume >= (BLOOD_VOLUME_BAD*caster.blood_ratio)) || (ventcrawl_nude_only && length(caster.get_equipped_items(include_pockets = TRUE)))) + if((human_caster.blood_volume <= (BLOOD_VOLUME_BAD*human_caster.blood_ratio)) || (ventcrawl_nude_only && length(human_caster.get_equipped_items(include_pockets = TRUE)))) SA.ventcrawler = FALSE if(transfer_name) - H.name = caster.name + H.name = human_caster.name clothes_req = NONE mobs_whitelist = null mobs_blacklist = null + +/obj/effect/proc_holder/spell/targeted/shapeshift/bat/cast(list/targets, mob/user = usr) + if(!(locate(/obj/shapeshift_holder) in targets[1])) + if(!ishuman(user)) + to_chat(user, "You need to be humanoid to be able to do this!") + return + + var/mob/living/carbon/human/human_user = user + if(!(human_user.dna?.species?.id == SPECIES_VAMPIRE)) + to_chat(user, "You don't seem to be able to shapeshift..") + return + return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index f1c0b8e7c0..385dd94f04 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -3,7 +3,7 @@ /datum/species/zombie // 1spooky name = "High-Functioning Zombie" - id = "zombie" + id = SPECIES_ZOMBIE say_mod = "moans" sexes = 0 blacklisted = 1 @@ -19,7 +19,7 @@ /datum/species/zombie/notspaceproof id = "notspaceproofzombie" - limbs_id = "zombie" + limbs_id = SPECIES_ZOMBIE blacklisted = 0 inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_FAKEDEATH) @@ -31,7 +31,7 @@ /datum/species/zombie/infectious name = "Infectious Zombie" id = "memezombies" - limbs_id = "zombie" + limbs_id = SPECIES_ZOMBIE inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_NOSOFTCRIT, TRAIT_FAKEDEATH) mutanthands = /obj/item/zombie_hand armor = 20 // 120 damage to KO a zombie, which kills it @@ -100,7 +100,7 @@ /datum/species/krokodil_addict name = SPECIES_HUMAN id = "goofzombies" - limbs_id = "zombie" //They look like zombies + limbs_id = SPECIES_ZOMBIE //They look like zombies sexes = 0 meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie mutanttongue = /obj/item/organ/tongue/zombie diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index 6661d0ccea..4c00fd0033 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -59,15 +59,8 @@ GLOBAL_LIST_INIT(ventcrawl_machinery, typecacheof(list( if(!client) return - if(iscarbon(src) && ventcrawler < 2)//It must have atleast been 1 to get this far - var/failed = 0 - var/list/items_list = get_equipped_items(include_pockets = TRUE) - if(items_list.len) - failed = 1 - for(var/obj/item/I in held_items) - failed = 1 - break - if(failed) + if(iscarbon(src) && ventcrawler == VENTCRAWLER_NUDE) + if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items()) to_chat(src, "You can't crawl around in the ventilation ducts with items!") return diff --git a/code/modules/movespeed/modifiers/items.dm b/code/modules/movespeed/modifiers/items.dm index a8510ecd86..8694bbb69d 100644 --- a/code/modules/movespeed/modifiers/items.dm +++ b/code/modules/movespeed/modifiers/items.dm @@ -1,13 +1,13 @@ /datum/movespeed_modifier/jetpack conflicts_with = MOVE_CONFLICT_JETPACK movetypes = FLOATING - multiplicative_slowdown = -1 + multiplicative_slowdown = -0.2 /datum/movespeed_modifier/jetpack/cybernetic - multiplicative_slowdown = -1.25 + multiplicative_slowdown = -0.27 /datum/movespeed_modifier/jetpack/fullspeed - multiplicative_slowdown = -1.5 + multiplicative_slowdown = -0.27 /datum/movespeed_modifier/die_of_fate multiplicative_slowdown = 1 diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 3bfcd0a921..1a96f36ccd 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -897,6 +897,10 @@ ui.open() /obj/machinery/power/apc/ui_data(mob/user) + var/obj/item/implant/hijack/H = user.getImplant(/obj/item/implant/hijack) + var/abilitiesavail = FALSE + if(H && !H.stealthmode && H.toggled) + abilitiesavail = TRUE var/list/data = list( "locked" = locked, "failTime" = failure_timer, @@ -911,7 +915,11 @@ "malfStatus" = get_malf_status(user), "emergencyLights" = !emergency_lights, "nightshiftLights" = nightshift_lights, - + "hijackable" = HAS_TRAIT(user, TRAIT_HIJACKER), + "hijacked" = hijacker && hasSiliconAccessInArea(hijacker), + "hijacker" = hijacker == user ? TRUE : FALSE, + "drainavail" = cell && cell.percent() >= 85 && abilitiesavail, + "lockdownavail" = cell && cell.percent() >= 35 && abilitiesavail, "powerChannels" = list( list( "title" = "Equipment", @@ -1009,7 +1017,12 @@ . = UI_INTERACTIVE /obj/machinery/power/apc/ui_act(action, params) - if(..() || !can_use(usr, 1) || (locked && !area.hasSiliconAccessInArea(usr, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE) && !failure_timer && action != "toggle_nightshift" && (!integration_cog || !(is_servant_of_ratvar(usr))))) + if(..() || !can_use(usr, 1)) + return + if(action == "hijack" && can_use(usr, 1)) //don't need auth for hijack button + hijack(usr) + return + if(locked && !area.hasSiliconAccessInArea(usr, PRIVILEDGES_SILICON|PRIVILEDGES_DRONE) && !failure_timer && action != "toggle_nightshift" && (!integration_cog || !(is_servant_of_ratvar(usr)))) return switch(action) if("lock") @@ -1056,6 +1069,25 @@ if("hack") if(get_malf_status(usr)) malfhack(usr) + if("drain") + cell.use(cell.charge) + hijacker.toggleSiliconAccessArea(area) + hijacker = null + set_hijacked_lighting() + update_icon() + var/obj/item/implant/hijack/H = usr.getImplant(/obj/item/implant/hijack) + H.stealthcooldown = world.time + 2 MINUTES + energy_fail(30 SECONDS * (cell.charge / cell.maxcharge)) + if("lockdown") + var/celluse = rand(20,35) + celluse = celluse /100 + for (var/obj/machinery/door/D in GLOB.airlocks) + if (get_area(D) == area) + INVOKE_ASYNC(D,/obj/machinery/door.proc/hostile_lockdown,usr, FALSE) + addtimer(CALLBACK(D,/obj/machinery/door.proc/disable_lockdown, FALSE), 30 SECONDS) + cell.charge -= cell.maxcharge*celluse + var/obj/item/implant/hijack/H = usr.getImplant(/obj/item/implant/hijack) + H.stealthcooldown = world.time + 3 MINUTES if("occupy") if(get_malf_status(usr)) malfoccupy(usr) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 28f0b2366a..99c1cf97a6 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -107,7 +107,7 @@ data["beakerMaxVolume"] = beaker ? beaker.volume : null //purity and pH accuracy for(var/obj/item/stock_parts/micro_laser/M in component_parts) - data["partRating"]= 10**(M.rating-1) + data["partRating"]= M.rating if(M.rating == 4) data["showPurity"] = 1 else diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index bbc44730b6..a8d5c3d277 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -2279,15 +2279,16 @@ All effects don't start immediately, but rather get worse over time; the rate is //////////////////// /datum/reagent/consumable/ethanol/species_drink var/species_required - var/disgust = 25 + var/disgust = 26 boozepwr = 50 -/datum/reagent/consumable/ethanol/species_drink/on_mob_life(mob/living/carbon/C) - if(C.dna.species && C.dna.species.species_category == species_required) //species have a species_category variable that refers to one of the drinks - quality = RACE_DRINK - else - C.adjust_disgust(disgust) - return ..() +/datum/reagent/consumable/ethanol/species_drink/reaction_mob(mob/living/carbon/C, method=TOUCH) + if(method == INGEST) + if(C?.dna?.species?.species_category == species_required) //species have a species_category variable that refers to one of the drinks + quality = RACE_DRINK + else + C.adjust_disgust(disgust) + return ..() /datum/reagent/consumable/ethanol/species_drink/coldscales name = "Coldscales" diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index f963114e38..351318c2af 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -11,7 +11,7 @@ return FALSE if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) + var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = list(BODYPART_ORGANIC)) if(!parts.len) return FALSE return ..() @@ -19,7 +19,7 @@ /datum/nanite_program/regenerative/active_effect() if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) + var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = list(BODYPART_ORGANIC)) if(!parts.len) return for(var/obj/item/bodypart/L in parts) @@ -121,7 +121,7 @@ if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = BODYPART_ROBOTIC | BODYPART_HYBRID) + var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = list(BODYPART_ROBOTIC, BODYPART_HYBRID)) if(!parts.len) return FALSE else @@ -132,7 +132,7 @@ /datum/nanite_program/repairing/active_effect(mob/living/M) if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = BODYPART_ROBOTIC | BODYPART_HYBRID) + var/list/parts = C.get_damaged_bodyparts(TRUE, TRUE, status = list(BODYPART_ROBOTIC, BODYPART_HYBRID)) if(!parts.len) return var/update = FALSE @@ -176,7 +176,7 @@ /datum/nanite_program/regenerative_advanced/active_effect() if(iscarbon(host_mob)) var/mob/living/carbon/C = host_mob - var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = BODYPART_ORGANIC) + var/list/parts = C.get_damaged_bodyparts(TRUE,TRUE, status = list(BODYPART_ORGANIC)) if(!parts.len) return var/update = FALSE diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 14cdd30931..b4490f715b 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -74,9 +74,9 @@ /obj/item/staff = 3, /obj/item/clothing/under/rank/civilian/mime/skirt = 1, /obj/item/clothing/under/rank/captain/suit/skirt = 1, - /obj/item/clothing/mask/gas/sexyclown = 1, + /obj/item/clothing/mask/gas/clown_hat/sexy = 1, /obj/item/clothing/under/rank/civilian/clown/sexy = 1, - /obj/item/clothing/mask/gas/sexymime = 1, + /obj/item/clothing/mask/gas/mime/sexy = 1, /obj/item/clothing/under/rank/civilian/mime/sexy = 1, /obj/item/clothing/mask/rat/bat = 1, /obj/item/clothing/mask/rat/bee = 1, diff --git a/html/changelogs/AutoChangeLog-pr-13558.yml b/html/changelogs/AutoChangeLog-pr-13558.yml new file mode 100644 index 0000000000..2a5b2dc576 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13558.yml @@ -0,0 +1,5 @@ +author: "Zandario" +delete-after: True +changes: + - bugfix: "lum slime sprites work again" + - code_imp: "Slapped the Species Defines where relevant" diff --git a/html/changelogs/AutoChangeLog-pr-13562.yml b/html/changelogs/AutoChangeLog-pr-13562.yml new file mode 100644 index 0000000000..7fabc05c7b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13562.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Vampire shapeshifting should now behave as intended" diff --git a/html/changelogs/AutoChangeLog-pr-13570.yml b/html/changelogs/AutoChangeLog-pr-13570.yml new file mode 100644 index 0000000000..6a4fb6af66 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13570.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Fixed a runtime in every healing nanite program." diff --git a/html/changelogs/AutoChangeLog-pr-13571.yml b/html/changelogs/AutoChangeLog-pr-13571.yml new file mode 100644 index 0000000000..864967dffc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13571.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Code improvement on ventcrawling" diff --git a/html/changelogs/AutoChangeLog-pr-13577.yml b/html/changelogs/AutoChangeLog-pr-13577.yml new file mode 100644 index 0000000000..7463a3ad39 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13577.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Chemical stuff now displays fermichem stuff properly" diff --git a/html/changelogs/AutoChangeLog-pr-13581.yml b/html/changelogs/AutoChangeLog-pr-13581.yml new file mode 100644 index 0000000000..42db54450b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13581.yml @@ -0,0 +1,6 @@ +author: "Ghommie, porting PRs by MMMiracles and pireamaineach, credits to BlueWildrose too." +delete-after: True +changes: + - rscadd: "You can now draw on plasmaman helmets with a crayon to turn their frown upside-down." + - balance: "Plasmaman helmets no longer hide your identity when worn by themselves." + - balance: "Plasmaman helmets now have welding visors, which can't stack with their torches in the helmet and are visible." diff --git a/html/changelogs/AutoChangeLog-pr-13585.yml b/html/changelogs/AutoChangeLog-pr-13585.yml new file mode 100644 index 0000000000..0369e0827f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13585.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - bugfix: "Fixed species-specific drinks not giving a mood boost if you are that species." diff --git a/html/changelogs/AutoChangeLog-pr-13586.yml b/html/changelogs/AutoChangeLog-pr-13586.yml new file mode 100644 index 0000000000..5f61b1dc54 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13586.yml @@ -0,0 +1,4 @@ +author: "KeRSedChaplain" +delete-after: True +changes: + - imageadd: "Resprited the brass claw" diff --git a/html/changelogs/AutoChangeLog-pr-13587.yml b/html/changelogs/AutoChangeLog-pr-13587.yml new file mode 100644 index 0000000000..ea3f4c5efa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13587.yml @@ -0,0 +1,4 @@ +author: "Detective-Google" +delete-after: True +changes: + - tweak: "the snow taxi is no longer the slow taxi" diff --git a/html/changelogs/AutoChangeLog-pr-13588.yml b/html/changelogs/AutoChangeLog-pr-13588.yml new file mode 100644 index 0000000000..7ab9d67bab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13588.yml @@ -0,0 +1,5 @@ +author: "Delams-The-SM" +delete-after: True +changes: + - rscadd: "Added 3 new emotes *hiss *purr *meow" + - soundadd: "ported sounds from Citadel RP for *purr and *meow" diff --git a/html/changelogs/AutoChangeLog-pr-13589.yml b/html/changelogs/AutoChangeLog-pr-13589.yml new file mode 100644 index 0000000000..877012914e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13589.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - tweak: "autosurgeons from travelling trader rewards now only have one use" diff --git a/html/changelogs/AutoChangeLog-pr-13598.yml b/html/changelogs/AutoChangeLog-pr-13598.yml new file mode 100644 index 0000000000..7bef81fa1a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13598.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Fixes hijack implant APC UI, again" diff --git a/html/changelogs/AutoChangeLog-pr-13599.yml b/html/changelogs/AutoChangeLog-pr-13599.yml new file mode 100644 index 0000000000..3deea2b2be --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13599.yml @@ -0,0 +1,4 @@ +author: "Delams-The-SM" +delete-after: True +changes: + - bugfix: "fixed randomization of colors for things like mulligan and Stabilized green slime extract for matrixed body parts" diff --git a/html/changelogs/AutoChangeLog-pr-13606.yml b/html/changelogs/AutoChangeLog-pr-13606.yml new file mode 100644 index 0000000000..568f8cf7e6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13606.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "adminhelping no longer removes entire admin tab" + - bugfix: "end of round no longer removes entire admin tab" diff --git a/html/changelogs/AutoChangeLog-pr-13608.yml b/html/changelogs/AutoChangeLog-pr-13608.yml new file mode 100644 index 0000000000..b7c0201cab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13608.yml @@ -0,0 +1,4 @@ +author: "SpaceManiac" +delete-after: True +changes: + - bugfix: "Fixed the maphook" diff --git a/html/changelogs/AutoChangeLog-pr-13611.yml b/html/changelogs/AutoChangeLog-pr-13611.yml new file mode 100644 index 0000000000..d7e6e8f9a1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13611.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "Adds a space loop to every map in toxins" diff --git a/html/statbrowser.html b/html/statbrowser.html index 0920081fd2..346a198746 100644 --- a/html/statbrowser.html +++ b/html/statbrowser.html @@ -412,8 +412,8 @@ function verbs_cat_check(cat) { } for(var v = 0; v < verbs.length; v++){ var part = verbs[v]; - verbcat = part[0].indexOf(".") != -1 ? part[0].split(".") : part[0]; - if(verbcat != cat || verbcat.trim() == ""){ + verbcat = part[0].indexOf(".") != -1 ? part[0].split(".")[0] : part[0]; + if(verbcat != tabCat || verbcat.trim() == ""){ continue; } else{ @@ -446,9 +446,9 @@ function add_verb_list(v) { to_add.sort(); // sort what we're adding for(var i = 0; i < to_add.length; i++) { var part = to_add[i]; - if (!part[0]) + if(!part[0]) continue; - var category = part[0].indexOf(".") == -1 ? part[0] : part[0].split(".")[0] + var category = part[0].indexOf(".") == -1 ? part[0] : part[0].split(".")[0]; if(findVerbindex(part[1], verbs)) continue; if(verb_tabs.includes(category)){ diff --git a/icons/mob/clothing/custom_w.dmi b/icons/mob/clothing/custom_w.dmi index 18e07f41ed..5b1fd0876c 100644 Binary files a/icons/mob/clothing/custom_w.dmi and b/icons/mob/clothing/custom_w.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 16571a4aa1..889888ef0a 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi index d196a04cd4..fb864385c7 100644 Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ diff --git a/icons/mob/inhands/antag/clockwork_lefthand.dmi b/icons/mob/inhands/antag/clockwork_lefthand.dmi index 080d7fdc83..8945a573a0 100644 Binary files a/icons/mob/inhands/antag/clockwork_lefthand.dmi and b/icons/mob/inhands/antag/clockwork_lefthand.dmi differ diff --git a/icons/mob/inhands/antag/clockwork_righthand.dmi b/icons/mob/inhands/antag/clockwork_righthand.dmi index 42715d6e92..64ee6199a7 100644 Binary files a/icons/mob/inhands/antag/clockwork_righthand.dmi and b/icons/mob/inhands/antag/clockwork_righthand.dmi differ diff --git a/icons/obj/clockwork_objects.dmi b/icons/obj/clockwork_objects.dmi index 156d4fa0c6..52d9b88dcc 100644 Binary files a/icons/obj/clockwork_objects.dmi and b/icons/obj/clockwork_objects.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 4f650f8561..95a31f8b9f 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/custom.dmi b/icons/obj/custom.dmi index 50f536d1d3..e17d55dc85 100644 Binary files a/icons/obj/custom.dmi and b/icons/obj/custom.dmi differ diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index bb9162789e..35b6e08d0e 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -522,3 +522,10 @@ slot = SLOT_HEAD path = /obj/item/clothing/head/halo ckeywhitelist = list("hisakaki") + +/datum/gear/donator/vest + name = "vest and shirt" + slot = SLOT_W_UNIFORM + path = /obj/item/clothing/under/custom/vest + ckeywhitelist = list("maylowfox") + diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index bc9f8bce49..bd928e75d5 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -567,4 +567,13 @@ icon = 'icons/mob/clothing/custom_w.dmi' mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' dynamic_hair_suffix = "" - + +/obj/item/clothing/under/custom/vest + name = "vest" + desc = "A vest with a shirt underlining it." + icon_state = "vest" + item_state = "vest" + icon = 'icons/obj/custom.dmi' + mob_overlay_icon = 'icons/mob/clothing/custom_w.dmi' + mutantrace_variation = STYLE_DIGITIGRADE + diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm index 28c3f7ea99..f7911def84 100644 --- a/modular_citadel/code/modules/mob/cit_emotes.dm +++ b/modular_citadel/code/modules/mob/cit_emotes.dm @@ -132,6 +132,54 @@ user.nextsoundemote = world.time + 7 playsound(user, 'modular_citadel/sound/voice/awoo.ogg', 50, 1, -1) +/datum/emote/living/hiss + key = "hiss" + key_third_person = "hisses" + message = "hisses!" + emote_type = EMOTE_AUDIBLE + muzzle_ignore = FALSE + restraint_check = FALSE + +/datum/emote/living/hiss/run_emote(mob/living/user, params) + if(!(. = ..())) + return + if(user.nextsoundemote >= world.time) + return + user.nextsoundemote = world.time + 7 + playsound(user, 'modular_citadel/sound/voice/hiss.ogg', 50, 1, -1) + +/datum/emote/living/meow + key = "meow" + key_third_person = "mrowls" + message = "mrowls!" + emote_type = EMOTE_AUDIBLE + muzzle_ignore = FALSE + restraint_check = FALSE + +/datum/emote/living/meow/run_emote(mob/living/user, params) + if(!(. = ..())) + return + if(user.nextsoundemote >= world.time) + return + user.nextsoundemote = world.time + 7 + playsound(user, 'modular_citadel/sound/voice/meow1.ogg', 50, 1, -1) + +/datum/emote/living/purr + key = "purr" + key_third_person = "purrs softly" + message = "purrs softly." + emote_type = EMOTE_AUDIBLE + muzzle_ignore = FALSE + restraint_check = FALSE + +/datum/emote/living/purr/run_emote(mob/living/user, params) + if(!(. = ..())) + return + if(user.nextsoundemote >= world.time) + return + user.nextsoundemote = world.time + 7 + playsound(user, 'modular_citadel/sound/voice/purr.ogg', 50, 1, -1) + /datum/emote/living/nya key = "nya" key_third_person = "lets out a nya" diff --git a/modular_citadel/sound/voice/hiss.ogg b/modular_citadel/sound/voice/hiss.ogg index cd9fa22c37..3508f47f13 100644 Binary files a/modular_citadel/sound/voice/hiss.ogg and b/modular_citadel/sound/voice/hiss.ogg differ diff --git a/modular_citadel/sound/voice/meow1.ogg b/modular_citadel/sound/voice/meow1.ogg new file mode 100644 index 0000000000..be9393d7d6 Binary files /dev/null and b/modular_citadel/sound/voice/meow1.ogg differ diff --git a/modular_citadel/sound/voice/purr.ogg b/modular_citadel/sound/voice/purr.ogg new file mode 100644 index 0000000000..d0ea06d9a0 Binary files /dev/null and b/modular_citadel/sound/voice/purr.ogg differ diff --git a/tgui/packages/tgui/interfaces/Apc.js b/tgui/packages/tgui/interfaces/Apc.js index 60a11789bc..face676282 100644 --- a/tgui/packages/tgui/interfaces/Apc.js +++ b/tgui/packages/tgui/interfaces/Apc.js @@ -211,6 +211,29 @@ const ApcContent = (props, context) => { content={data.nightshiftLights ? 'Enabled' : 'Disabled'} onClick={() => act('toggle_nightshift')} /> )} /> + {data.hijackable === 1 && ( + +