diff --git a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm index 70dfed5d5d649..981b2c1e2b35a 100644 --- a/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm +++ b/_maps/RandomRuins/SpaceRuins/gondolaasteroid.dmm @@ -27,7 +27,7 @@ /turf/open/floor/grass, /area/ruin/space/has_grav) "h" = ( -/mob/living/simple_animal/pet/gondola, +/mob/living/basic/pet/gondola, /turf/open/floor/grass, /area/ruin/space/has_grav) "i" = ( diff --git a/_maps/deathmatch/finaldestination.dmm b/_maps/deathmatch/finaldestination.dmm new file mode 100644 index 0000000000000..7fef94cd57a16 --- /dev/null +++ b/_maps/deathmatch/finaldestination.dmm @@ -0,0 +1,1254 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/effect/turf_decal/siding/yellow/end, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"bF" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"bV" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"cu" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 6 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"cW" = ( +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"eb" = ( +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"eN" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"fp" = ( +/obj/effect/turf_decal/siding/dark_green/end{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"gs" = ( +/obj/effect/turf_decal/siding/blue/end{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"hk" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/chasm, +/area/deathmatch) +"jb" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"jl" = ( +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"kR" = ( +/turf/open/chasm, +/area/deathmatch) +"kS" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"lq" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"lD" = ( +/obj/effect/turf_decal/siding/dark_red/corner, +/turf/open/indestructible/large, +/area/deathmatch) +"lJ" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"ok" = ( +/obj/effect/turf_decal/siding/dark_red/end{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"os" = ( +/obj/effect/turf_decal/siding/dark_green, +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"ou" = ( +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"oE" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_red, +/turf/open/indestructible/large, +/area/deathmatch) +"oX" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"pg" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"pE" = ( +/obj/effect/turf_decal/siding/dark_green, +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"qg" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"qm" = ( +/obj/effect/turf_decal/siding/yellow, +/turf/open/indestructible/large, +/area/deathmatch) +"ry" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"rS" = ( +/obj/effect/turf_decal/siding/dark_red/end, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"sb" = ( +/obj/effect/turf_decal/siding/yellow/end{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"sL" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 5 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"tB" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/chasm, +/area/deathmatch) +"tF" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"vn" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"vz" = ( +/obj/effect/turf_decal/siding/blue/corner, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"vF" = ( +/obj/effect/turf_decal/siding/dark_red, +/turf/open/indestructible/large, +/area/deathmatch) +"vV" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"wl" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"xc" = ( +/obj/structure/lattice/catwalk/mining, +/turf/open/chasm, +/area/deathmatch) +"xq" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"xv" = ( +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark_red/corner, +/turf/open/indestructible/large, +/area/deathmatch) +"xQ" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"yJ" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"zB" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"AS" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Bz" = ( +/obj/effect/turf_decal/siding/blue/end{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"BM" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Cj" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Cw" = ( +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red/corner, +/turf/open/indestructible/large, +/area/deathmatch) +"CE" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"CS" = ( +/obj/effect/turf_decal/siding/yellow, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Dc" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/siding/yellow, +/turf/open/indestructible/large, +/area/deathmatch) +"Df" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 10 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Ei" = ( +/obj/effect/turf_decal/siding/dark_red/corner, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Es" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Ev" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Fd" = ( +/turf/open/indestructible/light, +/area/deathmatch) +"FB" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/chasm, +/area/deathmatch) +"Ge" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Hg" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Hm" = ( +/obj/effect/turf_decal/siding/dark_green, +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"HM" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Ij" = ( +/obj/effect/turf_decal/siding/dark_green/end{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"IP" = ( +/obj/effect/turf_decal/siding/dark_green/corner, +/obj/effect/turf_decal/siding/dark_green{ + dir = 9 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Jq" = ( +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Jw" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"JS" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Kn" = ( +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Ks" = ( +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"KH" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"KT" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"LD" = ( +/obj/structure/lattice/catwalk/mining, +/obj/structure/railing, +/turf/open/chasm, +/area/deathmatch) +"LY" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"NE" = ( +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 6 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"NN" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Pg" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Qn" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_green{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Qy" = ( +/obj/effect/turf_decal/siding/yellow/corner, +/obj/effect/turf_decal/siding/yellow/corner{ + dir = 8 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"QA" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"QR" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"QS" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"TA" = ( +/obj/effect/turf_decal/siding/yellow, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"TB" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Uc" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/obj/effect/landmark/deathmatch_player_spawn, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Vh" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Vn" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 6 + }, +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 1 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"VH" = ( +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/dark_green/corner{ + dir = 1 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"VK" = ( +/obj/effect/turf_decal/siding/dark_red, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Wr" = ( +/obj/effect/turf_decal/siding/dark_green{ + dir = 9 + }, +/obj/effect/light_emitter/thunderdome, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"Wz" = ( +/obj/effect/turf_decal/siding/dark_red/corner, +/obj/effect/turf_decal/siding/dark_red{ + dir = 9 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"XR" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/turf/open/indestructible/large, +/area/deathmatch) +"Yd" = ( +/obj/effect/turf_decal/siding/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/siding/yellow{ + dir = 4 + }, +/turf/open/indestructible/dark/smooth_large, +/area/deathmatch) +"YI" = ( +/obj/structure/lattice, +/turf/open/chasm, +/area/deathmatch) + +(1,1,1) = {" +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +"} +(2,1,1) = {" +kR +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +kR +kR +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +kR +"} +(3,1,1) = {" +kR +Fd +Wz +HM +HM +HM +HM +yJ +HM +HM +rS +Fd +Fd +gs +vn +vn +eN +vn +vn +vn +vn +xQ +Fd +kR +"} +(4,1,1) = {" +kR +Fd +CE +lD +NN +NN +NN +NN +NN +NN +Cw +NN +QA +vz +QA +QA +QA +QA +QA +QA +ry +jl +Fd +kR +"} +(5,1,1) = {" +kR +Fd +CE +vF +Fd +FB +FB +xc +FB +Fd +oE +Ei +bF +Jq +Fd +FB +xc +FB +FB +Fd +wl +jl +Fd +kR +"} +(6,1,1) = {" +kR +Fd +CE +vF +LD +kR +kR +YI +kR +hk +oE +VK +oX +Jq +LD +kR +YI +kR +kR +hk +wl +jl +Fd +kR +"} +(7,1,1) = {" +kR +Fd +CE +vF +LD +kR +kR +YI +kR +hk +oE +BM +TB +Jq +LD +kR +YI +kR +kR +hk +wl +jl +Fd +kR +"} +(8,1,1) = {" +kR +Fd +QS +vF +xc +YI +YI +YI +YI +xc +oE +BM +TB +Jq +xc +YI +YI +YI +YI +xc +wl +Kn +Fd +kR +"} +(9,1,1) = {" +kR +Fd +CE +vF +LD +kR +kR +YI +kR +hk +oE +VK +oX +Jq +LD +kR +YI +kR +kR +hk +wl +jl +Fd +kR +"} +(10,1,1) = {" +kR +Fd +CE +vF +Fd +tB +tB +xc +tB +Fd +oE +VK +oX +Jq +Fd +tB +xc +tB +tB +Fd +wl +jl +Fd +kR +"} +(11,1,1) = {" +kR +Fd +ok +xv +lJ +lJ +lJ +lJ +lJ +lJ +NE +VK +oX +LY +XR +XR +XR +XR +XR +XR +vV +Bz +Fd +kR +"} +(12,1,1) = {" +kR +kR +Fd +vF +Ei +Cj +KH +KH +Cj +Cj +Cj +cu +JS +lq +lq +lq +jb +jb +lq +bF +wl +Fd +kR +kR +"} +(13,1,1) = {" +kR +kR +Fd +qm +Ks +Vh +KT +KT +Vh +Vh +Vh +Df +Wr +qg +qg +qg +xq +xq +qg +eb +pg +Fd +kR +kR +"} +(14,1,1) = {" +kR +Fd +sb +Qy +Ge +Ge +Ge +Ge +Ge +Ge +zB +CS +Pg +IP +Qn +Qn +Qn +Qn +Qn +Qn +ou +fp +Fd +kR +"} +(15,1,1) = {" +kR +Fd +QR +qm +Fd +FB +FB +xc +FB +Fd +Dc +CS +Pg +pE +Fd +FB +xc +FB +FB +Fd +pg +os +Fd +kR +"} +(16,1,1) = {" +kR +Fd +QR +qm +LD +kR +kR +YI +kR +hk +Dc +CS +Pg +pE +LD +kR +YI +kR +kR +hk +pg +os +Fd +kR +"} +(17,1,1) = {" +kR +Fd +Jw +qm +xc +YI +YI +YI +YI +xc +Dc +TA +Es +pE +xc +YI +YI +YI +YI +xc +pg +Hm +Fd +kR +"} +(18,1,1) = {" +kR +Fd +QR +qm +LD +kR +kR +YI +kR +hk +Dc +TA +Es +pE +LD +kR +YI +kR +kR +hk +pg +os +Fd +kR +"} +(19,1,1) = {" +kR +Fd +QR +qm +LD +kR +kR +YI +kR +hk +Dc +CS +Pg +pE +LD +kR +YI +kR +kR +hk +pg +os +Fd +kR +"} +(20,1,1) = {" +kR +Fd +QR +qm +Fd +tB +tB +xc +tB +Fd +Dc +Ks +eb +pE +Fd +tB +xc +tB +tB +Fd +pg +os +Fd +kR +"} +(21,1,1) = {" +kR +Fd +QR +Ev +Hg +Hg +Hg +Hg +Hg +Hg +bV +Hg +AS +VH +AS +AS +AS +AS +AS +AS +cW +os +Fd +kR +"} +(22,1,1) = {" +kR +Fd +sL +Yd +Yd +Yd +Yd +Uc +Yd +Yd +ae +Fd +Fd +Ij +kS +kS +tF +kS +kS +kS +kS +Vn +Fd +kR +"} +(23,1,1) = {" +kR +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +kR +kR +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +Fd +kR +"} +(24,1,1) = {" +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +kR +"} diff --git a/_maps/deathmatch/ragin_mages.dmm b/_maps/deathmatch/ragin_mages.dmm index 37939643b7275..8c42ef8665a18 100644 --- a/_maps/deathmatch/ragin_mages.dmm +++ b/_maps/deathmatch/ragin_mages.dmm @@ -47,7 +47,7 @@ /area/deathmatch/teleport) "ct" = ( /obj/structure/flora/bush/grassy/style_random, -/mob/living/simple_animal/pet/gondola{ +/mob/living/basic/pet/gondola{ name = "Jommy"; faction = list("gondola", "Wizard") }, diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 41b80cb1a9261..96bc81fcd88cb 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -34835,7 +34835,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/mob/living/simple_animal/pet/poppy, +/mob/living/basic/pet/poppy, /obj/structure/disposalpipe/segment{ dir = 10 }, diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 423fc7e6f0fed..62d0f9cea91fd 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -36,14 +36,11 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron, /area/station/hallway/primary/port) -"aba" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) +"aaX" = ( +/obj/structure/chair/sofa/bench/right, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "abb" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 5 @@ -53,6 +50,13 @@ "abe" = ( /turf/open/floor/engine, /area/station/science/xenobiology) +"abm" = ( +/obj/structure/table, +/obj/item/trash/can/food/beans, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "abv" = ( /obj/effect/turf_decal/loading_area{ dir = 1 @@ -102,10 +106,24 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"acg" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"acm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "acE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"acG" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/item/reagent_containers/cup/bucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ade" = ( /obj/structure/table/glass, /obj/structure/extinguisher_cabinet/directional/north, @@ -205,6 +223,15 @@ /obj/item/clothing/mask/gas, /turf/open/floor/iron/smooth, /area/mine/living_quarters) +"aeF" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "aeQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -240,6 +267,10 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/large, /area/mine/mechbay) +"aft" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/iron, +/area/station/service/bar) "afz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -272,14 +303,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/mine/mechbay) -"agl" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "agm" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering Supermatter Chamber"; @@ -343,6 +366,12 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"ahh" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/bar) "ahm" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/firealarm/directional/south, @@ -375,23 +404,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ahW" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters3"; - name = "Pharmacy Shutters" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) -"ail" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "ait" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -484,25 +496,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/textured, /area/station/security/prison/workout) -"ajS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"akb" = ( +/obj/structure/closet/crate, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/food/canned/beans, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"ajU" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_x = 7; + pixel_y = 6 }, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/mob/living/basic/mouse/white, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "akk" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer2{ dir = 4 @@ -586,11 +600,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/transit_tube) -"ale" = ( -/obj/item/bedsheet/red, -/mob/living/simple_animal/bot/secbot/beepsky, -/turf/open/floor/plating, -/area/station/maintenance/fore) "alq" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron/grimy, @@ -648,10 +657,6 @@ }, /turf/open/floor/plating, /area/mine/storage) -"ama" = ( -/obj/structure/stairs/south, -/turf/open/floor/stone, -/area/station/commons/lounge) "amg" = ( /obj/machinery/door/poddoor/shutters/window/preopen{ dir = 4; @@ -680,15 +685,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"amr" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/turf/open/floor/iron, -/area/station/service/hydroponics) "amt" = ( /obj/structure/cable, /turf/open/floor/iron/chapel{ @@ -706,17 +702,6 @@ /obj/structure/curtain, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"amD" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "amE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -785,13 +770,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/aft) -"anE" = ( -/obj/item/toy/snowball{ - pixel_x = -6; - pixel_y = -4 +"any" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"anI" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 1 }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "anK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -825,6 +819,13 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/command/bridge) +"aoi" = ( +/obj/structure/closet/emcloset, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "aoo" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -916,6 +917,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"apC" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/calendar/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "apD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -930,16 +937,6 @@ }, /turf/open/floor/iron, /area/station/command/gateway) -"apQ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "apS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -973,35 +970,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/mine/laborcamp) -"aqg" = ( -/obj/structure/rack, -/obj/item/wrench, -/obj/item/crowbar, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) -"aqk" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "aqp" = ( /obj/effect/turf_decal/trimline/green/filled/warning{ dir = 8 @@ -1017,6 +985,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"aqq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "aqB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1096,6 +1074,18 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) +"arW" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) +"arZ" = ( +/obj/effect/turf_decal/tile/blue, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "asa" = ( /obj/structure/table/wood, /obj/item/storage/crayons, @@ -1144,16 +1134,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"asG" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Dormitory South" - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/commons/dorms) "asM" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -1201,23 +1181,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) -"ati" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "atj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1326,12 +1289,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/plating, /area/mine/eva) -"auD" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "auJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -1347,6 +1304,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"avd" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) +"ave" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "avh" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -1382,16 +1370,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/security/armory/upper) -"awh" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/sign/poster/official/help_others/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness) "awn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1422,6 +1400,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"awF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "awK" = ( /obj/structure/table, /obj/item/hemostat, @@ -1495,12 +1478,6 @@ /obj/machinery/modular_computer/preset/id, /turf/open/floor/iron, /area/station/command/bridge) -"axh" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "axm" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -1552,17 +1529,6 @@ /obj/effect/spawner/random/structure/billboard/nanotrasen, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"axM" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) "axN" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -1596,17 +1562,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) -"ayd" = ( -/obj/machinery/firealarm/directional/west{ - pixel_y = -4 - }, -/obj/machinery/light_switch/directional/west{ - pixel_y = 5 - }, -/obj/machinery/photocopier, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "ayq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "atmos-entrance" @@ -1637,6 +1592,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"ayJ" = ( +/obj/effect/spawner/random/lavaland_mob/raptor, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ayR" = ( /obj/machinery/airalarm/directional/east, /obj/structure/extinguisher_cabinet/directional/north, @@ -1647,6 +1606,12 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"ayY" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "azf" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -1661,6 +1626,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"azt" = ( +/obj/machinery/door/airlock{ + name = "Unit B" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "azw" = ( /turf/closed/wall, /area/station/medical/pharmacy) @@ -1686,6 +1657,12 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"azI" = ( +/obj/machinery/vending/autodrobe, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "azN" = ( /obj/structure/rack, /obj/item/tank/internals/emergency_oxygen{ @@ -1740,6 +1717,10 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) +"aAk" = ( +/obj/structure/table/wood, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "aAl" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 1 @@ -1754,6 +1735,28 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"aAy" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/dice{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/effect/spawner/random/entertainment/money_small, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"aBb" = ( +/obj/structure/closet/emcloset, +/obj/item/pickaxe, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron, +/area/station/service/hydroponics) "aBf" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/engine{ @@ -1774,23 +1777,12 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"aBJ" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/table/glass, -/obj/item/book/manual/hydroponics_pod_people, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/sign/poster/contraband/kudzu/directional/north, -/obj/machinery/light/small/directional/west, -/obj/item/plant_analyzer, -/obj/item/watertank{ - pixel_y = -3; - pixel_x = -5 +"aBj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "aBR" = ( /turf/open/genturf/blue, /area/icemoon/surface/outdoors/noruins) @@ -1894,10 +1886,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"aDA" = ( -/obj/machinery/newscaster/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) "aDJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1905,11 +1893,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/side, /area/station/security/prison) -"aDQ" = ( -/obj/item/kirbyplants/fern, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "aDZ" = ( /obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/door/firedoor, @@ -1920,12 +1903,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/command/bridge) -"aEd" = ( -/obj/structure/chair/sofa/right/brown{ - dir = 8 +"aEx" = ( +/obj/structure/closet/lasertag/blue, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "aEA" = ( /obj/structure/rack, /obj/item/clothing/mask/gas, @@ -2045,6 +2031,26 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"aGf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) +"aGk" = ( +/obj/structure/rack, +/obj/item/wrench, +/obj/item/crowbar, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "aGr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/directional/east{ @@ -2053,10 +2059,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"aGz" = ( -/obj/effect/spawner/random/trash/bin, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "aGB" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/iron/dark/telecomms, @@ -2084,6 +2086,13 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp) +"aHh" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "aHz" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -2137,6 +2146,21 @@ dir = 9 }, /area/station/science/explab) +"aIA" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "aIB" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 4 @@ -2227,13 +2251,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"aJJ" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "aJN" = ( /obj/structure/table/wood, /turf/open/floor/carpet, @@ -2270,13 +2287,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/carpet, /area/station/security/detectives_office) -"aKg" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 10 - }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) "aKq" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/canister/air, @@ -2299,11 +2309,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"aKC" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "aKI" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -2312,6 +2317,11 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"aLh" = ( +/obj/structure/fireplace, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "aLy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2426,6 +2436,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aMI" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "aML" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -2443,6 +2459,14 @@ /obj/structure/sign/nanotrasen, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"aNj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "aNq" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -2488,14 +2512,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/mine/eva) -"aOi" = ( -/obj/item/toy/snowball{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/toy/snowball, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "aOz" = ( /obj/structure/chair{ dir = 4 @@ -2576,6 +2592,11 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/textured, /area/station/security/warden) +"aPP" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "aPV" = ( /obj/effect/spawner/random/trash/mess, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2620,13 +2641,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/stone, /area/mine/eva/lower) -"aQH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/large, -/area/station/service/bar) "aQJ" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -2823,6 +2837,22 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"aTk" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "aTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2834,12 +2864,6 @@ /obj/structure/displaycase/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"aTx" = ( -/obj/structure/railing, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "aTE" = ( /obj/structure/table/reinforced, /obj/machinery/light_switch/directional/east, @@ -2918,6 +2942,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"aUq" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/obj/structure/flora/bush/generic/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "aUA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -3030,6 +3059,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"aVJ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "aVU" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/virology{ @@ -3084,18 +3120,6 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) -"aWs" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/sink/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "aWD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -3126,16 +3150,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/mine/laborcamp/security) -"aXn" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 8; - name = "Air Out" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "aXp" = ( /obj/structure/cable, /obj/machinery/button/door/directional/west{ @@ -3151,6 +3165,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"aXu" = ( +/obj/structure/chair/sofa/right/brown, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"aXv" = ( +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"aXx" = ( +/obj/item/bedsheet/red, +/mob/living/simple_animal/bot/secbot/beepsky, +/turf/open/floor/plating, +/area/station/maintenance/fore) "aXY" = ( /obj/structure/rack, /obj/item/circuitboard/machine/monkey_recycler, @@ -3181,6 +3211,13 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/mine/production) +"aYO" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "aYQ" = ( /obj/machinery/shower/directional/south, /obj/item/soap/nanotrasen, @@ -3307,6 +3344,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"bao" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/closet/emcloset, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "bar" = ( /obj/effect/turf_decal/tile/blue/opposingcorners{ dir = 1 @@ -3405,10 +3449,12 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) -"bck" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"bcf" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "bcm" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Lower Brig Cells"; @@ -3421,6 +3467,14 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) +"bcu" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/watermelon, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "bcx" = ( /obj/machinery/door/airlock/maintenance{ name = "Quartermaster Office Maintenance" @@ -3445,10 +3499,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/xenobiology) -"bcG" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bcN" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central) @@ -3539,6 +3589,14 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/wood, /area/station/service/library) +"bdX" = ( +/obj/item/toy/snowball{ + pixel_y = 3; + pixel_x = 3 + }, +/obj/item/toy/snowball, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "bea" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating/icemoon, @@ -3556,28 +3614,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"beG" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/table/glass, -/obj/machinery/reagentgrinder{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/storage/box/syringes{ - pixel_y = 8; - pixel_x = -5 - }, -/obj/item/storage/box/beakers{ - pixel_y = 5; - pixel_x = -9 +"beF" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "beO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -3615,6 +3659,11 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva/lower) +"bfy" = ( +/obj/effect/spawner/random/trash/bin, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bfL" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -3768,6 +3817,18 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"bid" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/bar, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "bie" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -3783,6 +3844,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"bil" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "bin" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -3806,14 +3871,6 @@ /obj/item/clothing/head/beanie/orange, /turf/open/floor/iron, /area/station/cargo/storage) -"biC" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "biI" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Test Chamber"; @@ -3844,14 +3901,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"biW" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "biY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/port/fore) @@ -3906,13 +3955,6 @@ dir = 4 }, /area/station/security/prison) -"bju" = ( -/obj/structure/cable, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "bjv" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -3927,15 +3969,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"bjy" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bjN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -3992,15 +4025,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/science/explab) +"bkM" = ( +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "bkS" = ( /obj/machinery/bci_implanter, /turf/open/floor/iron/white/side{ dir = 4 }, /area/station/science/explab) -"bkU" = ( -/turf/closed/mineral/random/snow, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "bkV" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -4104,6 +4138,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) +"blX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "bml" = ( /obj/structure/table, /obj/item/storage/medkit/regular, @@ -4149,16 +4187,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) -"bnj" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "bnl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4183,6 +4211,10 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) +"bnx" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "bny" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/closed/wall/r_wall, @@ -4213,20 +4245,21 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) -"bnR" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "bnZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2{ dir = 1 }, /turf/open/floor/iron, /area/station/science/ordnance) +"boa" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 + }, +/obj/effect/spawner/random/entertainment/cigar, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "bod" = ( /obj/structure/closet/crate/wooden, /obj/item/camera_film{ @@ -4243,30 +4276,42 @@ "bol" = ( /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"bos" = ( -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 5 +"bon" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, -/area/station/engineering/atmos/project) -"boJ" = ( +/area/station/service/hydroponics) +"bor" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) +"bos" = ( +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/project) "boO" = ( /obj/structure/chair/sofa/left/brown{ dir = 8 @@ -4291,6 +4336,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"bpa" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/machinery/light/small/red/directional/north, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"bpc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "bpd" = ( /obj/machinery/power/smes/engineering, /obj/effect/turf_decal/delivery, @@ -4325,15 +4387,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"bpw" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"bpv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "bpD" = ( /obj/machinery/newscaster/directional/south, /obj/structure/closet/firecloset, @@ -4463,6 +4526,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"brC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "brJ" = ( /obj/structure/chair/stool/directional/south, /obj/effect/landmark/event_spawn, @@ -4534,6 +4606,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"bsn" = ( +/obj/machinery/door/airlock{ + name = "Unisex Restrooms" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "bst" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -4687,6 +4767,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"bvc" = ( +/obj/structure/minecart_rail{ + dir = 1 + }, +/obj/item/radio/intercom/directional/west{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "bvd" = ( /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, @@ -4732,6 +4822,11 @@ /obj/machinery/autolathe, /turf/open/floor/iron, /area/station/cargo/office) +"bvu" = ( +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "bvE" = ( /obj/machinery/computer/monitor{ name = "bridge power monitoring console" @@ -4789,6 +4884,12 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/virology) +"bwh" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/turf/closed/wall, +/area/station/service/hydroponics) "bwi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4818,14 +4919,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"bwE" = ( -/obj/structure/closet/lasertag/red, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "bwK" = ( /obj/structure/bookcase/random/religion, /turf/open/floor/wood, @@ -4854,17 +4947,6 @@ "bxe" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/fore) -"bxw" = ( -/obj/item/popsicle_stick{ - pixel_y = 1; - pixel_x = -9 - }, -/obj/item/popsicle_stick{ - pixel_y = 3; - pixel_x = -2 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "bxJ" = ( /obj/structure/closet/crate, /turf/open/floor/plating, @@ -4905,10 +4987,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"bya" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "byd" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/light_switch/directional/south, @@ -4967,17 +5045,15 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"byy" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "byB" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) -"byG" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/loading_area/white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "byH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, @@ -4993,6 +5069,14 @@ /obj/effect/mapping_helpers/mail_sorting/science/robotics, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"byO" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/mob/living/carbon/human/species/monkey/punpun, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "byP" = ( /obj/structure/girder, /turf/open/floor/plating, @@ -5038,6 +5122,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"bzF" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/item/aquarium_kit, +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "bzI" = ( /obj/machinery/bluespace_vendor/directional/west, /obj/effect/turf_decal/tile/blue{ @@ -5067,21 +5159,14 @@ /turf/open/floor/engine/plasma, /area/station/engineering/atmos) "bzX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "bAa" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -5150,6 +5235,18 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"bBa" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "bBb" = ( /obj/structure/railing{ dir = 4 @@ -5165,10 +5262,24 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/lobby) -"bBu" = ( -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"bBn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bBw" = ( /obj/item/trash/sosjerky, /turf/open/floor/plating, @@ -5485,18 +5596,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"bEO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"bEU" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "bEX" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2, @@ -5681,6 +5780,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) +"bIq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bIt" = ( /obj/structure/rack, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -5896,6 +6004,19 @@ dir = 5 }, /area/station/maintenance/port/aft) +"bLa" = ( +/obj/structure/bed, +/obj/machinery/airalarm/directional/north, +/obj/effect/spawner/random/bedsheet, +/obj/machinery/button/door/directional/east{ + id = "Dorm1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/obj/item/pillow/random, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bLc" = ( /turf/open/floor/iron/dark/textured_edge{ dir = 1 @@ -5906,6 +6027,12 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark/textured, /area/station/security/interrogation) +"bLf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "bLn" = ( /obj/machinery/light/directional/west, /obj/item/radio/intercom/directional/west, @@ -5959,32 +6086,10 @@ }, /turf/open/floor/wood, /area/station/service/library) -"bLS" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/janitor_supplies, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "bLW" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/commons/vacant_room/commissary) -"bLX" = ( -/obj/structure/table, -/obj/item/toy/figure/virologist{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/item/radio/headset/headset_med{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/book/manual/wiki/infections{ - pixel_x = 10; - pixel_y = 2 - }, -/obj/effect/turf_decal/tile/green/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/medical/virology) "bLY" = ( /obj/structure/cable, /obj/machinery/duct, @@ -6007,18 +6112,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bMs" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "bMz" = ( /obj/docking_port/stationary{ dir = 8; @@ -6060,13 +6153,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"bNi" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "bNo" = ( /obj/machinery/conveyor{ dir = 8; @@ -6114,14 +6200,17 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/cryo) -"bNO" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "bOg" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) +"bOh" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "bOj" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -6135,6 +6224,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/construction) +"bOn" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Gambling Lounge" + }, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "bOo" = ( /obj/effect/turf_decal/arrows/white{ dir = 4 @@ -6161,10 +6259,6 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"bOB" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bOO" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -6190,28 +6284,28 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/fore) +"bOZ" = ( +/obj/effect/spawner/random/structure/musician/piano/random_piano, +/obj/machinery/button/curtain{ + id = "cantena_curtains"; + pixel_x = -30 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "bPc" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"bPk" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical/morgue) "bPn" = ( /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"bPq" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/item/stack/package_wrap{ - pixel_y = 2 - }, -/obj/item/book/manual/chef_recipes, -/obj/item/holosign_creator/robot_seat/restaurant, -/obj/structure/rack, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "bPr" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -6271,6 +6365,12 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) +"bPR" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "bPV" = ( /obj/item/kirbyplants/random/dead, /turf/open/floor/plating/snowed/icemoon, @@ -6287,11 +6387,6 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) -"bQa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) "bQd" = ( /obj/structure/fireaxecabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -6330,14 +6425,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bQY" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/coin{ - pixel_x = -7 - }, -/obj/effect/spawner/random/clothing/bowler_or_that, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "bRb" = ( /obj/structure/flora/bush/lavendergrass/style_random, /turf/open/floor/grass, @@ -6372,6 +6459,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"bRx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "bRz" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -6404,6 +6504,18 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"bRO" = ( +/obj/item/reagent_containers/cup/soda_cans/beer{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"bSi" = ( +/obj/structure/sign/warning/cold_temp/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bSk" = ( /obj/machinery/door/poddoor/preopen{ id = "Prison Gate"; @@ -6425,21 +6537,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/eighties/red, /area/station/security/prison/safe) -"bSu" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = 32 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "bSz" = ( /obj/structure/railing{ dir = 8 @@ -6447,12 +6544,14 @@ /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) "bSC" = ( -/obj/effect/decal/cleanable/confetti, -/obj/structure/closet/crate/cardboard, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/random/food_or_drink/cups, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway Center" + }, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "bSG" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -6517,22 +6616,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"bUc" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "bUp" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/security/prison/garden) -"bUs" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "bUx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore) @@ -6667,27 +6754,11 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bWx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "bWy" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/engineering/atmos) -"bWz" = ( -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "bWK" = ( /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) @@ -6712,6 +6783,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) +"bXb" = ( +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "bXf" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -6785,17 +6863,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, /area/station/medical/storage) -"bXZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "bYd" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/light/small/directional/west, @@ -6809,18 +6876,6 @@ /obj/effect/spawner/random/armory/laser_gun, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"bYj" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/window/right/directional/south{ - name = "Produce Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "bYm" = ( /obj/structure/chair/pew{ dir = 1 @@ -6830,6 +6885,10 @@ dir = 8 }, /area/station/service/chapel) +"bYr" = ( +/obj/structure/fence, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "bYu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -6843,6 +6902,12 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"bYx" = ( +/obj/structure/fence/post{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "bYz" = ( /obj/machinery/conveyor{ dir = 8; @@ -6975,11 +7040,34 @@ "bZQ" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/starboard) +"bZU" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 2 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/mapping_helpers/mail_sorting/service/dormitories, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "bZV" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"cag" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "caC" = ( /obj/machinery/door/window/right/directional/west{ name = "Monkey Pen"; @@ -7070,16 +7158,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cbU" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "ccg" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -7211,14 +7289,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"cdh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/south{ - pixel_x = 5 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "cdl" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -7228,21 +7298,28 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cdv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"cdO" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 }, -/obj/structure/rack, -/obj/item/tank/internals/oxygen, -/obj/item/extinguisher, -/obj/item/clothing/suit/utility/fire/firefighter, -/obj/item/clothing/head/utility/hardhat/red, -/obj/item/clothing/mask/gas, -/obj/item/clothing/glasses/meson, -/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/starboard/lesser) +"cdX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "cef" = ( /obj/machinery/biogenerator, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -7254,6 +7331,10 @@ /obj/structure/grille, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"cem" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "ceo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7271,22 +7352,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ceA" = ( -/obj/item/book/manual/wiki/barman_recipes{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/rag, -/obj/structure/table/wood, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "ceE" = ( /obj/machinery/door/airlock/virology/glass{ name = "Isolation B" @@ -7318,6 +7383,21 @@ /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/smooth, /area/mine/mechbay) +"ceU" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ceY" = ( /obj/machinery/door/poddoor/preopen{ id = "Disposal Exit"; @@ -7386,12 +7466,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"cfN" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cfS" = ( /obj/item/clothing/suit/costume/snowman{ name = "Man of Snow" @@ -7430,6 +7504,15 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"cgd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "cge" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -7439,11 +7522,6 @@ /obj/effect/landmark/start/coroner, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"cgo" = ( -/obj/effect/spawner/random/trash/mess, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cgs" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/dark, @@ -7546,12 +7624,6 @@ }, /turf/open/floor/iron/white/side, /area/mine/living_quarters) -"chU" = ( -/obj/structure/statue/snow/snowman{ - name = "Steve" - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "chW" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/machinery/chem_master, @@ -7624,6 +7696,15 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"cjh" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cjz" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/rack, @@ -7680,6 +7761,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"cki" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "cks" = ( /obj/item/wrench, /obj/effect/turf_decal/delivery, @@ -7705,11 +7791,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) -"cle" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cll" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7724,12 +7805,6 @@ /obj/effect/spawner/random/maintenance/seven, /turf/open/floor/plating, /area/station/construction) -"cln" = ( -/obj/item/food/chococoin, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "clo" = ( /obj/machinery/firealarm/directional/north, /obj/machinery/light/small/directional/north, @@ -7819,6 +7894,14 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"cmg" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sink/kitchen/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "cmq" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -7876,6 +7959,17 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cmK" = ( +/obj/structure/table/wood, +/obj/machinery/newscaster/directional/west, +/obj/item/stack/package_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/storage/photo_album/bar, +/obj/item/toy/figure/bartender, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "cmL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7969,20 +8063,15 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"cnI" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 +"cnS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/area/station/service/bar) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/stool/directional/east, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "cnU" = ( /obj/machinery/modular_computer/preset/id, /obj/machinery/computer/security/telescreen/vault{ @@ -7993,15 +8082,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"cok" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 - }, -/obj/effect/spawner/random/entertainment/cigar, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) "coT" = ( /obj/structure/table, /obj/item/storage/wallet, @@ -8032,14 +8112,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"cph" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) "cpl" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - East" @@ -8071,10 +8143,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"cpy" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cpA" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -8083,15 +8151,6 @@ /obj/structure/railing, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"cpD" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cpG" = ( /obj/structure/table, /obj/item/toy/cards/deck, @@ -8107,6 +8166,10 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"cpO" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cpT" = ( /obj/item/kirbyplants/random, /obj/machinery/status_display/evac/directional/south, @@ -8130,6 +8193,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cql" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "cqo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8140,6 +8210,13 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"cqs" = ( +/obj/item/toy/snowball{ + pixel_y = -7; + pixel_x = 5 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "cqv" = ( /obj/effect/landmark/blobstart, /obj/machinery/camera{ @@ -8206,6 +8283,13 @@ /obj/effect/mapping_helpers/requests_console/information, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"crO" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing/corner/end/flip{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "crS" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /turf/open/floor/wood, @@ -8239,6 +8323,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"css" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "csB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8249,14 +8340,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"csM" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "csT" = ( /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) @@ -8269,6 +8352,17 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"csZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "ctk" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -8573,6 +8667,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"cxD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "cxO" = ( /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) @@ -8597,6 +8702,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/white, /area/station/medical/virology) +"cxT" = ( +/obj/structure/table/wood, +/obj/item/plate, +/obj/effect/spawner/random/trash/bacteria, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "cyh" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -8700,6 +8811,16 @@ /obj/machinery/modular_computer/preset/cargochat/engineering, /turf/open/floor/iron/dark, /area/station/engineering/lobby) +"czo" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/sign/poster/official/help_others/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/fitness) "czq" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -8742,17 +8863,6 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"czC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/chair, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "czD" = ( /turf/closed/wall, /area/mine/laborcamp/security) @@ -8761,13 +8871,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"czH" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) "czO" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics" @@ -8819,31 +8922,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"cAm" = ( -/obj/structure/closet/crate{ - name = "Le Caisee D'abeille" - }, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/honey_frame, -/obj/item/queen_bee/bought, -/obj/item/clothing/suit/hooded/bee_costume, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/north, -/obj/item/seeds/sunflower, -/obj/effect/spawner/random/food_or_drink/seed, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "cAo" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/toolcloset, @@ -8957,17 +9035,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"cBt" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/structure/displaycase/forsale/kitchen, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "cBD" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -8984,6 +9051,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/prison/workout) +"cBJ" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cBP" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp{ @@ -8991,9 +9062,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"cBQ" = ( -/turf/open/genturf, -/area/icemoon/surface/outdoors/nospawn) "cBT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -9014,16 +9082,18 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"cBX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/service/library) "cCb" = ( /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"cCe" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "cCt" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_all, @@ -9063,6 +9133,22 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) +"cCR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"cCT" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cCW" = ( /obj/machinery/conveyor/inverted{ dir = 6; @@ -9192,18 +9278,6 @@ /obj/effect/spawner/random/trash/cigbutt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"cEH" = ( -/mob/living/basic/goat/pete{ - desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; - habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); - minimum_survivable_temperature = 150; - name = "Snowy Pete" - }, -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) -"cEK" = ( -/turf/open/floor/wood, -/area/station/commons/lounge) "cEL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9243,10 +9317,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"cFQ" = ( -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/commons/lounge) "cFX" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -9285,6 +9355,18 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) +"cGq" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Hall" + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "cGt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -9300,6 +9382,22 @@ "cGA" = ( /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"cGI" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/kitchen) "cGQ" = ( /obj/structure/sign/poster/official/random/directional/west, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ @@ -9307,21 +9405,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"cGT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"cHa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cHb" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -9359,26 +9442,6 @@ /obj/machinery/vending/autodrobe, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cHJ" = ( -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"cHN" = ( -/obj/machinery/camera{ - c_tag = "Service - Botany"; - dir = 9 - }, -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "cHO" = ( /obj/effect/turf_decal/tile/dark_green{ dir = 4 @@ -9425,25 +9488,12 @@ /obj/item/coin/diamond, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"cIH" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "cIK" = ( /obj/structure/table/wood, /obj/item/pai_card, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"cIL" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "cIP" = ( /obj/machinery/bookbinder, /turf/open/floor/wood, @@ -9529,20 +9579,13 @@ }, /area/station/science/research) "cKp" = ( -/obj/machinery/door/airlock/external, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "cKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9555,21 +9598,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/processing) -"cKz" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "cKA" = ( /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 2 @@ -9606,11 +9634,6 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"cLj" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "cLo" = ( /obj/machinery/recharge_station, /turf/open/floor/iron, @@ -9701,6 +9724,23 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"cMh" = ( +/obj/structure/table, +/obj/item/toy/figure/virologist{ + pixel_x = -8; + pixel_y = 7 + }, +/obj/item/radio/headset/headset_med{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/book/manual/wiki/infections{ + pixel_x = 10; + pixel_y = 2 + }, +/obj/effect/turf_decal/tile/green/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/medical/virology) "cMj" = ( /obj/structure/stairs/west, /obj/structure/railing{ @@ -9760,13 +9800,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"cMK" = ( -/obj/item/toy/snowball{ - pixel_x = -11; - pixel_y = -2 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "cMN" = ( /obj/machinery/door/airlock/security/glass{ name = "Medbay Security Post" @@ -9788,23 +9821,6 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"cNf" = ( -/obj/structure/cable, -/obj/structure/holosign/barrier/atmos/sturdy, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 1; - id = "minecraft_shutter"; - name = "Cart Shutters" - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/service/kitchen/coldroom) "cNh" = ( /obj/structure/fence/corner{ dir = 10 @@ -9838,6 +9854,26 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/xenobiology) +"cNL" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "cNS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -9889,6 +9925,17 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"cOQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "cPd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9912,36 +9959,11 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) -"cPs" = ( -/obj/structure/closet/lasertag/blue, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) "cPE" = ( /turf/open/floor/iron/smooth_half{ dir = 1 }, /area/station/security/prison/garden) -"cPF" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"cPI" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "cPQ" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -10001,6 +10023,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"cQp" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "cQs" = ( /obj/structure/table, /obj/item/computer_disk{ @@ -10044,6 +10073,13 @@ dir = 8 }, /area/station/ai_monitored/command/storage/eva) +"cQE" = ( +/obj/structure/fence, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "cQH" = ( /obj/structure/sign/warning/no_smoking/directional/south, /turf/open/floor/circuit/telecomms/mainframe, @@ -10055,6 +10091,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) +"cQV" = ( +/obj/structure/barricade/wooden/snowed, +/obj/machinery/light/small/red/directional/north, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "cRg" = ( /obj/structure/cable, /turf/open/floor/iron/dark/textured, @@ -10101,12 +10147,6 @@ /obj/machinery/processor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"cRZ" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical/morgue) "cSe" = ( /obj/structure/table, /obj/item/flashlight{ @@ -10146,6 +10186,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"cSO" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "cSP" = ( /obj/machinery/camera/directional/east{ c_tag = "Aft Primary Hallway South"; @@ -10230,15 +10277,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"cUP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Lower" - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) +"cUH" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "cVa" = ( /obj/machinery/camera/directional/north{ c_tag = "Fitness Room North" @@ -10279,6 +10322,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"cVW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/south{ + pixel_x = 5 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "cWq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -10286,10 +10337,15 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"cWr" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"cWz" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "cWG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10320,15 +10376,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"cXb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 2 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "cXc" = ( /obj/effect/turf_decal/arrows, /turf/open/floor/iron, @@ -10392,6 +10439,13 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"cYe" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "cYf" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/stripes/red/line{ @@ -10530,14 +10584,6 @@ "cZD" = ( /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"cZI" = ( -/obj/structure/table/wood, -/obj/item/wallframe/camera{ - pixel_y = -2; - pixel_x = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "cZN" = ( /obj/structure/table/wood, /obj/item/soap/nanotrasen, @@ -10566,14 +10612,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dac" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/deepfryer, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "daf" = ( /obj/structure/table, /turf/open/floor/plating/snowed/icemoon, @@ -10612,6 +10650,13 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"day" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "daE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/cafeteria, @@ -10647,6 +10692,11 @@ /obj/structure/sign/warning/gas_mask, /turf/closed/wall, /area/station/service/chapel) +"daZ" = ( +/obj/structure/marker_beacon/jade, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "dbi" = ( /obj/structure/table, /obj/item/flashlight, @@ -10698,16 +10748,6 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"dcp" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/railing{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dcq" = ( /obj/structure/bed, /obj/machinery/airalarm/directional/north, @@ -10858,6 +10898,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ddv" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "ddz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10870,15 +10917,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"ddB" = ( +"ddJ" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, /obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) +"ddR" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ddZ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/green{ @@ -10960,12 +11017,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"dfv" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "dfw" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/west, /obj/machinery/airalarm/directional/north, @@ -10996,6 +11047,12 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"dge" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dgl" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -11003,13 +11060,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"dgI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dgZ" = ( /obj/machinery/airalarm/directional/south, /obj/structure/cable, @@ -11029,16 +11079,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) -"dhd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "dhj" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, @@ -11059,16 +11099,6 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/medical) -"dhm" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "dhq" = ( /turf/closed/mineral/random/labormineral/ice, /area/icemoon/surface/outdoors/labor_camp) @@ -11117,6 +11147,11 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"dig" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dip" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11162,6 +11197,16 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/textured, /area/mine/mechbay) +"diK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "diL" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -11181,14 +11226,12 @@ dir = 1 }, /area/mine/living_quarters) -"diY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"djl" = ( +/obj/structure/chair/sofa/left/brown{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "djr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11315,6 +11358,19 @@ dir = 8 }, /area/station/security/brig/entrance) +"dla" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "dlt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 8 @@ -11322,6 +11378,9 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"dlu" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/icemoon/surface) "dlB" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/chapel, @@ -11346,11 +11405,6 @@ }, /turf/open/floor/plating, /area/station/construction) -"dlV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "dmj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/button/door/directional/east{ @@ -11536,6 +11590,23 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"dpa" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "dpc" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -11553,6 +11624,12 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"dpw" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "dpx" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment, @@ -11580,37 +11657,11 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"dpF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "dpH" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"dpP" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/theater) "dpU" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11627,16 +11678,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"dqe" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing/corner/end{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dqg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/secure_area/directional/south, @@ -11656,6 +11697,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"dqA" = ( +/obj/structure/fence/corner{ + dir = 5 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "dqL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -11730,6 +11777,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) +"drw" = ( +/turf/closed/wall/ice, +/area/station/service/kitchen/coldroom) "dry" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11789,31 +11839,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"drV" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "drZ" = ( /obj/structure/flora/grass/both, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"dsa" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/eighties, -/area/station/commons/lounge) "dsf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -11923,6 +11952,11 @@ /obj/structure/bookcase/random/reference, /turf/open/floor/wood, /area/station/service/library) +"dtc" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/dice, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "dth" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -11983,14 +12017,6 @@ /obj/item/poster/random_official, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"duQ" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "duS" = ( /obj/machinery/door/airlock{ name = "Labor Camp Library" @@ -12000,10 +12026,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"duT" = ( -/obj/structure/noticeboard/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "duZ" = ( /obj/machinery/door/airlock/engineering{ name = "Utilities Closet" @@ -12074,6 +12096,22 @@ /obj/structure/flora/tree/dead/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"dvZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/commons/lounge) "dwb" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -12089,14 +12127,12 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"dwv" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"dwq" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "dww" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -12231,24 +12267,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"dxX" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"dyb" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "dyf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"dym" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "dyE" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -12273,16 +12302,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"dze" = ( -/obj/machinery/door/airlock/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dzg" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor/preopen{ @@ -12328,6 +12347,15 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"dzD" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dzJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -12409,16 +12437,6 @@ dir = 5 }, /area/station/command/heads_quarters/rd) -"dAH" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dAP" = ( /obj/structure/cable, /obj/structure/chair{ @@ -12432,10 +12450,6 @@ "dAZ" = ( /turf/closed/wall/r_wall, /area/station/security/prison/visit) -"dBd" = ( -/obj/effect/spawner/random/lavaland_mob/raptor, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "dBh" = ( /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/iron/dark/telecomms, @@ -12455,6 +12469,26 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/mine/laborcamp/security) +"dBA" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "dBB" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot_white, @@ -12478,13 +12512,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) -"dBP" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "dBQ" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat AI Chamber South"; @@ -12513,35 +12540,21 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/medbay/lobby) -"dCv" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "dCy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"dCB" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "dCF" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"dDb" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"dCV" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "dDm" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 @@ -12609,12 +12622,18 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dEd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"dEc" = ( +/obj/structure/table/wood, +/obj/item/soap/nanotrasen, +/obj/item/clothing/head/costume/sombrero/green, +/obj/machinery/camera{ + c_tag = "Service - Theater"; + dir = 9 }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "dEf" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -12702,17 +12721,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"dFd" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Lower Entrance"; - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "dFj" = ( /turf/open/floor/iron/white/side{ dir = 9 @@ -12837,6 +12845,19 @@ /obj/effect/mapping_helpers/airlock/access/all/command/captain, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"dGZ" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "dHa" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -12916,13 +12937,6 @@ dir = 9 }, /area/station/science/xenobiology) -"dIR" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 9 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "dIS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12944,19 +12958,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"dJm" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "dJx" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -12973,6 +12974,18 @@ /obj/machinery/air_sensor/ordnance_freezer_chamber, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"dJF" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12999,6 +13012,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/cargo/sorting) +"dKf" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Starboard Primary Hallway Center West" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "dKh" = ( /obj/machinery/light_switch/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -13073,11 +13096,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dKY" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "dLe" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/wood/large, @@ -13117,19 +13135,6 @@ /obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/iron, /area/mine/laborcamp) -"dLZ" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"dMh" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/item/rack_parts, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dMp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13179,6 +13184,10 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"dNk" = ( +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dNl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/thinplating{ @@ -13291,16 +13300,6 @@ }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"dPE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dPP" = ( /obj/structure/closet/toolcloset, /turf/open/floor/plating, @@ -13333,17 +13332,6 @@ dir = 1 }, /area/station/maintenance/department/cargo) -"dQh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "dQo" = ( /obj/machinery/button/door/directional/east{ id = "pharmacy_shutters2"; @@ -13355,6 +13343,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"dQp" = ( +/obj/structure/table/wood, +/obj/item/food/pie/cream, +/obj/item/bikehorn, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "dQI" = ( /obj/effect/landmark/start/assistant, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -13417,12 +13412,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"dRl" = ( -/obj/machinery/light_switch/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "dRz" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13437,15 +13426,6 @@ dir = 1 }, /area/station/command/gateway) -"dRR" = ( -/obj/structure/railing, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/four, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dSj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -13460,6 +13440,14 @@ }, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"dSs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "dSJ" = ( /obj/machinery/flasher/directional/north{ id = "visitorflash" @@ -13484,6 +13472,14 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"dSY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "dTm" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/mob_spawn/corpse/human/skeleton, @@ -13504,6 +13500,13 @@ "dTs" = ( /turf/open/floor/iron/smooth, /area/mine/eva) +"dTx" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/structure/chair/sofa/right/brown{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "dTD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -13522,10 +13525,6 @@ }, /turf/open/floor/iron, /area/mine/production) -"dTN" = ( -/obj/structure/chair/stool, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dTW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -13615,6 +13614,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"dVj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dVq" = ( /obj/machinery/space_heater, /obj/structure/sign/poster/random/directional/east, @@ -13657,16 +13666,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/commons/vacant_room/office) -"dWc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "dWf" = ( /obj/item/trash/pistachios, /turf/open/floor/plating, @@ -13761,19 +13760,18 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"dXR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "dXU" = ( /obj/effect/decal/cleanable/generic, /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"dYg" = ( -/obj/structure/table/glass, -/obj/structure/sign/poster/contraband/little_fruits/directional/east, -/obj/item/storage/bag/plants/portaseeder, -/obj/item/plant_analyzer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "dYj" = ( /obj/machinery/airalarm/directional/north, /obj/structure/cable, @@ -13846,17 +13844,36 @@ dir = 8 }, /area/mine/eva) -"dZr" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/item/sign, +"dZC" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "dZJ" = ( /obj/machinery/seed_extractor, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/service/hydroponics/garden) +"dZL" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "dZN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -13938,6 +13955,20 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) +"eav" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) "eaw" = ( /obj/effect/spawner/random/contraband/prison, /obj/structure/closet/crate, @@ -13948,18 +13979,9 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) -"eaH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"eaM" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "ebb" = ( /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, @@ -14031,25 +14053,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"ecQ" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_apiary"; - name = "Apiary Shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"ecT" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ecU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14090,21 +14093,45 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"edt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/rack, +/obj/item/tank/internals/oxygen, +/obj/item/extinguisher, +/obj/item/clothing/suit/utility/fire/firefighter, +/obj/item/clothing/head/utility/hardhat/red, +/obj/item/clothing/mask/gas, +/obj/item/clothing/glasses/meson, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"edM" = ( +/obj/item/toy/snowball{ + pixel_x = -6; + pixel_y = -4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "edN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"edO" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/wood/large, +/area/station/service/bar) "edT" = ( /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"edW" = ( -/obj/effect/turf_decal/tile/blue, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "eei" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -14112,20 +14139,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"eej" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "eek" = ( /obj/structure/rack, /obj/structure/window/reinforced/spawner/directional/east, @@ -14140,6 +14153,10 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) +"eet" = ( +/obj/effect/spawner/random/trash/bin, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eeD" = ( /obj/machinery/light/directional/west, /turf/open/floor/iron/dark/textured, @@ -14159,6 +14176,29 @@ /obj/effect/mapping_helpers/mail_sorting/engineering/atmospherics, /turf/open/floor/iron, /area/station/engineering/lobby) +"eeY" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) +"efi" = ( +/obj/structure/bed/dogbed, +/obj/effect/decal/cleanable/blood/gibs/body, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "efk" = ( /obj/structure/cable, /turf/open/floor/iron/white/side, @@ -14226,17 +14266,41 @@ initial_gas_mix = "ICEMOON_ATMOS" }, /area/icemoon/underground/explored) -"efP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 +"efN" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydronutrients, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/service/chapel) +"efS" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/warm/directional/east, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"efU" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/obj/structure/sign/flag/nanotrasen/directional/west, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/commons/fitness) "efV" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable, @@ -14249,14 +14313,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"egi" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/item/bikehorn/rubberducky, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "egj" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, @@ -14290,12 +14346,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"egJ" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/trash/botanical_waste, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "egL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -14383,13 +14433,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/mine/storage) -"ehI" = ( -/obj/item/toy/snowball{ - pixel_x = 9; - pixel_y = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ehJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -14464,20 +14507,14 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"eiE" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +"eiz" = ( +/obj/structure/toilet/greyscale{ + cistern_open = 1; + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/showroomfloor, +/area/station/security/prison/toilet) "eiI" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -14542,6 +14579,22 @@ "ejX" = ( /turf/open/floor/plating, /area/station/security/prison/safe) +"ejY" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plating, +/area/station/maintenance/fore) +"ekc" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ekh" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics - Central" @@ -14586,16 +14639,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) -"ekG" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/machinery/hydroponics/constructable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ekW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14634,16 +14677,6 @@ "elw" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/upper) -"elM" = ( -/obj/structure/table/glass, -/obj/item/shovel/spade, -/obj/item/cultivator{ - pixel_x = 1; - pixel_y = 6 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "elT" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 8 @@ -14657,27 +14690,35 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"elV" = ( -/obj/structure/table/wood, -/obj/machinery/newscaster/directional/west, -/obj/item/stack/package_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 3 - }, -/obj/item/storage/photo_album/bar, -/obj/item/toy/figure/bartender, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "emp" = ( /turf/open/floor/iron/dark/side{ dir = 1 }, /area/station/hallway/primary/starboard) -"emJ" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"emw" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/station/commons/lounge) +"emx" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"emF" = ( +/obj/structure/reagent_dispensers/plumbed{ + name = "service reservoir" + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -14694,14 +14735,6 @@ dir = 1 }, /area/station/security/brig) -"emO" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/machinery/status_display/evac/directional/east, -/obj/structure/chair/sofa/right/brown{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "ena" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -14720,21 +14753,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/engineering/lobby) -"enH" = ( -/obj/machinery/door/airlock/wood{ - name = "Bar Backroom" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/backroom) "enI" = ( /obj/machinery/door/airlock/maintenance{ name = "Tool Storage Maintenance" @@ -14767,13 +14785,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"eou" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "eoy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14823,14 +14834,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"eoU" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" +"eoV" = ( +/obj/item/trash/popcorn, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" }, -/turf/open/floor/plating, -/area/station/service/kitchen) +/obj/machinery/light/small/dim/directional/north, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/textured, +/area/station/maintenance/fore) "eoY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -14880,6 +14895,15 @@ dir = 8 }, /area/station/science/ordnance/office) +"eqk" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "eqn" = ( /obj/structure/sign/warning/docking/directional/east, /turf/open/misc/asteroid/snow/icemoon, @@ -14912,10 +14936,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/starboard) -"eqC" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "eqI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -14965,13 +14985,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"eqZ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "eri" = ( /obj/structure/chair/office/light{ dir = 4 @@ -15006,14 +15019,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) -"ers" = ( -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"erq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "erw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -15026,15 +15038,12 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron, /area/station/construction) -"erD" = ( -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, +"erE" = ( +/obj/machinery/requests_console/auto_name/directional/east, +/obj/machinery/duct, +/obj/effect/mapping_helpers/requests_console/supplies, /turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) +/area/station/service/hydroponics) "erH" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -15076,14 +15085,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) -"erW" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/spawner/random/trash/crushed_can{ - pixel_y = 10 - }, -/turf/open/floor/iron, -/area/station/service/bar) "erY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15129,12 +15130,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/gateway) -"esJ" = ( -/obj/structure/fence/corner{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "esK" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, @@ -15158,6 +15153,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"etr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "etw" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -15191,15 +15193,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/main) -"etU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk/multiz/down{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "etY" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/iron, @@ -15237,15 +15230,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"euj" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eul" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/trimline/yellow/filled/end{ @@ -15335,10 +15319,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/processing) -"evB" = ( -/obj/effect/spawner/random/engineering/canister, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "evT" = ( /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) @@ -15403,10 +15383,6 @@ }, /turf/open/floor/iron/dark/smooth_edge, /area/station/ai_monitored/command/storage/eva) -"ext" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "exv" = ( /obj/effect/gibspawner/human/bodypartless, /turf/open/misc/asteroid/snow/icemoon, @@ -15435,10 +15411,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/work) -"exV" = ( -/obj/structure/stairs/west, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eyb" = ( /turf/closed/wall, /area/station/security/processing) @@ -15487,31 +15459,21 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"eyv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/stool/directional/east, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"eyG" = ( -/obj/structure/chair{ - desc = "Aw geez, I wonder what the chef's cooking up in there!"; - dir = 1; - name = "The Peanut's Gallery" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "eyU" = ( /obj/structure/closet/crate/coffin, /obj/machinery/light/small/red/directional/south, /turf/open/floor/iron/dark/smooth_half, /area/station/service/chapel) +"ezd" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/wallet{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/newspaper, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ezf" = ( /obj/machinery/door/airlock{ name = "Private Restroom" @@ -15519,6 +15481,13 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/freezer, /area/station/medical/break_room) +"ezk" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/item/kirbyplants/organic/plant11, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "ezl" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, @@ -15790,6 +15759,12 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"eDD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eDH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15825,13 +15800,11 @@ /obj/item/flashlight, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eEu" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +"eEr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "eEC" = ( /obj/structure/table/wood, /obj/machinery/fax{ @@ -15874,6 +15847,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"eFf" = ( +/obj/structure/fireplace{ + pixel_x = 0 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "eFh" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/cigarette_pack, @@ -15911,25 +15892,6 @@ /obj/structure/sign/poster/official/report_crimes, /turf/closed/wall/ice, /area/icemoon/underground/explored) -"eFL" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) -"eFN" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "eFO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15951,30 +15913,16 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/wood, /area/station/commons/dorms) -"eFZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"eGg" = ( +/obj/machinery/icecream_vat, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "eGl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"eGp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north{ - pixel_x = -4 - }, -/obj/machinery/light_switch/directional/north{ - pixel_x = 5; - pixel_y = 28 - }, -/turf/open/floor/wood/large, -/area/station/service/bar) "eGr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -16050,26 +15998,22 @@ /obj/item/clothing/under/costume/jabroni, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"eHx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "eHT" = ( /obj/structure/cable, /obj/effect/spawner/random/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"eHX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "eHZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -16188,13 +16132,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"eKO" = ( -/obj/structure/chair/sofa/right/brown, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "eKW" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -16230,6 +16167,19 @@ dir = 5 }, /area/station/science/research) +"eLv" = ( +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/item/food/grown/tomato, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "eLS" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -16243,13 +16193,6 @@ }, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/mechbay) -"eLW" = ( -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/machinery/hydroponics/constructable, -/obj/machinery/status_display/ai/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eMa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16318,13 +16261,6 @@ /obj/effect/turf_decal/tile/red/diagonal_edge, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/mix) -"eMY" = ( -/obj/machinery/door/window/left/directional/west{ - req_access = list("hydroponics"); - name = "Hydroponics Equipment" - }, -/turf/open/floor/iron/half, -/area/station/service/hydroponics) "eNh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -16433,6 +16369,11 @@ /obj/structure/table, /turf/open/floor/engine, /area/station/science/xenobiology) +"ePd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/station/maintenance/fore) "ePi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -16476,6 +16417,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"ePZ" = ( +/obj/structure/chair/stool/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "eQz" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -16529,20 +16480,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"eRG" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = -4; - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "eRH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -16572,6 +16509,15 @@ dir = 4 }, /area/station/cargo/bitrunning/den) +"eSm" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "eSn" = ( /obj/structure/chair/office, /obj/effect/landmark/start/assistant, @@ -16599,12 +16545,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"eSG" = ( -/obj/structure/fence{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "eSJ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -16617,15 +16557,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"eSU" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "eSY" = ( /obj/structure/closet/emcloset, /turf/open/floor/iron/smooth, @@ -16659,15 +16590,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/engineering/main) -"eTz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "eTC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16691,6 +16613,15 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) +"eTT" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/duct, +/obj/machinery/light/small/directional/north, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron, +/area/station/service/bar) "eUe" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /turf/open/floor/iron/white, @@ -16745,6 +16676,17 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"eUC" = ( +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch/directional/west{ + pixel_y = 5 + }, +/obj/machinery/photocopier, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "eUI" = ( /obj/machinery/space_heater, /turf/open/floor/plating, @@ -16810,6 +16752,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva/lower) +"eVi" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "eVl" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -16830,10 +16777,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"eVx" = ( -/obj/structure/sign/warning/gas_mask/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) "eVC" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -16925,16 +16868,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"eWN" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "eWP" = ( /obj/machinery/computer/security/mining, /obj/effect/turf_decal/tile/brown/anticorner/contrasted, @@ -16957,28 +16890,9 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"eXr" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "eXH" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"eXW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/commons/lounge) "eYe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17143,26 +17057,26 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fag" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"faq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Utilities Room" +"far" = ( +/obj/structure/railing/corner/end{ + dir = 4 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"faF" = ( -/turf/open/floor/stone, -/area/station/commons/lounge) +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/hallway/primary/starboard) +"fat" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "faG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -17179,6 +17093,25 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"fbg" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/theater) "fbh" = ( /obj/machinery/power/tracker, /obj/structure/cable, @@ -17187,11 +17120,6 @@ "fbl" = ( /turf/open/floor/iron/dark, /area/station/science/breakroom) -"fbp" = ( -/obj/machinery/restaurant_portal/bar, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fbw" = ( /obj/machinery/camera/directional/north{ c_tag = "Bridge Conference Room" @@ -17199,6 +17127,14 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/command/meeting_room) +"fbW" = ( +/obj/machinery/newscaster/directional/west, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/commons/lounge) "fbY" = ( /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, @@ -17209,6 +17145,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"fce" = ( +/obj/structure/table/glass, +/obj/structure/sign/poster/contraband/little_fruits/directional/east, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/plant_analyzer, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fcg" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17226,15 +17170,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/ordnance) -"fct" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/rack, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Lower" +"fco" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/chapel) +/turf/open/floor/iron, +/area/station/service/bar) "fcu" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/chair, @@ -17316,6 +17258,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"fdP" = ( +/obj/structure/bonfire, +/obj/item/melee/roastingstick, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "fdX" = ( /obj/item/toy/cards/deck{ pixel_x = -9; @@ -17329,19 +17277,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /turf/closed/wall, /area/station/medical/cryo) -"fet" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/structure/rack, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "fez" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate, @@ -17377,6 +17312,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"feV" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ffe" = ( /turf/closed/wall/r_wall, /area/station/maintenance/aft/lesser) @@ -17387,6 +17327,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) +"ffr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ffz" = ( /obj/machinery/processor/slime, /turf/open/floor/iron, @@ -17428,6 +17378,12 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"fgz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fgJ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17473,6 +17429,19 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/fore) +"fhB" = ( +/obj/structure/chair/sofa/bench/left, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"fhS" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/sink/kitchen/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "fhU" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -17614,6 +17583,16 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"fju" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fjz" = ( /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/dirt, @@ -17640,11 +17619,13 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"fjN" = ( -/obj/structure/flora/bush/sunny/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"fjO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fjQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, @@ -17656,26 +17637,14 @@ /obj/structure/sign/poster/contraband/missing_gloves/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/electrical) -"fke" = ( -/obj/item/trash/popcorn, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" - }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) -"fki" = ( -/obj/item/food/grown/potato{ - pixel_y = 4 +"fkd" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/obj/structure/rack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/commons/lounge) "fkj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -17691,28 +17660,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) -"fkp" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) +"fkq" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fkt" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/icemoon, /area/station/maintenance/port/lesser) -"fkC" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sign/calendar/directional/north, -/obj/machinery/camera{ - c_tag = "Service - Botany Equipment"; - dir = 9 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "fkF" = ( /obj/item/weldingtool, /turf/open/floor/plating/snowed/icemoon, @@ -17787,27 +17747,6 @@ /obj/machinery/vending/wardrobe/jani_wardrobe, /turf/open/floor/iron, /area/station/service/janitor) -"flM" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/warm/directional/south, -/obj/structure/sign/poster/contraband/lizard/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "flV" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -17896,6 +17835,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"fna" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17913,22 +17859,6 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) -"fnp" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fitness" - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/commons/fitness) "fnA" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 8 @@ -17988,13 +17918,16 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/dorms) -"fpg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"fpm" = ( +/obj/structure/railing/corner/end{ + dir = 1 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "fpp" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -18017,28 +17950,11 @@ dir = 9 }, /area/station/security/prison/safe) -"fpv" = ( -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/genturf, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"fpw" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) +"fpt" = ( +/obj/structure/kitchenspike, +/obj/machinery/status_display/evac/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "fpA" = ( /obj/machinery/hydroponics/soil, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -18060,16 +17976,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fpF" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fpJ" = ( /obj/structure/fireaxecabinet/directional/west, /obj/machinery/suit_storage_unit/atmos, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"fpZ" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "fqv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18126,11 +18042,11 @@ dir = 8 }, /area/station/medical/chem_storage) -"fqY" = ( -/obj/structure/fireplace, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"fqX" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "frd" = ( /obj/structure/railing/corner{ dir = 1 @@ -18141,18 +18057,6 @@ /obj/effect/turf_decal/tile/neutral/anticorner/contrasted, /turf/open/floor/iron, /area/station/commons/locker) -"fre" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/bar, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "fro" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line{ @@ -18192,19 +18096,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) -"frH" = ( -/obj/structure/closet/emcloset, -/obj/item/pickaxe, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron, -/area/station/service/hydroponics) "frN" = ( /obj/machinery/power/shieldwallgen, /obj/structure/window/reinforced/spawner/directional/west, @@ -18228,16 +18119,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/evidence) -"fsf" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "fsm" = ( /obj/structure/flora/rock/pile/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -18267,6 +18148,14 @@ }, /turf/open/floor/plating, /area/station/security/execution/education) +"fsO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "fsQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /obj/effect/turf_decal/tile/blue{ @@ -18294,9 +18183,14 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "fte" = ( -/obj/structure/sign/warning/directional/west, -/turf/open/openspace/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/closet/secure_closet/hydroponics, +/obj/structure/sign/clock/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ftt" = ( /obj/structure/sign/warning/secure_area/directional/south{ desc = "A warning sign which reads 'SERVER ROOM'."; @@ -18395,6 +18289,16 @@ "fvk" = ( /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) +"fvm" = ( +/obj/machinery/door/airlock/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fvx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18447,6 +18351,13 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"fwi" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "fwm" = ( /obj/effect/turf_decal/plaque{ icon_state = "L14" @@ -18473,17 +18384,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"fwG" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "fwI" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18612,6 +18512,14 @@ /obj/machinery/telecomms/server/presets/service, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"fyL" = ( +/obj/structure/table, +/obj/item/storage/medkit/regular, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "fyQ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -18700,14 +18608,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"fAu" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/desk_bell{ - pixel_x = -3 - }, -/turf/open/floor/iron, -/area/station/service/bar) "fAF" = ( /obj/structure/rack, /obj/item/clothing/gloves/boxing/green, @@ -18776,6 +18676,15 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"fBJ" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fBM" = ( /obj/structure/chair{ dir = 4 @@ -18784,6 +18693,11 @@ dir = 8 }, /area/station/service/chapel) +"fBN" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "fBQ" = ( /obj/structure/cable, /turf/open/floor/iron/white/corner{ @@ -18834,21 +18748,6 @@ }, /turf/open/floor/cult, /area/station/service/chapel/office) -"fCy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"fCz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "fCM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -18880,11 +18779,6 @@ /obj/machinery/light/small/built/directional/west, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"fDm" = ( -/obj/structure/sink/directional/east, -/obj/structure/mirror/directional/west, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "fDn" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, @@ -18899,14 +18793,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"fDG" = ( -/obj/item/chair/stool/bar{ - pixel_y = -2 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fDI" = ( /obj/structure/table/wood, /obj/machinery/computer/records/medical/laptop{ @@ -18932,23 +18818,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) -"fDS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"fDT" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "fEd" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -18987,21 +18856,6 @@ dir = 4 }, /area/station/security/brig/entrance) -"fEE" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fER" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -19030,6 +18884,11 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"fEY" = ( +/obj/item/stack/rods/two, +/obj/item/stack/sheet/iron, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fEZ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -19061,10 +18920,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"fFs" = ( -/obj/effect/spawner/random/structure/closet_private, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "fFx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19118,6 +18973,13 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"fGr" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "fGI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -19129,18 +18991,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"fGL" = ( -/obj/structure/railing{ - dir = 6 - }, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "fGM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -19149,13 +18999,6 @@ dir = 8 }, /area/station/security/brig/entrance) -"fGZ" = ( -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "fHb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/cold_temp, @@ -19173,10 +19016,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"fHp" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/fore) "fHz" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -19370,6 +19209,11 @@ /obj/machinery/iv_drip, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"fKk" = ( +/obj/item/kirbyplants/fern, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fKr" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -19420,6 +19264,10 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"fLa" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "fLb" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -19457,19 +19305,23 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood/large, /area/mine/eva/lower) +"fLG" = ( +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "fLK" = ( /obj/structure/railing/corner{ dir = 8 }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"fLL" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "fLP" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 10 @@ -19530,12 +19382,6 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"fMb" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "fMc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -19560,9 +19406,6 @@ dir = 8 }, /area/station/medical/chem_storage) -"fMp" = ( -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "fMq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19573,6 +19416,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"fMu" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/crushed_can, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fNa" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -19617,6 +19465,12 @@ }, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) +"fNz" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/fore) "fNA" = ( /turf/open/openspace, /area/station/medical/medbay/central) @@ -19635,21 +19489,18 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter) -"fNU" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) +"fOg" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fOl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/explab) -"fOm" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "fOR" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/airalarm/directional/east, @@ -19665,11 +19516,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fPe" = ( -/obj/machinery/restaurant_portal/restaurant, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fPh" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -19702,11 +19548,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"fPU" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/crushed_can, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "fPX" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -19733,6 +19574,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"fQa" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "fQc" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 1 @@ -19744,6 +19591,11 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"fQs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "fQu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19789,15 +19641,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/iron/dark, /area/station/medical/virology) -"fRK" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fSd" = ( /obj/structure/railing/corner{ dir = 4 @@ -19826,11 +19669,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"fSq" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/dice, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "fSv" = ( /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, @@ -19850,6 +19688,11 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"fTn" = ( +/obj/effect/spawner/random/structure/grille, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "fTo" = ( /obj/item/reagent_containers/condiment/saltshaker{ pixel_x = -3 @@ -19899,14 +19742,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"fTM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "fTR" = ( /obj/machinery/light/directional/north, /obj/structure/sign/warning/electric_shock/directional/north, @@ -19951,17 +19786,6 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"fUk" = ( -/obj/item/clothing/head/beanie/orange{ - pixel_y = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/shoes/wheelys/skishoes{ - pixel_y = -8 - }, -/obj/effect/decal/remains/human, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fUr" = ( /obj/machinery/airalarm/directional/south, /obj/structure/closet/emcloset, @@ -19997,6 +19821,11 @@ "fUR" = ( /turf/closed/wall, /area/station/hallway/secondary/entry) +"fVh" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/food_packaging, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fVm" = ( /obj/machinery/door/airlock/maintenance{ name = "Chemical Storage" @@ -20015,22 +19844,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"fVz" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/kitchen) "fVD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/engineering{ @@ -20087,18 +19900,25 @@ }, /turf/open/floor/wood, /area/station/security/prison/rec) +"fWd" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Hydroponics Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/turf/open/floor/plating, +/area/station/service/hydroponics) "fWe" = ( /obj/machinery/hydroponics/soil, /obj/item/plant_analyzer, /turf/open/floor/grass, /area/station/security/prison/garden) -"fWg" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "fWn" = ( /obj/structure/table/glass, /obj/machinery/vending/wallmed/directional/north, @@ -20126,15 +19946,20 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/mine/laborcamp) -"fWs" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/effect/decal/cleanable/generic, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "fWw" = ( /obj/structure/railing/corner, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"fWE" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "fWL" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -20161,6 +19986,13 @@ /obj/structure/barricade/wooden/crude/snow, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) +"fWW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fWX" = ( /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating/snowed/icemoon, @@ -20200,6 +20032,11 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/mine/laborcamp/security) +"fXF" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "fXO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -20216,12 +20053,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"fXT" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/lesser) "fYi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20230,16 +20061,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"fYw" = ( -/obj/structure/frame/computer{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "fYF" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/openspace, @@ -20269,6 +20090,13 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) +"fYX" = ( +/obj/structure/chair/stool/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "fZb" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ cycle_id = "miner-passthrough" @@ -20292,11 +20120,11 @@ /obj/structure/curtain/cloth, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"fZI" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"fZO" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) "fZT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -20455,6 +20283,11 @@ /obj/structure/sign/warning/secure_area/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"gbC" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "gbJ" = ( /obj/machinery/door/airlock/security/glass{ name = "Armory" @@ -20479,6 +20312,10 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"gbM" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/fore) "gbP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -20486,6 +20323,17 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) +"gcf" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "gck" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20511,6 +20359,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"gcB" = ( +/obj/item/pickaxe/improvised{ + pixel_x = 7 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "gcV" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -20563,6 +20417,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"gdK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gdN" = ( /obj/structure/railing/corner{ dir = 1 @@ -20572,6 +20433,13 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"gdO" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gdP" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -20635,12 +20503,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"geO" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "geV" = ( /obj/structure/ladder, /obj/structure/cable, @@ -20662,28 +20524,9 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"gfa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "gfb" = ( /turf/closed/wall/r_wall, /area/station/maintenance/central/greater) -"gfn" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "SapMaster XP" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "gfo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20734,14 +20577,6 @@ /obj/effect/spawner/random/trash/hobo_squat, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"ggm" = ( -/obj/structure/table, -/obj/item/storage/medkit/regular, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "ggn" = ( /obj/machinery/door/airlock/atmos{ name = "Atmospherics Maintenance" @@ -20763,22 +20598,10 @@ /obj/machinery/shower/directional/north, /turf/open/floor/iron/smooth, /area/mine/eva) -"ggw" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ggG" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"ggO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ggR" = ( /obj/machinery/computer/teleporter{ dir = 8 @@ -20819,6 +20642,12 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ghA" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "ghE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west{ @@ -20849,6 +20678,18 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) +"ghT" = ( +/obj/machinery/newscaster/directional/north, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/item/toy/figure/mime{ + pixel_x = -6 + }, +/obj/item/toy/figure/clown{ + pixel_x = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "ghY" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/atmos) @@ -20860,6 +20701,15 @@ /obj/structure/sign/warning/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"giH" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/barsign/all_access/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) "giN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/line, @@ -20965,6 +20815,13 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood, /area/station/security/courtroom) +"gjT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "gjW" = ( /obj/structure/chair, /turf/open/floor/iron/cafeteria, @@ -21001,6 +20858,12 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"gkH" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/entertainment/cigarette, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "gkK" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ color = "#0000ff"; @@ -21096,10 +20959,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) -"glA" = ( -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "glC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -21146,10 +21005,6 @@ }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"gmd" = ( -/obj/structure/sign/warning/directional/south, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "gmf" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder{ @@ -21161,16 +21016,11 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) -"gmy" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"gmt" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/food_cart, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "gmJ" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Infiltrate/Filter" @@ -21243,6 +21093,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"gnE" = ( +/obj/machinery/hydroponics/constructable, +/turf/open/floor/grass, +/area/station/service/hydroponics) "gnL" = ( /obj/structure/closet/bombcloset/security, /turf/open/floor/iron/smooth, @@ -21255,6 +21109,11 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) +"gnZ" = ( +/obj/structure/marker_beacon/burgundy, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gob" = ( /obj/structure/closet/wardrobe/black, /obj/effect/decal/cleanable/cobweb, @@ -21335,16 +21194,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"gpG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "gpU" = ( /obj/structure/frame/computer, /obj/item/stack/cable_coil/five, @@ -21363,12 +21212,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"gqb" = ( -/obj/structure/chair/stool/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) "gqh" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sink/kitchen/directional/north{ @@ -21436,6 +21279,13 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"grg" = ( +/obj/item/toy/snowball{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "grk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -21460,15 +21310,6 @@ /obj/structure/sign/warning/fire/directional/south, /turf/open/floor/glass/reinforced, /area/station/science/ordnance/office) -"grt" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "grA" = ( /obj/structure/table/reinforced, /obj/item/assembly/flash/handheld, @@ -21505,6 +21346,16 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"grO" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "grT" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -21584,12 +21435,6 @@ /obj/effect/turf_decal/tile/neutral/diagonal_edge, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) -"gtx" = ( -/obj/structure/flora/tree/pine/style_random{ - pixel_x = -15 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "gtF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -21602,23 +21447,17 @@ /obj/effect/spawner/random/vending/colavend, /turf/open/floor/iron, /area/station/commons/locker) -"gtX" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 +"gua" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/obj/effect/turf_decal/stripes/white/line{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "guS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21631,22 +21470,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/closed/wall, /area/station/engineering/atmos) -"guW" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/mob/living/carbon/human/species/monkey/punpun, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"gva" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/turf/open/floor/iron/stairs/old{ - dir = 4 - }, -/area/station/hallway/primary/starboard) "gvc" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -21692,10 +21515,10 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) -"gvO" = ( -/obj/effect/turf_decal/weather/snow/corner, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"gwb" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gwm" = ( /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/white/side{ @@ -21781,6 +21604,10 @@ /obj/item/radio/intercom/prison/directional/south, /turf/open/floor/iron/dark, /area/station/security/prison/rec) +"gxz" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "gxO" = ( /obj/structure/table/reinforced, /obj/item/hand_labeler{ @@ -21813,6 +21640,22 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/mine/eva) +"gxT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "gxU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21841,6 +21684,14 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"gyP" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "gyR" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -21871,13 +21722,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"gAc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "gAd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21909,6 +21753,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/visit) +"gAw" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "gAB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -21921,16 +21784,14 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"gAG" = ( +/obj/machinery/modular_computer/preset/civilian, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "gAR" = ( /obj/structure/falsewall, /turf/open/floor/plating, /area/station/security/prison) -"gAU" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gAY" = ( /obj/structure/sign/warning/cold_temp/directional/west, /turf/open/floor/iron, @@ -21962,6 +21823,10 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/icemoon/underground/explored) +"gBs" = ( +/obj/structure/falsewall, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gBv" = ( /obj/machinery/door/window/left/directional/south{ name = "Engineering Delivery"; @@ -22004,12 +21869,6 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) -"gCl" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "gCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22078,6 +21937,13 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) +"gDh" = ( +/obj/structure/flora/grass/brown/style_random, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "gDp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22101,6 +21967,22 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/fore) +"gDB" = ( +/obj/machinery/oven/range, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"gDL" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/item/toy/plush/moth{ + name = "Theseus" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gDN" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -22119,6 +22001,15 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"gDY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gDZ" = ( /turf/open/floor/wood, /area/station/maintenance/port/fore) @@ -22145,6 +22036,14 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"gEl" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gEn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22178,17 +22077,14 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) +"gEt" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gEE" = ( /turf/open/openspace, /area/station/service/chapel) -"gEH" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/sign/warning/gas_mask/directional/south, -/obj/machinery/light/warm/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gER" = ( /turf/open/floor/iron, /area/station/command/bridge) @@ -22213,6 +22109,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"gEZ" = ( +/obj/structure/railing, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gFj" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -22220,6 +22123,10 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) +"gFt" = ( +/obj/effect/spawner/random/engineering/canister, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gFx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/gas_mask, @@ -22248,6 +22155,13 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"gFW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/wood/large, +/area/station/service/bar) "gFX" = ( /turf/closed/wall, /area/icemoon/underground/explored) @@ -22335,6 +22249,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"gGS" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "gGZ" = ( /obj/machinery/computer/bank_machine, /obj/effect/turf_decal/bot_white, @@ -22394,15 +22316,9 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"gHM" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center" - }, -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"gHL" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "gHN" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -22427,18 +22343,20 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/checker, /area/station/science/lab) -"gIa" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ +"gIf" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ dir = 4 }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "gIl" = ( /obj/structure/fence/corner{ dir = 6 @@ -22454,12 +22372,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/mine/mechbay) -"gIB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/hobo_squat, -/obj/structure/sign/poster/contraband/random/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gIF" = ( /obj/machinery/holopad, /turf/open/floor/iron/showroomfloor, @@ -22555,16 +22467,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"gKs" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "gKG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/green{ @@ -22589,12 +22491,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"gLE" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/entertainment/cigarette, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "gLF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -22622,6 +22518,17 @@ /obj/item/flashlight/lamp, /turf/open/floor/wood, /area/station/maintenance/port/fore) +"gMi" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/item/hand_labeler/borg{ + pixel_y = -3 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "gMt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/decal/cleanable/dirt/dust, @@ -22640,6 +22547,17 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, /area/mine/eva) +"gMx" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "gMK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22683,6 +22601,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"gNc" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) "gNg" = ( /obj/machinery/camera/directional/north{ c_tag = "MiniSat External South"; @@ -22708,6 +22633,21 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/cafeteria, /area/station/science/lab) +"gNu" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) +"gNw" = ( +/obj/structure/flora/bush/grassy/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "gNH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -22745,6 +22685,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) +"gOd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "gOg" = ( /obj/machinery/light/small/directional/west, /obj/machinery/camera/directional/west{ @@ -22796,19 +22745,6 @@ }, /turf/open/openspace, /area/station/cargo/storage) -"gOL" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = 6; - pixel_y = 28 - }, -/obj/machinery/button/door/directional/north{ - id = "botany_chasm_and_wolf_shutters"; - name = "Exterior Shutters"; - pixel_y = 28; - pixel_x = -4 - }, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) "gOS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22854,6 +22790,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/ai_monitored/security/armory/upper) +"gPo" = ( +/obj/effect/spawner/random/structure/chair_flipped{ + dir = 8 + }, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gPp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -22861,6 +22804,11 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"gPB" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gPE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22976,16 +22924,30 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"gRE" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "gRI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gRO" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +"gRL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "gRZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -22996,18 +22958,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/prison/visit) -"gSi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/food/grown/carrot, -/obj/item/food/grown/carrot{ - pixel_y = 4; - pixel_x = -2 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "gSr" = ( /obj/structure/table/reinforced, /obj/item/clothing/suit/utility/radiation, @@ -23058,6 +23008,17 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) +"gSU" = ( +/obj/item/popsicle_stick{ + pixel_y = 1; + pixel_x = -9 + }, +/obj/item/popsicle_stick{ + pixel_y = 3; + pixel_x = -2 + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "gSV" = ( /obj/machinery/light/directional/south, /obj/structure/bodycontainer/morgue{ @@ -23109,20 +23070,6 @@ }, /turf/open/openspace, /area/station/security/prison) -"gTy" = ( -/obj/structure/rack, -/obj/item/clothing/suit/utility/beekeeper_suit, -/obj/item/clothing/head/utility/beekeeper_head, -/obj/item/melee/flyswatter, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "gTK" = ( /turf/closed/wall, /area/station/engineering/engine_smes) @@ -23131,16 +23078,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) -"gTX" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/light/warm/directional/east, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "gUg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -23170,29 +23107,18 @@ dir = 1 }, /area/station/security/processing) +"gUw" = ( +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "gUx" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"gUE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ - color = "#0000ff"; - dir = 8; - name = "Supply multi deck pipe adapter" - }, -/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ - color = "#ff0000"; - dir = 8; - name = "Scrubbers multi deck pipe adapter" - }, -/obj/structure/cable/multilayer/multiz, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gUQ" = ( /obj/structure/fence/door{ dir = 4 @@ -23211,16 +23137,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"gVa" = ( -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "gVe" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"gVh" = ( +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "gVm" = ( /obj/item/coin/silver{ pixel_x = -5; @@ -23233,6 +23159,12 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/laundry) +"gVs" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/hobo_squat, +/obj/structure/sign/poster/contraband/random/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "gVt" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/red{ @@ -23293,6 +23225,13 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"gVX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "gWf" = ( /obj/item/storage/box/lights/mixed, /obj/structure/table, @@ -23301,6 +23240,28 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/morgue) +"gWl" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/table/glass, +/obj/machinery/reagentgrinder{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/storage/box/syringes{ + pixel_y = 8; + pixel_x = -5 + }, +/obj/item/storage/box/beakers{ + pixel_y = 5; + pixel_x = -9 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "gWr" = ( /obj/structure/tank_dispenser, /turf/open/floor/iron/dark, @@ -23310,11 +23271,6 @@ /obj/structure/sign/warning/cold_temp, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"gWA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/fore) "gWX" = ( /obj/structure/chair{ dir = 4 @@ -23322,10 +23278,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"gWY" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "gXh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23398,11 +23350,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"gYb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "gYg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -23416,23 +23363,20 @@ /obj/effect/spawner/structure/window/hollow/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) +"gYk" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/chair/sofa/left/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "gYp" = ( /obj/effect/turf_decal/tile/red{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"gYq" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Fitness Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "gYt" = ( /obj/machinery/door/window/left/directional/west{ name = "Research Division Delivery"; @@ -23448,23 +23392,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"gYy" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "gYz" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -23484,6 +23411,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gYN" = ( +/obj/effect/turf_decal/loading_area/white{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "gZa" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -23510,17 +23443,6 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/plating, /area/station/construction) -"gZq" = ( -/obj/machinery/firealarm/directional/south, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/command/bridge) "gZt" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -23563,6 +23485,11 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"gZV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hac" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 9 @@ -23631,18 +23558,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"hbi" = ( -/obj/machinery/newscaster/directional/north, -/obj/structure/table/wood, -/obj/machinery/light/small/directional/north, -/obj/item/toy/figure/mime{ - pixel_x = -6 - }, -/obj/item/toy/figure/clown{ - pixel_x = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "hbp" = ( /obj/machinery/photocopier, /turf/open/floor/wood, @@ -23668,6 +23583,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"hbL" = ( +/obj/machinery/light/small/directional/east, +/turf/open/openspace, +/area/station/service/hydroponics) "hbR" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23701,6 +23620,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"hcj" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hcw" = ( /obj/docking_port/stationary/random/icemoon{ dir = 8; @@ -23719,47 +23647,11 @@ }, /turf/open/openspace, /area/station/engineering/atmos/storage) -"hcJ" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/evac/directional/north, -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) "hcL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"hcU" = ( -/obj/structure/fence/cut/large{ - dir = 1 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"hcV" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/sink/kitchen/directional/south, -/obj/structure/mirror/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom Access" - }, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "hdb" = ( /obj/machinery/shower/directional/south, /turf/open/floor/iron/smooth, @@ -23939,6 +23831,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"hfG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hfI" = ( /obj/machinery/light/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23949,6 +23849,26 @@ /obj/structure/closet/l3closet/scientist, /turf/open/floor/iron, /area/station/science/xenobiology) +"hfY" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/poster/official/the_owl/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hgc" = ( /obj/structure/table, /turf/open/floor/plating, @@ -24024,16 +23944,6 @@ dir = 1 }, /area/station/service/chapel/office) -"hhM" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hhN" = ( /obj/structure/sign/warning/secure_area/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -24089,6 +23999,16 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics/garden) +"hjw" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hjE" = ( /turf/closed/wall/r_wall, /area/station/science/explab) @@ -24108,6 +24028,14 @@ "hjM" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/morgue) +"hjO" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "hjQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -24172,12 +24100,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"hkH" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "hkU" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/chair/office{ @@ -24205,6 +24127,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"hlt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/south, +/obj/structure/reagent_dispensers/water_cooler, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "hlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/shower/directional/west, @@ -24285,13 +24213,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/service/library) -"hnr" = ( -/obj/machinery/modular_computer/preset/cargochat/service, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "hnt" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -24306,21 +24227,14 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) -"hnG" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 2 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/mapping_helpers/mail_sorting/service/dormitories, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 +"hnK" = ( +/obj/structure/table/wood, +/obj/item/wallframe/camera{ + pixel_y = -2; + pixel_x = 1 }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hnN" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Pens Observation - Port Aft"; @@ -24352,6 +24266,16 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"hog" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hos" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -24486,6 +24410,25 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) +"hpK" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hpM" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -24547,6 +24490,16 @@ dir = 1 }, /area/station/commons/storage/art) +"hqv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Can In" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hqx" = ( /obj/effect/landmark/start/assistant, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24571,17 +24524,18 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hqG" = ( -/obj/item/toy/snowball{ - pixel_y = -7; - pixel_x = 5 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "hqV" = ( /obj/structure/sign/warning/radiation/rad_area, /turf/closed/wall/r_wall, /area/station/engineering/main) +"hrd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/machinery/meter/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hrh" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -24597,6 +24551,16 @@ /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) +"hrA" = ( +/obj/machinery/space_heater, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hrJ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -24616,15 +24580,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hrT" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" +"hrZ" = ( +/obj/structure/chair/office/light{ + dir = 4 }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/turf/open/floor/iron/white, +/area/station/medical/virology) "hsh" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -24686,13 +24647,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory/upper) -"hsP" = ( -/obj/structure/minecart_rail{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "hsQ" = ( /obj/structure/tank_holder/oxygen, /turf/open/floor/plating, @@ -24759,11 +24713,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/meeting_room) -"hug" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "hui" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24874,20 +24823,23 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"hvi" = ( +/obj/structure/closet/crate/freezer/food{ + name = "cooler" + }, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/item/reagent_containers/cup/glass/ice, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "hvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hvP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "hvS" = ( /obj/effect/landmark/start/depsec/engineering, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -24914,23 +24866,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"hwq" = ( -/obj/structure/beebox, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera{ - c_tag = "Service - Botany Apiary"; - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hwu" = ( /obj/machinery/door/poddoor/preopen{ id = "lawyer_blast"; @@ -24992,12 +24927,13 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) -"hxy" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +"hxB" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet2"; + name = "Unit 2" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "hxE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25009,10 +24945,12 @@ dir = 5 }, /area/station/service/chapel) -"hxX" = ( -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"hxY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "hyd" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -25028,15 +24966,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/disposal) -"hyx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "hyC" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, @@ -25048,6 +24977,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/aft/greater) +"hyQ" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hyV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/testlab) @@ -25061,13 +25000,12 @@ /obj/structure/stairs/north, /turf/open/floor/iron, /area/station/service/chapel) -"hzf" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 +"hzw" = ( +/obj/structure/fence/cut/large{ + dir = 1 }, -/obj/structure/chair/stool/directional/east, -/turf/open/floor/iron/dark, -/area/station/medical/virology) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "hzz" = ( /obj/structure/table/glass, /obj/item/clothing/gloves/latex, @@ -25144,18 +25082,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/corner, /area/station/command/heads_quarters/rd) -"hAD" = ( -/obj/structure/bonfire, -/obj/item/melee/roastingstick, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "hAG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) +"hAK" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "hAO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25175,6 +25113,10 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) +"hAS" = ( +/obj/machinery/light/cold/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "hAT" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -25186,6 +25128,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/genetics) +"hAW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -25198,26 +25144,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/execution/transfer) -"hBm" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) -"hBq" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "hBr" = ( /obj/machinery/holopad, /obj/effect/turf_decal/tile/red/full, @@ -25279,12 +25205,6 @@ dir = 4 }, /area/mine/eva) -"hCq" = ( -/obj/structure/fence/post{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "hCv" = ( /obj/structure/table, /obj/item/storage/bag/tray, @@ -25355,6 +25275,20 @@ "hDp" = ( /turf/open/floor/engine, /area/station/science/genetics) +"hDu" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/book/manual/chef_recipes, +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/structure/rack, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hDA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/icemoon, @@ -25385,16 +25319,6 @@ "hDK" = ( /turf/open/floor/iron, /area/mine/laborcamp) -"hDN" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hDU" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -25423,6 +25347,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hEV" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/bureaucracy/briefcase, +/obj/item/taperecorder/empty, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "hEW" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -25450,6 +25380,14 @@ /obj/structure/frame/machine, /turf/open/floor/plating, /area/station/construction) +"hFj" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/chair/sofa/right/brown{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "hFr" = ( /obj/structure/flora/grass/both/style_2, /turf/open/misc/asteroid/snow/icemoon, @@ -25470,42 +25408,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"hFE" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Fitness Room South" - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -7 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) "hFL" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"hFS" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/west, -/obj/item/stack/package_wrap{ - pixel_y = 3 - }, -/obj/item/hand_labeler, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hFU" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -25520,6 +25428,22 @@ /obj/machinery/vending/wardrobe/det_wardrobe, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"hFX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"hGg" = ( +/obj/structure/sign/warning/directional/west{ + desc = "A sign warning to watch for moving minecarts beyond this point." + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hGh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25538,6 +25462,13 @@ "hGH" = ( /turf/closed/wall, /area/station/security/lockers) +"hGI" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "hGZ" = ( /obj/structure/table, /obj/item/analyzer, @@ -25598,19 +25529,6 @@ "hHG" = ( /turf/open/cliff/snowrock, /area/icemoon/surface/outdoors/nospawn) -"hHH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hHI" = ( /obj/machinery/chem_dispenser, /obj/effect/turf_decal/tile/yellow/full, @@ -25637,16 +25555,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"hIl" = ( -/obj/structure/kitchenspike, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) -"hIt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hIA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -25654,6 +25562,15 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) +"hIE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Lower" + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/lesser) "hIH" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -25684,9 +25601,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore) -"hJg" = ( -/turf/open/openspace, -/area/station/service/kitchen/coldroom) "hJi" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 6"; @@ -25730,6 +25644,11 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hJF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "hJG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -25738,40 +25657,33 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"hJL" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/turf/open/floor/wood, -/area/station/commons/lounge) -"hJV" = ( -/obj/structure/dresser, -/obj/structure/mirror/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"hJS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/machinery/camera{ - c_tag = "Service - Backstage"; - dir = 9 +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 10 }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "hJY" = ( /obj/structure/closet/l3closet/janitor, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/service/janitor) +"hKn" = ( +/obj/machinery/biogenerator, +/obj/machinery/door/window/left/directional/south{ + name = "Biogenerator Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "hKr" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/infections{ @@ -25808,6 +25720,12 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) +"hKL" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hKT" = ( /obj/machinery/light/floor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25840,12 +25758,17 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"hLu" = ( -/obj/machinery/door/airlock{ - name = "Unit B" +"hLy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "hLO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -25896,6 +25819,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) +"hMs" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hMw" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/plating, @@ -25947,13 +25876,6 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"hNa" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hNg" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -25997,6 +25919,11 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"hNK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "hNM" = ( /obj/structure/sign/warning/no_smoking/directional/north, /obj/structure/cable, @@ -26110,6 +26037,19 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"hPS" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/sign/calendar/directional/north, +/obj/machinery/camera{ + c_tag = "Service - Botany Equipment"; + dir = 9 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "hPT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26268,15 +26208,6 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"hRQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "hRX" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/generic, @@ -26318,25 +26249,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"hSw" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/left/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/paper_bin{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "hSF" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -26367,15 +26279,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hTv" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hTw" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half{ @@ -26428,13 +26331,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) -"hUv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "hUx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26461,20 +26357,6 @@ "hUD" = ( /turf/closed/wall, /area/station/service/library) -"hUE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "hUI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -26559,16 +26441,13 @@ /obj/machinery/teleport/hub, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"hWj" = ( -/obj/structure/barricade/wooden/snowed, -/obj/machinery/light/small/red/directional/north, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "minecraft_shutter"; - name = "Cart Shutters" +"hWv" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "botany_chasm_and_wolf_shutters" }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +/turf/open/floor/plating, +/area/station/service/hydroponics) "hWI" = ( /obj/effect/turf_decal/box, /obj/effect/spawner/random/structure/closet_empty/crate/with_loot, @@ -26596,10 +26475,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"hXj" = ( -/obj/structure/bookcase, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"hXm" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/central) +"hXt" = ( +/obj/machinery/camera{ + c_tag = "Starboard Primary Hallway Center East" + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "hXC" = ( /obj/structure/chair{ dir = 8 @@ -26612,10 +26499,14 @@ /turf/open/floor/iron, /area/station/hallway/primary/starboard) "hXD" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "hXU" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26635,6 +26526,12 @@ /obj/effect/landmark/navigate_destination/disposals, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"hYt" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "hYy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -26666,27 +26563,6 @@ /obj/item/stack/sheet/iron/five, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"iaf" = ( -/obj/structure/closet/crate, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/food/canned/beans, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_x = 7; - pixel_y = 6 - }, -/mob/living/basic/mouse/white, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "iag" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -26728,12 +26604,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/cargo/storage) -"iaO" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iaT" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -26777,17 +26647,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"ibb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/stack/sheet/mineral/coal{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "ibj" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -26863,10 +26722,6 @@ }, /turf/open/floor/plating, /area/station/service/chapel) -"ibU" = ( -/obj/machinery/duct, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ica" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, @@ -26876,11 +26731,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"icj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ick" = ( /obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/mapping_helpers/broken_floor, @@ -27042,6 +26892,12 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"idH" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "idN" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -27059,22 +26915,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/port) +"iew" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "ieG" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ieZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ifa" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -27083,6 +26933,14 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/mine/laborcamp/security) +"ifd" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ife" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27124,6 +26982,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/eva/lower) +"igu" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "igx" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 5 @@ -27134,6 +26996,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/glass, /area/station/security/lockers) +"igH" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "igL" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -27174,10 +27045,6 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, /area/station/commons/locker) -"ihq" = ( -/obj/structure/fence/cut/medium, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "ihu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -27205,6 +27072,17 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"iif" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/biogenerator, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iih" = ( /obj/effect/spawner/xmastree, /obj/effect/turf_decal/tile/neutral{ @@ -27231,6 +27109,17 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"iiB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iiH" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -27309,6 +27198,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"ijw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ijC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27358,6 +27255,10 @@ /obj/effect/turf_decal/tile/brown/opposingcorners, /turf/open/floor/iron, /area/station/cargo/storage) +"ike" = ( +/obj/structure/fence/cut/medium, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ikk" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -27421,13 +27322,6 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/south, /turf/open/floor/iron/dark/textured, /area/station/security/office) -"ikJ" = ( -/obj/structure/table/wood, -/obj/structure/reagent_dispensers/beerkeg, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "ikO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -27445,40 +27339,10 @@ dir = 1 }, /area/station/service/chapel) -"ikY" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "ile" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/security/courtroom) -"ilu" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "ilv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -27492,12 +27356,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"ilI" = ( -/obj/structure/closet/crate/miningcar, -/obj/effect/spawner/random/exotic/snow_gear, -/obj/effect/spawner/random/exotic/snow_gear, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ilJ" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "MiniSat Maintenance" @@ -27529,6 +27387,14 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"imk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/rack_parts, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "imy" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, @@ -27540,6 +27406,15 @@ /obj/item/clothing/mask/breath, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"imI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/warm/directional/south, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "imO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -27569,18 +27444,17 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"inm" = ( -/turf/closed/wall/ice, -/area/station/service/kitchen/coldroom) +"int" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/structure/sign/departments/botany/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "inE" = ( /turf/open/floor/iron/corner, /area/station/engineering/lobby) -"inH" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "inJ" = ( /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -27589,6 +27463,31 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) +"inN" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable, +/obj/machinery/button/door/directional/south{ + id = "minecraft_shutter"; + req_one_access = list("hydroponics", "kitchen"); + name = "Cart Access"; + desc = "Opens the railway leading into the Kitchen Coldroom." + }, +/obj/structure/minecart_rail/railbreak{ + dir = 4 + }, +/obj/structure/closet/crate/miningcar{ + name = "delivery cart"; + desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." + }, +/obj/item/storage/bag/plants, +/turf/open/floor/iron, +/area/station/service/hydroponics) "inQ" = ( /obj/structure/table/wood, /obj/item/paper_bin/carbon{ @@ -27637,6 +27536,10 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"ion" = ( +/obj/effect/spawner/random/trash/mess, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "ior" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27677,9 +27580,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"ioI" = ( -/turf/open/floor/glass, -/area/station/service/hydroponics) "ioK" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, @@ -27696,10 +27596,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"ioT" = ( -/obj/structure/sign/warning/cold_temp/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ipd" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/directional/south{ @@ -27714,6 +27610,18 @@ "ipf" = ( /turf/open/genturf, /area/icemoon/underground/unexplored/rivers/deep/shoreline) +"ipg" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "ipw" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, @@ -27761,16 +27669,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"ipI" = ( -/obj/structure/railing/corner/end{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "ipM" = ( /obj/structure/transit_tube/curved{ dir = 4 @@ -27808,15 +27706,15 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/ordnance/office) +"iqA" = ( +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iqC" = ( /obj/structure/table, /obj/item/flashlight/lamp, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iqT" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "irp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -27930,22 +27828,10 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/central) -"isg" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, +"isj" = ( +/obj/effect/decal/cleanable/oil, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ish" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "isl" = ( /obj/structure/fence/door{ name = "graveyard" @@ -27973,19 +27859,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) -"isE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) "isP" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/white, @@ -28079,6 +27952,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"iuE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "SapMaster XP" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "iuH" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -28092,22 +27978,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) -"iuX" = ( -/obj/machinery/gibber, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) -"ive" = ( -/obj/machinery/door/window/left/directional/east{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "ivi" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow, @@ -28122,12 +27992,10 @@ /turf/open/floor/iron, /area/station/hallway/primary/central) "ivp" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet2"; - name = "Unit 2" - }, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/sparsegrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "ivq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -28139,24 +28007,18 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ivE" = ( -/obj/item/training_toolbox{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/item/training_toolbox{ - pixel_y = -2 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Holodeck Control" +"ivC" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 }, -/obj/effect/turf_decal/tile/green/half/contrasted{ +/obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 }, -/obj/machinery/status_display/evac/directional/east, -/obj/machinery/newscaster/directional/south, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/iron, -/area/station/commons/fitness) +/area/station/service/hydroponics) "ivF" = ( /turf/closed/wall, /area/station/maintenance/disposal) @@ -28171,26 +28033,11 @@ }, /turf/open/floor/wood, /area/station/service/library) -"ivK" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) -"ivY" = ( -/obj/structure/bed, -/obj/machinery/airalarm/directional/north, -/obj/effect/spawner/random/bedsheet, -/obj/machinery/button/door/directional/east{ - id = "Dorm1"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - specialfunctions = 4 - }, -/obj/item/pillow/random, -/turf/open/floor/carpet, -/area/station/commons/dorms) +"ivJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "iwf" = ( /turf/closed/wall/r_wall, /area/mine/mechbay) @@ -28231,13 +28078,6 @@ "iwC" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central/fore) -"iwG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iwO" = ( /obj/structure/closet/secure_closet/personal{ anchored = 1 @@ -28252,23 +28092,6 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"iwZ" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Service External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ixb" = ( /obj/machinery/button/door/directional/south{ id = "vacantofficemaintshutter"; @@ -28278,14 +28101,21 @@ }, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"ixq" = ( -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Chapel Electrical Maintenace Upper" +"ixp" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/backroom) "ixu" = ( /obj/machinery/camera/directional/north{ c_tag = "Teleporter" @@ -28318,10 +28148,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) -"ixJ" = ( -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ixZ" = ( /obj/machinery/door/airlock/command/glass{ name = "Chief Engineer" @@ -28397,18 +28223,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"izl" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"izm" = ( -/obj/structure/sign/warning/directional/west{ - desc = "A sign warning to watch for moving minecarts beyond this point." - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "izn" = ( /obj/effect/spawner/random/decoration/generic, /turf/open/floor/plating, @@ -28483,6 +28297,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/medical/chemistry) +"izU" = ( +/obj/structure/table/wood, +/obj/item/instrument/saxophone, +/obj/item/instrument/piano_synth, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "izY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28497,12 +28318,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"iAm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "iAp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -28612,21 +28427,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) -"iBq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/table, -/obj/item/grown/log/tree, -/obj/item/grown/log/tree{ - pixel_y = 5; - pixel_x = 7 - }, -/obj/item/grown/log/tree{ - pixel_x = 7 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "iBz" = ( /obj/structure/sign/warning/no_smoking/directional/south, /turf/open/openspace, @@ -28636,6 +28436,10 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/sorting) +"iBM" = ( +/obj/structure/chair/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "iBO" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -28655,12 +28459,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"iCk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "iCq" = ( /obj/structure/rack, /obj/item/stack/rods/ten, @@ -28711,6 +28509,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"iCS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/chair/stool/bar/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "iCX" = ( /obj/machinery/power/solar_control{ dir = 4; @@ -28739,13 +28547,25 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/station/security/prison/rec) -"iDC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ +"iDv" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"iDx" = ( +/obj/structure/railing/wooden_fence{ dir = 4 }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"iDB" = ( +/obj/structure/table/wood, +/obj/item/circuitboard/machine/fax, +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "iDG" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 3"; @@ -28757,6 +28577,16 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/xenobiology) +"iDK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "iDQ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -28815,6 +28645,11 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"iEY" = ( +/obj/machinery/restaurant_portal/bar, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "iFe" = ( /obj/structure/cable, /turf/open/floor/iron/dark/smooth_half, @@ -28847,21 +28682,29 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"iFv" = ( -/obj/item/wrench, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Air In" - }, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/landmark/blobstart, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"iFz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/holopad, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "iFL" = ( /obj/structure/bed/dogbed/renault, /mob/living/basic/pet/fox/renault, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) +"iFQ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "iFX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28896,6 +28739,19 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"iGT" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "iHc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -28946,6 +28802,23 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/robotics/lab) +"iIk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "iIs" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -28954,6 +28827,15 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"iIv" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/cup/bucket{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iIA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/iron, @@ -29028,14 +28910,6 @@ "iJO" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"iJT" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/item/kirbyplants/organic/applebush, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "iJX" = ( /obj/item/target, /obj/structure/window/reinforced/spawner/directional/south, @@ -29071,12 +28945,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"iKL" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "iKQ" = ( /obj/machinery/status_display/evac/directional/east, /turf/open/openspace, @@ -29211,33 +29079,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"iMB" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/crate/hydroponics, -/obj/item/wrench, -/obj/item/wrench, -/obj/item/grenade/chem_grenade/antiweed{ - pixel_x = 3; - pixel_y = 1 - }, -/obj/item/grenade/chem_grenade/antiweed, -/obj/item/shovel/spade, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_y = 3 - }, -/obj/item/cultivator, -/obj/item/shovel/spade, -/obj/item/reagent_containers/cup/watering_can, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iMD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29262,10 +29103,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter) -"iNh" = ( -/obj/item/kirbyplants/random/dead, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "iNn" = ( /obj/structure/chair/office{ dir = 1 @@ -29308,12 +29145,6 @@ "iNQ" = ( /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) -"iNV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "iOc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29399,6 +29230,17 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/mining) +"iPP" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "iPR" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -29409,18 +29251,6 @@ dir = 4 }, /area/station/security/brig/entrance) -"iQi" = ( -/obj/effect/decal/cleanable/garbage, -/obj/item/reagent_containers/spray/chemsprayer/party{ - pixel_x = 1 - }, -/obj/item/clothing/head/costume/festive{ - pixel_y = -3; - pixel_x = -5 - }, -/obj/effect/decal/cleanable/generic, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iQj" = ( /obj/item/radio/intercom/directional/north, /obj/structure/table/glass, @@ -29494,6 +29324,9 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"iRa" = ( +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "iRc" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -29574,10 +29407,19 @@ /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "iRS" = ( -/obj/machinery/icecream_vat, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "iRV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29693,13 +29535,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/science/genetics) -"iTL" = ( -/obj/item/stack/cable_coil, -/obj/structure/fence/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "iTP" = ( /obj/item/reagent_containers/cup/bucket, /obj/effect/turf_decal/trimline/green/filled/line, @@ -29711,16 +29546,13 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"iUa" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ +"iUi" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "iUm" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -29818,6 +29650,13 @@ }, /turf/open/floor/iron, /area/mine/eva/lower) +"iVu" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/textured, +/area/station/security/brig) "iVA" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, @@ -29847,16 +29686,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"iWm" = ( -/obj/structure/table/glass, -/obj/item/seeds/glowshroom, -/obj/item/seeds/bamboo{ - pixel_y = 3; - pixel_x = 4 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "iWq" = ( /obj/structure/chair{ dir = 4 @@ -29950,6 +29779,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"iXB" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "iXC" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -30012,6 +29848,12 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"iYY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "iZl" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters/preopen{ @@ -30021,6 +29863,11 @@ }, /turf/open/floor/plating, /area/station/science/research) +"iZm" = ( +/obj/structure/chair/wood, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "iZn" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood, @@ -30050,6 +29897,13 @@ "iZz" = ( /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/labor_camp) +"iZD" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/griddle, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "iZO" = ( /obj/machinery/status_display/ai/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -30085,10 +29939,12 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"jaf" = ( -/obj/structure/fence/corner, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"jae" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jag" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -30108,6 +29964,10 @@ /obj/effect/landmark/start/head_of_personnel, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"jas" = ( +/obj/structure/fence, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "jaw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30117,13 +29977,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"jaC" = ( -/obj/effect/spawner/random/trash/graffiti{ - pixel_y = -30 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jaO" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Turbine Access" @@ -30183,15 +30036,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"jbi" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jbu" = ( /obj/structure/railing/corner, /turf/open/floor/iron/dark/side{ @@ -30213,6 +30057,23 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/storage) +"jbB" = ( +/obj/structure/beebox, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera{ + c_tag = "Service - Botany Apiary"; + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jbC" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -30268,6 +30129,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"jcy" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Central Hallway North-East" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jcC" = ( /obj/machinery/requests_console/directional/north{ department = "Ordnance"; @@ -30292,14 +30164,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/mess) -"jdG" = ( -/obj/structure/toilet/greyscale{ - cistern_open = 1; - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/security/prison/toilet) "jdJ" = ( /obj/structure/chair/wood, /turf/open/floor/carpet, @@ -30338,17 +30202,22 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"jdZ" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" +"jed" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) +"jee" = ( +/obj/structure/girder, +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jeh" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ dir = 1 @@ -30414,6 +30283,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/command/gateway) +"jgd" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Starboard Primary Hallway West" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = 32 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jgl" = ( /obj/effect/turf_decal/trimline/dark_blue/corner{ dir = 1 @@ -30457,6 +30335,12 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/white, /area/station/maintenance/port/fore) +"jhu" = ( +/obj/effect/spawner/random/maintenance/three, +/obj/structure/closet/crate/wooden, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jhy" = ( /obj/effect/turf_decal/tile/brown, /turf/open/floor/iron, @@ -30501,17 +30385,54 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"jiQ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_x = 32 +"jik" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 6 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/item/food/grown/poppy{ + pixel_y = -1; + pixel_x = 3 + }, +/obj/item/food/grown/poppy/geranium{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/food/grown/poppy/lily{ + pixel_x = -2 }, /turf/open/floor/iron, -/area/station/service/bar) +/area/station/service/hydroponics) +"jiD" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/table/glass, +/obj/item/book/manual/hydroponics_pod_people, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/contraband/kudzu/directional/north, +/obj/machinery/light/small/directional/west, +/obj/item/plant_analyzer, +/obj/item/watertank{ + pixel_y = -3; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"jiU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "jjk" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -30566,11 +30487,6 @@ /obj/structure/mirror/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"jkj" = ( -/obj/effect/landmark/start/hangover, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jkn" = ( /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, @@ -30606,6 +30522,17 @@ /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/station/science/explab) +"jkK" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) +"jkN" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "jkS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -30649,6 +30576,13 @@ /obj/structure/railing/corner, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"jlv" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/entertainment/musical_instrument, +/obj/item/instrument/harmonica, +/turf/open/floor/iron/grimy, +/area/station/commons/lounge) "jly" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -30680,6 +30614,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"jlT" = ( +/obj/structure/chair{ + desc = "Aw geez, I wonder what the chef's cooking up in there!"; + dir = 1; + name = "The Peanut's Gallery" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jlV" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -30701,6 +30646,13 @@ }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) +"jmo" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "jms" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -30723,6 +30675,18 @@ "jmI" = ( /turf/closed/wall/r_wall, /area/station/security/prison/workout) +"jmJ" = ( +/obj/machinery/door/airlock/external, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/medical/morgue) "jmR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30732,13 +30696,16 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"jns" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 +"jnh" = ( +/obj/machinery/door/airlock{ + name = "Unisex Showers" }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "jnR" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -30758,19 +30725,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"jnU" = ( +/obj/structure/sign/departments/botany/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jnV" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jnW" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Starboard Primary Hallway West" - }, -/obj/structure/sign/nanotrasen{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jnX" = ( /obj/machinery/shower/directional/south, /obj/item/bikehorn/rubberducky/plasticducky, @@ -30822,6 +30788,17 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"joW" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jpd" = ( /obj/machinery/vending/coffee, /turf/open/floor/iron, @@ -30832,12 +30809,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"jpf" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/closet, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jpi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/sign/warning/gas_mask{ @@ -30852,13 +30823,6 @@ dir = 1 }, /area/mine/eva/lower) -"jpk" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 6 - }, -/turf/open/floor/wood/large, -/area/station/hallway/primary/starboard) "jpo" = ( /obj/machinery/door/poddoor/preopen{ id = "maint2" @@ -30958,6 +30922,11 @@ "jqT" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) +"jqZ" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "jrc" = ( /obj/machinery/button/door/directional/east{ id = "xenobio6"; @@ -30975,16 +30944,27 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"jrv" = ( +/obj/item/book/manual/wiki/barman_recipes{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/rag, +/obj/structure/table/wood, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_y = 6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "jrI" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"jrM" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/mime, -/turf/open/floor/wood, -/area/station/commons/lounge) "jrQ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/firealarm/directional/north, @@ -31008,16 +30988,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"jsc" = ( -/obj/machinery/space_heater, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "jsh" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -31071,14 +31041,23 @@ dir = 1 }, /area/station/hallway/primary/port) -"jsK" = ( -/obj/structure/disposalpipe/segment{ +"jsR" = ( +/obj/machinery/door/airlock{ + name = "Bar" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "jth" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ @@ -31358,6 +31337,12 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"jwf" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jwj" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 @@ -31416,26 +31401,6 @@ /obj/structure/cable, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"jwQ" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"jwV" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) "jxb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31463,17 +31428,16 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"jxr" = ( +/obj/machinery/restaurant_portal/restaurant, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "jxv" = ( /obj/effect/landmark/start/paramedic, /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/storage) -"jxG" = ( -/obj/structure/fence/cut/large{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "jyl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31504,11 +31468,14 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) -"jyD" = ( -/obj/structure/flora/bush/grassy/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"jyE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "jyL" = ( /obj/structure/cable, /obj/machinery/power/terminal{ @@ -31519,6 +31486,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) +"jyN" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/maintenance/three, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jyR" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -31551,6 +31523,16 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) +"jzR" = ( +/obj/structure/table/glass, +/obj/item/shovel/spade, +/obj/item/cultivator{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jzY" = ( /obj/machinery/airalarm/directional/west, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -31558,12 +31540,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"jAa" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "jAk" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -31587,15 +31563,6 @@ /obj/structure/flora/grass/both/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"jAE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "jAF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -31649,14 +31616,6 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"jBl" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "jBn" = ( /obj/docking_port/stationary{ dir = 4; @@ -31682,6 +31641,13 @@ /obj/machinery/mining_weather_monitor/directional/south, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"jBM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jBR" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater{ dir = 8 @@ -31702,6 +31668,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"jCz" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jCA" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -31774,22 +31749,6 @@ /obj/machinery/pdapainter/security, /turf/open/floor/wood/large, /area/station/command/heads_quarters/hos) -"jDB" = ( -/obj/structure/table, -/obj/item/flashlight/flare/candle{ - pixel_y = 1; - pixel_x = -16 - }, -/obj/item/paper/crumpled{ - pixel_y = 3; - pixel_x = 1; - name = "used napkin" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "jDG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31797,15 +31756,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"jDH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "jDM" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/flora/bush/sunny/style_random, @@ -31867,9 +31817,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/virology) -"jEi" = ( -/turf/open/floor/iron/half, -/area/station/service/hydroponics) "jEs" = ( /obj/machinery/conveyor_switch/oneway{ id = "gulag"; @@ -31877,6 +31824,12 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) +"jEA" = ( +/obj/machinery/light/small/directional/east, +/obj/item/pickaxe, +/obj/structure/closet/emcloset, +/turf/open/floor/plating, +/area/station/medical/morgue) "jEB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/north, @@ -31897,6 +31850,14 @@ /obj/structure/rack, /turf/open/floor/iron, /area/station/command/gateway) +"jFu" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "jFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -31926,6 +31887,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"jFY" = ( +/obj/effect/spawner/random/entertainment/arcade, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "jFZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31997,24 +31963,12 @@ /turf/open/floor/iron/freezer, /area/station/commons/toilet) "jHL" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +/obj/structure/disposalpipe/segment, /obj/structure/cable, -/obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jHQ" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/co2{ dir = 1 @@ -32114,12 +32068,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) -"jIU" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "jIX" = ( /obj/effect/turf_decal/siding/brown/corner{ dir = 4 @@ -32131,6 +32079,12 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"jIY" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "jIZ" = ( /obj/machinery/power/terminal{ dir = 1 @@ -32161,10 +32115,17 @@ /turf/open/floor/plating, /area/station/cargo/sorting) "jJr" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/sparsegrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) +/obj/machinery/door/firedoor, +/obj/structure/sign/warning/electric_shock/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "jJF" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -32182,6 +32143,17 @@ "jJM" = ( /turf/open/floor/glass, /area/station/security/lockers) +"jJR" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/command/bridge) "jJV" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -32260,6 +32232,23 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"jKL" = ( +/obj/structure/cable, +/obj/structure/holosign/barrier/atmos/sturdy, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "minecraft_shutter"; + name = "Cart Shutters" + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "jKN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32318,10 +32307,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"jLK" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/kitchen) "jLM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32403,15 +32388,16 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"jMC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"jMD" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 }, -/obj/item/kirbyplants/random, -/obj/machinery/light/warm/directional/south, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"jMJ" = ( +/obj/machinery/duct, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "jMY" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/dark_blue/line{ @@ -32421,6 +32407,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"jNe" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jNf" = ( /turf/closed/wall, /area/station/security/prison/garden) @@ -32491,11 +32481,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"jOC" = ( -/obj/machinery/space_heater, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "jOD" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -32585,22 +32570,6 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/science/breakroom) -"jPE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/commons/lounge) "jPV" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, @@ -32636,15 +32605,6 @@ /obj/structure/plasticflaps/opaque, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/central) -"jQu" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/barsign/all_access/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) "jQz" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -32697,6 +32657,12 @@ /obj/item/gps/mining, /turf/open/floor/iron, /area/station/commons/storage/mining) +"jQM" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jQS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -32733,6 +32699,10 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"jRt" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jRu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32801,6 +32771,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"jSp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "jSt" = ( /obj/machinery/door/airlock/external{ name = "Security Yard"; @@ -32875,10 +32855,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"jTQ" = ( -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "jTT" = ( /obj/structure/chair/stool/directional/east, /obj/machinery/light/floor, @@ -32910,6 +32886,14 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"jUv" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "jUB" = ( /turf/closed/wall, /area/station/medical/virology) @@ -32958,12 +32942,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"jVt" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"jVm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jVx" = ( /obj/machinery/light/small/directional/south, /obj/structure/sign/warning/cold_temp/directional/south, @@ -33125,6 +33109,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) +"jYI" = ( +/obj/effect/spawner/random/trash/mess, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "jYL" = ( /obj/structure/light_construct/directional/south, /obj/structure/sign/poster/contraband/random/directional/south, @@ -33145,17 +33135,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jYY" = ( -/obj/machinery/computer/order_console/cook{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) +"jZc" = ( +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) "jZe" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33200,10 +33183,25 @@ dir = 10 }, /area/station/security/prison) +"jZJ" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Backroom" + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "jZM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"jZN" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "jZU" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -33216,22 +33214,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"kap" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"kaq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 9 +"kav" = ( +/obj/effect/spawner/random/trash/moisture_trap, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kaw" = ( /obj/machinery/photocopier, /obj/item/radio/intercom/directional/north, @@ -33249,15 +33239,10 @@ /turf/open/floor/iron/white, /area/station/medical/virology) "kaI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/spawner/random/maintenance/two, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kaK" = ( /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron, @@ -33285,6 +33270,12 @@ /obj/effect/decal/cleanable/food/pie_smudge, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) +"kbp" = ( +/obj/structure/marker_beacon/burgundy, +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "kbq" = ( /obj/machinery/conveyor{ dir = 1; @@ -33302,10 +33293,11 @@ /turf/open/floor/plating, /area/station/maintenance/port/aft) "kbu" = ( -/obj/structure/closet/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +/obj/structure/reagent_dispensers/plumbed{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kbx" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, @@ -33339,11 +33331,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/fore) -"kbZ" = ( -/obj/structure/railing/wooden_fence, -/obj/item/flashlight/lantern/on, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kcc" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Infirmary" @@ -33380,6 +33367,16 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"kcs" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) +"kcw" = ( +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "kcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -33415,13 +33412,11 @@ /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) "kda" = ( -/obj/structure/fireplace{ - pixel_x = 0 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kdc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -33435,6 +33430,12 @@ /obj/structure/sign/warning/test_chamber/directional/south, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"kdw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "kdy" = ( /obj/machinery/door/poddoor/shutters{ id = "secmechbay"; @@ -33475,10 +33476,26 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"kea" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/desk_bell{ + pixel_x = -3 + }, +/turf/open/floor/iron, +/area/station/service/bar) "kei" = ( /obj/docking_port/stationary/escape_pod, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"keu" = ( +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "kex" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -33502,6 +33519,13 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/commons/dorms) +"keM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/commons/lounge) "keP" = ( /turf/closed/wall, /area/station/engineering/atmos/storage/gas) @@ -33570,6 +33594,13 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"kfk" = ( +/obj/structure/table/wood, +/obj/item/paper, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kfl" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/south, @@ -33722,26 +33753,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"khi" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) -"khj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "kho" = ( /obj/item/radio/intercom/directional/south, /obj/structure/table/wood, @@ -33752,15 +33763,6 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/psychology) -"khs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kht" = ( /obj/structure/railing/corner{ dir = 4 @@ -33780,6 +33782,11 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) +"khz" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/genturf, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "khF" = ( /obj/machinery/light/small/directional/north, /obj/structure/sign/warning/gas_mask/directional/north{ @@ -33854,6 +33861,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"kiI" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/fore) "kiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -33943,30 +33955,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"kjM" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"kjX" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/paper{ - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "kjY" = ( /obj/structure/sign/warning/secure_area/directional/west, /obj/machinery/door/firedoor, @@ -33987,6 +33975,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"kkb" = ( +/obj/machinery/door/window/left/directional/east{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "kke" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -34009,11 +34009,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"kkq" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/station/medical/morgue) +"kkr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "kkA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -34028,13 +34038,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/brig) -"kkC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "kkD" = ( /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, @@ -34054,13 +34057,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/primary) -"kkM" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/bar) "kkN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -34089,13 +34085,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) -"klm" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "klo" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/table/reinforced, @@ -34116,6 +34105,12 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"klJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "klP" = ( /obj/structure/dresser, /turf/open/floor/carpet, @@ -34236,6 +34231,11 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"koj" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "koH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -34300,13 +34300,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"kpW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "kpX" = ( /obj/structure/bed/medical{ dir = 4 @@ -34356,6 +34349,16 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) +"kqo" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "kqq" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 1; @@ -34374,16 +34377,6 @@ /obj/machinery/vending/sustenance/labor_camp, /turf/open/floor/iron, /area/mine/laborcamp) -"kqv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "kqw" = ( /obj/effect/spawner/random/vending/colavend, /obj/effect/turf_decal/tile/red{ @@ -34424,6 +34417,14 @@ /obj/structure/disposalpipe/trunk/multiz/down, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"kqP" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "kqR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34496,6 +34497,22 @@ }, /turf/open/floor/plating, /area/mine/laborcamp/security) +"krE" = ( +/obj/structure/table, +/obj/item/flashlight/flare/candle{ + pixel_y = 1; + pixel_x = -16 + }, +/obj/item/paper/crumpled{ + pixel_y = 3; + pixel_x = 1; + name = "used napkin" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "krN" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/structure/window/reinforced/spawner/directional/west, @@ -34550,10 +34567,6 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"ksk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ksn" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -34583,6 +34596,13 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) +"ksR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ksU" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -34617,6 +34637,27 @@ }, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"ktq" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/south, +/obj/structure/sign/poster/contraband/lizard/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "ktt" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -34666,11 +34707,20 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"ktH" = ( -/obj/effect/spawner/random/trash/hobo_squat, +"ktJ" = ( +/obj/structure/chair/stool/directional/north, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/solars/starboard/fore) +"ktK" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "ktU" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) @@ -34683,6 +34733,12 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"ktY" = ( +/obj/item/radio/intercom/directional/east, +/obj/structure/table, +/obj/machinery/fax/auto_name, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "kub" = ( /obj/machinery/newscaster/directional/east, /turf/open/floor/iron/dark, @@ -34700,19 +34756,6 @@ /obj/structure/closet/cardboard, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) -"kuH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "kuR" = ( /obj/structure/barricade/wooden, /obj/machinery/door/airlock/maintenance, @@ -34797,6 +34840,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/ordnance/office) +"kvT" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kvX" = ( /turf/open/floor/iron/dark/smooth_edge{ dir = 4 @@ -34862,17 +34914,6 @@ /obj/item/relic, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"kxh" = ( -/obj/machinery/airalarm/directional/west, -/turf/open/openspace, -/area/station/service/bar/atrium) -"kxj" = ( -/obj/structure/chair/sofa/bench{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "kxp" = ( /obj/machinery/door/airlock/security/glass{ name = "Security Desk" @@ -35041,6 +35082,18 @@ /obj/item/multitool, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"kzU" = ( +/obj/structure/dresser, +/obj/structure/mirror/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Service - Backstage"; + dir = 9 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "kzZ" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -35125,6 +35178,14 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"kBO" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "kBU" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ @@ -35181,11 +35242,6 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/break_room) -"kCr" = ( -/obj/structure/marker_beacon/jade, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "kCs" = ( /obj/machinery/airalarm/directional/south, /obj/item/kirbyplants/random, @@ -35241,15 +35297,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/mine/laborcamp/security) -"kCL" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "kCR" = ( /obj/structure/stairs/west, /turf/open/floor/iron/dark, @@ -35362,7 +35409,13 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "kEr" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "kEs" = ( @@ -35391,13 +35444,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"kFj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kFu" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -35416,6 +35462,15 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"kFF" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cart Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/structure/barricade/wooden/snowed, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kFH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 10 @@ -35458,6 +35513,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) +"kGD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "kGF" = ( /obj/structure/table, /obj/item/camera_film, @@ -35612,19 +35674,6 @@ /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/vault, /area/station/security/prison/rec) -"kIp" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/service/chapel) "kIt" = ( /obj/effect/turf_decal/siding/yellow{ dir = 4 @@ -35645,6 +35694,11 @@ /obj/machinery/space_heater, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"kIK" = ( +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "kIU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/corner, @@ -35694,6 +35748,22 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) +"kJx" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"kJG" = ( +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "kJI" = ( /obj/structure/transit_tube/station/reverse, /turf/open/floor/plating, @@ -35740,6 +35810,11 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"kKn" = ( +/obj/machinery/light/cold/directional/east, +/obj/machinery/status_display/ai/directional/east, +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "kKv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail{ @@ -35826,47 +35901,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"kLA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"kLN" = ( -/obj/structure/fence/door{ - dir = 4 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "kLZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 }, /turf/open/floor/iron, /area/station/cargo/storage) -"kMd" = ( -/obj/machinery/door/window/left/directional/west{ - req_one_access = list("bar", "kitchen"); - name = "Deliveries" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/service/kitchen/coldroom) "kMh" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -35874,11 +35914,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"kMn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "kMv" = ( /obj/effect/turf_decal/trimline/yellow/filled/shrink_cw{ dir = 4 @@ -35961,17 +35996,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"kNT" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "kNW" = ( /turf/closed/wall, /area/station/cargo/warehouse) @@ -36017,12 +36041,6 @@ /obj/structure/sign/poster/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"kOP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "kOS" = ( /obj/machinery/door/airlock/external{ glass = 1; @@ -36052,14 +36070,6 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"kOY" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "kPg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36070,6 +36080,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"kPh" = ( +/obj/structure/flora/bush/sunny/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "kPo" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -36101,6 +36116,9 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"kPz" = ( +/turf/closed/mineral/random/snow, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kPL" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -36115,6 +36133,25 @@ }, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"kPS" = ( +/obj/structure/railing, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"kPY" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "kQc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36145,6 +36182,14 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"kQx" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/holopad, +/obj/machinery/light/warm/directional/north, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/service/bar) "kQz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -36163,6 +36208,14 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/fore) +"kQH" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "kQJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36213,12 +36266,12 @@ /obj/structure/bookcase, /turf/open/floor/iron, /area/mine/laborcamp) -"kRq" = ( +"kRj" = ( /obj/structure/table/wood, -/obj/item/plate, -/obj/effect/spawner/random/trash/bacteria, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) +/obj/item/c_tube, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kRw" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/stripes/line{ @@ -36234,6 +36287,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kRD" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Garden" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "kRE" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 8 @@ -36241,6 +36303,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"kRF" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "kRH" = ( /obj/machinery/door/airlock/highsecurity{ name = "Chemistry Lab Exit" @@ -36289,14 +36358,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/cargo/office) -"kSl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/machinery/meter/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"kSj" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/maintenance/fore) +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "kSn" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, @@ -36317,11 +36385,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"kSJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "kSM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -36339,17 +36402,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"kTc" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Central Hallway North-East" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "kTk" = ( /turf/open/floor/iron/dark/textured_half{ dir = 1 @@ -36378,14 +36430,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/mine/eva/lower) -"kTP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "kTQ" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -36405,24 +36449,6 @@ }, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"kTY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "kUb" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -36430,18 +36456,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"kUf" = ( -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) "kUn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -36459,10 +36473,6 @@ }, /turf/closed/wall, /area/station/engineering/transit_tube) -"kUw" = ( -/obj/machinery/power/port_gen/pacman, -/turf/open/floor/plating, -/area/station/maintenance/fore) "kUx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -36499,21 +36509,60 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) +"kUW" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Service External Airlock"; + opacity = 0 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"kVj" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kVl" = ( /obj/effect/landmark/event_spawn, /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) +"kVo" = ( +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -6 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) +"kVq" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/light/warm/directional/north, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron, +/area/station/service/bar) "kVx" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"kVz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kVE" = ( /obj/structure/sign/painting/library_secure{ pixel_x = 32 @@ -36533,12 +36582,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) -"kVI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink/directional/south, -/obj/structure/mirror/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "kVM" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -36546,14 +36589,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/engineering/lobby) -"kVO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "kVS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36590,6 +36625,16 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) +"kWG" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "kWH" = ( /obj/structure/rack, /obj/item/hand_labeler, @@ -36683,13 +36728,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) -"kXC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/commons/lounge) "kXD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -36719,21 +36757,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"kXX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" +"kXS" = ( +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/textured_half{ dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) +/area/station/service/hydroponics) "kXY" = ( /turf/open/floor/iron/dark, /area/station/security/prison/rec) @@ -36750,6 +36789,9 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"kYo" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "kYq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -36779,14 +36821,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) -"kYO" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"kYN" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "kZa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36815,6 +36854,16 @@ /obj/machinery/space_heater, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"kZm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "kZn" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -36829,15 +36878,6 @@ "kZu" = ( /turf/closed/wall, /area/mine/production) -"kZw" = ( -/obj/structure/table/wood/poker, -/obj/item/toy/cards/deck{ - pixel_y = 13; - pixel_x = 6 - }, -/obj/effect/spawner/random/entertainment/cigarette, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "kZC" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot_white, @@ -36977,16 +37017,15 @@ /obj/machinery/gateway/centerstation, /turf/open/floor/iron/dark/smooth_large, /area/station/command/gateway) -"lcq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"lcm" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/decal/cleanable/ash, +/obj/item/rack_parts, +/obj/effect/mapping_helpers/burnt_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "lcu" = ( /turf/open/floor/iron/white, /area/station/science/explab) @@ -37053,20 +37092,9 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/security/prison/work) -"ldE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/grille/broken, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ldH" = ( /turf/closed/wall, /area/station/security/prison/mess) -"ldP" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ldQ" = ( /obj/structure/barricade/wooden, /obj/structure/girder, @@ -37101,6 +37129,16 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron, /area/station/science/xenobiology) +"leg" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lei" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/bed/medical/emergency, @@ -37128,14 +37166,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"leK" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "leM" = ( /obj/structure/railing{ dir = 8 @@ -37145,6 +37175,12 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) +"leP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "leW" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -37194,6 +37230,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/medical/storage) +"lgb" = ( +/obj/effect/landmark/start/botanist, +/obj/structure/chair/office/light, +/turf/open/floor/glass, +/area/station/service/hydroponics) "lgg" = ( /obj/machinery/air_sensor/engine_chamber, /turf/open/floor/engine, @@ -37204,12 +37245,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"lgs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "lgz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -37225,10 +37260,12 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"lgG" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"lgH" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "lgK" = ( /turf/closed/wall, /area/station/security/prison/visit) @@ -37248,10 +37285,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance) -"lgR" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lgW" = ( /obj/machinery/meter/monitored/distro_loop, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, @@ -37288,12 +37321,6 @@ "lhC" = ( /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"lhL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) "lhO" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -37311,23 +37338,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"lia" = ( -/obj/structure/flora/grass/brown/style_random, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"lid" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "lil" = ( /obj/structure/cable, /obj/structure/sign/poster/random/directional/west, @@ -37346,6 +37356,19 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"liv" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "lix" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -37377,10 +37400,6 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"liP" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "liS" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -37503,18 +37522,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/janitor) -"lkf" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lkj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37525,13 +37532,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"lkx" = ( -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "lkz" = ( /obj/structure/rack, /turf/open/floor/plating, @@ -37584,6 +37584,19 @@ "lli" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"llm" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/rack, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "llw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37610,18 +37623,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"lmd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/obj/structure/sign/flag/nanotrasen/directional/west, -/turf/open/floor/iron, -/area/station/commons/fitness) "lme" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37912,16 +37913,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"lqi" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_y = 6 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "lqj" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -37941,14 +37932,6 @@ }, /turf/open/floor/iron/textured, /area/mine/mechbay) -"lqC" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/structure/sign/departments/botany/directional/west, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "lqE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -37984,26 +37967,6 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/cmo_office, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"lrq" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/poster/official/the_owl/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lry" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ @@ -38027,6 +37990,14 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain) +"lrE" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/item/bikehorn/rubberducky, +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lsa" = ( /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; @@ -38036,6 +38007,11 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) +"lsh" = ( +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lsi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38048,6 +38024,23 @@ "lso" = ( /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lsH" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "lsN" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -38072,11 +38065,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"ltt" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "ltE" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/blood/random, @@ -38085,16 +38073,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"ltK" = ( -/obj/structure/minecart_rail{ - dir = 1 - }, -/obj/item/radio/intercom/directional/west{ - frequency = 1453; - name = "Kitchen Intercom" - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "ltV" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -38112,17 +38090,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"luc" = ( -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lup" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -38149,6 +38116,13 @@ }, /turf/open/floor/iron/white/side, /area/station/science/ordnance/office) +"luR" = ( +/obj/item/toy/snowball{ + pixel_x = 9; + pixel_y = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "lva" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -38176,11 +38150,15 @@ "lvt" = ( /turf/open/openspace/icemoon, /area/icemoon/underground/explored) -"lvz" = ( -/obj/structure/girder, -/obj/structure/grille, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +"lvv" = ( +/obj/machinery/newscaster/directional/east, +/turf/open/floor/stone, +/area/station/commons/lounge) +"lvy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lvB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38221,16 +38199,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva) -"lvU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/floor, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "lvW" = ( /obj/structure/table, /obj/effect/spawner/random/trash/food_packaging, @@ -38248,22 +38216,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"lwc" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "lwd" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -38358,19 +38310,6 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) -"lyd" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "lye" = ( /obj/effect/turf_decal/bot_white/right, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -38380,19 +38319,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"lyf" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lyg" = ( /turf/closed/wall/r_wall, /area/station/security/brig) -"lyh" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=EVA2"; - location = "Dorm" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "lyl" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -38416,6 +38353,13 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) +"lyv" = ( +/obj/structure/table/wood/poker, +/obj/item/trash/candle{ + pixel_y = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lyG" = ( /turf/open/floor/glass/reinforced, /area/station/ai_monitored/security/armory/upper) @@ -38424,14 +38368,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible/layer2, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"lyQ" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +"lyP" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera{ + c_tag = "Service - Botany Lower Entrance"; + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"lyU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "lyX" = ( /obj/structure/chair{ dir = 4 @@ -38439,22 +38395,10 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"lzd" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/camera/directional/south{ - c_tag = "Service - Botany Garden Access" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"lzc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lzq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38520,19 +38464,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) -"lAa" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Dormitory" - }, -/obj/effect/landmark/navigate_destination, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/commons/dorms) "lAc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -38578,11 +38509,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"lBm" = ( -/obj/structure/marker_beacon/burgundy, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "lBo" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, @@ -38594,37 +38520,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"lBx" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "lBD" = ( /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"lBE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ - dir = 1; - name = "Can In" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"lBG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "lBR" = ( /turf/closed/wall, /area/station/security/prison/toilet) @@ -38632,13 +38531,6 @@ /obj/structure/grille/broken, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"lBW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "lBZ" = ( /obj/machinery/door/window/right/directional/west{ name = "Containment Pen 7"; @@ -38668,6 +38560,11 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lCv" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/closet/crate/wooden/toy, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "lCz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/bot, @@ -38702,6 +38599,16 @@ dir = 1 }, /area/station/engineering/lobby) +"lCM" = ( +/obj/structure/closet/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"lCO" = ( +/obj/machinery/duct, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lCV" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38715,15 +38622,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"lCX" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) "lCY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38773,19 +38671,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"lDs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) -"lDt" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) "lDD" = ( /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt, @@ -38836,6 +38721,25 @@ /obj/structure/cable, /turf/open/floor/carpet/blue, /area/station/security/prison/work) +"lEb" = ( +/obj/machinery/door/airlock/multi_tile/public/glass{ + dir = 4; + name = "Service Hall" + }, +/obj/effect/turf_decal/siding/dark/corner, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/general, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) "lEg" = ( /obj/machinery/door/window/left/directional/north{ name = "AI Core Door"; @@ -38847,6 +38751,17 @@ "lEj" = ( /turf/open/floor/iron/dark/textured, /area/station/security/processing) +"lEn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/stack/sheet/mineral/coal{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "lEo" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -38966,17 +38881,6 @@ /obj/effect/turf_decal/stripes/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"lFP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/south, -/obj/structure/reagent_dispensers/water_cooler, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) -"lFQ" = ( -/obj/effect/landmark/start/clown, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "lFW" = ( /obj/effect/spawner/xmastree/rdrod, /turf/open/floor/iron/white/corner{ @@ -39055,6 +38959,19 @@ dir = 1 }, /area/station/hallway/secondary/entry) +"lHi" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"lHr" = ( +/obj/structure/stairs/north, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "lHu" = ( /obj/structure/closet/secure_closet/brig, /obj/structure/cable, @@ -39094,6 +39011,17 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/storage/gas) +"lHI" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lHL" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/corner{ @@ -39210,25 +39138,12 @@ "lIW" = ( /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"lJh" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/food_or_drink/snack, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"lJq" = ( -/obj/machinery/duct, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, +"lJc" = ( +/obj/item/food/chococoin, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, /area/station/service/kitchen/coldroom) -"lJK" = ( -/obj/machinery/duct, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lJO" = ( /turf/closed/wall, /area/station/maintenance/port/fore) @@ -39239,6 +39154,18 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"lJW" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/window/right/directional/south{ + name = "Produce Access"; + req_access = list("hydroponics") + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lKc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -39321,6 +39248,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"lLR" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "lLY" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/recharge_floor, @@ -39335,6 +39272,10 @@ /obj/item/food/cheesiehonkers, /turf/open/floor/iron, /area/station/cargo/office) +"lMe" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/service/kitchen) "lMg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39477,10 +39418,6 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"lOy" = ( -/obj/effect/landmark/start/clown, -/turf/open/floor/wood, -/area/station/commons/lounge) "lOz" = ( /obj/machinery/door/airlock{ id_tag = "Dorm2"; @@ -39531,13 +39468,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) -"lPd" = ( -/obj/structure/fence, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "lPh" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -39545,16 +39475,6 @@ }, /turf/open/floor/iron/sepia, /area/station/service/library) -"lPo" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/wallet{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/newspaper, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "lPr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39604,6 +39524,12 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"lPQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "lQc" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -39699,13 +39625,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"lRj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "lRs" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -39899,11 +39818,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"lUO" = ( -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "lUU" = ( /obj/machinery/door/airlock/external{ name = "Internal Airlock" @@ -39969,19 +39883,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"lVz" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel Maintenance External Airlock"; - opacity = 0 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/department/chapel) "lVF" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -39991,6 +39892,15 @@ }, /turf/open/floor/wood, /area/station/service/library) +"lVN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk/multiz/down{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "lVY" = ( /obj/effect/turf_decal/siding/thinplating_new/corner{ dir = 4 @@ -40052,32 +39962,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"lXb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"lXf" = ( -/obj/structure/closet/athletic_mixed, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness) -"lXg" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40094,14 +39978,11 @@ /turf/open/floor/iron/smooth, /area/station/maintenance/port/fore) "lXC" = ( -/obj/machinery/computer/holodeck{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "lXJ" = ( /obj/structure/railing{ dir = 1 @@ -40120,16 +40001,6 @@ dir = 10 }, /area/station/science/research) -"lYp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lYz" = ( /obj/machinery/computer/records/security, /obj/machinery/light_switch/directional/north, @@ -40137,12 +40008,6 @@ dir = 8 }, /area/station/security/brig/entrance) -"lYE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "lYR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -40160,6 +40025,11 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lZP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/turf/open/floor/plating, +/area/station/maintenance/fore) "lZQ" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/computer/cargo{ @@ -40179,12 +40049,6 @@ }, /turf/open/floor/iron/freezer, /area/station/science/xenobiology) -"mad" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "mae" = ( /obj/structure/statue/snow/snowman, /turf/open/misc/asteroid/snow/icemoon, @@ -40198,11 +40062,26 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) +"maw" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "maB" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) +"maM" = ( +/obj/item/paper/fluff/jobs/security/beepsky_mom, +/obj/machinery/light/small/dim/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "maO" = ( /obj/machinery/disposal/bin, /obj/structure/window/reinforced/spawner/directional/south, @@ -40231,6 +40110,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/storage) +"maX" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "maY" = ( /obj/item/wrench, /obj/item/weldingtool, @@ -40241,9 +40132,6 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"mba" = ( -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "mbb" = ( /obj/structure/cable, /obj/machinery/button/door/directional/west{ @@ -40375,6 +40263,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_large, /area/station/command/heads_quarters/hos) +"mcQ" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/service/bar) +"mcT" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "mcW" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/central) @@ -40400,13 +40305,6 @@ dir = 1 }, /area/station/science/explab) -"mdK" = ( -/obj/structure/table/wood, -/obj/item/food/pie/cream, -/obj/item/bikehorn, -/obj/machinery/status_display/evac/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "mdM" = ( /obj/structure/rack, /obj/item/clothing/suit/hooded/wintercoat/eva{ @@ -40507,22 +40405,9 @@ "mfD" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/atmos) -"mfE" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "mfH" = ( /turf/closed/wall/r_wall, /area/station/security/brig/upper) -"mfK" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "mfV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -40567,21 +40452,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"mgy" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "mgD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"mgJ" = ( -/obj/structure/table/wood, -/obj/item/camera, -/obj/item/taperecorder, -/obj/item/radio/intercom/directional/east, -/obj/structure/sign/painting/library_private{ - pixel_y = 32 - }, -/obj/item/storage/photo_album/library, -/turf/open/floor/engine/cult, -/area/station/service/library) "mgU" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) @@ -40610,6 +40489,12 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"mhj" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "mhq" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -40621,15 +40506,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_half, /area/station/security/office) -"mhy" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mhQ" = ( /turf/closed/wall/r_wall, /area/station/command/teleporter) @@ -40735,11 +40611,16 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"mkt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"mkr" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/newscaster/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "mku" = ( /obj/effect/spawner/random/structure/grille, /obj/effect/decal/cleanable/glass, @@ -40758,17 +40639,14 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mkS" = ( -/obj/machinery/door/window/left/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"mkM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/fore) "mld" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -40801,6 +40679,18 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"mlN" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "mlO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/airalarm/directional/east, @@ -40829,12 +40719,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mma" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/generic_maintenance_landmark, +"mmf" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 + }, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/maintenance/starboard/fore) "mmh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -40906,22 +40799,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"mmT" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"mnn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, +/obj/effect/turf_decal/stripes/line, +/obj/structure/chair/stool/directional/west, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"mnt" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood, -/obj/effect/spawner/random/entertainment/musical_instrument, -/obj/item/instrument/harmonica, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) +/area/station/maintenance/fore) "mnu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -40935,11 +40818,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mnB" = ( -/obj/structure/table/wood, -/obj/item/pai_card, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "mnC" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -40976,17 +40854,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/cargo/storage) -"mog" = ( -/obj/structure/fence/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) -"moz" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "moB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -41026,24 +40893,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) -"moP" = ( -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - id = "botany_apiary"; - name = "Bee Protection Shutters" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "mpe" = ( /obj/structure/cable, /obj/machinery/computer/quantum_console, @@ -41150,17 +40999,6 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"mqA" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "mqD" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, @@ -41322,11 +41160,6 @@ /obj/item/stack/ducts/fifty, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"msy" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "msN" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, @@ -41345,14 +41178,6 @@ /obj/machinery/requests_console/auto_name/directional/south, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"mtl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "mtn" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -41534,6 +41359,10 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"mxh" = ( +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/commons/lounge) "mxj" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port Mix to East Ports" @@ -41569,15 +41398,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"mxP" = ( -/obj/machinery/light/cold/directional/east, -/obj/machinery/status_display/ai/directional/east, -/turf/open/openspace, -/area/station/service/kitchen/coldroom) "mxQ" = ( /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"mxY" = ( +/obj/structure/minecart_rail{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "mye" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -41634,6 +41465,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/cargo) +"myS" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/camera/directional/south{ + c_tag = "Service - Botany Garden Access" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "myU" = ( /obj/structure/table/glass, /obj/item/assembly/signaler{ @@ -41676,6 +41523,11 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) +"mza" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mzb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -41747,15 +41599,6 @@ "mAe" = ( /turf/open/floor/glass/reinforced, /area/station/security/lockers) -"mAr" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "mAM" = ( /obj/structure/ladder, /obj/machinery/light/small/red/directional/west, @@ -41796,11 +41639,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"mBo" = ( -/obj/effect/spawner/random/decoration/flower, -/obj/structure/flora/rock/pile/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mBB" = ( /obj/machinery/door/poddoor/preopen{ id = "ceprivacy"; @@ -41964,13 +41802,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"mEC" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "mEJ" = ( /turf/closed/wall/r_wall, /area/station/science/genetics) @@ -41998,19 +41829,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"mEW" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 1; - name = "hydroponics reservoir" - }, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron/dark/textured, -/area/station/maintenance/starboard/lesser) "mFj" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -42106,6 +41924,13 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon, /area/station/science/server) +"mGF" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/closet/crate/cardboard, +/obj/item/storage/cans/sixbeer, +/obj/effect/spawner/random/food_or_drink/cups, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mGJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42274,18 +42099,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) -"mKE" = ( -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "mLa" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating, @@ -42344,15 +42157,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"mMh" = ( -/obj/machinery/door/airlock{ - id_tag = "Dorm1"; - name = "Dorm 1" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"mMi" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/commons/dorms) +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -42372,12 +42182,10 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet, /area/station/service/library) -"mMG" = ( -/obj/structure/table/wood, -/obj/machinery/airalarm/directional/west, -/obj/machinery/fax/auto_name, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) +"mMI" = ( +/obj/structure/secure_safe/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mMM" = ( /turf/closed/wall/r_wall, /area/station/security/prison) @@ -42406,6 +42214,13 @@ }, /turf/open/floor/plating/icemoon, /area/station/science/ordnance/bomb) +"mMZ" = ( +/obj/structure/cable, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "mNj" = ( /obj/machinery/computer/security{ dir = 4 @@ -42422,12 +42237,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"mNz" = ( -/obj/effect/turf_decal/box/red/corners{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "mNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -42482,6 +42291,16 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"mOH" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/fitness) "mOL" = ( /obj/machinery/airalarm/directional/south, /obj/structure/disposalpipe/segment{ @@ -42511,6 +42330,18 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"mPu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "mPv" = ( /obj/machinery/door/airlock/medical/glass{ name = "Medbay Storage" @@ -42556,6 +42387,11 @@ /obj/structure/sign/warning/radiation/rad_area/directional/south, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"mPQ" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/decoration/ornament, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mQb" = ( /obj/structure/flora/grass/both/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -42579,12 +42415,6 @@ "mQk" = ( /turf/open/floor/plating/snowed/coldroom, /area/station/service/kitchen/coldroom) -"mQm" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mQq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -42602,12 +42432,6 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/dark/smooth_large, /area/station/command/heads_quarters/cmo) -"mQz" = ( -/obj/item/paper/fluff/jobs/security/beepsky_mom, -/obj/machinery/light/small/dim/directional/east, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "mQG" = ( /obj/effect/decal/cleanable/glass, /turf/open/floor/iron/dark, @@ -42620,19 +42444,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"mRm" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "mRr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"mRv" = ( +/obj/structure/chair/stool/directional/west, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "mRG" = ( /obj/structure/table, /obj/item/book/manual/wiki/atmospherics, @@ -42654,6 +42476,15 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) +"mRN" = ( +/obj/structure/railing, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/four, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "mRU" = ( /obj/effect/decal/cleanable/insectguts, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -42661,19 +42492,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mSc" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"mSq" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "mSv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42699,23 +42517,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"mSK" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south{ - frequency = 1453; - name = "Kitchen Intercom" - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "mSL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42751,22 +42552,15 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"mTu" = ( -/obj/machinery/door/window/left/directional/west{ - name = "Fitness Ring" - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) -"mTF" = ( -/obj/structure/window/reinforced/spawner/directional/south, +"mTA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "mTI" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -42775,20 +42569,37 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/freezer, /area/mine/laborcamp) +"mTL" = ( +/obj/structure/closet/secure_closet/bar, +/obj/machinery/firealarm/directional/north{ + pixel_x = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -5; + pixel_y = 28 + }, +/obj/item/vending_refill/cigarette, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "mTS" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"mTV" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 +"mTW" = ( +/obj/structure/fluff/tram_rail{ + pixel_y = 17 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/openspace/icemoon/keep_below, +/area/icemoon/underground/explored) "mTX" = ( /obj/structure/barricade/wooden, /obj/structure/sign/warning/cold_temp/directional/north, @@ -42828,6 +42639,12 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"mUW" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/spawner/random/trash/botanical_waste, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "mVe" = ( /obj/machinery/button/ignition/incinerator/atmos, /turf/closed/wall/r_wall, @@ -42875,6 +42692,20 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"mVW" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "mWf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -42915,13 +42746,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"mWy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/binary/valve/digital/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "mWz" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating, @@ -42982,13 +42806,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"mXb" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "mXe" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -43056,6 +42873,11 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"mXW" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "mYh" = ( /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) @@ -43070,6 +42892,10 @@ }, /turf/open/floor/iron/white, /area/mine/laborcamp) +"mYn" = ( +/obj/machinery/duct, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mYq" = ( /obj/machinery/requests_console/directional/north{ department = "Research Director's Desk"; @@ -43173,20 +42999,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness) -"mZR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "mZS" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/blue, @@ -43216,14 +43028,6 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) -"nao" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "naq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -43244,16 +43048,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/storage) -"naD" = ( -/obj/effect/spawner/random/structure/grille, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"naJ" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "naP" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -43289,6 +43083,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nbl" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "nbm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -43342,6 +43143,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/medical/treatment_center) +"nbI" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nbJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43356,12 +43164,35 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/eva/lower) +"nbL" = ( +/obj/structure/table/wood, +/obj/item/camera, +/obj/item/taperecorder, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/painting/library_private{ + pixel_y = 32 + }, +/obj/item/storage/photo_album/library, +/turf/open/floor/engine/cult, +/area/station/service/library) "nbM" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 5 }, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) +"nbO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"nbP" = ( +/obj/structure/bonfire/prelit, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nbT" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/turf_decal/delivery, @@ -43406,6 +43237,29 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ncc" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/paper{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"ncd" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/hydroponics) "nci" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43425,6 +43279,17 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/locker) +"ncx" = ( +/obj/structure/table/wood, +/obj/item/soap/deluxe{ + pixel_y = 11 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "ncB" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Walkway" @@ -43581,13 +43446,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"ney" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/bar) "neC" = ( /obj/structure/chair{ dir = 1; @@ -43616,32 +43474,35 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"neM" = ( +/obj/machinery/hydroponics/soil, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"neQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "neR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"neU" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "nfd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/cargo/sorting) -"nfe" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/food_cart, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "nfj" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -43681,6 +43542,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"nfG" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) +"nfK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/light/floor, +/turf/open/floor/wood, +/area/station/commons/lounge) "nfU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43703,6 +43579,12 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"ngh" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ngj" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -43721,18 +43603,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/production) -"ngr" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ngM" = ( /obj/structure/lattice/catwalk, /obj/structure/fence/door{ @@ -43770,15 +43640,16 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"nhi" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Kitchen Maintenance" +"nhv" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/railing{ + dir = 10 }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +/area/station/maintenance/starboard/fore) "nhw" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -43815,17 +43686,6 @@ }, /turf/open/floor/plating, /area/mine/laborcamp) -"nhY" = ( -/obj/structure/table, -/obj/item/plate, -/obj/item/food/piedough, -/obj/effect/spawner/random/food_or_drink/cake_ingredients, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/item/kitchen/rollingpin, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "nia" = ( /obj/machinery/door/poddoor/shutters/window{ dir = 8; @@ -43906,38 +43766,32 @@ "nji" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"njl" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/landmark/navigate_destination/hydro, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "njm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/transit_tube) +"njz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "njA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"njG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "njJ" = ( /turf/closed/wall, /area/mine/laborcamp) +"njM" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "njO" = ( /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, @@ -43972,41 +43826,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"nko" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/remains/human, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "nks" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/workout) -"nkt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"nky" = ( -/obj/structure/minecart_rail{ - dir = 6 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/structure/sign/warning/directional/west, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "nkI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44027,6 +43851,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/vault, /area/station/security/prison/rec) +"nla" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nll" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -44039,29 +43867,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"nlm" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/table/glass, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/east, -/obj/item/food/grown/poppy{ - pixel_y = -1; - pixel_x = 3 - }, -/obj/item/food/grown/poppy/geranium{ - pixel_y = 5; - pixel_x = 2 - }, -/obj/item/food/grown/poppy/lily{ - pixel_x = -2 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "nlp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44077,11 +43882,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction) -"nly" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/trash/mopbucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"nlA" = ( +/obj/item/clothing/head/beanie/orange{ + pixel_y = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/shoes/wheelys/skishoes{ + pixel_y = -8 + }, +/obj/effect/decal/remains/human, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nlJ" = ( /obj/structure/railing{ dir = 5 @@ -44139,19 +43950,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nme" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +"nmi" = ( +/obj/structure/closet/chefcloset, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/tlv_cold_room, +/obj/structure/sign/poster/official/cleanliness/directional/west, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "nmj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44261,6 +44069,15 @@ /obj/effect/landmark/navigate_destination/library, /turf/open/floor/wood, /area/station/service/library) +"nmO" = ( +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nnl" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window/reinforced/plasma, @@ -44328,17 +44145,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"noD" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/cable, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "noF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44497,6 +44303,10 @@ }, /turf/open/floor/iron/white, /area/station/science/explab) +"npZ" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "nqb" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/plating/snowed/icemoon, @@ -44509,10 +44319,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"nqi" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) "nqn" = ( /obj/structure/ladder, /obj/effect/turf_decal/stripes/box, @@ -44538,12 +44344,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/white, /area/station/science/ordnance) -"nqA" = ( -/obj/effect/spawner/random/maintenance/three, -/obj/structure/closet/crate/wooden, -/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "nqD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44552,10 +44352,13 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nqO" = ( -/obj/item/kirbyplants/fern, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +"nqI" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "nqP" = ( /obj/machinery/camera/directional/north{ c_tag = "Research Division West"; @@ -44582,6 +44385,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"nrh" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "nrm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44642,25 +44451,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"nrJ" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) -"nrK" = ( -/obj/structure/lattice/catwalk, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/openspace/icemoon/keep_below, -/area/icemoon/underground/explored) -"nsm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/structure/sign/clock/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "nsp" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -44763,11 +44553,6 @@ /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"ntO" = ( -/obj/effect/spawner/random/maintenance/two, -/obj/structure/closet/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ntT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -44839,6 +44624,20 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nvc" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/kitchen) +"nvh" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "nvr" = ( /obj/effect/turf_decal/weather/snow/corner, /obj/machinery/light/small/directional/north, @@ -44850,6 +44649,12 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"nvw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "nvx" = ( /obj/machinery/airalarm/directional/east, /obj/effect/landmark/event_spawn, @@ -44913,6 +44718,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"nwC" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nwF" = ( /obj/structure/chair/sofa/bench{ dir = 4 @@ -44930,15 +44746,37 @@ dir = 9 }, /area/station/science/research) +"nxc" = ( +/turf/open/floor/glass, +/area/station/service/hydroponics) "nxe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"nxj" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/loading_area/white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "nxm" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"nxw" = ( +/obj/machinery/door/morgue{ + req_access = list("bar") + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "nxD" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44957,12 +44795,6 @@ "nxM" = ( /turf/closed/wall, /area/station/maintenance/department/medical/morgue) -"nxN" = ( -/obj/machinery/vending/autodrobe, -/obj/machinery/airalarm/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "nxU" = ( /obj/machinery/status_display/evac/directional/east, /obj/structure/reagent_dispensers/fueltank, @@ -44980,11 +44812,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"nyc" = ( -/obj/machinery/hydroponics/soil, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "nyg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -44992,10 +44819,18 @@ /turf/open/floor/plating, /area/station/construction) "nyj" = ( -/obj/item/kirbyplants/random/dead, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/hydroponics) "nyl" = ( /obj/machinery/door/morgue{ name = "Private Study"; @@ -45014,12 +44849,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"nyx" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "nyA" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -45126,6 +44955,12 @@ /obj/effect/turf_decal/tile/blue/full, /turf/open/floor/iron/large, /area/station/medical/treatment_center) +"nzt" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nzy" = ( /obj/machinery/computer/atmos_control/mix_tank{ dir = 8 @@ -45245,15 +45080,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"nBc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "nBe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -45319,6 +45145,14 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/starboard/aft) +"nBO" = ( +/obj/structure/disposalpipe/sorting/mail, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nBQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/tank/air{ @@ -45326,6 +45160,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"nBZ" = ( +/obj/structure/stairs/south, +/turf/open/floor/stone, +/area/station/commons/lounge) "nCa" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -45367,13 +45205,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"nCo" = ( -/obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "nCs" = ( /obj/structure/chair/stool/directional/north, /obj/structure/cable, @@ -45387,6 +45218,14 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) +"nCz" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nCD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45440,6 +45279,11 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"nDm" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nDp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45509,9 +45353,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"nDP" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "nDV" = ( /obj/machinery/shower/directional/south, /obj/effect/spawner/random/contraband/permabrig_weapon, @@ -45566,6 +45407,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"nEI" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "nEV" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, @@ -45589,16 +45434,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/general, /turf/open/floor/iron/dark, /area/station/engineering/main) -"nFh" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 8 - }, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "nFk" = ( /obj/effect/landmark/start/cyborg, /obj/structure/cable, @@ -45616,12 +45451,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"nFE" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) "nFF" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -45657,6 +45486,14 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nFQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "nFU" = ( /obj/structure/chair/stool/directional/west, /obj/item/trash/energybar, @@ -45770,10 +45607,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"nIb" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "nId" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45781,6 +45614,13 @@ /obj/structure/barricade/wooden, /turf/open/floor/eighties/red, /area/station/security/prison/safe) +"nIe" = ( +/obj/item/stack/cable_coil, +/obj/structure/fence/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nIl" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -45795,40 +45635,19 @@ "nIx" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/starboard/aft) -"nIH" = ( -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron, -/area/station/commons/fitness) -"nIU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) -"nIW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"nIY" = ( +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "nJd" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"nJm" = ( +/obj/structure/fluff/fokoff_sign, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "nJo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -45854,6 +45673,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/storage) +"nJq" = ( +/obj/structure/closet/athletic_mixed, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "nJy" = ( /obj/structure/chair/pew{ dir = 1 @@ -45923,32 +45751,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) -"nKs" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/seeds/berry, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) -"nKv" = ( -/obj/structure/table/glass, -/obj/machinery/door/window/right/directional/north{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/desk_bell{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "nKK" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -46006,15 +45808,41 @@ /obj/structure/mirror/broken/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/fore) +"nLa" = ( +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "nLb" = ( /obj/machinery/blackbox_recorder, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"nLd" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "nLe" = ( /obj/effect/turf_decal/tile/dark/half/contrasted, /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/medical/virology) +"nLs" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nLH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -46074,16 +45902,32 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/research) +"nMC" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/rack, +/obj/item/pickaxe, +/obj/item/toy/figure/chef, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom" + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) +"nMD" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "nME" = ( /obj/item/clothing/head/utility/hardhat, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"nMG" = ( -/obj/item/radio/intercom/directional/east, -/obj/structure/table, -/obj/machinery/fax/auto_name, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "nMH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -46154,6 +45998,22 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/mine/mechbay) +"nNB" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/structure/chair/stool/directional/east, +/turf/open/floor/iron/dark, +/area/station/medical/virology) +"nNI" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nNM" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -46218,16 +46078,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) -"nOM" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"nOI" = ( +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/obj/effect/landmark/start/assistant, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron, +/area/station/commons/fitness) "nOQ" = ( /obj/machinery/suit_storage_unit/security, /obj/machinery/camera/directional/north{ @@ -46252,6 +46113,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"nPS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "nQd" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46365,13 +46233,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"nRs" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/station/security/brig) "nRt" = ( /obj/machinery/door/airlock/mining/glass{ id_tag = "innercargo"; @@ -46401,25 +46262,20 @@ /obj/structure/sign/poster/official/nanotrasen_logo/directional/east, /turf/open/floor/iron, /area/station/commons/dorms/laundry) +"nRy" = ( +/mob/living/basic/goat/pete{ + desc = "Not known for their pleasant disposition. This one seems a bit more hardy to the cold."; + habitable_atmos = list("min_oxy"=1,"max_oxy"=0,"min_plas"=0,"max_plas"=1,"min_co2"=0,"max_co2"=5,"min_n2"=0,"max_n2"=0); + minimum_survivable_temperature = 150; + name = "Snowy Pete" + }, +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) "nRO" = ( /obj/structure/cable/multilayer/multiz, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/security/prison/safe) -"nRS" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Botany Upper Entrance" - }, -/obj/structure/table/glass, -/obj/machinery/fax/auto_name, -/turf/open/floor/iron, -/area/station/service/hydroponics) "nRV" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 10 @@ -46461,12 +46317,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"nSs" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/bureaucracy/briefcase, -/obj/item/taperecorder/empty, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "nSw" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/layer_manifold/brown/visible, @@ -46514,6 +46364,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"nSX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/fore) "nTp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46568,6 +46426,14 @@ "nTO" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp/security) +"nTP" = ( +/obj/item/food/grown/potato{ + pixel_y = 4 + }, +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "nTV" = ( /obj/structure/table/reinforced, /obj/item/screwdriver{ @@ -46619,11 +46485,6 @@ }, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"nUM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "nVc" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -46657,18 +46518,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"nVE" = ( -/obj/machinery/biogenerator, -/obj/machinery/door/window/left/directional/south{ - name = "Biogenerator Access"; - req_access = list("hydroponics") - }, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 +"nVO" = ( +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "nVR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria{ @@ -46706,12 +46562,6 @@ "nWH" = ( /turf/closed/wall, /area/station/maintenance/department/cargo) -"nWI" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/service/bar) "nWK" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -46745,6 +46595,14 @@ /obj/item/storage/box/monkeycubes, /turf/open/floor/iron, /area/station/science/xenobiology) +"nXs" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "nXH" = ( /obj/structure/bodycontainer/crematorium{ id = "crematoriumChapel" @@ -46782,6 +46640,25 @@ }, /turf/open/floor/iron, /area/station/command/bridge) +"nYN" = ( +/turf/open/floor/wood, +/area/station/commons/lounge) +"nYR" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 9 + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"nYY" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "nYZ" = ( /obj/item/storage/bag/trash, /turf/open/floor/plating, @@ -46824,15 +46701,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"nZy" = ( -/obj/structure/chair/sofa/left/brown{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "nZA" = ( /obj/structure/table, /obj/item/stock_parts/subspace/amplifier, @@ -46863,6 +46731,38 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"oac" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + id = "botany_apiary"; + name = "Bee Protection Shutters" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"oas" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "oaG" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 9 @@ -46881,6 +46781,18 @@ }, /turf/open/floor/iron/white/corner, /area/mine/living_quarters) +"oaJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/requests_console/auto_name/directional/east, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "oaP" = ( /obj/machinery/door/airlock/research{ name = "Crater Observation Room" @@ -46957,6 +46869,15 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) +"obT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "obZ" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Test Chamber Access"; @@ -46968,6 +46889,12 @@ /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance) +"ocp" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "ocu" = ( /obj/effect/turf_decal/bot_white, /obj/structure/cable, @@ -47023,22 +46950,6 @@ /obj/structure/stairs/east, /turf/open/floor/iron/white, /area/station/science/ordnance) -"odr" = ( -/obj/structure/fluff/tram_rail, -/obj/structure/lattice/catwalk, -/obj/structure/fluff/tram_rail{ - pixel_y = 17 - }, -/obj/structure/marker_beacon/burgundy{ - name = "landing marker" - }, -/turf/open/lava/plasma/ice_moon, -/area/icemoon/underground/explored) -"odu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "odw" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, @@ -47068,6 +46979,11 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"odZ" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oed" = ( /obj/machinery/door/window/right/directional/east{ name = "Robotics Surgery"; @@ -47086,16 +47002,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"oen" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "botany_chasm_and_wolf_shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "oex" = ( /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/department/medical/morgue) @@ -47155,16 +47061,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"ofv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "ofz" = ( /obj/structure/ore_box, /obj/effect/turf_decal/bot, @@ -47194,15 +47090,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"ofN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "ogd" = ( /obj/structure/chair/office{ dir = 8 @@ -47216,6 +47103,9 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron, /area/station/science/xenobiology) +"ogu" = ( +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "ogy" = ( /obj/machinery/door/airlock/maintenance{ name = "EVA Maintenance" @@ -47251,10 +47141,9 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"ohl" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, +"ohk" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) "ohp" = ( @@ -47267,16 +47156,6 @@ dir = 1 }, /area/station/engineering/lobby) -"ohv" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/sink/kitchen/directional/west, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/service/bar) "ohx" = ( /obj/effect/turf_decal/caution{ dir = 8 @@ -47286,6 +47165,15 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"ohP" = ( +/obj/structure/table/wood, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/box/white/corners{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "ohS" = ( /obj/structure/railing{ dir = 8 @@ -47471,11 +47359,6 @@ dir = 4 }, /area/station/science/research) -"ojR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/caution_sign, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "ojW" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -47549,22 +47432,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"okP" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "okU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -47573,31 +47440,13 @@ "olf" = ( /turf/open/floor/carpet, /area/station/commons/dorms) -"oll" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) -"olq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/decal/cleanable/ash, -/obj/item/rack_parts, -/obj/effect/mapping_helpers/burnt_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"olB" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 +"olt" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 4 }, -/obj/item/kirbyplants/organic/plant11, -/turf/open/floor/stone, -/area/station/service/bar/atrium) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "olH" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -47626,6 +47475,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"olP" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "olQ" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -47695,21 +47553,21 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/vault, /area/station/security/prison/rec) -"omM" = ( -/obj/structure/table/wood, -/obj/item/toy/mecha/honk{ - pixel_y = 12 - }, -/obj/structure/sign/poster/contraband/random/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "omP" = ( /obj/machinery/door/airlock{ name = "Cleaning Closet" }, /turf/open/floor/plating, /area/station/security/prison/safe) +"omS" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "ond" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47892,6 +47750,20 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron/white, /area/station/science/ordnance) +"opH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "opI" = ( /obj/machinery/microwave{ pixel_y = 7 @@ -47965,6 +47837,13 @@ /obj/effect/turf_decal/tile/dark_green, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"oqB" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/box/red/corners{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "oqC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48034,6 +47913,12 @@ /obj/machinery/recharge_station, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"oru" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "orv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -48082,6 +47967,16 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"orZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Atrium" + }, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/wood/large, +/area/station/service/bar/atrium) "osd" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -48126,16 +48021,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"osN" = ( +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "osO" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 }, /turf/open/floor/iron/white, /area/station/medical/virology) -"otb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "otd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -48184,18 +48079,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"otU" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "oua" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48293,6 +48176,11 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/lockers) +"ovZ" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "owf" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/decal/cleanable/dirt, @@ -48419,10 +48307,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) -"oyo" = ( -/obj/structure/secure_safe/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "oyp" = ( /obj/machinery/recharger{ pixel_y = 4 @@ -48478,17 +48362,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/mechbay) -"oyO" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"oyR" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "oyW" = ( /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) @@ -48515,6 +48388,23 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"ozx" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + frequency = 1453; + name = "Kitchen Intercom" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ozA" = ( /obj/structure/closet/secure_closet/research_director, /obj/effect/turf_decal/stripes/line{ @@ -48566,6 +48456,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"ozW" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "ozX" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -48697,6 +48593,16 @@ /obj/machinery/light/floor, /turf/open/floor/carpet, /area/station/service/library) +"oBJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oBQ" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -48717,6 +48623,10 @@ /obj/item/stack/cable_coil/five, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"oCw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oCA" = ( /obj/structure/closet/secure_closet/cytology, /obj/machinery/button/door/directional/north{ @@ -48754,14 +48664,6 @@ dir = 1 }, /area/station/security/prison) -"oCW" = ( -/obj/item/reagent_containers/cup/soda_cans/beer{ - pixel_x = -7; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oDd" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -48825,15 +48727,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"oDu" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "botany_apiary"; - name = "Apiary Shutters" - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "oDB" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating, @@ -48861,6 +48754,12 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"oEe" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oEj" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -48881,15 +48780,14 @@ /obj/machinery/requests_console/auto_name/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"oEn" = ( -/obj/structure/fake_stairs/wood/directional/north, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "oEt" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/engineering/main) +"oEC" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/starboard/fore) "oEF" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/end, @@ -48913,10 +48811,6 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"oFo" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "oFp" = ( /obj/structure/sign/warning/docking/directional/west, /obj/effect/decal/cleanable/dirt, @@ -48927,6 +48821,17 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"oFB" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/starboard) "oFI" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 6 @@ -49062,12 +48967,6 @@ }, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"oHx" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end/flip, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oHH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -49097,14 +48996,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"oIj" = ( -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "oIB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49147,6 +49038,17 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) +"oIQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/newscaster/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "oIR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/maintenance/four, @@ -49162,6 +49064,9 @@ /obj/structure/flora/bush/snow/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"oJD" = ( +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "oJH" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/weather/snow/corner{ @@ -49169,15 +49074,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"oJK" = ( -/obj/effect/turf_decal/siding/white, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/hydroponics) "oJP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/dark_green, @@ -49241,13 +49137,6 @@ /obj/item/storage/bag/ore, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"oLd" = ( -/obj/item/toy/snowball{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "oLg" = ( /turf/open/floor/iron/white/corner, /area/station/science/research) @@ -49367,16 +49256,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/cargo/storage) -"oMj" = ( -/obj/structure/training_machine, -/obj/item/target, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/commons/fitness) "oMk" = ( /obj/machinery/camera/directional/south{ c_tag = "Cargo Bay South" @@ -49427,6 +49306,14 @@ "oMT" = ( /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"oNy" = ( +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Upper" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "oNA" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -49446,6 +49333,19 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron, /area/station/science/explab) +"oNN" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/multi_tile/public/glass{ + name = "Atrium" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/navigate_destination/kitchen, +/turf/open/floor/iron/dark/textured_half, +/area/station/service/bar/atrium) "oNO" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/meter, @@ -49475,6 +49375,15 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/white, /area/station/science/research) +"oOt" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "oOx" = ( /obj/machinery/door/airlock/public/glass/incinerator/atmos_interior, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -49491,16 +49400,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"oOJ" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oOO" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/secure_area/directional/south, @@ -49523,19 +49422,22 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva) -"oOT" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/duct, -/obj/machinery/light/small/directional/north, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron, -/area/station/service/bar) "oPa" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, /area/station/security/prison/work) +"oPd" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "oPl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49560,6 +49462,13 @@ dir = 9 }, /area/station/science/lab) +"oPr" = ( +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "oPv" = ( /obj/machinery/turretid{ control_area = "/area/station/ai_monitored/turret_protected/aisat/service"; @@ -49572,20 +49481,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"oPw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "oPI" = ( /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) -"oPK" = ( -/obj/structure/table/wood, -/obj/item/soap/deluxe{ - pixel_y = 11 - }, -/obj/item/soap/deluxe{ - pixel_y = 6 - }, -/obj/item/soap/deluxe, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "oPP" = ( /obj/machinery/computer/scan_consolenew{ dir = 4 @@ -49659,6 +49564,10 @@ "oQY" = ( /turf/open/floor/iron/white, /area/station/medical/virology) +"oRf" = ( +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "oRk" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -49668,13 +49577,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"oRr" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/lounge) "oRu" = ( /obj/item/stack/medical/mesh, /obj/item/wrench/medical, @@ -49718,13 +49620,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"oSh" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "oSm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49836,6 +49731,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) +"oTh" = ( +/obj/machinery/door/airlock{ + id_tag = "Dorm1"; + name = "Dorm 1" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood, +/area/station/commons/dorms) "oTx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49893,14 +49797,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"oVc" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"oVn" = ( +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) +"oVr" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/coin{ + pixel_x = -7 + }, +/obj/effect/spawner/random/clothing/bowler_or_that, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "oVt" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -49954,15 +49864,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) -"oWa" = ( -/obj/structure/flora/rock/icy/style_random, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) -"oWb" = ( -/obj/machinery/vending/dinnerware, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "oWe" = ( /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/textured, @@ -49992,12 +49893,6 @@ /obj/structure/sign/calendar/directional/west, /turf/open/floor/iron, /area/station/commons/locker) -"oWw" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "oWN" = ( /obj/machinery/requests_console/auto_name/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -50009,6 +49904,10 @@ /obj/item/stack/sheet/iron/fifty, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"oWV" = ( +/obj/structure/sign/warning/cold_temp/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "oXc" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -50100,10 +49999,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"oXO" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "oXT" = ( /obj/structure/table/glass, /obj/item/storage/box/beakers{ @@ -50117,34 +50012,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/station/science/xenobiology) -"oXU" = ( -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"oXV" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 3 - }, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 8; - pixel_x = 3 - }, -/obj/item/food/grown/eggplant{ - pixel_y = 5; - pixel_x = 5 - }, -/obj/item/food/grown/mushroom/chanterelle{ - pixel_y = 3 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "oXX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50184,6 +50051,24 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"oYw" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"oYC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "oYI" = ( /obj/effect/spawner/random/vending/colavend, /turf/open/floor/wood, @@ -50194,6 +50079,16 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"oZk" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "oZn" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -50201,13 +50096,6 @@ }, /turf/open/floor/iron, /area/station/science/explab) -"oZo" = ( -/obj/structure/table, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/engineering/material_cheap, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "oZz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -50219,15 +50107,13 @@ dir = 4 }, /area/station/security/prison) -"oZG" = ( -/obj/structure/table/wood, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 +"oZD" = ( +/obj/machinery/door/window/left/directional/west{ + req_access = list("hydroponics"); + name = "Hydroponics Equipment" }, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "oZL" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -50241,14 +50127,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured_edge, /area/station/security/prison) -"oZX" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) "pac" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -50258,11 +50136,6 @@ dir = 4 }, /area/station/security/prison) -"pan" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pao" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/plating, @@ -50275,15 +50148,6 @@ dir = 1 }, /area/station/security/prison/safe) -"pat" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/duct, -/obj/machinery/light/directional/east, -/obj/machinery/camera/directional/east{ - c_tag = "Service - Hall" - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "paF" = ( /obj/structure/table, /obj/item/clothing/suit/hooded/wintercoat/science, @@ -50313,6 +50177,9 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/locker) +"pba" = ( +/turf/open/floor/stone, +/area/station/service/bar/atrium) "pbk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50347,6 +50214,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/construction) +"pbF" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/item/seeds/berry, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/maintenance/starboard/fore) "pbH" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, @@ -50385,16 +50261,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/commons/dorms/laundry) -"pce" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/duct, -/obj/effect/turf_decal/siding/dark{ - dir = 10 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "pcg" = ( /obj/machinery/computer/apc_control{ dir = 4 @@ -50417,6 +50283,13 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"pco" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/fence/cut/large{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "pcr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrous_output{ dir = 8 @@ -50484,6 +50357,15 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/execution/transfer) +"pdC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "pdK" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted, /turf/open/floor/iron/dark/textured, @@ -50562,19 +50444,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/iron/dark, /area/station/science/explab) -"peg" = ( -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"peq" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "pez" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark/textured_edge{ @@ -50585,17 +50454,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"peJ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "peM" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50628,18 +50486,21 @@ /obj/structure/flora/grass/green/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) +"pfy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 8; + name = "Air Out" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "pfD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"pfE" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "pfJ" = ( /obj/structure/sink/directional/east, /obj/machinery/button/door/directional/west{ @@ -50662,13 +50523,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/maintenance/department/electrical) -"pgi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/wood/large, -/area/station/service/bar) "pgo" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 10 @@ -50685,6 +50539,11 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark/smooth_large, /area/station/cargo/bitrunning/den) +"pgv" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "pgw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/requests_console/directional/south{ @@ -50696,22 +50555,6 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/wood, /area/station/command/meeting_room) -"pgx" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"pgC" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "pgE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -50762,6 +50605,28 @@ }, /turf/open/floor/iron/white, /area/station/medical/break_room) +"phl" = ( +/obj/structure/minecart_rail{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"phr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Apiary" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/hydroponics) "phu" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -50810,17 +50675,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"pic" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar/directional/north, -/obj/structure/cable, -/turf/open/floor/eighties, -/area/station/commons/lounge) "pie" = ( /obj/machinery/camera/directional/north{ c_tag = "Engineering Access" @@ -50965,6 +50819,16 @@ /obj/structure/chair, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"pjk" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pjl" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/engineering_all, @@ -51013,6 +50877,13 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"pjM" = ( +/obj/structure/closet, +/obj/effect/spawner/random/clothing/costume, +/obj/structure/sign/poster/contraband/random/directional/east, +/obj/effect/spawner/random/clothing/gloves, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pjZ" = ( /obj/structure/closet/crate/freezer/blood, /turf/open/floor/iron/white, @@ -51059,6 +50930,11 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/maintenance/port/greater) +"ply" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/caution_sign, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "plN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/neutral/opposingcorners, @@ -51089,21 +50965,6 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"pmc" = ( -/obj/structure/table/wood, -/obj/machinery/reagentgrinder{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = -6 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/box/white/corners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "pmn" = ( /obj/effect/spawner/random/trash/caution_sign, /turf/open/floor/plating, @@ -51116,16 +50977,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"pmL" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/commons/fitness) "pna" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -51159,6 +51010,16 @@ /obj/structure/flora/grass/brown/style_random, /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) +"pns" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/flashlight{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "pnz" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -51253,6 +51114,13 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/locker) +"poV" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "poY" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -51272,11 +51140,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"ppj" = ( -/obj/effect/landmark/start/botanist, -/obj/structure/chair/office/light, -/turf/open/floor/glass, -/area/station/service/hydroponics) "ppl" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -51386,6 +51249,13 @@ /obj/structure/sign/warning/secure_area/directional/east, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"pqZ" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/item/storage/box/matches, +/obj/effect/spawner/random/entertainment/cigar, +/turf/open/floor/iron, +/area/station/service/bar) "pra" = ( /turf/open/floor/iron/dark, /area/station/science/robotics/lab) @@ -51404,23 +51274,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"prw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "prE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -51431,12 +51284,6 @@ /obj/machinery/telecomms/server/presets/security, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"prG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/station/maintenance/fore) "prH" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -51446,12 +51293,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"prP" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "psb" = ( /turf/closed/wall/ice, /area/icemoon/underground/explored) @@ -51541,14 +51382,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/port) -"ptl" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"ptq" = ( -/obj/structure/no_effect_signpost, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) +"ptv" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "ptx" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/iron/fifty, @@ -51568,13 +51405,6 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/captain) -"ptD" = ( -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "ptO" = ( /obj/machinery/barsign, /turf/closed/wall, @@ -51591,11 +51421,6 @@ "ptY" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/maint) -"ptZ" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "pua" = ( /obj/machinery/light/directional/south, /turf/open/floor/iron, @@ -51623,18 +51448,6 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"puo" = ( -/obj/structure/table/wood, -/obj/item/soap/nanotrasen, -/obj/item/clothing/head/costume/sombrero/green, -/obj/machinery/camera{ - c_tag = "Service - Theater"; - dir = 9 - }, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "pup" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -51689,10 +51502,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"puW" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "puX" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -51826,6 +51635,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"pwz" = ( +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pwC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52047,16 +51861,6 @@ /obj/item/book/manual/wiki/detective, /turf/open/floor/carpet/blue, /area/station/security/prison/work) -"pzv" = ( -/obj/structure/table/wood, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) -"pzy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "pzC" = ( /obj/machinery/firealarm/directional/north, /obj/effect/turf_decal/siding/yellow{ @@ -52076,19 +51880,6 @@ }, /turf/open/floor/iron/cafeteria, /area/mine/laborcamp) -"pzJ" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/newscaster/directional/north, -/obj/effect/turf_decal/siding/wood, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Bar" - }, -/turf/open/floor/iron, -/area/station/service/bar) "pzV" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -52116,13 +51907,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/ordnance) -"pAe" = ( -/obj/effect/spawner/random/structure/chair_flipped{ - dir = 8 +"pAn" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/light/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "pAN" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -52137,10 +51931,16 @@ dir = 4 }, /area/mine/production) -"pAX" = ( -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +"pAW" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing/corner/end{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "pAZ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -52183,6 +51983,14 @@ /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, /area/station/security/warden) +"pBS" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/item/kirbyplants/organic/applebush, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "pBV" = ( /obj/structure/chair/office/light, /turf/open/floor/iron/dark, @@ -52205,16 +52013,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"pCw" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Bar Maintenance" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/service/bar/backroom) "pCE" = ( /obj/machinery/firealarm/directional/east, /obj/structure/filingcabinet, @@ -52300,9 +52098,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) -"pDK" = ( -/turf/open/misc/ice/coldroom, -/area/station/service/kitchen/coldroom) "pDQ" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -52359,10 +52154,6 @@ }, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) -"pEC" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pEE" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -52426,9 +52217,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"pFT" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/icemoon/surface) "pFV" = ( /obj/structure/railing/corner, /turf/open/floor/iron/smooth, @@ -52458,6 +52246,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"pGg" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pGo" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -52527,12 +52321,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"pHf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pHy" = ( /obj/structure/rack, /obj/item/clothing/mask/breath, @@ -52649,6 +52437,12 @@ dir = 4 }, /area/station/science/explab) +"pJq" = ( +/obj/structure/statue/snow/snowman{ + name = "Steve" + }, +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "pJu" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -52717,6 +52511,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"pKo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "pKu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52738,10 +52542,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"pKD" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pKJ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -52788,6 +52588,17 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"pLo" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "pLr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -52805,6 +52616,18 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"pLu" = ( +/obj/structure/sink/kitchen/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pLv" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -52846,16 +52669,11 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"pMo" = ( -/obj/structure/closet/chefcloset, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/tlv_cold_room, -/obj/structure/sign/poster/official/cleanliness/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) +"pMh" = ( +/obj/structure/table/wood/poker, +/obj/item/storage/wallet/random, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "pMq" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics Storage Room - South" @@ -52889,12 +52707,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"pMA" = ( -/obj/machinery/requests_console/auto_name/directional/east, -/obj/machinery/duct, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "pMC" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, @@ -52906,6 +52718,12 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/xenobiology) +"pNi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "pNm" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) @@ -52994,27 +52812,16 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"pOe" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Chapel External Airlock"; - opacity = 0 - }, -/obj/structure/sign/warning/cold_temp/directional/north, -/obj/structure/sign/warning/gas_mask/directional/south{ - desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." - }, -/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/iron, -/area/station/service/chapel) "pOk" = ( /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/security/prison/safe) +"pOl" = ( +/obj/structure/flora/tree/pine/style_random{ + pixel_x = -15 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "pOo" = ( /obj/machinery/airalarm/directional/north, /obj/structure/closet/secure_closet/personal/cabinet, @@ -53031,6 +52838,26 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"pOC" = ( +/obj/machinery/computer/order_console/cook{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) +"pOK" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "pOL" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) @@ -53079,13 +52906,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"pPI" = ( -/obj/structure/table, -/obj/item/trash/can/food/beans, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "pPK" = ( /obj/structure/stairs/east, /turf/open/floor/iron/dark/textured, @@ -53116,13 +52936,6 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"pPS" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "pPT" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -53183,13 +52996,6 @@ /obj/item/pen, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"pQB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants/organic/plant2, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "pQG" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -53261,12 +53067,6 @@ /obj/machinery/digital_clock/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"pSj" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "pSk" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53307,6 +53107,62 @@ "pSz" = ( /turf/open/openspace, /area/station/maintenance/starboard/upper) +"pSP" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel External Airlock"; + opacity = 0 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/chapel_office, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/iron, +/area/station/service/chapel) +"pSS" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/duct, +/obj/effect/turf_decal/siding/dark{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) +"pSX" = ( +/obj/structure/closet/crate{ + name = "Le Caisee D'abeille" + }, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/honey_frame, +/obj/item/queen_bee/bought, +/obj/item/clothing/suit/hooded/bee_costume, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/warm/directional/north, +/obj/item/seeds/sunflower, +/obj/effect/spawner/random/food_or_drink/seed, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "pTd" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -53328,18 +53184,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig/entrance) -"pTm" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "pTB" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -53390,25 +53234,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/science/research) -"pUt" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "pUy" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron/white, /area/station/science/genetics) -"pUY" = ( -/obj/item/chair/wood, -/obj/item/toy/plush/moth{ - name = "Ariadne" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "pVl" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -53550,6 +53381,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"pXy" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "pXB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -53562,11 +53399,6 @@ }, /turf/open/floor/iron/textured, /area/mine/mechbay) -"pXQ" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/fullgrass/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "pXR" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -53619,6 +53451,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"pYD" = ( +/obj/machinery/light/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) "pYF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53659,6 +53498,15 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/engineering/storage) +"pZO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "pZY" = ( /mob/living/simple_animal/hostile/asteroid/polarbear{ move_force = 999; @@ -53676,6 +53524,15 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) +"qal" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/landmark/event_spawn, +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/commons/lounge) "qam" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -53794,18 +53651,31 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/dorms) +"qbG" = ( +/obj/machinery/door/airlock/external, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "chem-morgue-airlock" + }, +/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/medical/morgue) +"qbM" = ( +/obj/structure/ore_container/food_trough/raptor_trough, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "qbO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"qbR" = ( -/obj/machinery/light/small/directional/east, -/obj/item/pickaxe, -/obj/structure/closet/emcloset, -/turf/open/floor/plating, -/area/station/medical/morgue) "qbU" = ( /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/misc/asteroid/snow/icemoon, @@ -53816,6 +53686,19 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"qbY" = ( +/obj/item/clothing/accessory/pocketprotector, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/mafia_outfit, +/obj/effect/spawner/random/clothing/backpack, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qca" = ( /obj/structure/chair/office{ dir = 8 @@ -53871,12 +53754,6 @@ dir = 4 }, /area/station/engineering/atmos/mix) -"qdy" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "qdC" = ( /obj/structure/table, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -53946,14 +53823,6 @@ /obj/machinery/microwave, /turf/open/floor/stone, /area/mine/eva/lower) -"qeu" = ( -/obj/machinery/newscaster/directional/west, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/commons/lounge) "qeF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53978,13 +53847,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"qeM" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "qeP" = ( /obj/structure/table, /obj/item/flashlight/lantern, @@ -54007,6 +53869,17 @@ dir = 8 }, /area/station/service/chapel) +"qeW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "qfh" = ( /turf/open/floor/iron/recharge_floor, /area/station/science/robotics/mechbay) @@ -54027,6 +53900,12 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) +"qfr" = ( +/obj/structure/table/wood/poker, +/obj/effect/spawner/random/entertainment/cigarette_pack, +/obj/effect/spawner/random/entertainment/lighter, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "qfs" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/structure/cable, @@ -54041,6 +53920,31 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"qfI" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"qfJ" = ( +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "qgm" = ( /obj/machinery/meter/monitored/waste_loop, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ @@ -54074,15 +53978,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/processing) -"qhb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"qgQ" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"qgT" = ( +/obj/effect/spawner/random/structure/closet_private, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qhd" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -54099,12 +54004,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"qhw" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 +"qhF" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Dormitory" }, -/turf/closed/wall, -/area/station/service/hydroponics) +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/commons/dorms) "qhL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -54127,6 +54039,11 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark/side, /area/station/security/processing) +"qhQ" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "qhS" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -54134,6 +54051,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/security/prison) +"qhV" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qig" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54142,22 +54065,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"qij" = ( -/obj/structure/reagent_dispensers/plumbed{ - name = "service reservoir" +"qit" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"qiA" = ( +/obj/machinery/chem_master/condimaster{ + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + name = "HoochMaster Deluxe" }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "qiF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) +"qiG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "qiJ" = ( /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /obj/effect/spawner/random/contraband/prison, @@ -54171,6 +54111,11 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"qiL" = ( +/obj/machinery/door/airlock/hatch, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/fore) "qiN" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, @@ -54200,18 +54145,9 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"qjc" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 1 - }, -/obj/machinery/light/small/red/directional/north, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) +"qjd" = ( +/turf/open/misc/ice/coldroom, +/area/station/service/kitchen/coldroom) "qjg" = ( /obj/effect/landmark/observer_start, /obj/effect/turf_decal/plaque{ @@ -54242,6 +54178,10 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) +"qjn" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/maintenance/fore) "qjp" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/thinplating_new, @@ -54405,6 +54345,14 @@ /obj/structure/cable, /turf/open/floor/iron/textured, /area/station/hallway/secondary/entry) +"qlS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "qlU" = ( /obj/structure/closet/crate, /turf/open/floor/plating/snowed/icemoon, @@ -54539,6 +54487,20 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qod" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = -4; + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qoi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54550,19 +54512,31 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/wood/parquet, /area/station/service/library) +"qon" = ( +/obj/machinery/door/airlock/wood{ + name = "Backstage" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/commons/lounge) "qoK" = ( /obj/structure/flora/rock/style_random, /obj/structure/window/reinforced/spawner/directional/south, /turf/open/misc/asteroid/snow/icemoon, /area/station/maintenance/port/aft) -"qoL" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "qoM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/burnt_floor, @@ -54627,13 +54601,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) -"qps" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/closet/firecloset, -/obj/structure/sign/warning/gas_mask/directional/west, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "qpt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54696,6 +54663,15 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood, /area/station/service/library) +"qpQ" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Service - Electrical Maintenace Upper" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "qpR" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -54705,13 +54681,19 @@ /obj/machinery/recharge_station, /turf/open/floor/wood, /area/station/command/meeting_room) -"qpY" = ( -/obj/machinery/door/airlock{ - id_tag = "Toilet1"; - name = "Unit 1" +"qpU" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/structure/reagent_dispensers/plumbed{ + name = "dormitory reservoir" + }, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/textured, -/area/station/commons/toilet) +/area/station/maintenance/fore) "qpZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -54758,18 +54740,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"qqI" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qqJ" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -54786,9 +54756,14 @@ dir = 1 }, /area/station/security/office) -"qqX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured, +"qre" = ( +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/turf/open/floor/iron, /area/station/service/hydroponics) "qrg" = ( /obj/item/bodypart/head, @@ -54822,22 +54797,29 @@ /obj/structure/sign/warning/gas_mask, /turf/closed/wall/r_wall, /area/station/engineering/storage_shared) -"qrt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 +"qrF" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "qrJ" = ( /obj/machinery/ticket_machine/directional/east, /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/central) +"qrM" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "qrQ" = ( /obj/structure/railing{ dir = 8 @@ -54876,13 +54858,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qsE" = ( -/obj/structure/table/wood, -/obj/item/paper, -/obj/item/pen, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qsG" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -54906,6 +54881,12 @@ /obj/item/clothing/gloves/latex, /turf/open/floor/plating, /area/station/security/prison/safe) +"qsY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "qtj" = ( /turf/closed/wall, /area/station/engineering/storage) @@ -54929,6 +54910,22 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"qtG" = ( +/obj/machinery/camera/directional/south{ + c_tag = "Fitness Room South" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -7 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/commons/fitness) "qtH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -54936,14 +54933,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"qtJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "qtM" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -54957,14 +54946,6 @@ /obj/machinery/light/directional/north, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"qtT" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "qud" = ( /obj/machinery/conveyor_switch/oneway{ id = "mining_internal"; @@ -54985,16 +54966,31 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"quj" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, +"quw" = ( /obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, /obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/line, +/obj/structure/closet/crate/hydroponics, +/obj/item/wrench, +/obj/item/wrench, +/obj/item/grenade/chem_grenade/antiweed{ + pixel_x = 3; + pixel_y = 1 + }, +/obj/item/grenade/chem_grenade/antiweed, +/obj/item/shovel/spade, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_y = 3 + }, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/reagent_containers/cup/watering_can, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/service/hydroponics) "quB" = ( @@ -55007,6 +55003,9 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"quJ" = ( +/turf/open/floor/stone, +/area/station/commons/lounge) "quK" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -55136,11 +55135,6 @@ /obj/structure/grille, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"qwI" = ( -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) "qwJ" = ( /obj/machinery/computer/rdconsole{ dir = 1 @@ -55284,37 +55278,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"qya" = ( -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness) -"qyb" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/obj/item/kirbyplants/organic/plant10, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"qyd" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) "qyn" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55355,6 +55318,19 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock) +"qyZ" = ( +/obj/structure/table, +/obj/machinery/light/small/dim/directional/west, +/obj/item/camera{ + pixel_y = 9; + pixel_x = -2 + }, +/obj/item/reagent_containers/cup/glass/waterbottle/empty{ + pixel_y = 5; + pixel_x = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "qzq" = ( /obj/structure/sign/departments/cargo, /turf/closed/wall/r_wall, @@ -55395,6 +55371,18 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"qzU" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Central Access" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "qzV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle{ dir = 4 @@ -55430,12 +55418,6 @@ "qAQ" = ( /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"qAR" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "qAS" = ( /obj/item/stack/rods/fifty, /obj/structure/rack, @@ -55485,20 +55467,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"qBz" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) "qCl" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/disposalpipe/segment{ @@ -55583,6 +55551,11 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"qDk" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qDD" = ( /obj/machinery/washing_machine, /obj/effect/decal/cleanable/dirt, @@ -55608,6 +55581,11 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"qEh" = ( +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "qEj" = ( /obj/structure/table/glass, /obj/item/assembly/igniter, @@ -55638,13 +55616,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"qEq" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/griddle, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "qEu" = ( /obj/effect/turf_decal/siding/brown{ dir = 4 @@ -55758,6 +55729,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"qFD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "qFJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, @@ -55766,28 +55744,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/security/checkpoint/customs/auxiliary) -"qFN" = ( -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/chair/sofa/left/brown{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) -"qFT" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Kitchen" - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 6 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "qFW" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -55826,6 +55782,17 @@ /obj/item/gps/mining, /turf/open/floor/iron/smooth, /area/mine/eva) +"qGh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/cable, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "qGi" = ( /obj/effect/turf_decal/trimline/purple/filled/warning{ dir = 8 @@ -55845,12 +55812,6 @@ /obj/effect/spawner/random/trash/grime, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/lesser) -"qGM" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "qGQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -55916,6 +55877,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/breakroom) +"qHs" = ( +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/flora/bush/fullgrass/style_random, +/turf/open/floor/grass, +/area/station/service/hydroponics) "qHz" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/disposal/bin{ @@ -56019,13 +55985,15 @@ /obj/item/cigbutt, /turf/open/floor/wood/large, /area/mine/eva/lower) -"qJx" = ( -/obj/machinery/status_display/ai/directional/south, -/obj/structure/chair/sofa/right/brown{ - dir = 4 +"qJy" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) "qJT" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/icemoon, @@ -56091,6 +56059,21 @@ /obj/machinery/atmospherics/components/tank, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"qKw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/grown/log/tree, +/obj/item/grown/log/tree{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/grown/log/tree{ + pixel_x = 7 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "qKx" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/bot, @@ -56213,14 +56196,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/eva/lower) -"qLV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "qLX" = ( /obj/effect/decal/cleanable/dirt, /obj/item/toy/basketball, @@ -56243,10 +56218,26 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"qMD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/fore) "qMH" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"qMI" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "qMN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -56259,6 +56250,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/engineering/supermatter) +"qMO" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/corner{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"qMS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "qMT" = ( /turf/closed/wall, /area/station/commons/lounge) @@ -56357,6 +56368,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/service) +"qOB" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "qOD" = ( /obj/effect/turf_decal/caution/stand_clear, /obj/effect/turf_decal/siding/dark_blue, @@ -56446,10 +56461,15 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"qPE" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) +"qPD" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "qPI" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -56466,6 +56486,13 @@ "qPL" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/exit/departure_lounge) +"qPQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qPX" = ( /obj/structure/sink/directional/west, /obj/structure/mirror/directional/east, @@ -56532,17 +56559,16 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"qQV" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/fore) "qRk" = ( /obj/item/chair/wood, /turf/open/floor/carpet, /area/station/maintenance/space_hut/cabin) -"qRo" = ( -/obj/structure/minecart_rail{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) "qRq" = ( /obj/structure/rack, /obj/item/electronics/apc, @@ -56569,14 +56595,12 @@ /obj/structure/flora/tree/pine/style_random, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"qRG" = ( -/obj/machinery/door/airlock{ - name = "Unisex Restrooms" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) +"qRF" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks/beer, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "qRO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56609,6 +56633,11 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"qSi" = ( +/obj/structure/railing/wooden_fence, +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "qSj" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -56659,14 +56688,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/sepia, /area/station/security/prison/rec) -"qSy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "qSC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -56697,6 +56718,11 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/virology) +"qSP" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/primary/fore) "qST" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -56704,6 +56730,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"qSU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/box/red/corners{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "qSY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56732,15 +56767,17 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"qTp" = ( +/obj/structure/table/wood, +/obj/item/clothing/mask/fakemoustache, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/clothing/glasses/monocle, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "qTs" = ( /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) -"qTE" = ( -/obj/effect/landmark/start/hangover, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "qTI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56777,6 +56814,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"qUo" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet, +/obj/effect/spawner/random/maintenance/two, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "qUr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56872,6 +56915,13 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/lesser) +"qVG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/turf/open/floor/iron, +/area/station/commons/fitness) "qVJ" = ( /obj/machinery/disposal/bin, /obj/machinery/light_switch/directional/south, @@ -56886,15 +56936,14 @@ /obj/effect/spawner/random/food_or_drink/booze, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"qWc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"qWf" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, -/area/station/service/hydroponics) +/obj/machinery/deepfryer, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "qWh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -57052,6 +57101,18 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"qYC" = ( +/obj/machinery/door/window/right/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/structure/sign/warning/cold_temp/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "qYP" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -57155,15 +57216,10 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"ran" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"raq" = ( +/obj/structure/fence/corner, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "ras" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -57203,20 +57259,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/command/teleporter) -"raS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "raT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -57228,16 +57270,6 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"raZ" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Starboard Primary Hallway Center West" - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rbb" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -57253,6 +57285,13 @@ /obj/structure/closet, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"rbh" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "rbm" = ( /obj/machinery/camera/directional/east{ c_tag = "MiniSat External NorthWest"; @@ -57261,6 +57300,10 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"rbp" = ( +/obj/machinery/duct, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rbs" = ( /obj/effect/turf_decal/tile/yellow, /obj/machinery/light/directional/east, @@ -57269,11 +57312,24 @@ "rbC" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) +"rbE" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "rbT" = ( /obj/structure/ore_box, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/mine/laborcamp) +"rbU" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "rbY" = ( /obj/structure/table/reinforced, /obj/item/pipe_dispenser, @@ -57369,6 +57425,27 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/port) +"rdq" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/random/trash/mopbucket, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) +"rdv" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rdw" = ( /obj/structure/bookcase, /obj/machinery/light/small/directional/north, @@ -57409,6 +57486,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"reu" = ( +/obj/structure/fence/corner{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rex" = ( /obj/effect/turf_decal/stripes/asteroid/corner{ dir = 8 @@ -57435,13 +57518,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"reL" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 5 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "reT" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 8"; @@ -57454,6 +57530,13 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/science/xenobiology) +"reX" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "rfh" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -57463,6 +57546,16 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) +"rfj" = ( +/obj/structure/frame/computer{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "rfo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57490,6 +57583,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"rfW" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/dorms) "rgi" = ( /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, @@ -57530,12 +57629,6 @@ /obj/item/stack/package_wrap, /turf/open/floor/wood/large, /area/mine/eva/lower) -"rgp" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 6 - }, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "rgs" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -57558,6 +57651,12 @@ "rgE" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos/hfr_room) +"rgM" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/turf/open/floor/iron, +/area/station/commons/dorms) "rhf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -57580,25 +57679,6 @@ dir = 8 }, /area/station/science/ordnance/office) -"rhq" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) -"rhv" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "rhF" = ( /obj/machinery/camera/directional/north{ c_tag = "Security - Permabrig Observation North"; @@ -57616,6 +57696,14 @@ }, /turf/open/floor/iron/smooth, /area/station/security/brig) +"rhS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rhY" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box/red, @@ -57654,48 +57742,60 @@ /obj/effect/mapping_helpers/mail_sorting/security/general, /turf/open/floor/iron, /area/station/security/brig/upper) -"riE" = ( -/obj/item/toy/plush/lizard_plushie{ - name = "Wines-And-Dines"; - pixel_x = 4 +"riB" = ( +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" }, -/obj/item/reagent_containers/cup/glass/bottle{ - pixel_x = -9 +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "riL" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/mine/living_quarters) +"riM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/item/food/grown/carrot, +/obj/item/food/grown/carrot{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "riT" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plating/snowed/icemoon, /area/station/maintenance/port/aft) -"riW" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/closet/secure_closet/hydroponics, -/obj/structure/sign/clock/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rja" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/paper/carbon, /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"rjf" = ( -/obj/structure/table/wood, -/obj/item/paper/crumpled, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rjh" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/engineering/main) +"rji" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "rjr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, /turf/open/floor/plating, @@ -57781,16 +57881,6 @@ }, /turf/open/floor/iron/checker, /area/station/maintenance/port/fore) -"rkj" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/bowl{ - pixel_y = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rkl" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -57800,6 +57890,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"rkm" = ( +/obj/structure/chair/stool, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rkt" = ( /obj/structure/cable, /obj/machinery/light/directional/east, @@ -57845,24 +57939,25 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"rls" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ +"rlA" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 4 +/turf/open/floor/plating, +/area/station/medical/morgue) +"rlE" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/computer/slot_machine{ + name = "two-armed bandit" }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"rlH" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"rlE" = ( -/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) +/area/station/maintenance/starboard/fore) "rlS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57929,17 +58024,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine/vacuum, /area/station/science/ordnance) -"rmH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/freezer{ - desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; - name = "The Ice Box" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "rmM" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -57947,6 +58031,11 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) +"rmR" = ( +/obj/effect/spawner/random/trash/mess, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rmU" = ( /obj/effect/spawner/random/trash/graffiti, /obj/structure/sign/poster/contraband/free_drone/directional/east, @@ -57961,6 +58050,10 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron/textured, /area/station/security/brig) +"rng" = ( +/obj/machinery/light/cold/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "rnh" = ( /obj/machinery/door/airlock{ name = "Observatory Access" @@ -58025,11 +58118,6 @@ }, /turf/open/floor/iron/freezer, /area/mine/eva/lower) -"rod" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "roj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58138,6 +58226,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"rpJ" = ( +/obj/structure/minecart_rail{ + dir = 10 + }, +/obj/structure/cable, +/obj/structure/sign/warning/directional/south, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "rpK" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -58206,6 +58303,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/customs/auxiliary) +"rqn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/obj/structure/rack, +/obj/machinery/camera/directional/south{ + c_tag = "Chapel Electrical Maintenace Lower" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/chapel) "rqD" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -58219,6 +58325,13 @@ }, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"rqG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/lounge) "rqH" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/leather, @@ -58238,6 +58351,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) +"rqQ" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Service - Kitchen" + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/table, +/obj/machinery/processor{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rqY" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 9 @@ -58245,14 +58372,22 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/dark, /area/station/medical/virology) +"rra" = ( +/obj/machinery/modular_computer/preset/cargochat/service, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "rrf" = ( /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"rrg" = ( -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/stone, -/area/station/commons/lounge) +"rrl" = ( +/obj/item/stack/sheet/mineral/wood, +/obj/effect/decal/cleanable/generic, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rrn" = ( /obj/structure/closet/emcloset, /obj/structure/sign/poster/contraband/random/directional/north, @@ -58267,16 +58402,19 @@ }, /turf/open/floor/glass/reinforced, /area/station/hallway/primary/starboard) +"rrL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/duct, +/turf/open/floor/wood/large, +/area/station/service/bar) "rrV" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/mine/eva) -"rsm" = ( -/obj/machinery/oven/range, -/obj/effect/turf_decal/siding/white/corner, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "rsw" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -58288,12 +58426,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"rsI" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "rsL" = ( /obj/structure/cable, /turf/open/floor/circuit, @@ -58384,14 +58516,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white/textured, /area/station/security/medical) -"rum" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/radio/intercom/directional/north, -/obj/machinery/holopad, -/obj/machinery/light/warm/directional/north, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/service/bar) "ruo" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot, @@ -58435,6 +58559,23 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"ruQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"ruX" = ( +/obj/structure/closet/lasertag/red, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/commons/fitness) "ruZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable/layer3, @@ -58459,13 +58600,13 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"rvI" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/plastic, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +"rvO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "rvS" = ( /obj/structure/rack, /obj/item/poster/random_contraband, @@ -58483,14 +58624,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rwc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rwe" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -58545,23 +58678,11 @@ /obj/item/clothing/suit/apron/chef, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"rwM" = ( -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/unexplored/rivers/deep/shoreline) "rwR" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron, /area/mine/laborcamp) -"rwV" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) "rwW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/gas_mask, @@ -58573,14 +58694,6 @@ }, /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) -"rxd" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Backroom" - }, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "rxf" = ( /obj/machinery/camera/directional/east{ c_tag = "Atmospherics - East" @@ -58597,14 +58710,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rxj" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rxz" = ( /obj/structure/girder, /turf/open/floor/plating/snowed/icemoon, @@ -58629,6 +58734,11 @@ /obj/structure/sign/warning/electric_shock, /turf/open/floor/plating, /area/station/science/xenobiology) +"rxV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rxW" = ( /turf/closed/mineral/random/snow, /area/icemoon/underground/unexplored/rivers) @@ -58663,15 +58773,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"ryE" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "ryG" = ( /obj/structure/chair{ dir = 1 @@ -58712,6 +58813,21 @@ /obj/structure/sign/departments/cargo, /turf/closed/wall, /area/station/cargo/lobby) +"rzq" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "rzz" = ( /obj/machinery/door/airlock/command{ name = "Server Room" @@ -58758,6 +58874,17 @@ /obj/machinery/digital_clock/directional/south, /turf/open/openspace, /area/station/medical/medbay/lobby) +"rzY" = ( +/obj/structure/table/wood, +/obj/item/raptor_dex{ + pixel_y = 13 + }, +/obj/item/raptor_dex{ + pixel_y = 7 + }, +/obj/item/raptor_dex, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "rAr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58771,6 +58898,23 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) +"rAx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "rAA" = ( /obj/machinery/pdapainter, /turf/open/floor/iron, @@ -58830,6 +58974,12 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) +"rBp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/service/library) "rBv" = ( /obj/structure/chair/stool/directional/north, /obj/item/storage/toolbox/artistic{ @@ -58845,12 +58995,6 @@ /obj/item/stack/license_plates/empty/fifty, /turf/open/floor/iron/dark/smooth_half, /area/station/security/prison/work) -"rBF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "rBL" = ( /obj/machinery/light/directional/west, /turf/open/openspace, @@ -59007,10 +59151,6 @@ dir = 1 }, /area/mine/eva) -"rDh" = ( -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rDj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59055,6 +59195,16 @@ }, /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) +"rDI" = ( +/obj/item/toy/plush/lizard_plushie{ + name = "Wines-And-Dines"; + pixel_x = 4 + }, +/obj/item/reagent_containers/cup/glass/bottle{ + pixel_x = -9 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rDJ" = ( /obj/structure/ladder{ name = "upper dispenser access" @@ -59062,6 +59212,10 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark/textured_large, /area/station/medical/treatment_center) +"rDN" = ( +/obj/structure/no_effect_signpost, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "rDO" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -59114,6 +59268,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance) +"rEn" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "rEp" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -59123,6 +59283,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"rEt" = ( +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "rEx" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/dark, @@ -59134,6 +59305,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rEH" = ( +/obj/item/chair/stool/bar{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rEP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -59145,6 +59324,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"rEY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/structure/displaycase/forsale/kitchen, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "rFb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -59296,6 +59486,23 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"rHR" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Chapel Maintenance External Airlock"; + opacity = 0 + }, +/obj/structure/sign/warning/cold_temp/directional/north, +/obj/structure/sign/warning/gas_mask/directional/south{ + desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/department/chapel) "rHZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -59332,6 +59539,10 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/engineering/atmos) +"rIS" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/unexplored/rivers/deep/shoreline) "rIU" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -59369,15 +59580,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/teleporter) -"rJx" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cart Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/kitchen, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "rJz" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -59386,18 +59588,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/fore/lesser) -"rKb" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/requests_console/auto_name/directional/east, -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +"rJX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "rKs" = ( /obj/structure/chair/stool/directional/south, /obj/structure/sign/poster/official/work_for_a_future/directional/north, @@ -59416,24 +59610,12 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"rKz" = ( -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "rKQ" = ( /obj/structure/mineral_door/wood{ name = "Maintenance Bar" }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"rKR" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/effect/landmark/start/cook, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "rKS" = ( /obj/machinery/camera/directional/south{ c_tag = "Dormitory Toilets" @@ -59478,10 +59660,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/office) -"rLG" = ( -/obj/structure/fence, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "rLX" = ( /obj/item/target, /obj/item/target/syndicate, @@ -59495,6 +59673,10 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/range) +"rMm" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/openspace, +/area/station/service/bar/atrium) "rMr" = ( /obj/structure/chair{ dir = 8 @@ -59604,6 +59786,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"rNV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/segment, +/obj/structure/railing/corner/end/flip, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "rOb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59617,18 +59805,6 @@ /obj/structure/closet/toolcloset, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"rOj" = ( -/obj/machinery/door/airlock/freezer{ - desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; - name = "The Ice Box" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "rOA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59693,6 +59869,17 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"rPp" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) +"rPD" = ( +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "rPL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -59732,11 +59919,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/mine/laborcamp) -"rQC" = ( -/obj/effect/spawner/random/trash/bin, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rQG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59802,6 +59984,29 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) +"rRs" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Service - Botany Upper Entrance" + }, +/obj/structure/table/glass, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"rRu" = ( +/obj/structure/table/wood, +/obj/item/toy/mecha/honk{ + pixel_y = 12 + }, +/obj/structure/sign/poster/contraband/random/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "rRM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59822,11 +60027,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/starboard/fore) -"rSp" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "rSq" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -59873,6 +60073,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"rSQ" = ( +/obj/item/toy/snowball{ + pixel_x = -11; + pixel_y = -2 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"rST" = ( +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "rSW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -60068,10 +60280,6 @@ /obj/item/storage/backpack, /turf/open/floor/plastic, /area/station/commons/dorms/laundry) -"rVJ" = ( -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "rVV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -60096,6 +60304,15 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"rWA" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "rWO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -60190,6 +60407,14 @@ }, /turf/open/floor/iron/large, /area/station/commons/storage/primary) +"rXB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/structure/minecart_rail/railbreak, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "rXD" = ( /obj/machinery/button/door/directional/east{ id = "xenobio7"; @@ -60221,19 +60446,11 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/security/processing) -"rYd" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/hydroponics) +"rXY" = ( +/obj/item/kirbyplants/random/dead, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "rYq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60292,13 +60509,6 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"rZi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/corner/end/flip{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "rZm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60308,28 +60518,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"rZq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"rZA" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "rZE" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) +"rZP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "rZR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/landmark/start/chief_medical_officer, @@ -60347,17 +60546,6 @@ dir = 4 }, /area/station/service/chapel) -"sak" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"saK" = ( -/obj/structure/cable, -/obj/effect/turf_decal/box/red/corners{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "sbc" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -60418,31 +60606,10 @@ dir = 1 }, /area/station/security/prison) -"sbz" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/textured_half, -/area/station/service/kitchen) "sbD" = ( /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"sbG" = ( -/obj/item/pickaxe/improvised{ - pixel_x = 7 - }, -/turf/open/misc/asteroid/snow/coldroom, -/area/icemoon/underground/explored) "sbJ" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark/textured, @@ -60509,6 +60676,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"scr" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/sign/warning/gas_mask/directional/south, +/obj/machinery/light/warm/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "scu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60529,6 +60704,14 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/tcommsat/computer) +"scG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sink/directional/south, +/obj/structure/mirror/directional/north, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/hallway/secondary/service) "scQ" = ( /obj/structure/tank_holder/oxygen, /obj/effect/decal/cleanable/wrapping, @@ -60598,27 +60781,30 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"sed" = ( +/obj/structure/flora/rock/icy/style_random, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "sen" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/security/courtroom) -"seo" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Central Access" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "seA" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/courtroom) +"seB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "seH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60663,6 +60849,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/large, /area/station/hallway/secondary/entry) +"sft" = ( +/obj/machinery/holopad, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "sfv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -60699,18 +60891,12 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"sfQ" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/fore) -"sfR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, +"sfD" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/duct, -/turf/open/floor/wood/large, -/area/station/service/bar) +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "sfY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60722,12 +60908,12 @@ dir = 5 }, /area/station/science/research) -"sgy" = ( -/obj/effect/turf_decal/tile/bar{ +"sgz" = ( +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/wood/large, +/area/station/commons/lounge) "sgA" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60789,13 +60975,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"shp" = ( -/obj/structure/chair/stool/directional/north, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "sht" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60991,24 +61170,32 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"skH" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/textured_half, +/area/station/service/kitchen) "skJ" = ( /obj/structure/grille/broken, /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"skN" = ( -/obj/structure/cable, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 4 - }, -/obj/structure/minecart_rail{ - dir = 1 - }, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) +"skQ" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "skU" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -61174,11 +61361,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/disposal) -"snf" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "sng" = ( /obj/structure/table, /obj/item/wrench, @@ -61255,6 +61437,15 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"snR" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "snW" = ( /obj/machinery/computer/atmos_control/oxygen_tank{ dir = 1 @@ -61328,6 +61519,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"soY" = ( +/obj/structure/flora/tree/pine/style_random, +/obj/structure/marker_beacon/cerulean, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) "spg" = ( /obj/structure/table, /obj/item/storage/box/monkeycubes{ @@ -61354,6 +61551,14 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"spj" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "spv" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/structure/cable, @@ -61536,6 +61741,15 @@ "srP" = ( /turf/closed/wall, /area/station/science/breakroom) +"srU" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "srW" = ( /obj/structure/table, /obj/item/assembly/prox_sensor{ @@ -61585,6 +61799,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ssm" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/closet/firecloset, +/obj/structure/sign/warning/gas_mask/directional/west, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "ssq" = ( /obj/structure/table/wood, /obj/item/camera_film, @@ -61595,11 +61816,6 @@ /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, /area/station/engineering/storage/tech) -"sss" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ssu" = ( /obj/structure/gulag_vent/ice, /turf/open/misc/asteroid/snow/icemoon, @@ -61631,12 +61847,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"ssZ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/morgue) "stb" = ( /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/white, @@ -61683,6 +61893,16 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"stB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "stD" = ( /obj/machinery/door/poddoor/preopen{ id = "atmos"; @@ -61756,6 +61976,12 @@ /obj/structure/sign/warning/gas_mask, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"sus" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance/two, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "suA" = ( /obj/structure/closet/crate/coffin, /obj/effect/decal/cleanable/dirt, @@ -61820,15 +62046,11 @@ /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) "svz" = ( -/obj/structure/closet/crate/freezer/food{ - name = "cooler" +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 }, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/item/reagent_containers/cup/glass/ice, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/coldroom, +/turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) "svF" = ( /turf/open/floor/iron/smooth, @@ -61843,10 +62065,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"svQ" = ( -/obj/machinery/light/small/directional/east, -/turf/open/openspace, -/area/station/service/hydroponics) "swa" = ( /obj/machinery/light/directional/east, /turf/open/floor/engine, @@ -62022,6 +62240,14 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/research) +"syd" = ( +/obj/machinery/duct, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "syh" = ( /obj/structure/chair/pew/right{ dir = 1 @@ -62088,6 +62314,14 @@ /obj/effect/spawner/structure/window/hollow/reinforced/end, /turf/open/floor/plating, /area/station/medical/morgue) +"szj" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/iron/stairs/old{ + dir = 8 + }, +/area/station/hallway/primary/starboard) "szo" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -62097,6 +62331,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"szt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/sign/clock/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "szu" = ( /obj/structure/sign/poster/official/obey/directional/north, /obj/effect/decal/cleanable/dirt, @@ -62109,10 +62350,6 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) -"szB" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "szD" = ( /obj/effect/turf_decal/trimline/green/filled/end, /obj/effect/decal/cleanable/dirt, @@ -62125,6 +62362,14 @@ /obj/structure/sign/warning/cold_temp/directional/north, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"szK" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "szR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62149,10 +62394,6 @@ }, /turf/open/floor/iron, /area/mine/eva/lower) -"sAd" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "sAj" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -62247,6 +62488,14 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) +"sBY" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/spawner/random/trash/crushed_can{ + pixel_y = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "sCa" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 5 @@ -62305,19 +62554,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"sCX" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "sCZ" = ( /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"sDe" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/item/toy/plush/moth{ - name = "Theseus" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "sDg" = ( /obj/effect/turf_decal/siding/purple/corner{ dir = 1 @@ -62339,6 +62583,14 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"sDM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sDQ" = ( /obj/item/radio/intercom/prison/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -62384,6 +62636,10 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) +"sEv" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "sEz" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -62499,17 +62755,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sFK" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) "sFN" = ( /obj/structure/sign/warning/electric_shock/directional/south, /obj/structure/cable, @@ -62550,6 +62795,20 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"sGn" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "sGp" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -62639,11 +62898,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/chapel) +"sHi" = ( +/obj/effect/turf_decal/siding/dark{ + dir = 6 + }, +/turf/open/floor/iron/checker, +/area/station/hallway/secondary/service) "sHl" = ( /obj/machinery/vending/coffee, /obj/item/radio/intercom/directional/south, /turf/open/floor/stone, /area/mine/eva/lower) +"sHs" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "sHC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62689,13 +62961,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"sIe" = ( -/obj/structure/railing, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "sIg" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/brown{ @@ -62711,18 +62976,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/main) -"sIq" = ( -/obj/machinery/door/firedoor, -/obj/structure/sign/warning/electric_shock/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) "sIt" = ( /turf/closed/wall, /area/station/maintenance/central/lesser) @@ -62764,11 +63017,27 @@ /obj/structure/cable, /turf/open/floor/plating, /area/mine/storage) +"sIX" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Garden" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/iron/textured, +/area/station/service/hydroponics) "sJe" = ( /obj/machinery/deepfryer, /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"sJg" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "sJi" = ( /obj/machinery/vending/donksofttoyvendor, /turf/open/floor/iron/dark/textured, @@ -62806,6 +63075,21 @@ }, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) +"sJu" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/cigbutt, +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = 32 + }, +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "sJA" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62859,10 +63143,6 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) -"sKs" = ( -/obj/structure/fence, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "sKu" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -62910,38 +63190,31 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"sLd" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "sLj" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 }, /turf/open/floor/iron/dark/corner, /area/station/security/processing) -"sLv" = ( -/obj/machinery/door/airlock/wood{ - name = "Backstage" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/obj/structure/disposalpipe/segment{ +"sLm" = ( +/obj/structure/chair/sofa/left/brown{ dir = 4 }, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half{ +/obj/effect/turf_decal/siding/wood/corner{ dir = 1 }, +/turf/open/floor/wood/large, /area/station/commons/lounge) +"sLy" = ( +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 5 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "sLD" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, @@ -62990,10 +63263,6 @@ dir = 1 }, /area/station/security/prison) -"sMI" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/kitchen) "sML" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63124,6 +63393,11 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"sON" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "sOO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -63134,6 +63408,12 @@ /obj/item/kitchen/fork/plastic, /turf/open/floor/iron, /area/station/security/prison/mess) +"sOX" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/lesser) "sOY" = ( /obj/structure/table/glass, /obj/item/hemostat, @@ -63172,6 +63452,13 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"sPS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "sPV" = ( /obj/machinery/door/airlock/atmos/glass, /obj/machinery/door/firedoor/heavy, @@ -63220,6 +63507,25 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"sRc" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) +"sRf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "sRp" = ( /obj/structure/fence, /obj/effect/turf_decal/weather/snow/corner{ @@ -63395,14 +63701,6 @@ /obj/effect/mapping_helpers/airlock/access/any/security/brig, /turf/open/floor/iron, /area/station/security/prison/visit) -"sUg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "sUi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -63487,10 +63785,6 @@ /obj/item/screwdriver, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"sVU" = ( -/obj/machinery/hydroponics/constructable, -/turf/open/floor/grass, -/area/station/service/hydroponics) "sWl" = ( /obj/machinery/door/airlock/command{ name = "Chief Medical Officer" @@ -63530,6 +63824,15 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining_station, /turf/open/floor/iron/textured_half, /area/mine/production) +"sWS" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ + id = "cantena_curtains" + }, +/turf/open/floor/wood, +/area/station/commons/lounge) "sWU" = ( /obj/structure/chair/stool/directional/south, /turf/open/floor/iron, @@ -63599,18 +63902,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/science/explab) -"sXE" = ( -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "sXK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63634,6 +63925,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"sXU" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck{ + pixel_y = 13; + pixel_x = 6 + }, +/obj/effect/spawner/random/entertainment/cigarette, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "sYe" = ( /obj/structure/table/wood, /obj/item/clothing/under/suit/red, @@ -63766,25 +64066,6 @@ /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/iron, /area/station/security/prison/garden) -"taC" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"taM" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/newscaster/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "taN" = ( /obj/item/radio/intercom/directional/west, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -63812,11 +64093,35 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"tbd" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "tbh" = ( /turf/open/floor/iron/half{ dir = 1 }, /area/station/engineering/atmos) +"tbE" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/landmark/start/bartender, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/service/bar) +"tbK" = ( +/obj/effect/spawner/random/trash/grille_or_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tbN" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -63902,11 +64207,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"tdj" = ( -/obj/machinery/light/small/directional/east, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tdp" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -63936,6 +64236,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/chapel) +"tec" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_apiary"; + name = "Apiary Shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "ted" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63953,6 +64262,13 @@ /obj/structure/fence, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"tes" = ( +/obj/effect/spawner/random/trash/graffiti{ + pixel_y = -30 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "teE" = ( /obj/effect/spawner/structure/window, /obj/machinery/door/poddoor/shutters{ @@ -63962,12 +64278,6 @@ }, /turf/open/floor/plating, /area/station/commons/vacant_room/office) -"teM" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/machinery/light/warm/directional/north, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/station/service/bar) "teN" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -64000,13 +64310,6 @@ /obj/machinery/portable_atmospherics/canister/water_vapor, /turf/open/floor/iron, /area/station/service/janitor) -"tfB" = ( -/obj/structure/closet, -/obj/effect/spawner/random/clothing/costume, -/obj/structure/sign/poster/contraband/random/directional/east, -/obj/effect/spawner/random/clothing/gloves, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tfG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -64082,17 +64385,6 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"thd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/trash/food_packaging, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "thA" = ( /turf/open/genturf/blue, /area/icemoon/underground/unexplored/rivers/deep/shoreline) @@ -64167,6 +64459,20 @@ dir = 10 }, /area/station/science/lab) +"tie" = ( +/obj/structure/rack, +/obj/item/clothing/suit/utility/beekeeper_suit, +/obj/item/clothing/head/utility/beekeeper_head, +/obj/item/melee/flyswatter, +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "til" = ( /obj/item/radio/intercom/directional/west, /obj/effect/decal/cleanable/dirt, @@ -64177,18 +64483,27 @@ dir = 8 }, /area/mine/eva) +"tip" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fitness" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/commons/fitness) "tis" = ( /obj/structure/window/reinforced/fulltile, /obj/structure/transit_tube/horizontal, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"tiv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced/tinted, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tix" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -64238,6 +64553,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"tjA" = ( +/obj/machinery/smartfridge, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tjC" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -64311,6 +64630,16 @@ "tkU" = ( /turf/open/lava/plasma/ice_moon, /area/icemoon/surface/outdoors/nospawn) +"tkY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 4 + }, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "tlh" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64385,15 +64714,9 @@ }, /turf/open/floor/iron/dark/textured, /area/station/hallway/secondary/entry) -"tmh" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark/smooth_half, +"tmb" = ( +/obj/structure/stairs/west, +/turf/open/floor/iron/dark, /area/station/service/hydroponics) "tml" = ( /obj/structure/grille, @@ -64453,26 +64776,10 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"tmZ" = ( -/obj/structure/fence/post{ - dir = 8 - }, -/obj/structure/sign/nanotrasen, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tnb" = ( /obj/structure/rack, /turf/open/floor/plating, /area/mine/eva/lower) -"tnn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/lesser) "tnp" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -64491,6 +64798,17 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"tnz" = ( +/obj/structure/table, +/obj/item/plate, +/obj/item/food/piedough, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/item/kitchen/rollingpin, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "tnI" = ( /obj/effect/turf_decal/trimline/dark_blue/line{ dir = 10 @@ -64498,6 +64816,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"tnJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tnO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -64533,6 +64859,17 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/white, /area/station/medical/virology) +"toT" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/central) "toV" = ( /obj/structure/table, /obj/item/stock_parts/subspace/ansible, @@ -64569,11 +64906,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"tpt" = ( -/obj/structure/chair/sofa/bench/right, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) "tpG" = ( /obj/machinery/door/firedoor, /obj/effect/landmark/navigate_destination, @@ -64604,6 +64936,14 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/white/textured, /area/station/security/medical) +"tpZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tqk" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -64614,12 +64954,13 @@ /obj/item/key/janitor, /turf/open/floor/iron, /area/station/service/janitor) -"tqA" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance/two, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) +"tqr" = ( +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/machinery/hydroponics/constructable, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tqQ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -64650,11 +64991,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/disposal) -"tre" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "trm" = ( /turf/open/floor/plating, /area/station/science/ordnance/testlab) @@ -64675,13 +65011,6 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"trQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "trT" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -64715,6 +65044,16 @@ /obj/machinery/rnd/server/master, /turf/open/openspace/icemoon, /area/station/science/server) +"tsu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tsH" = ( /obj/machinery/door/airlock/security/glass{ name = "Interrogation" @@ -64766,6 +65105,14 @@ /obj/machinery/door/airlock/freezer, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/mess) +"tts" = ( +/obj/item/chair/wood, +/obj/item/toy/plush/moth{ + name = "Ariadne" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "ttv" = ( /obj/structure/sign/painting/library{ pixel_y = 32 @@ -64867,12 +65214,6 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/mess) -"tuT" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "tva" = ( /obj/machinery/light/small/directional/south, /turf/open/openspace, @@ -64887,27 +65228,6 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) -"tvf" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/event_spawn, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) -"tvg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "tvm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64920,12 +65240,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"tvq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tvv" = ( /obj/machinery/door/airlock/command/glass{ name = "Research Director" @@ -65029,6 +65343,17 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"twS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "twU" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, @@ -65040,11 +65365,6 @@ }, /turf/open/floor/iron/dark, /area/mine/laborcamp) -"twY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random/dead, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "twZ" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -65092,6 +65412,17 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/medical/treatment_center) +"txv" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/vending/hydronutrients, +/turf/open/floor/iron, +/area/station/service/hydroponics) "txE" = ( /obj/item/cigbutt, /obj/effect/decal/cleanable/dirt, @@ -65116,11 +65447,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/engineering/atmos) -"tyg" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "tyi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65155,13 +65481,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) -"tzb" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tzf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65212,9 +65531,9 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/commons/storage/mining) -"tAv" = ( -/obj/structure/girder, -/obj/effect/spawner/random/structure/grille, +"tAt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/fore) "tAx" = ( @@ -65229,16 +65548,6 @@ dir = 4 }, /area/station/service/chapel) -"tAG" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/fitness) -"tAI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) "tAL" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -65345,6 +65654,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"tCG" = ( +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "tCL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65381,15 +65697,6 @@ }, /turf/open/floor/iron, /area/station/engineering/storage_shared) -"tCY" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/dice{ - pixel_y = 5; - pixel_x = -4 - }, -/obj/effect/spawner/random/entertainment/money_small, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "tDa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65440,16 +65747,6 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"tDF" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/flashlight{ - pixel_y = 3; - pixel_x = -4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "tDL" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -65464,23 +65761,6 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/security/courtroom) -"tDR" = ( -/obj/structure/disposalpipe/sorting/mail, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"tDS" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tDU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -65519,6 +65799,22 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"tEs" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Holodeck Door" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "holodeck" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/textured, +/area/station/commons/fitness) "tEu" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -65699,15 +65995,6 @@ "tHr" = ( /turf/closed/wall/r_wall, /area/station/medical/treatment_center) -"tHt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tHv" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, @@ -65722,6 +66009,13 @@ dir = 8 }, /area/station/hallway/secondary/entry) +"tHF" = ( +/obj/structure/sign/nanotrasen, +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) "tHK" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/railing{ @@ -65812,9 +66106,13 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tIy" = ( -/turf/open/floor/stone, -/area/station/service/bar/atrium) +"tIL" = ( +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/engineering/material_cheap, +/turf/open/floor/iron/smooth, +/area/station/maintenance/starboard/fore) "tIS" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -65917,6 +66215,19 @@ dir = 4 }, /area/station/medical/chem_storage) +"tJZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/textured, +/area/station/hallway/primary/fore) "tKf" = ( /obj/structure/closet, /obj/machinery/light/small/directional/north, @@ -65952,31 +66263,6 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"tKO" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/button/door/directional/south{ - id = "minecraft_shutter"; - req_one_access = list("hydroponics", "kitchen"); - name = "Cart Access"; - desc = "Opens the railway leading into the Kitchen Coldroom." - }, -/obj/structure/minecart_rail/railbreak{ - dir = 4 - }, -/obj/structure/closet/crate/miningcar{ - name = "delivery cart"; - desc = "Used for quick transit of fresh produce to the kitchen. Just give it a shove." - }, -/obj/item/storage/bag/plants, -/turf/open/floor/iron, -/area/station/service/hydroponics) "tKV" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/glass, @@ -66100,15 +66386,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /turf/open/floor/plating, /area/station/medical/virology) -"tMv" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "tMD" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -66132,6 +66409,15 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tNb" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tNd" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/turf_decal/siding/green{ @@ -66159,11 +66445,6 @@ /obj/effect/turf_decal/tile/dark/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/virology) -"tNt" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/trash/food_packaging, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "tNx" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -66180,21 +66461,26 @@ dir = 10 }, /area/mine/living_quarters) +"tNH" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "tNJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tNL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "tNY" = ( /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/lobby) +"tOe" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "tOf" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -66233,6 +66519,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/mix) +"tOC" = ( +/obj/effect/spawner/random/trash/hobo_squat, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tOF" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -66263,17 +66554,6 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"tPj" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/biogenerator, -/turf/open/floor/iron, -/area/station/service/hydroponics) "tPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -66287,14 +66567,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) -"tPE" = ( -/obj/structure/sign/departments/botany/directional/east, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "tPG" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 4 @@ -66307,15 +66579,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) -"tPI" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/commons/fitness) "tPV" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -66334,23 +66597,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"tQa" = ( -/obj/machinery/door/airlock{ - name = "Bar" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "tQb" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating/snowed/icemoon, @@ -66359,13 +66605,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/storage) -"tQe" = ( -/obj/structure/table/wood/poker, -/obj/item/trash/candle{ - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tQE" = ( /obj/effect/turf_decal/siding/brown/corner{ dir = 4 @@ -66403,21 +66642,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"tRM" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 9 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"tRQ" = ( -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "tRX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -66431,6 +66655,15 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"tSd" = ( +/obj/machinery/door/airlock/external, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/external, +/turf/open/floor/plating, +/area/station/maintenance/fore) "tSi" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/smooth, @@ -66463,6 +66696,13 @@ /obj/structure/sign/warning/no_smoking/directional/west, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"tSO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced/tinted, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "tTc" = ( /obj/item/storage/bag/plants/portaseeder, /obj/structure/table/glass, @@ -66482,13 +66722,6 @@ /obj/structure/chair, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"tTS" = ( -/obj/structure/table, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/starboard/fore) "tTV" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -66511,6 +66744,24 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/space_hut/cabin) +"tUm" = ( +/obj/machinery/door/window/left/directional/west{ + req_one_access = list("bar", "kitchen"); + name = "Deliveries" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/service/kitchen/coldroom) "tUn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -66525,14 +66776,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/science/ordnance) -"tUt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness) "tUx" = ( /obj/effect/spawner/random/trash/moisture_trap, /turf/open/floor/plating, @@ -66629,11 +66872,6 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/white, /area/station/medical/cryo) -"tVD" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/primary/central) "tWc" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/spawner/random/trash/soap, @@ -66695,6 +66933,16 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/security/prison/work) +"tWY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock/maintenance{ + name = "Kitchen Maintenance" + }, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "tWZ" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -66718,6 +66966,11 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"tXg" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "tXh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -66766,13 +67019,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/server) -"tYf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "tYz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66830,6 +67076,16 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"tZo" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "tZp" = ( /obj/structure/ladder, /turf/open/floor/plating/snowed/icemoon, @@ -66852,12 +67108,6 @@ /obj/structure/sign/poster/official/build/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/lobby) -"tZQ" = ( -/obj/structure/table/wood, -/obj/item/c_tube, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "tZR" = ( /obj/machinery/conveyor{ dir = 4; @@ -66928,15 +67178,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/storage) +"uaI" = ( +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=EVA2"; + location = "Dorm" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uaT" = ( /obj/machinery/rnd/experimentor, /turf/open/floor/engine, /area/station/science/explab) -"uaZ" = ( -/obj/structure/closet/emcloset, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "ubc" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -66950,6 +67208,9 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"ubi" = ( +/turf/open/misc/asteroid/snow/coldroom, +/area/icemoon/underground/explored) "ubk" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -66972,6 +67233,10 @@ }, /turf/open/floor/iron/textured, /area/station/security/brig) +"ubp" = ( +/obj/effect/spawner/random/structure/grille, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ubq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white, @@ -67012,6 +67277,15 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/dark/textured_large, /area/station/medical/chemistry) +"ubK" = ( +/obj/machinery/computer/holodeck{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/fitness) "ubY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67056,6 +67330,20 @@ /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) +"udf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "udj" = ( /obj/effect/turf_decal/stripes/asteroid/line, /obj/structure/cable, @@ -67072,21 +67360,16 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"udH" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ +"udA" = ( +/obj/structure/training_machine, +/obj/item/target, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "udK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -67116,6 +67399,13 @@ dir = 1 }, /area/station/command/heads_quarters/rd) +"udR" = ( +/obj/structure/cable, +/obj/structure/minecart_rail{ + dir = 1 + }, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "uee" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -67185,17 +67475,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"ufg" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 10 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ufm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -67326,12 +67605,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"uhu" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uhx" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -67363,19 +67636,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uhO" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/item/seeds/watermelon, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/maintenance/starboard/fore) -"uhR" = ( -/obj/effect/spawner/random/trash/moisture_trap, -/obj/item/reagent_containers/cup/bucket, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uhX" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -67415,6 +67675,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) +"uiq" = ( +/obj/structure/table/wood, +/obj/machinery/chem_dispenser/drinks, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/bar) "uiv" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -67443,6 +67709,15 @@ /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, /area/station/ai_monitored/command/nuke_storage) +"uiV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "uja" = ( /turf/closed/wall, /area/station/commons/toilet) @@ -67452,15 +67727,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"ujn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/cup/bucket{ - pixel_y = 10; - pixel_x = -4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "ujp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, @@ -67516,6 +67782,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/wood, /area/station/command/meeting_room) +"ukt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "ukv" = ( /obj/machinery/computer/exoscanner_control{ dir = 1 @@ -67622,6 +67895,13 @@ /obj/structure/sign/warning/docking/directional/south, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"umc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "uml" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67743,11 +68023,6 @@ dir = 8 }, /area/mine/eva) -"unY" = ( -/obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/flora/bush/generic/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "uog" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -67871,6 +68146,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison) +"upx" = ( +/obj/machinery/light_switch/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "upH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -67894,19 +68175,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/station/engineering/atmos/project) -"upW" = ( -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/item/food/grown/tomato, -/obj/item/food/grown/tomato{ - pixel_y = 2; - pixel_x = 2 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "upY" = ( /obj/structure/chair/pew/right, /obj/machinery/light/small/directional/east, @@ -67922,36 +68190,16 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"uql" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/turf/open/floor/plating/snowed/icemoon, -/area/icemoon/underground/explored) "uqn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron, /area/station/cargo/storage) -"uqx" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/girder, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "uqz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/mine/eva/lower) -"uqE" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/fore) "uqG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68024,15 +68272,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) -"usa" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "uso" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/contraband/prison, @@ -68055,25 +68294,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"usF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "usP" = ( /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) @@ -68091,16 +68311,36 @@ dir = 10 }, /area/station/security/prison/safe) -"usY" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ +"utn" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/trimline/blue/corner{ - dir = 1 +/obj/structure/table/glass, +/obj/item/seeds/tower, +/obj/item/seeds/chanter{ + pixel_y = 3; + pixel_x = 3 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, +/obj/item/seeds/watermelon{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/item/seeds/apple{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/seeds/banana, +/obj/item/seeds/rose{ + pixel_y = -3; + pixel_x = -4 + }, +/obj/structure/noticeboard/directional/west, +/obj/item/paper/guides/jobs/hydroponics{ + pixel_y = 3; + pixel_x = -27 + }, +/turf/open/floor/iron, /area/station/service/hydroponics) "utr" = ( /obj/structure/table, @@ -68125,22 +68365,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"utP" = ( +"utG" = ( /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 5 }, -/obj/machinery/duct, -/obj/structure/sign/warning/cold_temp/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/bar/backroom) "utR" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"utW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "uub" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Fuel Pipe" @@ -68152,6 +68397,10 @@ /obj/effect/spawner/random/techstorage/tcomms_all, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"uuh" = ( +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uum" = ( /obj/machinery/door/airlock/public/glass{ name = "Chapel" @@ -68195,15 +68444,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"uuN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uuP" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -68247,23 +68487,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) -"uwd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"uwi" = ( -/obj/structure/table, -/obj/item/storage/bag/tray, -/obj/item/knife/kitchen{ - pixel_y = 2 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "uwj" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment, @@ -68271,13 +68494,6 @@ dir = 1 }, /area/station/engineering/lobby) -"uwv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "uwB" = ( /obj/machinery/door/airlock/security/glass{ id_tag = "innerbrig"; @@ -68294,15 +68510,6 @@ dir = 8 }, /area/station/security/brig/entrance) -"uwG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "uwH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -68333,15 +68540,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/janitor, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uwP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uxd" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -68352,10 +68550,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"uxi" = ( -/obj/machinery/light/small/directional/north, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) "uxj" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/white/side{ @@ -68393,6 +68587,10 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"uxU" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uxZ" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, @@ -68401,10 +68599,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"uyo" = ( -/obj/machinery/smartfridge, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +"uye" = ( +/obj/item/kirbyplants/random/dead, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uyq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68485,14 +68683,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"uzD" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/item/aquarium_kit, -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/dark, -/turf/open/floor/iron/checker, -/area/station/hallway/secondary/service) "uzM" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 1 @@ -68565,11 +68755,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"uBu" = ( -/obj/structure/table/wood, -/obj/effect/spawner/random/decoration/ornament, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uBy" = ( /obj/structure/flora/grass/brown/style_random, /obj/structure/railing{ @@ -68580,6 +68765,17 @@ "uBA" = ( /turf/closed/wall, /area/station/engineering/atmos/project) +"uBD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/trash/food_packaging, +/obj/effect/spawner/random/trash/cigbutt, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "uBL" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -68678,16 +68874,6 @@ /obj/structure/grille/broken, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"uCT" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/landmark/start/bartender, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "uCU" = ( /obj/machinery/button/flasher{ id = "executionflash"; @@ -68704,13 +68890,6 @@ /obj/machinery/door/window/left/directional/south, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) -"uCY" = ( -/obj/effect/decal/cleanable/blood/tracks, -/obj/structure/fence/cut/large{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "uDc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68777,12 +68956,6 @@ /obj/structure/table/wood, /turf/open/floor/iron/dark, /area/station/security/prison/rec) -"uDz" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron, -/area/station/commons/dorms) "uDC" = ( /obj/structure/table/wood, /obj/machinery/airalarm/directional/north, @@ -68887,6 +69060,17 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage) +"uGe" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_x = 32 + }, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/turf/open/floor/iron, +/area/station/service/bar) "uGl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68896,11 +69080,6 @@ }, /turf/open/floor/iron, /area/station/tcommsat/computer) -"uGn" = ( -/obj/machinery/status_display/ai/directional/east, -/obj/structure/chair/sofa/left/brown, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "uGo" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -68928,13 +69107,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"uGS" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "uGT" = ( /obj/machinery/light/directional/east, /obj/item/radio/intercom/directional/east, @@ -68943,10 +69115,10 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/engineering/main) -"uGW" = ( -/obj/effect/spawner/random/structure/tank_holder, +"uGY" = ( +/obj/structure/bookcase, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/area/station/maintenance/starboard/lesser) "uHc" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -69040,6 +69212,10 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"uIS" = ( +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "uIV" = ( /obj/machinery/meter, /obj/effect/turf_decal/delivery, @@ -69116,37 +69292,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"uKK" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/seeds/tower, -/obj/item/seeds/chanter{ - pixel_y = 3; - pixel_x = 3 - }, -/obj/item/seeds/watermelon{ - pixel_y = -6; - pixel_x = 3 - }, -/obj/item/seeds/apple{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/seeds/banana, -/obj/item/seeds/rose{ - pixel_y = -3; - pixel_x = -4 - }, -/obj/structure/noticeboard/directional/west, -/obj/item/paper/guides/jobs/hydroponics{ - pixel_y = 3; - pixel_x = -27 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "uKM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -69173,13 +69318,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uKQ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/box/red/corners{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "uKW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -69189,19 +69327,6 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter) -"uLl" = ( -/obj/item/clothing/accessory/pocketprotector, -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/camera{ - pixel_y = 4; - pixel_x = -3 - }, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/mafia_outfit, -/obj/effect/spawner/random/clothing/backpack, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "uLp" = ( /obj/machinery/door/firedoor, /obj/machinery/door/poddoor/preopen{ @@ -69230,6 +69355,24 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"uLJ" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) +"uLR" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uLX" = ( /obj/machinery/door/airlock{ name = "Port Emergency Storage" @@ -69240,6 +69383,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/commons/storage/emergency/port) +"uLZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/dim/directional/north, +/obj/effect/decal/cleanable/vomit/old, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) +"uMj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random/dead, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "uMm" = ( /turf/open/floor/iron/white/corner{ dir = 4 @@ -69300,6 +69458,15 @@ "uMN" = ( /turf/open/openspace, /area/station/commons/storage/mining) +"uNp" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "uNq" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -69328,13 +69495,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat/hallway) -"uNL" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" +"uNG" = ( +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "uNV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wideplating/dark{ @@ -69356,6 +69523,16 @@ "uOb" = ( /turf/closed/wall/r_wall, /area/station/security/prison/toilet) +"uOe" = ( +/obj/machinery/door/window/left/directional/west{ + name = "Fitness Ring" + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "uOf" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm_A"; @@ -69411,6 +69588,14 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/white, /area/station/medical/virology) +"uOy" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "uOE" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 5 @@ -69584,11 +69769,6 @@ dir = 10 }, /area/station/science/research) -"uRP" = ( -/obj/structure/chair/stool/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) "uRV" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 5 @@ -69631,6 +69811,23 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"uSE" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/desk_bell{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "uSS" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/stripes/box, @@ -69645,6 +69842,14 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) +"uTf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "uTk" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69652,15 +69857,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"uTm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/service/kitchen/coldroom) "uTo" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69719,6 +69915,10 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/engine, /area/station/science/xenobiology) +"uUq" = ( +/obj/effect/spawner/structure/window/hollow/reinforced/middle, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uUu" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -69730,12 +69930,12 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"uUG" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +"uUw" = ( +/obj/structure/table/wood, +/obj/machinery/airalarm/directional/west, +/obj/machinery/fax/auto_name, +/turf/open/floor/iron/grimy, +/area/station/service/bar/backroom) "uUH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible/layer1{ dir = 10 @@ -69765,12 +69965,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark/textured, /area/station/security/warden) -"uVB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "uVC" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -69786,6 +69980,16 @@ dir = 1 }, /area/station/security/lockers) +"uWf" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "uWp" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall, @@ -69799,6 +70003,12 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) +"uWx" = ( +/obj/structure/disposalpipe/junction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uWE" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/plating/snowed/smoothed/icemoon, @@ -69919,11 +70129,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"uZd" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70028,9 +70233,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) -"vaH" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/starboard/fore) "vaM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -70108,6 +70310,13 @@ /obj/structure/railing, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vbI" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "vbO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /obj/item/kirbyplants/random, @@ -70118,13 +70327,6 @@ dir = 1 }, /area/station/engineering/atmos) -"vbT" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vbX" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -70166,9 +70368,6 @@ /obj/machinery/vending/wardrobe/chap_wardrobe, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"vcW" = ( -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/fore) "vcY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70239,6 +70438,13 @@ /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/iron/white, /area/station/science/ordnance/office) +"vdO" = ( +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "vdW" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/decal/cleanable/dirt, @@ -70263,6 +70469,11 @@ "vep" = ( /turf/closed/wall, /area/station/maintenance/disposal/incinerator) +"veq" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "ver" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/burgundy{ @@ -70275,20 +70486,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/maintenance/aft/greater) -"vex" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "Bar and Kitchen" - }, -/obj/structure/plasticflaps/opaque, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/textured, -/area/station/maintenance/starboard/fore) "vey" = ( /turf/closed/wall, /area/station/command/heads_quarters/captain) @@ -70357,6 +70554,27 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"vfw" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/sink/kitchen/directional/south, +/obj/structure/mirror/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Coldroom Access" + }, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "vfI" = ( /obj/machinery/door/window/right/directional/south{ name = "Ordnance Freezer Chamber Access"; @@ -70433,22 +70651,26 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"vgU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor/iron_smooth, +/area/station/maintenance/starboard/fore) "vhm" = ( /obj/structure/sign/poster/random/directional/west, /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vhn" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/white{ - dir = 6 +"vhA" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 }, -/obj/machinery/reagentgrinder{ - pixel_y = 9; - pixel_x = 4 +/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ + dir = 8 }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vhB" = ( /obj/structure/chair/plastic, /obj/effect/turf_decal/bot_red, @@ -70516,13 +70738,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/construction) -"vjf" = ( -/obj/structure/table/wood, -/obj/item/circuitboard/machine/fax, -/obj/structure/frame/machine, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vjh" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) @@ -70545,14 +70760,6 @@ /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"vjH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/spawner/random/trash/botanical_waste, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vjJ" = ( /obj/structure/table, /obj/machinery/light/directional/north, @@ -70564,11 +70771,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) -"vjO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vjS" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, @@ -70577,15 +70779,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"vkh" = ( -/obj/machinery/door/airlock/external, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/maintenance/fore) "vkz" = ( /obj/machinery/suit_storage_unit/ce, /obj/effect/turf_decal/stripes/line{ @@ -70618,10 +70811,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"vkI" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/fore) "vkJ" = ( /obj/structure/table, /obj/item/plate, @@ -70633,6 +70822,15 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/plating, /area/station/construction) +"vkO" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vkW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -70664,22 +70862,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vlH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Holodeck Door" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "holodeck" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/textured, -/area/station/commons/fitness) +"vlz" = ( +/turf/open/openspace, +/area/station/service/kitchen/coldroom) "vlL" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/iron, @@ -70688,12 +70873,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) -"vlR" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "vlS" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ @@ -70710,12 +70889,17 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/iron/smooth, /area/mine/mechbay) -"vlT" = ( -/obj/structure/marker_beacon/burgundy, -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +"vlU" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "vlZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -70724,6 +70908,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/mine/storage) +"vme" = ( +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "vmj" = ( /obj/structure/chair{ dir = 1; @@ -70818,10 +71007,6 @@ }, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) -"vmW" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vng" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70835,13 +71020,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"vnn" = ( -/obj/effect/turf_decal/tile/bar{ - dir = 4 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vns" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70870,6 +71048,20 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/storage/gas) +"vnK" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/machinery/light/small/directional/west, +/obj/item/stack/package_wrap{ + pixel_y = 3 + }, +/obj/item/hand_labeler, +/turf/open/floor/iron, +/area/station/service/hydroponics) "vnN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -70880,6 +71072,12 @@ }, /turf/open/floor/iron/textured, /area/station/medical/chem_storage) +"vnS" = ( +/obj/structure/fence/cut/large{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vnY" = ( /obj/structure/closet/crate/critter, /turf/open/floor/plating, @@ -70899,12 +71097,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"von" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vos" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70925,13 +71117,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/brig/upper) -"voF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "voH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70942,16 +71127,6 @@ "voK" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) -"voN" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "voY" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -71006,6 +71181,18 @@ /obj/structure/cable, /turf/open/floor/iron/recharge_floor, /area/station/security/mechbay) +"vpJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/door/airlock/engineering{ + name = "Utilities Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vpR" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -71041,17 +71228,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"vqn" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/service) "vqv" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/science/ordnance) -"vqE" = ( -/obj/structure/sign/nanotrasen, -/obj/structure/fence/post{ - dir = 8 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vqH" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -71060,15 +71258,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/medical/virology) -"vqL" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/sign/poster/official/random/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "vqN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71082,10 +71271,6 @@ /obj/structure/sign/warning/biohazard/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"vqW" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vqX" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -71108,6 +71293,14 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/courtroom) +"vrw" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters3"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "vrC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71116,12 +71309,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"vrE" = ( -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vrG" = ( /turf/open/floor/iron, /area/station/security/prison/mess) @@ -71147,12 +71334,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) -"vsl" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "vsp" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/red/line{ @@ -71206,17 +71387,23 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"vtb" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/stone, -/area/station/commons/lounge) "vtj" = ( /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"vto" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/newscaster/directional/north, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Bar" + }, +/turf/open/floor/iron, +/area/station/service/bar) "vtr" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/kirbyplants/random, @@ -71243,14 +71430,11 @@ dir = 10 }, /area/station/science/research) -"vtP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/broken/directional/north, +"vtW" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/space_heater, /turf/open/floor/plating, -/area/station/maintenance/fore) +/area/station/medical/morgue) "vtZ" = ( /obj/structure/table/wood, /obj/item/reagent_containers/cup/glass/bottle/vodka/badminka{ @@ -71315,11 +71499,6 @@ /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"vuL" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vuR" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/warning{ @@ -71328,11 +71507,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"vuV" = ( -/obj/item/stack/rods/two, -/obj/item/stack/sheet/iron, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vvc" = ( /obj/structure/cable, /turf/open/floor/iron/smooth_half, @@ -71360,6 +71534,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"vvn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Service - Atrium Entrance" + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "vvu" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/neutral/warning{ @@ -71383,19 +71568,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"vvA" = ( -/obj/structure/table, -/obj/machinery/light/small/dim/directional/west, -/obj/item/camera{ - pixel_y = 9; - pixel_x = -2 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/empty{ - pixel_y = 5; - pixel_x = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "vvE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71465,6 +71637,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"vww" = ( +/obj/structure/sign/warning/directional/west, +/turf/open/openspace/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vwC" = ( /obj/effect/turf_decal/weather/snow/corner{ dir = 9 @@ -71526,11 +71702,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/gateway) -"vxb" = ( -/obj/machinery/door/airlock/hatch, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/fore) "vxc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71576,11 +71747,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/large, /area/station/engineering/atmos) -"vxW" = ( -/obj/machinery/light/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +"vxY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "vyb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71621,6 +71795,10 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/station/science/explab) +"vyy" = ( +/obj/structure/reagent_dispensers/cooking_oil, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "vyI" = ( /obj/structure/railing{ dir = 1 @@ -71629,6 +71807,12 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"vyN" = ( +/obj/structure/closet/crate/miningcar, +/obj/effect/spawner/random/exotic/snow_gear, +/obj/effect/spawner/random/exotic/snow_gear, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vyO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71646,11 +71830,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"vzk" = ( -/obj/structure/bonfire/prelit, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vzn" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/external, @@ -71679,22 +71858,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"vzz" = ( -/obj/machinery/newscaster/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "vzD" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) @@ -71713,12 +71876,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/cryo) -"vzR" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "vzS" = ( /obj/effect/mapping_helpers/mail_sorting/science/experimentor_lab, /obj/structure/disposalpipe/sorting/mail{ @@ -71832,6 +71989,15 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/service) +"vAW" = ( +/obj/effect/turf_decal/tile/neutral/diagonal_edge, +/obj/effect/landmark/start/cook, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/diagonal, +/area/station/service/kitchen) "vAY" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -71879,6 +72045,18 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"vBt" = ( +/obj/machinery/door/airlock/freezer{ + desc = "The freezer where the chef keeps all the stuff that needs to be kept cold. Ice cold."; + name = "The Ice Box" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/kitchen/coldroom) "vBu" = ( /obj/machinery/space_heater, /obj/machinery/camera/directional/south{ @@ -71922,16 +72100,6 @@ "vBG" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) -"vCm" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/newscaster/directional/south, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "vCn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71945,22 +72113,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) -"vCw" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/rack, -/obj/item/pickaxe, -/obj/item/toy/figure/chef, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Coldroom" - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "vCy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71980,15 +72132,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"vCI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "vCK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72042,28 +72185,16 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vDz" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) -"vEk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, +"vDQ" = ( +/obj/effect/spawner/random/decoration/flower, +/obj/structure/flora/rock/pile/icy/style_random, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"vEh" = ( +/obj/structure/frame/machine, +/obj/item/stack/cable_coil/five, /turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) +/area/station/maintenance/starboard/fore) "vEw" = ( /obj/machinery/camera/directional/west{ c_tag = "Atmospherics Access" @@ -72080,14 +72211,17 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"vEI" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood, +"vEC" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/turf/open/floor/iron, -/area/station/service/bar) +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/eighties, +/area/station/commons/lounge) "vEJ" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -72126,13 +72260,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"vEX" = ( -/obj/structure/table/wood, -/obj/item/instrument/saxophone, -/obj/item/instrument/piano_synth, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/commons/lounge) "vFb" = ( /obj/structure/table/wood, /obj/item/clothing/mask/cigarette/cigar{ @@ -72146,12 +72273,6 @@ /obj/structure/falsewall, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vFj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "vFq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -72221,10 +72342,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/chapel) -"vGP" = ( -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/station/commons/lounge) "vGY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72237,6 +72354,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/tcommsat/computer) +"vHe" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash/botanical_waste, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vHf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -72257,15 +72382,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"vHw" = ( -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) "vHA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -72303,6 +72419,13 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) +"vHT" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/obj/structure/sign/nanotrasen, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "vHU" = ( /obj/item/radio/intercom/prison/directional/south, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -72338,12 +72461,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"vIn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "vIH" = ( /obj/structure/closet{ name = "evidence closet 1" @@ -72351,6 +72468,13 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/dark/textured_edge, /area/station/security/evidence) +"vIL" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vIZ" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72414,6 +72538,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/locker) +"vKT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating/snowed/coldroom, +/area/station/service/kitchen/coldroom) "vLj" = ( /obj/machinery/suit_storage_unit/rd, /obj/effect/turf_decal/stripes/line{ @@ -72482,10 +72613,6 @@ /obj/structure/cable/layer3, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"vMF" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vMN" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -72538,13 +72665,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/port/fore) -"vOq" = ( -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 +"vNM" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating/snowed/icemoon, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) +"vOd" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/components/binary/pump/off/supply/visible/layer4{ + dir = 1; + name = "Air In" + }, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/station/maintenance/fore) "vOw" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/red{ @@ -72569,12 +72706,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"vPd" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "vPh" = ( /obj/machinery/light/directional/north, /obj/machinery/digital_clock/directional/north, @@ -72630,15 +72761,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/cargo/miningdock) -"vQn" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "vQp" = ( /obj/machinery/research/anomaly_refinery, /turf/open/floor/iron/dark, @@ -72651,6 +72773,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/mine/production) +"vQz" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/snowed/icemoon, +/area/icemoon/underground/explored) "vQG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -72732,18 +72861,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"vRX" = ( -/obj/machinery/door/morgue{ - req_access = list("bar") - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) "vRY" = ( /obj/structure/railing/corner{ dir = 4 @@ -72759,22 +72876,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"vSe" = ( -/obj/structure/table/wood/poker, -/obj/item/storage/wallet/random, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "vSi" = ( /turf/closed/wall, /area/mine/eva) -"vSn" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 +"vSu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 }, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) +/obj/machinery/firealarm/directional/north{ + pixel_x = -4 + }, +/obj/machinery/light_switch/directional/north{ + pixel_x = 5; + pixel_y = 28 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "vSw" = ( /obj/structure/table, /obj/machinery/firealarm/directional/north, @@ -72841,16 +72958,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/storage) -"vTa" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "kitchencounter"; - name = "Kitchen Counter Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "vTb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72869,11 +72976,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"vTl" = ( -/obj/structure/chair/wood, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "vTo" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 1 @@ -72915,6 +73017,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"vUn" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ + color = "#0000ff"; + dir = 8; + name = "Supply multi deck pipe adapter" + }, +/obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ + color = "#ff0000"; + dir = 8; + name = "Scrubbers multi deck pipe adapter" + }, +/obj/structure/cable/multilayer/multiz, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "vUr" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -72933,16 +73053,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"vUJ" = ( -/obj/machinery/door/airlock{ - name = "Unisex Showers" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/textured, -/area/station/commons/toilet) "vUW" = ( /obj/item/stack/cable_coil{ amount = 7; @@ -72968,6 +73078,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"vVA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "vVH" = ( /turf/closed/wall, /area/station/security/prison/safe) @@ -73024,25 +73140,11 @@ /obj/effect/mapping_helpers/mail_sorting/medbay/chemistry, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vWn" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Atrium" - }, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) "vWo" = ( /obj/machinery/light_switch/directional/north, /obj/structure/cable, /turf/open/floor/iron, /area/station/science/explab) -"vWq" = ( -/obj/structure/table/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "vWr" = ( /turf/open/floor/engine, /area/station/engineering/supermatter/room) @@ -73097,8 +73199,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vXk" = ( -/obj/structure/falsewall, +"vXm" = ( +/obj/structure/grille/broken, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "vXn" = ( @@ -73141,6 +73244,23 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/mine/living_quarters) +"vXM" = ( +/obj/structure/chair/sofa/right/brown{ + dir = 8 + }, +/turf/open/floor/wood/large, +/area/station/commons/lounge) +"vXO" = ( +/obj/structure/fluff/tram_rail, +/obj/structure/lattice/catwalk, +/obj/structure/fluff/tram_rail{ + pixel_y = 17 + }, +/obj/structure/marker_beacon/burgundy{ + name = "landing marker" + }, +/turf/open/lava/plasma/ice_moon, +/area/icemoon/underground/explored) "vXU" = ( /obj/item/toy/snowball, /turf/open/misc/asteroid/snow/icemoon, @@ -73184,6 +73304,10 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"vYp" = ( +/obj/structure/table/wood, +/turf/open/floor/wood/parquet, +/area/station/service/bar/atrium) "vYq" = ( /obj/structure/barricade/wooden/snowed, /turf/open/misc/asteroid/snow/icemoon, @@ -73227,6 +73351,22 @@ }, /turf/open/floor/iron/large, /area/station/engineering/lobby) +"vYN" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/underground/explored) +"vYY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/obj/effect/mapping_helpers/mail_sorting/service/theater, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "vZa" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -73277,12 +73417,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) -"vZQ" = ( -/obj/structure/table/wood/poker, -/obj/effect/spawner/random/entertainment/cigarette_pack, -/obj/effect/spawner/random/entertainment/lighter, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "vZS" = ( /obj/structure/rack, /turf/open/floor/iron/smooth, @@ -73327,16 +73461,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"waz" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "waH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -73417,16 +73541,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/mine/eva/lower) -"wbK" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/fore) "wbN" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -73465,6 +73579,12 @@ /obj/machinery/bluespace_vendor/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"wco" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wcx" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -73518,12 +73638,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"wdp" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wds" = ( /obj/structure/chair/stool/directional/west, /obj/machinery/light/small/directional/south, @@ -73557,10 +73671,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"wdT" = ( -/obj/machinery/vending/boozeomat, -/turf/open/floor/iron, -/area/station/service/bar) "weg" = ( /obj/structure/sign/warning/gas_mask/directional/south{ desc = "A sign that warns of dangerous gasses in the air, instructing you to wear internals." @@ -73765,6 +73875,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, /turf/open/floor/glass/reinforced, /area/station/engineering/atmos/pumproom) +"whg" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "whh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/filled/warning{ @@ -73781,30 +73897,11 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"whi" = ( -/obj/structure/sink/kitchen/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "whr" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, /turf/open/floor/grass, /area/station/security/prison/garden) -"wht" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/requests_console/auto_name/directional/south, -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "whz" = ( /obj/machinery/hydroponics/constructable, /obj/effect/decal/cleanable/dirt, @@ -73861,13 +73958,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"wiy" = ( -/obj/machinery/camera{ - c_tag = "Starboard Primary Hallway Center East" - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wiz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -73885,6 +73975,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"wiO" = ( +/obj/structure/chair, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "wjv" = ( /obj/machinery/computer/cargo{ dir = 4 @@ -73920,6 +74017,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"wjR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/chair, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wjS" = ( /obj/effect/landmark/start/assistant, /obj/structure/chair/pew{ @@ -73934,12 +74042,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"wki" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/commons/dorms) "wkl" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms Server Room"; @@ -74014,6 +74116,18 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"wla" = ( +/obj/effect/decal/cleanable/garbage, +/obj/item/reagent_containers/spray/chemsprayer/party{ + pixel_x = 1 + }, +/obj/item/clothing/head/costume/festive{ + pixel_y = -3; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wlr" = ( /obj/structure/table, /obj/item/stack/spacecash/c10, @@ -74038,19 +74152,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"wlv" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/structure/reagent_dispensers/plumbed{ - name = "dormitory reservoir" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/delivery/white{ - color = "#307db9" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/textured, -/area/station/maintenance/fore) "wlz" = ( /obj/structure/filingcabinet, /turf/open/floor/iron/dark, @@ -74147,15 +74248,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/bridge) -"wng" = ( -/obj/effect/landmark/start/botanist, -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/service/hydroponics) "wnm" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table/reinforced, @@ -74229,21 +74321,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/brig) -"woi" = ( -/obj/structure/minecart_rail{ - dir = 10 - }, -/obj/structure/cable, -/obj/structure/sign/warning/directional/south, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/snowed/coldroom, -/area/icemoon/underground/explored) -"wok" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wol" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/extinguisher_cabinet/directional/east, @@ -74268,17 +74345,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"woB" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/starboard) "woC" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/sign/poster/official/safety_eye_protection/directional/south, @@ -74301,10 +74367,6 @@ }, /turf/open/openspace/icemoon/keep_below, /area/icemoon/underground/explored) -"woQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/fore) "woU" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -74315,6 +74377,15 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"woX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wpc" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -74324,6 +74395,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"wph" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/generic_maintenance_landmark, +/turf/open/floor/plating, +/area/station/maintenance/fore) "wpi" = ( /obj/structure/table, /obj/item/holosign_creator/atmos{ @@ -74335,14 +74412,17 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/office) -"wpk" = ( -/obj/structure/table/wood, -/obj/item/clothing/mask/fakemoustache, -/obj/item/clothing/mask/cigarette/pipe, -/obj/item/clothing/glasses/monocle, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +"wpm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/maintenance{ + name = "Fitness Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wpp" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/pipedispenser/disposal, @@ -74443,6 +74523,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/storage/mining) +"wqt" = ( +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/obj/item/kirbyplants/organic/plant10, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "wqx" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) @@ -74504,10 +74595,6 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/disposal) -"wrw" = ( -/obj/machinery/light/cold/directional/east, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "wrA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -74530,14 +74617,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) -"wrG" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) "wrN" = ( /obj/structure/sign/departments/court/directional/north, /turf/open/openspace, @@ -74565,26 +74644,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"wsr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/machinery/door/airlock{ - name = "Bar" - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/bar) "wsu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, @@ -74684,19 +74743,28 @@ /obj/structure/sign/warning/cold_temp, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) +"wuc" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "wug" = ( /obj/machinery/gulag_item_reclaimer{ pixel_y = 24 }, /turf/open/floor/carpet, /area/station/security/processing) -"wuk" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "wuo" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -74737,10 +74805,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) -"wuM" = ( -/obj/structure/ore_container/food_trough/raptor_trough, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "wuV" = ( /obj/effect/turf_decal/siding/yellow/corner, /obj/machinery/status_display/evac/directional/south, @@ -74757,6 +74821,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) +"wvu" = ( +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "wvv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -74799,6 +74866,10 @@ "wvI" = ( /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) +"wvJ" = ( +/obj/effect/spawner/random/engineering/atmospherics_portable, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "wvK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74827,6 +74898,22 @@ /mob/living/basic/pet/cat/runtime, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"wwg" = ( +/obj/machinery/camera{ + c_tag = "Service - Botany"; + dir = 9 + }, +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wwn" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/west{ @@ -75074,10 +75161,6 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) -"wAI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "wAQ" = ( /obj/machinery/computer/shuttle/labor/one_way{ dir = 4 @@ -75111,6 +75194,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) +"wBa" = ( +/obj/structure/railing, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 + }, +/turf/open/floor/wood/large, +/area/station/hallway/primary/starboard) "wBb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75148,6 +75238,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"wBr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/kirbyplants/organic/plant2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "wBy" = ( /obj/machinery/netpod, /obj/item/radio/intercom/directional/south, @@ -75307,12 +75406,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/mine/storage) -"wDH" = ( -/obj/structure/bed/dogbed, -/obj/effect/decal/cleanable/blood/gibs/body, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) "wDI" = ( /obj/effect/spawner/random/trash/moisture_trap, /obj/effect/mapping_helpers/broken_floor, @@ -75338,18 +75431,20 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) -"wDZ" = ( -/obj/effect/spawner/random/structure/musician/piano/random_piano, -/obj/machinery/button/curtain{ - id = "cantena_curtains"; - pixel_x = -30 - }, -/turf/open/floor/wood, -/area/station/commons/lounge) "wEh" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/sorting) +"wEq" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/newscaster/directional/north, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/remains/human, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wEG" = ( /obj/structure/extinguisher_cabinet/directional/south{ pixel_x = 4 @@ -75414,15 +75509,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wFJ" = ( -/obj/machinery/camera/directional/south{ - c_tag = "Service - Electrical Maintenace Upper" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/maintenance/starboard/fore) "wFN" = ( /mob/living/basic/slime, /turf/open/floor/engine, @@ -75434,18 +75520,6 @@ }, /turf/open/floor/carpet, /area/station/service/library) -"wFS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"wFU" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "wFX" = ( /obj/machinery/computer/telecomms/server{ dir = 4; @@ -75468,14 +75542,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/engine, /area/station/science/explab) -"wGq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"wGm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/cable, -/obj/machinery/light/floor, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "wGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -75526,6 +75599,10 @@ }, /turf/open/floor/iron/dark/diagonal, /area/station/engineering/atmos/storage) +"wGQ" = ( +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/stone, +/area/station/commons/lounge) "wGW" = ( /obj/structure/table, /obj/item/book/manual/wiki/security_space_law, @@ -75576,6 +75653,12 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"wHr" = ( +/obj/structure/fence/post{ + dir = 8 + }, +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wHH" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red{ @@ -75583,26 +75666,17 @@ }, /turf/open/floor/iron, /area/mine/laborcamp/security) -"wHP" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 +"wHK" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + dir = 1 }, -/turf/open/floor/iron/dark/textured, -/area/station/hallway/primary/central) -"wHV" = ( -/obj/structure/table/wood, -/obj/machinery/chem_dispenser/drinks/beer, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/bar) +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/fore) "wIg" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -75615,20 +75689,28 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/central) +"wIx" = ( +/obj/machinery/newscaster/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wIz" = ( /obj/machinery/light/small/directional/west, /obj/structure/table/wood, /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/commons/dorms) -"wII" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wIR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -75729,13 +75811,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood, /area/station/service/library) -"wLa" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "wLk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers, /obj/machinery/portable_atmospherics/canister/carbon_dioxide, @@ -75755,17 +75830,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"wLN" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/spawner/random/trash/cigbutt, -/obj/effect/spawner/random/trash/cigbutt, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "wLO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75849,19 +75913,6 @@ dir = 9 }, /area/station/science/research) -"wMs" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Atrium" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/iron/dark/textured_half, -/area/station/service/bar/atrium) "wMt" = ( /turf/closed/wall, /area/station/hallway/primary/central/fore) @@ -75889,6 +75940,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/commons/storage/mining) +"wME" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = 6; + pixel_y = 28 + }, +/obj/machinery/button/door/directional/north{ + id = "botany_chasm_and_wolf_shutters"; + name = "Exterior Shutters"; + pixel_y = 28; + pixel_x = -4 + }, +/turf/open/floor/iron/dark/smooth_half, +/area/station/service/hydroponics) "wMT" = ( /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron, @@ -75964,6 +76028,12 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wOC" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wOF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, @@ -76000,6 +76070,26 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"wPe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/duct, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock{ + name = "Bar" + }, +/turf/open/floor/iron/dark/textured_half{ + dir = 1 + }, +/area/station/service/bar) "wPf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -76024,10 +76114,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) -"wPo" = ( -/obj/machinery/modular_computer/preset/civilian, -/turf/open/floor/iron, -/area/station/maintenance/starboard/fore) "wPr" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -76058,6 +76144,16 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"wPR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/duct, +/obj/structure/sign/warning/cold_temp/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "wPX" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -76103,6 +76199,14 @@ /obj/item/assembly/flash, /turf/open/floor/plating/icemoon, /area/station/security/execution/education) +"wQx" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "wQC" = ( /obj/item/flashlight/lantern, /obj/structure/table/wood, @@ -76116,6 +76220,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"wQN" = ( +/obj/structure/fence/cut/large{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wQR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -76208,16 +76318,10 @@ /obj/effect/spawner/structure/window/hollow/reinforced/middle, /turf/open/floor/plating, /area/station/medical/chemistry) -"wRS" = ( -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Garden" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/iron/textured, -/area/station/service/hydroponics) +"wSc" = ( +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plating, +/area/station/maintenance/fore) "wSd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -76264,6 +76368,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/work) +"wSL" = ( +/obj/effect/landmark/start/botanist, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wSM" = ( /obj/machinery/conveyor{ dir = 4; @@ -76297,6 +76410,11 @@ "wTg" = ( /turf/closed/wall, /area/station/engineering/main) +"wTl" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/mime, +/turf/open/floor/wood, +/area/station/commons/lounge) "wTw" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 10 @@ -76330,19 +76448,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/engineering) -"wTM" = ( -/obj/structure/closet/secure_closet/bar, -/obj/machinery/firealarm/directional/north{ - pixel_x = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -5; - pixel_y = 28 - }, -/obj/item/vending_refill/cigarette, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) "wTX" = ( /obj/structure/table, /obj/machinery/cell_charger, @@ -76399,6 +76504,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"wUD" = ( +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "wUE" = ( /obj/machinery/light_switch/directional/north{ pixel_x = -7 @@ -76518,14 +76628,17 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"wVR" = ( +"wVI" = ( /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/stool/bar/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/commons/lounge) "wWa" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -76539,33 +76652,13 @@ /obj/effect/spawner/random/structure/tank_holder, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wWl" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/icemoon/underground/explored) -"wWn" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +"wWB" = ( +/obj/structure/chair/plastic{ + dir = 8 }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/starboard/fore) "wWM" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -76606,24 +76699,6 @@ /obj/structure/flora/grass/both/style_3, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"wXr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/wood{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"wXD" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/obj/structure/sign/poster/contraband/moffuchis_pizza/directional/east, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "wXR" = ( /obj/structure/table, /obj/item/storage/medkit/regular{ @@ -76772,37 +76847,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"wZI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) -"wZM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/box/red/corners{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) -"wZO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "wZV" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/canister/oxygen, @@ -76935,6 +76979,10 @@ }, /turf/open/floor/iron/freezer, /area/mine/eva/lower) +"xbB" = ( +/obj/machinery/gibber, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "xbC" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw, /obj/machinery/meter, @@ -76948,12 +76996,6 @@ /obj/structure/ladder, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"xbY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "xce" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -76990,14 +77032,16 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) -"xcJ" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/white, -/obj/structure/curtain/cloth/fancy/mechanical/start_closed{ - id = "cantena_curtains" +"xcO" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/commons/lounge) +/obj/structure/sink/kitchen/directional/west, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/service/bar) "xcW" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ dir = 1 @@ -77035,13 +77079,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"xdI" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/item/storage/box/matches, -/obj/effect/spawner/random/entertainment/cigar, -/turf/open/floor/iron, -/area/station/service/bar) "xdM" = ( /obj/structure/sign/warning/cold_temp, /turf/closed/wall, @@ -77069,6 +77106,11 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) +"xea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xeg" = ( /obj/effect/turf_decal/weather/snow/corner, /turf/open/misc/asteroid/snow/icemoon, @@ -77108,15 +77150,6 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) -"xeV" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "xfb" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -77407,20 +77440,6 @@ /obj/effect/spawner/random/food_or_drink/snack, /turf/open/floor/iron/dark, /area/station/science/breakroom) -"xiG" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Hydroponics Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/turf/open/floor/plating, -/area/station/service/hydroponics) "xiI" = ( /obj/docking_port/stationary/random/icemoon{ name = "lavaland"; @@ -77465,12 +77484,6 @@ /obj/vehicle/ridden/janicart, /turf/open/floor/iron, /area/station/service/janitor) -"xjn" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/obj/effect/turf_decal/stripes/line, -/obj/structure/chair/stool/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xjs" = ( /obj/machinery/door/firedoor/heavy, /obj/structure/cable, @@ -77543,24 +77556,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat_interior) -"xle" = ( -/obj/effect/turf_decal/trimline/green/filled/corner, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/rack, -/obj/item/clothing/accessory/armband/hydro{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/item/clothing/accessory/armband/hydro, -/obj/item/toy/figure/botanist, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "xlh" = ( /obj/machinery/door/window/left/directional/north{ name = "Medbay Delivery"; @@ -77570,15 +77565,13 @@ /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/large, /area/station/medical/storage) -"xlj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"xlp" = ( +/obj/structure/sign/nanotrasen, +/obj/structure/fence/post{ + dir = 8 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/bar/backroom) +/turf/open/floor/plating/snowed/smoothed/icemoon, +/area/icemoon/underground/explored) "xlq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -77720,16 +77713,20 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xmV" = ( -/obj/structure/chair/stool/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 9 +"xnc" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/stone, -/area/station/commons/lounge) +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_y = 6 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) +"xnf" = ( +/obj/item/kirbyplants/fern, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xni" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -77781,19 +77778,18 @@ }, /turf/open/lava/plasma/ice_moon, /area/icemoon/underground/explored) +"xog" = ( +/obj/structure/fence{ + dir = 1 + }, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xow" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/atmos) -"xoA" = ( -/obj/structure/closet/emcloset, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/plating, -/area/station/service/kitchen/coldroom) "xpw" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -77830,6 +77826,16 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/command/heads_quarters/hop) +"xpO" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "botany_chasm_and_wolf_shutters" + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "xpP" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -77838,6 +77844,20 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"xqa" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/duct, +/obj/effect/turf_decal/tile/bar{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/service/kitchen/coldroom) "xqj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -77862,19 +77882,13 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) -"xqM" = ( -/obj/effect/turf_decal/loading_area/white{ - dir = 8 +"xqP" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/turf/open/floor/wood/large, -/area/station/service/bar/atrium) -"xqV" = ( -/obj/effect/turf_decal/tile/neutral/diagonal_edge, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/diagonal, -/area/station/service/kitchen) +/turf/open/floor/iron/dark, +/area/station/commons/fitness) "xqX" = ( /obj/structure/sign/poster/contraband/random/directional/north, /obj/structure/cable, @@ -77892,6 +77906,25 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"xre" = ( +/obj/structure/table/glass, +/obj/machinery/door/window/left/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/item/paper_bin{ + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xrf" = ( /obj/structure/railing, /obj/structure/cable, @@ -77919,14 +77952,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace/icemoon/keep_below, /area/station/maintenance/port/lesser) -"xrw" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/turf/open/floor/iron/stairs/old{ - dir = 8 - }, -/area/station/hallway/primary/starboard) "xry" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/wood, @@ -77937,11 +77962,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison/rec) -"xrD" = ( -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/structure/flora/bush/style_random, -/turf/open/floor/grass, -/area/station/service/hydroponics) "xrI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 @@ -77969,6 +77989,12 @@ /obj/machinery/light/blacklight/directional/east, /turf/open/floor/wood, /area/station/service/library) +"xsm" = ( +/obj/structure/cable, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/fore) "xss" = ( /obj/machinery/light/directional/south, /obj/effect/turf_decal/tile/yellow/half/contrasted, @@ -77985,6 +78011,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/tech_storage, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"xsy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xsA" = ( /obj/structure/rack, /obj/machinery/light/small/dim/directional/north, @@ -78026,6 +78059,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/workout) +"xtH" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xtQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78063,18 +78102,6 @@ "xuo" = ( /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"xup" = ( -/obj/machinery/door/airlock/external, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "chem-morgue-airlock" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/engineering/external, -/turf/open/floor/plating, -/area/station/medical/morgue) "xur" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -78203,15 +78230,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/upper) -"xwi" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xwm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/green{ @@ -78290,24 +78308,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"xwL" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/duct, +/turf/open/floor/iron, +/area/station/commons/fitness) "xwM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/maintenance/aft/greater) -"xwZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/structure/minecart_rail/railbreak, -/turf/open/floor/plating/snowed/coldroom, -/area/station/service/kitchen/coldroom) "xxg" = ( /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"xxo" = ( +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) "xxs" = ( /obj/effect/turf_decal/bot_white, /obj/structure/reagent_dispensers/plumbed, @@ -78343,6 +78363,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"xxH" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/surface) "xxI" = ( /obj/machinery/airalarm/directional/north, /obj/item/kirbyplants/random, @@ -78516,13 +78542,6 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"xzQ" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/closet/emcloset, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "xzT" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -78598,17 +78617,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"xBm" = ( -/obj/structure/table/wood, -/obj/item/raptor_dex{ - pixel_y = 13 - }, -/obj/item/raptor_dex{ - pixel_y = 7 - }, -/obj/item/raptor_dex, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) "xBn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -78621,6 +78629,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) +"xBs" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/theater) "xBt" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -78636,17 +78651,6 @@ /obj/effect/turf_decal/trimline/red/line, /turf/open/floor/iron/dark/textured, /area/station/security/range) -"xBz" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/service/hydroponics, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Apiary" - }, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/service/hydroponics) "xBL" = ( /obj/machinery/camera/directional/north{ c_tag = "Solar Maintenance - North East Access" @@ -78659,6 +78663,24 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/storage/gas) +"xBS" = ( +/obj/item/training_toolbox{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/training_toolbox{ + pixel_y = -2 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Holodeck Control" + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/east, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "xBU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -78681,11 +78703,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/security/courtroom) -"xCc" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/closet/crate/wooden/toy, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "xCh" = ( /obj/machinery/button/door/directional/west{ id = "xenobio5"; @@ -78791,11 +78808,14 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison/workout) -"xDN" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible/layer4, -/turf/open/floor/plating, -/area/station/maintenance/fore) +"xDQ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/fake_stairs/wood/directional/north, +/obj/effect/mapping_helpers/no_atoms_ontop, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "xDU" = ( /obj/structure/table, /obj/effect/spawner/random/entertainment/drugs, @@ -78878,6 +78898,19 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) +"xEP" = ( +/obj/structure/reagent_dispensers/plumbed{ + dir = 1; + name = "hydroponics reservoir" + }, +/obj/effect/turf_decal/delivery/white{ + color = "#307db9" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/maintenance/starboard/lesser) "xEQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -78911,6 +78944,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"xFz" = ( +/obj/effect/turf_decal/tile/bar/opposingcorners, +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/service/bar) "xFB" = ( /obj/structure/table, /obj/item/tank/internals/emergency_oxygen/engi, @@ -78936,6 +78977,24 @@ /obj/machinery/incident_display/delam, /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"xFT" = ( +/obj/effect/turf_decal/trimline/green/filled/corner, +/obj/effect/turf_decal/trimline/blue/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/rack, +/obj/item/clothing/accessory/armband/hydro{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/clothing/accessory/armband/hydro, +/obj/item/toy/figure/botanist, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "xFU" = ( /obj/structure/barricade/wooden, /obj/structure/sign/warning/gas_mask/directional/south{ @@ -78959,6 +79018,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"xGi" = ( +/obj/structure/table/glass, +/obj/item/seeds/glowshroom, +/obj/item/seeds/bamboo{ + pixel_y = 3; + pixel_x = 4 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xGp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/east{ @@ -79049,19 +79118,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig/upper) +"xHv" = ( +/obj/structure/table/wood, +/obj/effect/spawner/random/trash/janitor_supplies, +/turf/open/floor/plating, +/area/station/maintenance/starboard/lesser) "xHE" = ( /obj/structure/stairs/east, /turf/open/floor/plating, /area/station/security/brig) -"xHP" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Service - Gambling Lounge" - }, -/obj/machinery/computer/slot_machine{ - name = "two-armed bandit" - }, -/turf/open/floor/wood/large, -/area/station/commons/lounge) "xHY" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -79069,6 +79134,10 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"xIh" = ( +/obj/effect/spawner/random/structure/tank_holder, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xIk" = ( /obj/structure/chair/comfy{ dir = 4 @@ -79124,16 +79193,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xJb" = ( -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/status_display/ai/directional/south, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/chem_master/condimaster, -/turf/open/floor/iron/white/smooth_large, -/area/station/service/kitchen) "xJj" = ( /turf/open/floor/iron, /area/station/science/xenobiology) @@ -79179,6 +79238,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"xJW" = ( +/turf/open/floor/iron/half, +/area/station/service/hydroponics) "xKb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/south, @@ -79213,28 +79275,26 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) -"xKu" = ( -/obj/machinery/door/airlock/multi_tile/public/glass{ - dir = 4; - name = "Service Hall" - }, -/obj/effect/turf_decal/siding/dark/corner, -/obj/machinery/door/firedoor, +"xKq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/service/general, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/dark/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/service) +/obj/effect/landmark/event_spawn, +/turf/open/floor/stone, +/area/station/service/bar/atrium) "xKJ" = ( /turf/closed/wall, /area/station/command/meeting_room) +"xKT" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Dormitory South" + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/commons/dorms) "xKX" = ( /obj/effect/turf_decal/trimline/dark_green/arrow_ccw{ dir = 6 @@ -79299,12 +79359,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/work) -"xMb" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "xMh" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, @@ -79333,17 +79387,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/underground/explored) -"xMI" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/fore) "xMM" = ( /obj/machinery/computer/operating{ dir = 8 @@ -79417,17 +79460,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xNM" = ( -/obj/effect/turf_decal/tile/bar/opposingcorners, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/service/bar) "xOb" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -79437,17 +79469,63 @@ }, /turf/open/floor/iron/dark, /area/mine/mechbay) +"xOd" = ( +/obj/structure/minecart_rail{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/structure/sign/warning/directional/west, +/turf/open/floor/plating/snowed/coldroom, +/area/icemoon/underground/explored) +"xOi" = ( +/obj/machinery/door/window/left/directional/south{ + req_access = list("kitchen"); + name = "The Ice Box" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "xOl" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"xOH" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, +"xOE" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "Bar and Kitchen" + }, +/obj/structure/plasticflaps/opaque, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured, +/area/station/maintenance/starboard/fore) +"xOV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) +"xPf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) "xPu" = ( @@ -79464,11 +79542,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"xPD" = ( -/obj/effect/spawner/random/entertainment/arcade, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/eighties, -/area/station/commons/lounge) "xPF" = ( /obj/structure/fence{ dir = 4 @@ -79573,6 +79646,27 @@ /obj/structure/railing, /turf/open/floor/iron, /area/mine/production) +"xQS" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/table, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/mushroom/chanterelle{ + pixel_y = 3 + }, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "xQT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply, @@ -79582,17 +79676,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"xQV" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) -"xRn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/trash/mess, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) "xRw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79671,6 +79754,11 @@ }, /turf/open/floor/iron/large, /area/station/hallway/primary/port) +"xTi" = ( +/obj/effect/landmark/start/clown, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/theater) "xTp" = ( /obj/machinery/camera/directional/south{ c_tag = "Solar Maintenance - North East" @@ -79692,6 +79780,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/upper) +"xTI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green/half/contrasted{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/commons/fitness) "xTQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79701,17 +79799,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"xTT" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen{ - pixel_x = -5 - }, -/obj/item/hand_labeler/borg{ - pixel_y = -3 - }, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "xTU" = ( /obj/structure/closet/wardrobe/pjs, /obj/effect/landmark/start/hangover/closet, @@ -79753,21 +79840,14 @@ }, /turf/open/openspace, /area/station/science/ordnance/office) -"xUu" = ( -/obj/structure/flora/tree/pine/style_random, -/obj/structure/marker_beacon/cerulean, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) +"xUt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "xUw" = ( /obj/structure/sign/departments/maint/directional/west, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/icemoon/underground/explored) -"xUC" = ( -/obj/effect/turf_decal/tile/blue, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "xUF" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -79830,6 +79910,13 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"xVc" = ( +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, +/turf/open/floor/iron/textured, +/area/station/commons/toilet) "xVf" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -79844,16 +79931,6 @@ "xVK" = ( /turf/closed/wall, /area/station/service/janitor) -"xVL" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/starboard/lesser) "xVN" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -79910,6 +79987,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"xWI" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "kitchencounter"; + name = "Kitchen Counter Shutters" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white/smooth_large, +/area/station/service/kitchen) "xWM" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -80229,10 +80316,6 @@ }, /turf/open/floor/engine/cult, /area/station/service/library) -"ybs" = ( -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/stone, -/area/station/commons/lounge) "ybu" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/wood, @@ -80304,17 +80387,6 @@ dir = 1 }, /area/station/maintenance/department/cargo) -"ycd" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) -"yce" = ( -/obj/structure/fluff/fokoff_sign, -/obj/effect/mapping_helpers/no_atoms_ontop, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/underground/explored) "ych" = ( /obj/item/chair/wood/wings, /obj/effect/turf_decal/bot_red, @@ -80328,17 +80400,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"ycu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Service - Atrium Entrance" - }, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "ycA" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/tile/blue{ @@ -80350,16 +80411,18 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/storage) -"ycG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"ycE" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/warning{ + dir = 8 }, -/obj/machinery/light/small/dim/directional/north, -/obj/effect/decal/cleanable/vomit/old, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/starboard/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/sink/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ycQ" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/maintenance, @@ -80374,10 +80437,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"ycU" = ( -/obj/structure/chair/wood, -/turf/open/floor/wood/parquet, -/area/station/service/bar/atrium) "ycY" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -80423,6 +80482,12 @@ dir = 1 }, /area/mine/eva/lower) +"ydv" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/commons/lounge) "ydA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -80432,6 +80497,11 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"ydG" = ( +/obj/machinery/status_display/ai/directional/east, +/obj/structure/chair/sofa/left/brown, +/turf/open/floor/wood/large, +/area/station/commons/lounge) "ydH" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/glass, @@ -80509,14 +80579,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/library) -"yeQ" = ( -/obj/effect/turf_decal/tile/green/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron, -/area/station/service/hydroponics) "yfz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -80562,6 +80624,10 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/command/gateway) +"ygy" = ( +/obj/effect/landmark/start/clown, +/turf/open/floor/wood, +/area/station/commons/lounge) "ygB" = ( /turf/closed/wall, /area/station/commons/dorms) @@ -80581,10 +80647,16 @@ }, /turf/open/floor/iron/smooth_half, /area/station/security/brig/upper) -"ygR" = ( -/obj/structure/stairs/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"ygP" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/starboard/fore) "yhe" = ( /obj/structure/cable, /obj/machinery/light/directional/south, @@ -80600,26 +80672,25 @@ /obj/structure/sign/warning/cold_temp/directional/east, /turf/open/floor/plating, /area/station/engineering/main) -"yhD" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/surface) -"yhF" = ( -/obj/effect/spawner/random/trash/mess, -/obj/structure/disposalpipe/segment, -/obj/structure/railing/corner/end, +"yhL" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/plating, -/area/station/maintenance/starboard/fore) -"yhH" = ( -/obj/structure/fence{ - dir = 4 - }, -/turf/open/misc/asteroid/snow/icemoon, -/area/icemoon/surface/outdoors/nospawn) +/area/station/maintenance/fore) "yhU" = ( /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/security/prison/work) +"yhV" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Bar Maintenance" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/service/bar/backroom) "yia" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -80627,14 +80698,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/toilet) -"yiq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar/directional/east, -/obj/structure/disposalpipe/segment, -/turf/open/floor/stone, -/area/station/service/bar/atrium) "yiv" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -80676,6 +80739,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"yjo" = ( +/obj/structure/sign/warning/directional/south, +/turf/open/misc/asteroid/snow/icemoon, +/area/icemoon/surface/outdoors/nospawn) "yju" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance/two, @@ -80690,6 +80757,11 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) +"yjF" = ( +/obj/structure/sink/directional/east, +/obj/structure/mirror/directional/west, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "yjV" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -80705,18 +80777,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"ykc" = ( -/obj/machinery/door/window/right/directional/south{ - req_access = list("kitchen"); - name = "The Ice Box" - }, -/obj/structure/sign/warning/cold_temp/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "ykw" = ( /turf/closed/wall/r_wall, /area/station/security/processing) @@ -80747,33 +80807,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"ykT" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/bar/backroom) -"ylj" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "ylt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/pink/visible, /obj/structure/sign/poster/official/safety_internals/directional/east, @@ -97197,7 +97230,7 @@ sYA ghx ghx ghx -odr +vXO hMz ghx hMz @@ -104567,10 +104600,10 @@ amx fXO lBR nhg -jdG +eiz lBR nhg -cok +boa lBR kIo hap @@ -107902,7 +107935,7 @@ ghx ghx ghx eZz -wDH +efi xhK nCQ swf @@ -108159,7 +108192,7 @@ ghx ghx ghx iDt -vzk +nbP xhK ikb swf @@ -114839,7 +114872,7 @@ jvM nTO nTO nTO -yce +nJm iDt xMq xMq @@ -115069,7 +115102,7 @@ iDt iDt iDt iDt -kbu +lCM vjh aYQ bLL @@ -120340,7 +120373,7 @@ oSU szG szG iDt -kCr +daZ iDt szG oSU @@ -159129,7 +159162,7 @@ oif eJf eJf eJf -nrK +keu eJf eJf eJf @@ -162710,7 +162743,7 @@ szG szG myZ eJf -nrK +keu eJf eJf eJf @@ -162977,9 +163010,9 @@ szG gjq gjq gjq -kUf +mTW gjq -kUf +mTW gjq gjq gjq @@ -163248,18 +163281,18 @@ gjq gjq gjq gjq -nrK +keu eJf cMk yep cMk eJf -nrK +keu eJf eJf eJf eJf -nrK +keu eJf eJf eJf @@ -164258,7 +164291,7 @@ scw oif eJf eJf -nrK +keu eJf pfg sjb @@ -164799,7 +164832,7 @@ cMk eJf eJf eJf -nrK +keu eJf eJf oif @@ -165283,7 +165316,7 @@ gJK iwS wkB iDt -bNi +jZN gjq gjq gjq @@ -165514,7 +165547,7 @@ gjq gjq gjq gjq -lkx +nfG qbU ivF jwH @@ -168832,7 +168865,7 @@ gjq wUj qLB jpy -tRQ +bnx ssY wUj gjq @@ -169379,7 +169412,7 @@ iDt iDt iDt iDt -lkx +nfG iDt iDt iDt @@ -169431,7 +169464,7 @@ jSQ cmZ xuo iDt -bNi +jZN thA thA thA @@ -169883,7 +169916,7 @@ mri qQf ebd iDt -lkx +nfG pfw thA thA @@ -169899,7 +169932,7 @@ thA thA thA thA -lkx +nfG iDt iDt iDt @@ -170155,19 +170188,19 @@ thA thA thA thA -pFT -pFT -pFT -pFT -pFT -pFT -pFT -pFT -jVt -jVt -fWs -fRK -qAR +dlu +dlu +dlu +dlu +dlu +dlu +dlu +dlu +qgQ +qgQ +rrl +nmO +ozW iDt iDt iDt @@ -170190,7 +170223,7 @@ nUi iDt iDt iDt -bNi +jZN iDt iDt iDt @@ -170412,22 +170445,22 @@ thA thA thA thA -pFT -wuM -mba -mba -qdy -wuM -mba -gWY +dlu +qbM +wvu +wvu +bPR +qbM +wvu +bil ijY iDt iDt iDt -vqW +kJx iDt iDt -bNi +jZN iDt iDt iDt @@ -170453,7 +170486,7 @@ iDt iDt iDt iDt -bNi +jZN iDt thA thA @@ -170669,19 +170702,19 @@ thA thA thA thA -pFT -yhD -mba -mba -qdy -yhD -mba -gWY +dlu +nEI +wvu +wvu +bPR +nEI +wvu +bil iDt iDt iDt iDt -vqW +kJx iDt iDt iDt @@ -170926,19 +170959,19 @@ thA thA thA thA -pFT -mba -mba -mba -qdy -mba -mba -gWY +dlu +wvu +wvu +wvu +bPR +wvu +wvu +bil iDt iDt -dBd +ayJ iDt -vqW +kJx iDt iDt iDt @@ -171183,19 +171216,19 @@ tjo thA thA thA -pFT -bEU -bEU -mba -tuT -bEU -mba -inH +dlu +rEn +rEn +wvu +ghA +rEn +wvu +idH iDt iDt iDt iDt -vqW +kJx iDt iDt iDt @@ -171440,19 +171473,19 @@ tjo thA thA thA -pFT -mba -mba -mba -mba -mba -mba -mba +dlu +wvu +wvu +wvu +wvu +wvu +wvu +wvu iDt iDt iDt iDt -kbZ +qSi scw iDt scw @@ -171462,8 +171495,8 @@ iDt scw scw iDt -ptq -eqC +rDN +sEv scw scw iDt @@ -171471,7 +171504,7 @@ iDt iDt iDt iDt -bNi +jZN xMq thA thA @@ -171697,15 +171730,15 @@ tjo thA thA thA -pFT -oPK -cPI -mba -mba -xBm -cPI -mba -dBd +dlu +ncx +kYN +wvu +wvu +rzY +kYN +wvu +ayJ iDt iDt iDt @@ -171717,11 +171750,11 @@ scw scw scw scw -nDP -nDP +oJD +oJD scw -izl -lkx +sed +nfG scw iDt iDt @@ -171954,19 +171987,19 @@ tjo thA thA thA -pFT -mba -mba -mba -mba -mba -mba -mba +dlu +wvu +wvu +wvu +wvu +wvu +wvu +wvu iDt iDt iDt iDt -kbZ +qSi scw scw scw @@ -171974,9 +172007,9 @@ iDt scw scw scw -rwM -nDP -nDP +kYo +oJD +oJD scw scw aRt @@ -172211,19 +172244,19 @@ tjo thA thA thA -pFT -rZA -rZA -mba -iKL -rZA -mba -xQV +dlu +xxH +xxH +wvu +jkK +xxH +wvu +mhj iDt iDt iDt iDt -vqW +kJx iDt iDt iDt @@ -172231,11 +172264,11 @@ iDt iDt iDt iDt -rwM -oWa -rwM -rwM -rwM +kYo +rIS +kYo +kYo +kYo iDt scw thA @@ -172468,30 +172501,30 @@ tjo thA thA thA -pFT -mba -mba -mba -qdy -mba -mba -gWY +dlu +wvu +wvu +wvu +bPR +wvu +wvu +bil iDt iDt -dBd +ayJ iDt -vqW +kJx iDt iDt iDt -kCr +daZ iDt iDt -bkU -rwM -rwM -rwM -rwM +kPz +kYo +kYo +kYo +kYo iDt iDt iDt @@ -172725,25 +172758,25 @@ tjo thA thA thA -pFT -yhD -mba -mba -qdy -yhD -mba -gWY +dlu +nEI +wvu +wvu +bPR +nEI +wvu +bil iDt iDt iDt iDt -vqW +kJx iDt iDt iDt iDt iDt -bkU +kPz thA thA thA @@ -172982,19 +173015,19 @@ tjo thA thA thA -pFT -wuM -mba -mba -qdy -wuM -mba -gWY +dlu +qbM +wvu +wvu +bPR +qbM +wvu +bil iDt iDt iDt iDt -vqW +kJx iDt iDt iDt @@ -173196,7 +173229,7 @@ pgL lab cbz yiL -nRs +iVu rnb hgM kyu @@ -173239,21 +173272,21 @@ tjo thA thA thA -pFT -pFT -pFT -pFT -pFT -pFT -pFT -pFT -von -fWs -von -von -ldP +dlu +dlu +dlu +dlu +dlu +dlu +dlu +dlu +iDx +rrl +iDx +iDx +fQa iDt -kCr +daZ iDt iDt thA @@ -173519,7 +173552,7 @@ thA thA thA xMq -lkx +nfG iDt iDt iDt @@ -174282,7 +174315,7 @@ tLc vcj vcj aVq -kCr +daZ iDt xMq thA @@ -174542,7 +174575,7 @@ aVq iDt iDt iDt -lkx +nfG iDt iDt ebd @@ -175576,7 +175609,7 @@ xMq xMq thA xMq -lkx +nfG iDt iDt iDt @@ -175823,7 +175856,7 @@ iyd vlZ gCh alW -lkx +nfG iDt xMq xMq @@ -175841,11 +175874,11 @@ iDt iDt iDt iDt -lkx +nfG iDt iDt iDt -lkx +nfG xMq thA thA @@ -176849,7 +176882,7 @@ scw scw scw scw -lkx +nfG iDt iDt thA @@ -177612,7 +177645,7 @@ gjq gjq gjq gjq -lkx +nfG scw thA thA @@ -177903,7 +177936,7 @@ thA thA thA thA -lkx +nfG iDt iDt scw @@ -178117,12 +178150,12 @@ chg iDt scw scw -gpG -fsf -fsf -fsf -fsf -hBm +xpO +gNu +gNu +gNu +gNu +oZk gjq gjq gjq @@ -178373,14 +178406,14 @@ iDt rcY scw scw -gpG -cbU -tRM -bnj -bnj -ufg -oen -hBm +xpO +gRE +nYR +hog +hog +joW +aqq +oZk gjq gjq gjq @@ -178630,14 +178663,14 @@ iDt rcY scw xMq -ikY -dAH +anI +lLR eYX sCZ sCZ -nFh -ekG -ikY +qMO +dVj +anI gjq gjq gjq @@ -178675,10 +178708,10 @@ xMq iDt iDt iDt -lkx +nfG iDt iDt -lkx +nfG bID bID dmR @@ -178888,14 +178921,14 @@ xMq xMq xMq exw -ajU +nwC syE -grt -grt -pTm -eLW +hcj +hcj +fat +tqr exw -mBo +vDQ gjq gjq wkV @@ -179145,20 +179178,20 @@ exw exw exw exw -cHN +wwg bdr -qtT -qtT -hDN -gEH +jUv +jUv +xOV +scr exw exw -fsf -fsf +gNu +gNu exw mPq iDt -nyc +neM qau xMq xMq @@ -179192,7 +179225,7 @@ iDt cCb iDt iDt -lkx +nfG bID anZ anZ @@ -179399,23 +179432,23 @@ iDt iDt xMq exw -aBJ -uKK -hFS -tMv +jiD +utn +vnK +cCT bdr -qtT -qtT -hDN -euj -quj -vHw -qqX -ltt -wRS -uql -iDt -nyc +jUv +jUv +xOV +vhA +oYw +kRD +rJX +mgy +sIX +nrh +iDt +neM qau xMq xMq @@ -179656,19 +179689,19 @@ xMq xMq xMq exw -yeQ -ecT -oJK -sak -iUa -waz -waz -usY -dwv -kTY +cmg +qrF +ncd +dNk +grO +iFQ +iFQ +bon +hFX +ave exw -frH -lzd +aBb +myS exw dNN iDt @@ -179676,7 +179709,7 @@ iDt qau iDt iDt -lkx +nfG iDt scw iDt @@ -179913,15 +179946,15 @@ xMq xMq xMq exw -iMB -jEi -oJK -pMA -ibU -ibU -fpZ -ibU -utP +quw +xJW +ncd +erE +mYn +mYn +byy +mYn +wPR exw exw exw @@ -179930,9 +179963,9 @@ exw mPq iDt iDt -klm +xlp scw -mSq +fna iDt iDt iDt @@ -180170,26 +180203,26 @@ sBy sBy sBy exw -amr -eMY -lXg +qre +oZD +lHI exw -amD -tPj +rEt +iif exw -fMp -qWc -nme -mXb +ogu +pOK +kPY +hWv urG -nyc +neM iDt scw iDt -nyc +neM qau -vTl -hAD +iZm +fdP iDt iDt scw @@ -180422,31 +180455,31 @@ thA xMq sBy sBy -mdK -omM -nCo -xCc +dQp +rRu +xBs +lCv exw -fkC -wuk -wng +hPS +cYe +wSL exw mpU mpU -uyo -fMb -qWc -efP -mXb +tjA +hAK +pOK +txv +hWv urG -nyc +neM iDt iDt scw -nyc +neM qau iDt -eFL +kRF iDt scw iDt @@ -180678,21 +180711,21 @@ thA xMq xMq sBy -wpk -lFQ -bWx -kTP -cdh +qTp +xTi +bpc +cag +cVW exw -ryE -riW -vCm +fBJ +fte +mkr exw -exV -exV +tmb +tmb exw -gOL -tmh +wME +tbd exw exw gFX @@ -180935,22 +180968,22 @@ thA xMq xMq sBy -hbi -pzy -wht +ghT +pXy +nqI sBy -dpP +fbg sBy sBy exw exw -qhw -dFd -jwQ -mfE +bwh +lyP +iDv +jMD sCZ -qhb -mSK +obT +ozx exw xMq psb @@ -181192,22 +181225,22 @@ thA xMq xMq sBy -hJV -ish -qLV +kzU +vxY +sRf sBy -lDs -cph -qeu +rZP +fkd +fbW exw exw exw -gAU -dgI -oIj -hhM -taM -tKO +jQM +etr +ekc +leg +oIQ +inN exw xMq psb @@ -181449,22 +181482,22 @@ xMq xMq xMq sBy -nxN -uGS -biW +azI +kSj +lyf sBy -kda -faF -faF -ybs -ama +eFf +quJ +quJ +wGQ +nBZ exw -gTy -icj -eWN -xle +tie +rxV +hjw +xFT exw -aqk +bor exw psb psb @@ -181476,7 +181509,7 @@ scw btU xUf syW -xup +jmJ hVX xUf eXH @@ -181707,23 +181740,23 @@ xMq qMT qMT qMT -sLv +qon qMT qMT -lDs -faF -faF -rrg -ama +rZP +quJ +quJ +jZc +nBZ exw -ecQ -xBz -vDz -ecQ +tec +phr +aTk +tec exw -hsP -nky -bNO +mxY +xOd +ubi psb xMq xMq @@ -181731,7 +181764,7 @@ iDt iDt iDt ioK -kkq +vtW bja jvw jvw @@ -181962,24 +181995,24 @@ thA xMq xMq qMT -mnt -vGP -oRr -wDZ -xcJ -lDs -faF -jMC +jlv +emw +rqG +bOZ +gGS +rZP +quJ +imI qMT exw exw -whi -qoL -lkf -udH +pLu +tnJ +dJF +rzq exw exw -qjc +bpa psb psb xMq @@ -181988,9 +182021,9 @@ iDt iDt iDt ioK -qbR +jEA bja -ssZ +rlA jvw bja kRH @@ -182219,35 +182252,35 @@ xMq xMq xMq qMT -puo -lOy -wGq -jrM -hrT -geO -vFj -nZy -qJx +dEc +ygy +nfK +wTl +sWS +ydv +aBj +sLm +dTx exw -hwq -lyd -nIb -dDb -usF -flM +jbB +qfI +kcw +mXW +gAw +ktq exw -kNT -bNO +phl +ubi psb xMq xMq -lkx +nfG xMq xMq btU btU btU -cKp +qbG ako hjM hjM @@ -182463,7 +182496,7 @@ tjo tjo tjo tjo -ehI +luR iDt tjo thA @@ -182476,25 +182509,25 @@ xMq xMq xMq qMT -vEX -cEK -kqv -cEK -xcJ -geO -bEO -fSq -kZw -oDu -luc -xrD -sVU -sVU -pXQ -vzz +izU +nYN +iDK +nYN +gGS +ydv +oru +dtc +sXU +rbU +nLd +nLa +gnE +gnE +qHs +wIx exw -kNT -gVa +phl +cem psb xMq xMq @@ -182504,7 +182537,7 @@ xMq btU kCR btU -xMb +ocp dYr nxM dTm @@ -182720,7 +182753,7 @@ tjo tjo tjo tjo -fUk +nlA iDt tjo thA @@ -182734,23 +182767,23 @@ qMT qMT qMT qMT -sXE -hJL -bMs -fGL -lDs -hyx -vSe -tCY -oDu -luc -jJr -sVU -sVU -fjN -okP +kJG +eeY +ipg +mlN +rZP +lyU +pMh +aAy +rbU +nLd +ivp +gnE +gnE +kPh +dZL exw -kNT +phl fuH psb fuH @@ -182761,7 +182794,7 @@ btU btU sGf lca -sUg +uTf dYr nxM nxM @@ -182988,26 +183021,26 @@ thA thA xMq qMT -xPD -dsa -vtb -kXC -xmV -gqb -lDs -eXW -bEO -aEd -qFN +jFY +wVI +aVJ +keM +ePZ +mRv +rZP +qal +oru +vXM +gYk exw -cAm -ylj -jyD -unY -cKz -lrq +pSX +rdv +gNw +aUq +aIA +hfY exw -kNT +phl fuH psb fuH @@ -183245,26 +183278,26 @@ thA thA xMq qMT -hug -pic -faF -cFQ -vFj -lgs -vCI -lgs -jIU -uNL +jkN +qeW +quJ +mxh +aBj +klJ +ruQ +klJ +sgz +rlE jre jre jre -moP -rls -jHL -wWn +oac +sGn +hpK +cNL exw exw -qjc +bpa psb psb fuH @@ -183300,7 +183333,7 @@ scw ilN vIZ nxM -cRZ +bPk kmM sYU iio @@ -183491,7 +183524,7 @@ iDt iDt iDt iDt -gtx +pOl tjo tjo tjo @@ -183502,27 +183535,27 @@ thA thA xMq qMT -jAa -dQh -aDA -gTX -eKO -pgx -nSs -mSc -xHP +bcf +vEC +lvv +efS +aXu +gPB +hEV +djl +bOn jre jre -vMF +igu jre jre jre -xiG +fWd jre jre fuH -kNT -bNO +phl +ubi psb fuH fuH @@ -183746,9 +183779,9 @@ iDt tjo iDt iDt -gtx +pOl iDt -anE +edM tjo tjo tjo @@ -183760,26 +183793,26 @@ thA xMq jre jre -jPE +dvZ jre jre -uGn -vZQ -bQY -emO +ydG +qfr +oVr +hFj jre jre -puW -ohl -qSy -qSy -lqC -nOM -mEW +nla +qhV +rhS +rhS +int +kWG +xEP jre -chU -kNT -aOi +pJq +phl +bdX psb fuH fuH @@ -183997,7 +184030,7 @@ tjo tjo tjo tjo -gtx +pOl iDt tjo tjo @@ -184017,26 +184050,26 @@ thA xMq xMq jre -thd -olq +uBD +lcm jre jre -hxX -hxX +jNe +jNe jre jre -puW -jbi -kjM -xeV -puW -wLa -uhR +nla +vkO +pjk +eqk +nla +ukt +acG jre jre -bxw -kNT -svz +gSU +phl +hvi psb fuH fuH @@ -184274,25 +184307,25 @@ thA xMq xMq jre -bSu -xVL +sJu +fWE tjs -hNa -hNa -qSy -qSy -csM -vjH -kCL +qFD +qFD +rhS +rhS +wQx +vHe +dZC jre -rOj +vBt jre jre jre jre -inm -inm -qjc +drw +drw +bpa psb psb fuH @@ -184519,7 +184552,7 @@ iDt iDt iDt iDt -gtx +pOl tjo tjo tjo @@ -184531,25 +184564,25 @@ xMq xMq xMq jre -rDh -iaO -gIa -ojR -vuL -sAd -ktH -pKD -egJ +nIY +jwf +cdO +ply +gEt +gwb +tOC +ubp +mUW jre jre -kpW -cHJ -pDK -bBu -bck +vKT +rng +qjd +vyy +oRf fwB -inm -qRo +drw +nbl psb fuH fuH @@ -184790,7 +184823,7 @@ jre jre jre jre -mZR +iRS jre jre jre @@ -184798,15 +184831,15 @@ jre jre jre jre -ltK -xwZ -bju -gKs -skN -skN -gKs -cNf -woi +bvc +rXB +udR +tkY +liv +liv +tkY +jKL +rpJ psb fuH fuH @@ -184834,7 +184867,7 @@ ffQ xDb clI iDt -uCY +pco iDt xMq xMq @@ -185044,26 +185077,26 @@ xMq xMq jre jre -iNh -hXD -pzv +uye +ohk +aAk nNe -bLS -uLl +xHv +qbY jre -pMo -xoA -qps -hIl +nmi +aoi +ssm +fpt mQk -iBq +qKw mQk fwB fwB fwB fwB -inm -lvz +drw +qEh psb fuH fuH @@ -185300,27 +185333,27 @@ thA xMq xMq jre -vjf -uBu +iDB +mPQ wSs -qsE -czC -fPU -puW +kfk +wjR +fMu +nla jre -vCw -ipI -mRm +nMC +fpm +kBO jBB mQk -ibb +lEn mQk mQk fwB -cEH +nRy fwB -inm -hWj +drw +cQV psb psb fuH @@ -185380,7 +185413,7 @@ bWK bWK neu hjR -wWl +vNM iDt iDt iDt @@ -185557,28 +185590,28 @@ thA xMq xMq jre -nko -lPo -puW -kEr -hHH -vPd -puW +wEq +ezd +nla +uxU +bRx +ayY +nla jre -ygR -nUM -mkS +lHr +fQs +xOi mQk mQk -gSi +riM mQk -gvO -rKz -hqG +fLa +eaM +cqs fwB -inm -bya -sbG +drw +xxo +gcB psb fuH fuH @@ -185598,7 +185631,7 @@ cDb vEJ wGX oQY -mad +hrZ wsF jUB jUB @@ -185805,7 +185838,7 @@ tjo tjo tjo iDt -gtx +pOl iDt iDt thA @@ -185814,28 +185847,28 @@ thA xMq xMq jre -oyo -rlE -puW -tZQ +mMI +cBJ +nla +kRj nNe -rjf -wdp +ovZ +pGg jre -ygR -vIn -ykc -glA +lHr +njz +qYC +qOB mQk -iNV -wrw -cln -iuX -qPE +bLf +hAS +lJc +xbB +gxz fwB -inm -bya -gVa +drw +xxo +cem psb fuH fuH @@ -186072,26 +186105,26 @@ xMq xMq jre jre -nqO -nly -pzv +xnf +rdq +aAk nNe -cZI -nyj +hnK +rXY jre jre -dhd +tWY jre jre jre -rmH +twS jre jre jre jre -inm -inm -bya +drw +drw +xxo fuH psb fuH @@ -186332,23 +186365,23 @@ jre jre jre jre -hUE +udf jre jre jre -kap -pSj +wOC +oYC wSs -puW -dCv -wok -puW +nla +cSO +hYt +nla wSs -jaC +tes jre jre jre -rJx +kFF jre jre fuH @@ -186369,7 +186402,7 @@ uCe xKe dRz pwn -bLX +cMh aru rqY tAg @@ -186588,23 +186621,23 @@ xMq xMq xMq jre -vMF -hTv -jDH -eou -eou -cHa +igu +kvT +pZO +jHL +jHL +jSp jre -hxX +jNe jre -tiv +tSO jre dQN jre -ixJ +cpO jre -gIB -izm +gVs +hGg wSs vTp jre @@ -186627,7 +186660,7 @@ lzX dRz jUB cAM -hzf +nNB qkB vqH xDb @@ -186640,7 +186673,7 @@ thA thA thA thA -lkx +nfG gjq gjq alM @@ -186846,20 +186879,20 @@ xMq xMq jre jre -iwZ +kUW jre -aGz +eet dQN -apQ +kEr jre rYT -fXT -aqg +sOX +aGk jre -nqA +jhu jre -cGT -gYb +mza +awF wSs wSs wSs @@ -186904,7 +186937,7 @@ wCo oxO wCo eJf -lkx +nfG upH cYi qqh @@ -187107,19 +187140,19 @@ uiv jre jre jre -uwP -eaH -tnn +bzX +vpJ +gOd oTx -cUP +hIE jre vFg jre jre jre -ilI +vyN jre -iwZ +kUW jre jre fuH @@ -187360,19 +187393,19 @@ thA xMq xMq jre -dJm +dla jre xMq jre -evB +gFt jre lvF -gUE +vUn lvF jre -fqY +aLh djH -hXj +uGY jre jre jre @@ -187616,7 +187649,7 @@ thA iDt rcY scw -reL +uNG aIB tiY xMq @@ -187633,7 +187666,7 @@ hMw jre xMq jre -dJm +dla jre iDt thA @@ -187872,7 +187905,7 @@ iDt iDt iDt rcY -ehI +luR scw scw iDt @@ -187892,7 +187925,7 @@ xMq tiY aIB dhH -oLd +grg iDt thA thA @@ -188128,7 +188161,7 @@ iDt iDt iDt iDt -vqE +tHF scw iDt scw @@ -188908,7 +188941,7 @@ iDt iDt iDt iDt -gtx +pOl iDt iDt iDt @@ -189417,9 +189450,9 @@ rcY iDt scw iDt -dIR +jmo keA -vOq +vQz iDt iDt scw @@ -189675,7 +189708,7 @@ iDt iDt iDt tBs -lVz +dGZ tBs iDt iDt @@ -190189,7 +190222,7 @@ tBs tBs tBs tBs -fpw +rHR tBs tBs tBs @@ -190441,7 +190474,7 @@ xMq tBs pwv sAu -fct +rqn tBs nHQ oik @@ -190458,7 +190491,7 @@ ebB efM pgo rcY -cMK +rSQ scw iDt iDt @@ -190974,9 +191007,9 @@ awy rcY iDt iDt -dBP +svz keA -fLL +ddv iDt iDt iDt @@ -191232,7 +191265,7 @@ qau iDt xMq wrX -kIp +efN xCj xMq thA @@ -191240,7 +191273,7 @@ thA iDt scw iDt -ptZ +vYN xMq iDt iDt @@ -191746,7 +191779,7 @@ wrX wrX wrX wrX -pOe +pSP wrX wrX xMq @@ -192279,7 +192312,7 @@ iDt iDt iDt iDt -lkx +nfG alM alM alM @@ -192793,7 +192826,7 @@ xMq iDt iDt iDt -lkx +nfG alM alM alM @@ -218109,7 +218142,7 @@ wNO wNO wNO wNO -tpt +aaX vbG hHG hHG @@ -218366,7 +218399,7 @@ wNO wNO wNO wNO -cIL +fhB vbG hHG hHG @@ -218625,8 +218658,8 @@ wNO bln bln bln -cIH -cIH +xDQ +xDQ bln wNO wNO @@ -218711,11 +218744,11 @@ wNO wNO wNO bln -aKC +gnZ bln hcw lSu -aKC +gnZ bln wNO wNO @@ -218727,11 +218760,11 @@ wNO wNO wNO bln -aKC +gnZ lSu weW bln -aKC +gnZ bln bln bln @@ -218882,8 +218915,8 @@ wNO bln bln bln -nao -nao +rPp +rPp bln wNO wNO @@ -219745,7 +219778,7 @@ tqR sEB fUR lSu -aKC +gnZ jNZ sEB sEB @@ -219753,7 +219786,7 @@ sEB sEB sEB rzO -aKC +gnZ lSu fUR sEB @@ -220283,7 +220316,7 @@ bln bln bln bln -aKC +gnZ bln bln bln @@ -220295,7 +220328,7 @@ aBR aBR aBR aBR -aKC +gnZ aBR aBR aBR @@ -220546,7 +220579,7 @@ bln bln bln lSu -aKC +gnZ aBR aBR aBR @@ -220764,9 +220797,9 @@ bln bln bln bln -aKC +gnZ lSu -lBm +fBN fUR irX kyg @@ -222094,7 +222127,7 @@ bln bln bln bln -aKC +gnZ aBR aBR aBR @@ -223624,19 +223657,19 @@ fUR bln uer bln -aKC +gnZ lSu bln bln bln lSu -aKC +gnZ bln bln bln bln bln -aKC +gnZ aBR aBR aBR @@ -227481,15 +227514,15 @@ tKI lSu bln bln -aKC +gnZ bln bln bln -aKC +gnZ bln bln bln -aKC +gnZ bln bln bln @@ -228517,7 +228550,7 @@ lSu lSu lSu bln -aKC +gnZ bln bln bln @@ -229545,7 +229578,7 @@ bNo maT sEB bln -aKC +gnZ bln bln bln @@ -233070,7 +233103,7 @@ tGr bln bln bln -aKC +gnZ bln tGr tGr @@ -234095,7 +234128,7 @@ tGr miY bln bln -aKC +gnZ mZf bln lSu @@ -235893,7 +235926,7 @@ tGr tGr bln jNZ -aKC +gnZ jNZ bln ntK @@ -237192,7 +237225,7 @@ ooL tDg tDg oFI -aKC +gnZ sgW akQ lSu @@ -237452,10 +237485,10 @@ kyy cJi abb oFI -aKC +gnZ abb oFI -aKC +gnZ abb oFI rzG @@ -239280,9 +239313,9 @@ ntK mQb bln jII -cPF -gtX -sIq +gMx +lsH +jJr qWZ qWZ qWZ @@ -239546,7 +239579,7 @@ grA fwQ nOH gxU -gZq +jJR ybv ybv ybv @@ -240298,11 +240331,11 @@ pfe aeQ mdX pfe -erD -kxj -fOm -sfQ -qyd +ktK +fGr +olt +qSP +eSm pfe pfe jII @@ -240554,7 +240587,7 @@ fEC gMK fng rHc -rwV +oOt uog vVY uog @@ -240562,7 +240595,7 @@ uog nfU bzI uog -seo +qzU mny dnq wmK @@ -240811,7 +240844,7 @@ vDb vvh vPC pvm -isE +tJZ cvC kQc iYG @@ -240819,7 +240852,7 @@ kQc kOV kQc kQc -kXX +kkr gOy gOy fKF @@ -241068,7 +241101,7 @@ eEZ nUJ qbA csB -wbK +stB tny dLo fBF @@ -241076,7 +241109,7 @@ xUU wYZ aKI xUU -kuH +avd qJV vBh fiE @@ -242364,9 +242397,9 @@ vXU drZ yfF jII -cPF -wHP -sIq +gMx +oas +jJr qWZ qWZ qWZ @@ -242614,14 +242647,14 @@ ygB mJO oCF ygB -ivY +bLa oCF ygB lBD jII jII jII -taC +ifd xwC utR pAZ @@ -242872,13 +242905,13 @@ ygB lOz ygB ygB -mMh +oTh ygB fEZ ygB -tVD -fkp -wFU +hXm +fZO +uLR sNI bUH pAZ @@ -243130,12 +243163,12 @@ rMN alO alO qCI -asG +xKT alO -lAa -ycd -ycd -vsl +qhF +kVj +kVj +qsY xwC kKX pAZ @@ -243389,7 +243422,7 @@ iPm iPm iPm iPm -jwV +mVW hay cfr dct @@ -243644,12 +243677,12 @@ wVD uja uja uja -qRG +bsn uja uja uja uja -fGZ +vdO vrX utR pAZ @@ -243900,13 +243933,13 @@ qIU keL uja jHG -fDm +yjF vVw -fDm +yjF qSh rKS uja -kTc +jcy iuv utR pAZ @@ -244156,11 +244189,11 @@ asa kCu gHj uja -oWw -voF -lyQ -dRl -hvP +sfD +gjT +szK +upx +uOy hsB uja ise @@ -244414,7 +244447,7 @@ urd xTU uja aty -voF +gjT uja uja uja @@ -244653,13 +244686,13 @@ lbk sDl sDl skl -ggw +yhL deY skl gDz xlH kbN -snf +dym skl ygB ygB @@ -244671,25 +244704,25 @@ maB fpa uja oiz -voF +gjT uja kDz -qpY +xVc twU uja -vxW -iuv -dnq -mny -mny -mny -mny -mny -wVR +bvu +jCz +vBh +hGI +hGI +hGI +hGI +hGI +uWx mfW -neU +toT mfW -vqL +aeF eta brp mfW @@ -244924,18 +244957,18 @@ ygB ybE eKJ ulk -uDz +rgM uja uja uja -vUJ +jnh uja uja uja hsB uja -duT -lyh +uuh +uaI iuv vrX iuv @@ -244944,7 +244977,7 @@ iuv iuv iuv vrX -rhv +maX iuv xNF ylU @@ -245181,28 +245214,28 @@ ipx seH lvY mmA -rsI +apC uja vmp vmp -mAr +uNp uja oUO -ivp +hxB xWG uja kyL -ail +mPu kyL kyL -tPE -mEC -tvg -ers -mEC -mEC -fDT -vzR +jnU +rbh +kZm +njM +rbh +rbh +qPD +jIY dKW ylU lDo @@ -245425,11 +245458,11 @@ bln fsm bUx cCC -mma +wph fnS skl -wlv -qGM +qpU +xsm jOQ skl pOo @@ -245437,20 +245470,20 @@ piC ygB fXo aos -qwI -wki -duQ -dKY -egi -bUs +cUH +rfW +beF +vme +lrE +gUw uja uja uja hsB uja mdZ -wZI -xKu +vqn +lEb mdZ exw hmb @@ -245460,9 +245493,9 @@ hmb hmb exw tLF -eiE -ilu -eiE +gIf +dBA +gIf azw azw mao @@ -245681,20 +245714,20 @@ bUx bUx bUx bUx -mQz -ale +maM +aXx fnS skl -fke -vkI -fag +eoV +npZ +qQV skl gmW gmW gmW ltV -bzX -fnp +tip +gxT ltV uja mqy @@ -245702,21 +245735,21 @@ mqy tUn uja jlP -hLu +azt twU uja -ayd -xbY -gfa -uwv -qBz -ngr -axM -aWs -gfn -beG -nVE -mhy +eUC +olP +nvw +nPS +eav +bBa +iiB +ycE +iuE +gWl +hKn +lHi lso dEV bai @@ -245860,7 +245893,7 @@ wNO wNO wNO bln -tpt +aaX vbG tkU tkU @@ -245932,7 +245965,7 @@ fhu bLI ykw skl -oFo +blX deY skl kQE @@ -245943,15 +245976,15 @@ skl hDV skl byP -oFo -hBq -fEE -hnG -lmd -mKE -sFK -kOY -tAG +blX +eHX +ceU +bZU +efU +qfJ +seB +mcT +xwL bVI uja uja @@ -245962,18 +245995,18 @@ uja uja uja uja -fDS -kaq -pce -pAX -rYd -dhm -kMn -bWz -ioI -ppj -hSw -mhy +scG +iGT +hJS +jMJ +nyj +fju +lvy +fLG +nxc +lgb +xre +lHi lso dEV bai @@ -246117,7 +246150,7 @@ wNO wNO wNO bln -cIL +fhB vbG tkU tkU @@ -246189,18 +246222,18 @@ ekW vRN fEA uHF -uqE -uqE +jyE +jyE qdK eqq -oVc +ejY eqq eqq eqq eqq -kYO +mkM eqq -mWy +fjO qvh skl erH @@ -246209,28 +246242,28 @@ vfW vfW mZK lvk -khj -awh +qiG +czo kKL -riE +rDI kKL -mMG -elV -ikJ +uUw +cmK +css rxY -peq -eFZ -fwG -rgp +cQp +jBM +pSS +sHi shh -uyo +tjA xgy xgy -lYp -ioI -ppj -nKv -njl +ffr +nxc +lgb +uSE +hyQ lso dEV kHI @@ -246445,49 +246478,49 @@ aML iLv hSJ ykw -prG -kUw -oFo -tAv -oFo -woQ +fNz +wSc +blX +jee +blX +oCw fhz -oFo +blX fhz -oyO +acg byP mOf -rhq +aYO mOf skl -lXf +nJq eOl -mTu -fWg -fWg -pgC -dEd -nsm +uOe +day +day +sRc +lPQ +szt kKL kKL kKL -ykT -ptD -noD +csZ +oPr +qGh rxY -hnr -fCy -pat -nMG -xTT +rra +iFz +cGq +ktY +gMi mpU -svQ +hbL xgy -qqI -nRS -nlm -bYj -mhy +ivC +rRs +jik +lJW +lHi lso dEV bai @@ -246707,47 +246740,47 @@ rFP rFP skl skl -rBF -tdj +utW +kiI skl -oFo -kSJ +blX +tAt skl -bQa +qMD cQx -bQa +qMD skl eDy vfW -bnR +qrM nUj mpH -mTF -ggm -lhL +skQ +fyL +kcs kKL -hRQ -pCw -hxy -jBl -jAE +igH +yhV +dCV +gyP +utG rxY -uzD -wZO +bzF +dXR mdZ mdZ mdZ exw exw exw -lwc +kXS exw exw exw tLF cwh dEV -mQm +whg azw eub eyc @@ -246964,44 +246997,44 @@ bln lBD bln skl -lCX +rWA skl skl -gWA -ldE +gZV +ePd skl -vtP -iCk -eyv +nSX +fgz +cnS skl cVa vfW -eEu +xqP iay dCF -mTF -shp -nIH +skQ +fYX +pYD kKL -ajS +ddR kKL kKL -rxd -ofv +jZJ +pKo rxY fzK -wsr +wPe fzK jRA -kxh -gRO -gAc -ycu -nIU -eTz +rMm +sCX +sPS +vvn +xsy +wBr lEO -qyb -axh +wqt +jae lso kjK bai @@ -247221,43 +247254,43 @@ ntK mQb bln skl -eVx -ioT +bkM +oWV skl -tAI +lzc jPv -fHp -aXn -tAI -xDN +osN +pfy +lzc +lZP skl -cPs +aEx vfW -tPI -agl -agl -ive -dEd -aba +cWz +cCe +cCe +kkb +lPQ +fsO kKL -ycG -cle +uLZ +jyN kKL -wTM -xlj -enH -aQH -oZX +mTL +uiV +ixp +edO +hjO fzK jRA jRA -liP -ycU -vWq -lRj -saK -fre -cfN +ptv +iBM +vYp +fWW +mMZ +bid +nzt lso lCi dEV @@ -247476,46 +247509,46 @@ bln bln bln bln -lia +gDh skl -vkh +tSd skl skl -mkt +koj deY -fHp -kSl -iFv -xjn +osN +hrd +vOd +mnn skl -bwE +ruX vfW eOl vfW vfW lvk -kVO -dpF -gYq -tDR -vbT +jiU +qVG +wpm +nBO +qPQ kKL kKL -fet +llm rxY -pgi -ofN -cnI -byG -uwG -rZi -ycU -tNt -wXr -wZM +gFW +rrL +riB +nxj +gDY +crO +iBM +fVh +qlS +qSU hSq -ran -ran +pdC +pdC vwO hHg jyp @@ -247734,46 +247767,46 @@ bln bln bln bln -lBx +aHh ooL skl -uaZ +lsh deY deY skl -cdv -lBE -xMI +edt +hqv +wHK skl -pmL +mOH uRo uRo uRo nCu cZt cZt -hFE +qtG kKL lli uar gAt kKL -vRX +nxw fzK -rum -pPS -nWI -olB -usa -jns -lvU -kaI -bXZ -lvU +kQx +poV +ahh +ezk +dzD +fwi +tsu +bpv +hLy +tsu lEO -gva -vnn -vmW +far +cql +gVh dEV bai azw @@ -247994,9 +248027,9 @@ bln bln bln skl -jOC +fpF deY -dlV +hJF skl skl skl @@ -248004,35 +248037,35 @@ gmW gmW dGO dGO -vlH +tEs dGO dGO -vlH +tEs dGO dGO gmW gmW -qtJ -bSC +tpZ +mGF kKL -hcJ -kkM -kkM -eFN -moz -moz -fCz -liP -ycU -kRq -fTM -fbp +mcQ +gNc +gNc +oPd +qhQ +qhQ +wGm +ptv +iBM +cxT +nFQ +iEY ptO -aKg -vnn -dxX +wBa +cql +fqX dEV -xUC +kIK azw pxV oQD @@ -248249,11 +248282,11 @@ bln fsm bln uer -gmd +yjo skl skl -vxb -vxb +qiL +qiL skl fsm tlH @@ -248269,27 +248302,27 @@ knl knl knl gmW -rwc -oCW +ijw +bRO kKL -pzJ -pmc -ceA -eSU -nrJ -xdI -fCz -liP -ycU -mnB -fTM -fPe +vto +kVo +jrv +qJy +iew +pqZ +wGm +ptv +iBM +fXF +nFQ +jxr izC -jpk -dyb -vmW +tNH +vbI +gVh kjK -edW +arZ azw mwF sbc @@ -248509,8 +248542,8 @@ stJ bln bln skl -uxi -vcW +qjn +iRa skl tlH tlH @@ -248526,25 +248559,25 @@ knl knl knl dGO -trQ -fDG +ksR +rEH kKL -jQu -lDt -nFE -tvf -nrJ -moz -fCz -jns -lvU -dPE -kLA -lvU +giH +qiA +uiq +iPP +iew +qhQ +wGm +fwi +tsu +tZo +cxD +tsu lEO -xrw -dyb -vmW +szj +vbI +gVh dEV bai hgh @@ -248690,7 +248723,7 @@ bln bln lBD bln -emJ +rST bln bln qRv @@ -248700,7 +248733,7 @@ hHG wNO wNO wNO -fpv +khz wNO wNO wNO @@ -248765,10 +248798,10 @@ bln bln bln bln -ptl -vcW -vcW -ptl +gbM +iRa +iRa +gbM tlH tlH dGO @@ -248784,28 +248817,28 @@ knl knl dGO uar -rvI +bXb kKL -vEI -mTV -wHV -uCT -nrJ -fAu -fCz -liP -ycU -gLE -lid -uKQ -wMs -eqZ -eqZ -ext -uuN +xFz +jFu +qRF +tbE +iew +kea +wGm +ptv +iBM +gkH +rji +oqB +oNN +kGD +kGD +rbE +woX jyp hgh -oll +qit xxg nDl uau @@ -248951,10 +248984,10 @@ lBD bln bln bln -cIH -cIH +xDQ +xDQ bln -fpv +khz wNO wNO wNO @@ -249022,10 +249055,10 @@ bln bln tlH tlH -ptl -vcW -vcW -ptl +gbM +iRa +iRa +gbM tlH tlH dGO @@ -249041,28 +249074,28 @@ knl knl dGO uar -iQi +wla kKL -oOT -oZG -drV -eSU -nrJ -erW -fCz -liP -ycU -lJh -rZq -mNz -biC -sgy +eTT +ohP +kqo +qJy +iew +sBY +wGm +ptv +iBM +dpw +qMS +oVn +cKp +hKL lso -jkj +jqZ dEV bai xjg -aJJ +wiO mnF lKZ xGh @@ -249208,8 +249241,8 @@ lBD bln lBD bln -oEn -oEn +wUD +wUD bln wNO wNO @@ -249279,10 +249312,10 @@ bln tlH tlH tlH -lgG -vaH -vcW -ptl +uUq +gHL +iRa +gbM tlH tlH gmW @@ -249297,24 +249330,24 @@ knl knl hNx gmW -diY +sDM gAt kKL -ohv -ney -ney -xNM -moz -moz -fCz -hkH -fpg -hUv -njG -pQB +xcO +fco +fco +gua +qhQ +qhQ +wGm +xtH +xKq +umc +aGf +rvO lEO -otU -oSh +uLJ +reX mqq vSa fuY @@ -249465,8 +249498,8 @@ bln bln lBD lBD -oEn -oEn +wUD +wUD bln wNO wNO @@ -249536,10 +249569,10 @@ bln tlH tlH tlH -lgG -vaH -vaH -lgG +uUq +gHL +gHL +uUq tlH tlH dGO @@ -249554,25 +249587,25 @@ aBf knl knl dGO -ggO -fFs +gdK +qgT kKL kKL kKL -teM -pUt -jiQ -guW -wLN -tIy -jTQ -sLd -uVB -sss +kVq +pgv +uGe +byO +qMI +pba +ion +sft +pNi +eVi izC izC tLF -jnW +jgd qEM lso dCs @@ -249722,8 +249755,8 @@ lBD lBD bln bln -oEn -oEn +wUD +wUD bln wNO wNO @@ -249793,10 +249826,10 @@ bln bln tlH bln -lgG -vaH -vaH -lgG +uUq +gHL +gHL +uUq tlH tlH dGO @@ -249813,22 +249846,22 @@ knl dGO uar lli -uqx -prP +dwq +any kKL -eGp -sfR +vSu +iUi fzK -vWn -kkC -yiq -yiq -yiq -dWc -lYE -xqM +orZ +gVX +dSs +dSs +dSs +iCS +vVA +gYN izC -qeM +gdO lso vwO lso @@ -249979,8 +250012,8 @@ bln lBD bln bln -nao -nao +rPp +rPp bln wNO wNO @@ -250051,8 +250084,8 @@ bln bln bln kKL -nqi -vaH +oEC +gHL kKL tlH tlH @@ -250068,25 +250101,25 @@ knl knl knl dGO -iwG +xPf lRs tml kKL kKL -wdT -tQa +aft +jsR cpY cpY -cBt -vTa -nIW -eRG -vTa -peJ -fVz +rEY +xWI +wuc +qod +xWI +pLo +cGI cpY tLF -odu +ivJ vwO pxn xjg @@ -250235,14 +250268,14 @@ lBD bln bln bln -aTx +kPS hHG hHG hHG -fpv +khz wNO wNO -fpv +khz wNO wNO wNO @@ -250305,11 +250338,11 @@ wNO bln bln fsm -gmd +yjo kKL kKL -naJ -naJ +odZ +odZ kKL tlH tlH @@ -250326,26 +250359,26 @@ knl knl gmW uar -xRn -rQC +hNK +bfy kKL -jYY -kjX -lJq +pOC +ncc +syd cpY -rsm -vlR -vlR -vlR -vlR -vlR -vlR -vSn +gDB +sJg +sJg +sJg +sJg +sJg +sJg +kqP cpY lkr lso vwO -wII +nCz nKa dqO icA @@ -250564,9 +250597,9 @@ bln efv bln kKL -uGW +xIh lli -hIt +eEr kKL kKL kKL @@ -250574,35 +250607,35 @@ gmW gmW gmW gmW -vlH +tEs dGO dGO -vlH +tEs gmW gmW gmW gmW -leK -lJK -peg -nhi -uTm -lBW -iAm +kav +lCO +oEe +omS +mTA +nbO +hxY cpY -gCl -ivK +aMI +arW fkk fkk fkk fkk -wrG -iJT -ahW -eyG +spj +pBS +vrw +jlT lso vwO -raZ +dKf nKa kyW wKe @@ -250822,41 +250855,41 @@ gsK kKU kKL cvF -otb +xUt lli kKL -sDe +gDL iyY tlH -fte +vww tlH dGO iyg hHq -tUt -lBG +aNj +xTI gmW -pPI -vvA +abm +qyZ kKL -qij -fZI +emF +pwz kKL kKL -hcV -eej -ati -sbz -lcq -xqV -oXV +vfw +xqa +rAx +skH +cdX +sHs +xQS xbn -nhY -uwi +tnz +gcf gtw -qEq -ahW -rkj +iZD +vrw +sLy lso qEM pJC @@ -251060,60 +251093,60 @@ wNO wNO wNO wNO -esJ -sKs -sKs -hCq -dfv -ihq -sKs -hCq -sKs -sKs -sKs -hCq -sKs -sKs -lPd +reu +jas +jas +bYx +hzw +ike +jas +bYx +jas +jas +jas +bYx +jas +jas +cQE kKL -pan +aPP kKL kKL -dLZ -szB -vXk -tQe +xea +isj +gBs +lyv iyY tlH tlH tlH dGO -lXC +ubK uRo -tUt -oMj +aNj +udA gmW -wPo -pfE +gAG +wWB kKL -jdZ -lgR +ddJ +rbp kKL -iRS -jsK -hJg -hJg -sMI -khi -uUG -lqi +eGg +dSY +vlz +vlz +nvc +hXD +mMi +xnc gtw -gYy -vhn +dpa +vlU gtw -qEq -ahW -jDB +iZD +vrw +krE lso cbs nGA @@ -251317,7 +251350,7 @@ wNO wNO wNO wNO -yhH +ngh bln bln bln @@ -251333,44 +251366,44 @@ bln bln bln kKL -cWr -cpy +aXv +bSi kKL -wAI +acm tDy kKL -pUY +tts iyY tlH tlH tlH dGO -qya +nOI uRo -tUt -ivE +aNj +xBS gmW -iaf +akb xQU kKL kKL -bUc +qDk kKL -nfe -ddB -mxP -hJg -jLK -oWb -rKR -tyg -tyg +gmt +cgd +kKn +vlz +lMe +gbC +vAW +cki +cki gtw gtw aHZ -dac -ahW -eyG +qWf +vrw +jlT lso qEM xwz @@ -251574,7 +251607,7 @@ wNO wNO wNO wNO -yhH +ngh bln uei tmR @@ -251590,11 +251623,11 @@ uei bln bln kKL -pan +aPP kKL kKL -pEC -naD +jRt +fTn kKL kKL kKL @@ -251604,30 +251637,30 @@ mMb kKL kKL iyY -dze +fvm kKL kKL kKL rCf -lFP +hlt kKL -bOB +iqA kKL kKL -kMd +tUm kKL kKL cpY -wXD -bPq -upW -mfK -rKb -qFT -dCB -xJb +nvh +hDu +eLv +nbI +oaJ +rqQ +fhS +pAn cpY -xzQ +bao lso brj mbk @@ -251831,7 +251864,7 @@ wNO wNO wNO wNO -tmZ +vHT bln uei tmR @@ -251847,47 +251880,47 @@ uei bln bln mMb -ksk -wFS -rod -rod +hAW +jVm +sON +sON lRZ lRZ -eXr +ygP lRZ -pHf +wco lRZ lRZ -pHf -tvq +wco +leP lRZ lRZ -cgo -tre +rmR +vXm bMF -tDF -twY +pns +uMj kKL -otb -aDQ +xUt +fKk kKL -vex +xOE kKL kKL kKL kKL kKL kKL -eoU +nXs kKL kKL kKL kKL kKL kKL -woB -raS -woB +oFB +opH +oFB vBG rMS pKw @@ -252088,7 +252121,7 @@ wNO wNO wNO wNO -yhH +ngh bln uei tmR @@ -252105,42 +252138,42 @@ bln bln kKL kKL -oXO -dTN -vuV -kVz -dZr +tOe +rkm +fEY +nDm +kda kKL -otb -otb +xUt +xUt lli -otb +xUt lli kKL -bcG +tbK ssM lli -pEC +jRt kKL kKL kKL kKL lli -otb +xUt lli -qrt -dMh -rSp -tqA -oZo -tTS +vYY +imk +feV +sus +tIL +nVO kKL tvZ kKL -lUO -fki -vrE -uhO +vEh +nTP +kbu +bcu kKL lso vwO @@ -252345,7 +252378,7 @@ wNO wNO wNO wNO -yhH +ngh bln uei tmR @@ -252368,8 +252401,8 @@ mMb kKL kKL kKL -jpf -tfB +qUo +pjM nLY lli gAt @@ -252377,27 +252410,27 @@ kKL lIC lRZ pQa -lXb -dcp +eDD +nhv lli -dqe -yhF -cpD +pAW +jYI +mmf lli -oOJ +uWf xWM -khs +brC kKL nqn lHA -fYw +rfj kKL tvZ kKL -kVI -ujn -vjO -nKs +iYY +iIv +dig +pbF kKL rjP qEM @@ -252599,10 +252632,10 @@ wNO wNO wNO wNO -esJ -eSG -eSG -jaf +reu +xog +xog +raq bln uei tmR @@ -252628,33 +252661,33 @@ bxe bxe mHB kKL -isg +gEl kKL kKL aIE lRZ -iDC +cCR lli -dRR -otb -sIe -otb -sIe +mRN +xUt +gEZ +xUt +gEZ lli -sIe -otb +gEZ +xUt unu -faq -kOP -tNL -wFJ +cOQ +vgU +kdw +qpQ kKL tvZ cDw lli lli lli -czH +iXB kKL cwO vwO @@ -252856,7 +252889,7 @@ wNO wNO wNO wNO -yhH +ngh bln bln bln @@ -252881,39 +252914,39 @@ acE acE wtX eqJ -uRP +ktJ oBQ mHB gUY -cgo +rmR lli kKL kKL lRZ -mtl -otb -tDS -auD -ieZ -otb -tDS -oHx -jsc -mmT -xOH -rSp -bjy -boJ -etU +hfG +xUt +tNb +dge +oBJ +xUt +tNb +rNV +hrA +fkq +vIL +feV +lVN +bBn +bIq kKL tvZ kKL -iWm -dYg -elM +xGi +fce +jzR fpA kKL -msy +tXg qEM lso bGT @@ -252973,7 +253006,7 @@ vjZ sZF gar bln -lBm +fBN vYq iAf tUh @@ -253113,7 +253146,7 @@ wNO wNO wNO wNO -nyx +wHr bln cnx tmR @@ -253139,24 +253172,24 @@ kxv fIs kxv jju -vEk +lXC lFG -uwd +rlH gxh gxh gxh kKL gAt -mtl +hfG gAt -otb -pAe +xUt +gPo kKL kKL mMb mMb kKL -tHt +cjh kKL kKL kKL @@ -253370,7 +253403,7 @@ wNO wNO wNO wNO -yhH +ngh bln bln bln @@ -253401,35 +253434,35 @@ pDQ xBL wJM wJM -uwd +rlH kKL dnL -mtl +hfG kKL pVl kKL kKL -vlT +kbp tlH tlH kKL -gmy +diK kKL tlH tlH bln kKL -vQn -xOH -tYf -rxj -bpw +emx +vIL +fOg +kQH +snR asg kKL kdF qGV hUx -gHM +bSC sZF sZF sZF @@ -253487,7 +253520,7 @@ vjZ sZF gar bln -lBm +fBN vYq iAf qPY @@ -253627,10 +253660,10 @@ wNO wNO wNO wNO -mog -sKs -sKs -iTL +dqA +jas +jas +nIe bln uei tmR @@ -253661,7 +253694,7 @@ bqe gxh kKL hOu -mtl +hfG hJx lli fAF @@ -253670,7 +253703,7 @@ kKL mMb mMb kKL -tHt +cjh kKL mMb mMb @@ -253686,7 +253719,7 @@ kKL xcy rvZ hUx -uZd +veq aLX vng gNT @@ -253887,7 +253920,7 @@ wNO wNO wNO wNO -yhH +ngh bln uei tmR @@ -253915,35 +253948,35 @@ cvF lli kKL mwu -uwd +rlH kKL kKL -nBc +gRL kKL jhS tOX kKL -ntO -uGW -iqT +kaI +xIh +wvJ kKL -tHt -vQn -tYf -tYf -tYf -tYf -xwi +cjh +emx +fOg +fOg +fOg +fOg +maw igX igX kKL -eHx +neQ kKL kKL kKL fyZ hUx -uZd +veq sZF eFS sZF @@ -254144,7 +254177,7 @@ wNO wNO wNO wNO -yhH +ngh bln uei tmR @@ -254175,16 +254208,16 @@ qqB gxh kKL weF -mtl +hfG kKL moF cjI kKL pQa -kFj -kFj -tzb -cXb +erq +erq +oPw +srU xWM kKL kKL @@ -254194,13 +254227,13 @@ kKL kKL kKL kKL -voN +nLs aJG sQE hwE hwE cMe -uZd +veq uvt tlP wIg @@ -254401,7 +254434,7 @@ wNO wNO wNO bln -tmZ +vHT bln uei tmR @@ -254432,7 +254465,7 @@ hJx qFW kKL hOu -mtl +hfG hJx mzM hUi @@ -254451,13 +254484,13 @@ jSC bdS dtb hUD -uhu +bOh rvZ lso lso rCu cYE -oXU +tCG idi cZU kBl @@ -254658,7 +254691,7 @@ wNO wNO wNO bln -jxG +vnS bln uei tmR @@ -254689,13 +254722,13 @@ lli gxh kKL kKL -mtl +hfG kKL kKL kKL kKL kIl -nkt +nNI kKL eIk xry @@ -254714,7 +254747,7 @@ rek rek hUx rNQ -oXU +tCG idi aID gky @@ -254915,7 +254948,7 @@ wNO wNO wNO bln -yhH +ngh bln bln bln @@ -254967,11 +255000,11 @@ qMm hUD pyJ lPh -cBX +rBp hUD ebb cYE -oXU +tCG idi aID ddk @@ -255172,28 +255205,28 @@ wNO wNO wNO wNO -mog -sKs -sKs -hCq -sKs -sKs -sKs -hCq -sKs -sKs -hcU -hCq -sKs -sKs -sKs -hCq -sKs -kLN -rLG -hCq -sKs -ihq +dqA +jas +jas +bYx +jas +jas +jas +bYx +jas +jas +wQN +bYx +jas +jas +jas +bYx +jas +nMD +bYr +bYx +jas +ike kKL hTB sRI @@ -255228,7 +255261,7 @@ bzA hUD lso byK -qTE +hMs bRd fqQ wIg @@ -255485,7 +255518,7 @@ vfo hUD lso cYE -cLj +nYY ult bsG wGF @@ -255742,7 +255775,7 @@ cLJ iQQ lso cYE -rVJ +uIS ult wjz tXh @@ -255977,7 +256010,7 @@ tml kKL kLb qpd -ixq +oNy kKL gkP kKL @@ -255999,7 +256032,7 @@ bwl hUD uff cYE -wiy +hXt ult hpC rIU @@ -256256,7 +256289,7 @@ wND iQQ rvZ cYE -rVJ +uIS ult vuq tfM @@ -256511,9 +256544,9 @@ sEi sEi naP hUD -mqA -prw -mqA +jed +iIk +jed ult ult wBk @@ -257271,7 +257304,7 @@ poy poy lNk hUD -mgJ +nbL rGd whC hUD @@ -261284,7 +261317,7 @@ wNO wNO wNO wNO -fpv +khz wNO vbG hHG @@ -261543,14 +261576,14 @@ wNO wNO wNO wNO -aTx +kPS hHG hHG hHG -fpv +khz wNO wNO -fpv +khz wNO wNO wNO @@ -261801,8 +261834,8 @@ wNO wNO bln bln -cIH -cIH +xDQ +xDQ bln bln bln @@ -262058,8 +262091,8 @@ wNO wNO bln bln -oEn -oEn +wUD +wUD bln bln bln @@ -262315,8 +262348,8 @@ wNO wNO bln bln -nao -nao +rPp +rPp bln bln bln @@ -262825,17 +262858,17 @@ wNO wNO wNO wNO -fpv +khz wNO -tpt +aaX vbG hHG hHG hHG -fpv +khz wNO wNO -fpv +khz wNO wNO wNO @@ -263084,7 +263117,7 @@ wNO wNO wNO wNO -cIL +fhB vbG hHG hHG @@ -264458,7 +264491,7 @@ wNO wNO wNO bln -lBm +fBN bln bln bln @@ -264489,7 +264522,7 @@ bln bln bln bln -lBm +fBN bln bln cSx @@ -265743,7 +265776,7 @@ wNO wNO wNO bln -lBm +fBN bln bln bln @@ -265774,7 +265807,7 @@ bln bln bln bln -lBm +fBN bln bln bln @@ -266927,7 +266960,7 @@ wNO wNO wNO wNO -xUu +soY kDs kDs kDs @@ -267028,7 +267061,7 @@ wNO wNO wNO bln -lBm +fBN bln bln bln @@ -267059,7 +267092,7 @@ bln bln bln bln -lBm +fBN bln bln bln @@ -267699,7 +267732,7 @@ wNO wNO tkU tkU -oyR +lgH hHG hHG hHG @@ -268313,7 +268346,7 @@ wNO wNO wNO bln -lBm +fBN bln bln bln @@ -268344,7 +268377,7 @@ bln bln bln bln -lBm +fBN bln bln bln @@ -268470,7 +268503,7 @@ wNO tkU tkU tkU -fNU +rPD hHG hHG hHG @@ -268727,7 +268760,7 @@ wNO tkU tkU tkU -oyR +lgH hHG hHG hHG @@ -269598,7 +269631,7 @@ wNO wNO wNO bln -lBm +fBN bln bln bln @@ -269629,7 +269662,7 @@ bln bln bln bln -lBm +fBN bln bln bln @@ -269644,9 +269677,9 @@ bln bln bln bln -lBm +fBN bln -lBm +fBN bln wNO wNO @@ -270269,7 +270302,7 @@ wNO wNO tkU tkU -oyR +lgH hHG hHG hHG @@ -270883,7 +270916,7 @@ wNO wNO bln bln -lBm +fBN bln bln bln @@ -270914,7 +270947,7 @@ bln bln bln bln -lBm +fBN bln bln wNO @@ -271811,7 +271844,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG @@ -272065,7 +272098,7 @@ wNO (235,1,3) = {" wNO wNO -oyR +lgH wNO wNO bln @@ -272322,10 +272355,10 @@ wNO (236,1,3) = {" wNO wNO -tpt +aaX wNO wNO -cBQ +bln hHG hHG hHG @@ -272579,7 +272612,7 @@ wNO (237,1,3) = {" wNO wNO -cIL +fhB wNO wNO bln @@ -272839,7 +272872,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG @@ -274124,7 +274157,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG @@ -274140,7 +274173,7 @@ vbG hHG hHG hHG -tpt +aaX wNO wNO wNO @@ -274397,7 +274430,7 @@ vbG hHG hHG hHG -cIL +fhB wNO wNO wNO @@ -274895,7 +274928,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG @@ -274908,8 +274941,8 @@ wNO wNO bln bln -cIH -cIH +xDQ +xDQ bln bln wNO @@ -275165,8 +275198,8 @@ wNO wNO bln bln -oEn -oEn +wUD +wUD bln bln bln @@ -275422,8 +275455,8 @@ wNO wNO bln bln -nao -nao +rPp +rPp bln bln bln @@ -275923,7 +275956,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG @@ -276694,7 +276727,7 @@ wNO wNO wNO wNO -oyR +lgH hHG hHG hHG diff --git a/_maps/map_files/LimaStation/LimaStation.dmm b/_maps/map_files/LimaStation/LimaStation.dmm index f3804766fe154..624de042ca68a 100644 --- a/_maps/map_files/LimaStation/LimaStation.dmm +++ b/_maps/map_files/LimaStation/LimaStation.dmm @@ -35958,7 +35958,7 @@ pixel_x = -24; req_access = list("engineering") }, -/mob/living/simple_animal/pet/poppy, +/mob/living/basic/pet/poppy, /obj/structure/bed/dogbed{ anchored = 1; name = "Poppy's bed" diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 764b7141b1818..3cbab5bf1968e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -47,17 +47,6 @@ "aav" = ( /turf/open/space, /area/space) -"aay" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "aaz" = ( /obj/effect/spawner/random/trash/cigbutt, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -73,13 +62,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"aaO" = ( -/obj/structure/cable, -/obj/machinery/netpod, +"abA" = ( /obj/machinery/light/directional/west, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/piratepad/civilian, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "abI" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -195,10 +184,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"adM" = ( -/obj/machinery/status_display/supply, -/turf/closed/wall, -/area/station/cargo/storage) "adS" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -298,16 +283,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/commons/dorms) -"afX" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 +"afQ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -318,6 +302,15 @@ /mob/living/simple_animal/bot/secbot/beepsky/armsky, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"agi" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ago" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron, @@ -395,18 +388,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/lockers) -"ahl" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "aho" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=9.4-Escape-4"; @@ -431,6 +412,17 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"ahv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ahD" = ( /obj/structure/displaycase/trophy, /turf/open/floor/wood, @@ -497,14 +489,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/office) -"ajF" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ajI" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -608,6 +592,14 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"alA" = ( +/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "alE" = ( /turf/open/floor/iron, /area/station/security/courtroom) @@ -752,15 +744,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"aoa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "aok" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -768,13 +751,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) -"apa" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "apg" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, @@ -799,6 +775,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"apC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "apJ" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -869,14 +849,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) -"aqz" = ( -/obj/machinery/vending/wardrobe/cargo_wardrobe, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/cargo/storage) "aqG" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -919,6 +891,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) +"arJ" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "asi" = ( /obj/structure/table/reinforced, /obj/item/storage/box/lights/mixed, @@ -974,6 +958,13 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/hos) +"asT" = ( +/obj/effect/spawner/structure/window, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/cargo/lobby) "atf" = ( /obj/structure/table/glass, /obj/machinery/power/apc/auto_name/directional/north, @@ -1019,19 +1010,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/port) -"aul" = ( -/obj/machinery/camera/directional/east{ - c_tag = "Outer Vault"; - name = "storage wing camera"; - network = list("ss13","vault") - }, -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/structure/window/spawner/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "aum" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -1047,13 +1025,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"auv" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/trimline/brown/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "auw" = ( /obj/machinery/door/airlock{ id_tag = "Cabin7"; @@ -1153,27 +1124,6 @@ /obj/item/pillow/random, /turf/open/floor/carpet, /area/station/commons/dorms) -"awi" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Space Bridge Access" - }, -/obj/machinery/button/door/directional/north{ - id = "supplybridge"; - name = "Shuttle Bay Space Bridge Control" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "awy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1269,6 +1219,14 @@ "ayr" = ( /turf/open/floor/iron, /area/station/engineering/break_room) +"ayz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ayH" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, @@ -1365,14 +1323,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/dorms) -"aAr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "aAs" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -1513,19 +1463,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"aCK" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/storage) "aCM" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -1553,6 +1490,12 @@ "aDb" = ( /turf/closed/wall, /area/station/construction/mining/aux_base) +"aDe" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "aDl" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -1651,26 +1594,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/construction/storage_wing) -"aEJ" = ( -/obj/machinery/light_switch/directional/south, -/obj/machinery/conveyor_switch/oneway{ - id = "packageSort2"; - name = "Sort and Deliver"; - pixel_x = -2; - pixel_y = 12 - }, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "packageExternal"; - name = "Crate Returns"; - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "aEW" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -1680,22 +1603,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"aFc" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin{ - name = "Jim Norton's Quebecois Coffee disposal unit" - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "aFd" = ( /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, @@ -1710,13 +1617,6 @@ /obj/effect/spawner/random/bureaucracy/paper, /turf/open/floor/wood, /area/station/commons/dorms) -"aFG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "aFW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/mirror/directional/west, @@ -1739,10 +1639,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"aGl" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "aGm" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -1831,6 +1727,15 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"aHB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "aHH" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/effect/turf_decal/siding/purple{ @@ -1882,15 +1787,6 @@ "aIw" = ( /turf/open/floor/plating/airless, /area/station/solars/port/fore) -"aIy" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "aIA" = ( /obj/machinery/door/airlock/maintenance{ name = "Medbay Maintenance" @@ -2222,11 +2118,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"aNE" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/siding/thinplating_new, -/turf/open/floor/iron, -/area/station/cargo/storage) "aNG" = ( /obj/machinery/camera/directional/west{ c_tag = "Bridge - Starboard Access" @@ -2268,17 +2159,6 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"aOh" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"aOn" = ( -/obj/structure/cable, -/obj/machinery/netpod, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "aOo" = ( /obj/structure/sink/kitchen/directional/south{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -2297,6 +2177,17 @@ /obj/effect/turf_decal/trimline/brown/warning, /turf/open/floor/iron/white, /area/station/science/lobby) +"aOA" = ( +/obj/effect/landmark/blobstart, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "aOC" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2448,18 +2339,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"aRU" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "aRV" = ( /obj/machinery/porta_turret/ai{ dir = 1 @@ -2505,6 +2384,20 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"aSv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/reagent_dispensers/beerkeg, +/obj/item/toy/figure/qm{ + pixel_x = 3; + pixel_y = 12 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "aSQ" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ @@ -2567,21 +2460,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/space/basic, /area/space/nearstation) -"aUq" = ( -/obj/structure/sign/poster/random/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/spawner/random/food_or_drink/donkpockets{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "aUt" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -2607,17 +2485,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/cafeteria) -"aUI" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "aUK" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2665,10 +2532,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos) -"aVx" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "aVP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -2718,14 +2581,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/carpet, /area/station/service/theater) -"aWy" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "aWB" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/clothing/head/costume/festive, @@ -2769,16 +2624,6 @@ "aXa" = ( /turf/closed/wall, /area/station/security/prison/mess) -"aXp" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "aXE" = ( /obj/machinery/door/airlock/maintenance{ name = "Service Maintenance" @@ -3130,6 +2975,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/teleporter) +"bbY" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "bcb" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, @@ -3605,6 +3454,12 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"bkJ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "bkM" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -3835,13 +3690,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"bnT" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "boc" = ( /obj/effect/decal/cleanable/dirt, /obj/item/storage/belt/utility, @@ -3951,27 +3799,6 @@ /obj/item/clothing/mask/cigarette/pipe, /turf/open/floor/wood, /area/station/commons/lounge) -"bqE" = ( -/obj/structure/table, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 2 - }, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 5 - }, -/obj/item/clothing/gloves/cargo_gauntlet{ - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/soda_cans{ - pixel_x = -7; - pixel_y = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "bqJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3984,11 +3811,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"bqL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "bqX" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) @@ -4011,11 +3833,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"brB" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/iron, -/area/station/cargo/sorting) "brE" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -4315,14 +4132,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"bwk" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/iron, -/area/station/cargo/sorting) "bwr" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4393,15 +4202,6 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"bxN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "bxO" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -4484,22 +4284,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/service/hydroponics) -"bzc" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "bzv" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/structure/cable, @@ -4671,6 +4455,39 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"bDd" = ( +/obj/machinery/camera/directional/north, +/obj/structure/chair/greyscale, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/cargo/lobby) +"bDj" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor"; + layer = 4; + name = "Loading Doors"; + pixel_y = -8; + req_access = list("cargo") + }, +/obj/machinery/button/door/directional/west{ + id = "QMLoaddoor2"; + layer = 4; + name = "Loading Doors"; + pixel_y = 8; + req_access = list("cargo") + }, +/obj/item/reagent_containers/cup/soda_cans{ + pixel_x = -5; + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bDm" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/siding{ @@ -4685,6 +4502,15 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"bDn" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bDp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4763,6 +4589,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"bEK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "bER" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -4793,18 +4629,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"bFx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "bFC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -4842,6 +4666,11 @@ /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"bGu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "bGC" = ( /turf/closed/wall, /area/station/hallway/primary/central) @@ -4880,6 +4709,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"bHv" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/closed/wall, +/area/station/cargo/warehouse) "bHD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -5088,13 +4923,6 @@ "bLd" = ( /turf/closed/wall, /area/station/maintenance/starboard/aft) -"bLf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "bLh" = ( /obj/effect/turf_decal/trimline/green/line{ dir = 1 @@ -5135,6 +4963,19 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating/airless, /area/space/nearstation) +"bLY" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bMa" = ( /obj/structure/disposaloutlet{ dir = 4; @@ -5243,20 +5084,25 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"bNw" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "bNE" = ( /obj/machinery/light/directional/east, /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"bNO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 +"bNN" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 }, +/obj/structure/railing, /turf/open/floor/iron, -/area/station/construction/storage_wing) +/area/station/cargo/lobby) "bNP" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -5295,6 +5141,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"bPc" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "bPi" = ( /obj/structure/chair/office{ dir = 8 @@ -5332,13 +5184,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"bPT" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/railing, -/turf/open/floor/iron, -/area/station/cargo/lobby) "bQj" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -5350,6 +5195,18 @@ /obj/item/bodypart/arm/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"bQl" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/machinery/fax{ + fax_name = "Cargo Office"; + name = "Cargo Office Fax Machine" + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "bQN" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/computer/security/telescreen/entertainment/directional/north, @@ -5407,9 +5264,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel) -"bRy" = ( -/turf/closed/wall, -/area/station/cargo/lobby) "bRF" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/iron, @@ -5787,10 +5641,6 @@ /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"bXm" = ( -/obj/item/radio/intercom/directional/south, -/turf/closed/wall, -/area/station/cargo/lobby) "bXn" = ( /obj/machinery/atmospherics/components/trinary/filter, /turf/open/floor/plating, @@ -5946,19 +5796,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"cbd" = ( -/obj/machinery/disposal/delivery_chute, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/window/spawner/directional/east, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/cargo/sorting) "cbg" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -6122,17 +5959,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/commons/dorms) -"cfq" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "cfy" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -6141,6 +5967,13 @@ /obj/machinery/oven/range, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"cfH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "cgi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark/side{ @@ -6177,6 +6010,11 @@ /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance) +"cgZ" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "cha" = ( /obj/machinery/door/airlock/research/glass{ name = "Ordnance Lab" @@ -6231,6 +6069,15 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/space/nearstation) +"ciE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "ciG" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6295,6 +6142,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) +"ckB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "ckE" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -6377,6 +6232,31 @@ /obj/item/bodypart/leg/left, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"cmX" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "QMLoad"; + name = "Loading Conveyor"; + pixel_x = -13; + pixel_y = -5 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"cna" = ( +/obj/structure/table, +/obj/item/storage/box/lights/mixed{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/storage/box/lights/mixed{ + pixel_y = 5; + pixel_x = -6 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "cnc" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -6432,29 +6312,6 @@ /obj/structure/closet/crate/engineering/electrical, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"cnG" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/shipping{ - pixel_x = -6; - pixel_y = 15 - }, -/obj/item/multitool{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/storage/box/lights/mixed{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/flashlight/lamp{ - pixel_x = -7; - pixel_y = 5 - }, -/obj/item/storage/box/shipping{ - pixel_x = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "cnK" = ( /turf/closed/wall, /area/station/engineering/main) @@ -6482,14 +6339,19 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"coG" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/arrow_cw{ - dir = 1 +"com" = ( +/obj/structure/cable, +/obj/machinery/netpod, +/obj/machinery/light/directional/west, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) +"coz" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 }, -/obj/effect/turf_decal/trimline/brown/arrow_ccw, /turf/open/floor/iron, -/area/station/cargo/lobby) +/area/station/cargo/storage) "coJ" = ( /obj/structure/chair/stool/directional/north, /obj/effect/decal/cleanable/blood/old, @@ -6616,6 +6478,14 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"cqy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "cqD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -6742,6 +6612,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) +"csX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "ctn" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, @@ -6862,6 +6739,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"cvv" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "QMLoad2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/railing, +/turf/open/floor/plating, +/area/station/cargo/storage) "cvw" = ( /obj/machinery/recharge_station, /turf/open/floor/iron/dark, @@ -7025,6 +6913,19 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/dark, /area/station/command/bridge) +"cwY" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/turf/open/floor/plating, +/area/station/cargo/sorting) "cxi" = ( /obj/item/solar_assembly, /obj/item/solar_assembly, @@ -7060,6 +6961,17 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/space, /area/space/nearstation) +"cxp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "cxq" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -7178,11 +7090,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/security/lockers) -"czz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "czG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7210,6 +7117,13 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"cAf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "cAm" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -7321,15 +7235,6 @@ }, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"cCT" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "cDb" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -7375,6 +7280,11 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"cDV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "cDX" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -7399,6 +7309,11 @@ /obj/structure/dresser, /turf/open/floor/wood, /area/station/service/theater) +"cEY" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "cFa" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -7438,6 +7353,14 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"cGq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "cGu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -7479,6 +7402,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"cHG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "cHQ" = ( /obj/machinery/computer/security/mining{ dir = 1 @@ -7488,6 +7424,11 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"cHR" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "cId" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -7550,6 +7491,16 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) +"cJt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/cargo{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "cJv" = ( /obj/effect/turf_decal/tile/yellow/fourcorners, /obj/machinery/chem_heater/withbuffer, @@ -7566,6 +7517,13 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/medical/chemistry) +"cJT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "cKd" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -7609,12 +7567,6 @@ /obj/item/hand_labeler, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"cKP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/station/maintenance/port/fore) "cKW" = ( /obj/structure/secure_safe/directional/north, /obj/machinery/camera/directional/north{ @@ -7718,6 +7670,16 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/white, /area/station/medical/psychology) +"cNb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/computer/security/qm{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "cNk" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 @@ -7741,6 +7703,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/hydroponics) +"cOi" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "cOj" = ( /obj/structure/sign/chalkboard_menu, /turf/closed/wall, @@ -7924,6 +7893,9 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"cSu" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central) "cSv" = ( /obj/effect/turf_decal/delivery, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -8045,17 +8017,6 @@ }, /turf/open/floor/wood, /area/station/security/office) -"cUr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "cUw" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -8116,18 +8077,17 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"cVI" = ( -/obj/effect/landmark/start/quartermaster, +"cVC" = ( /obj/structure/cable, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/siding/thinplating_new{ +/obj/machinery/mineral/stacking_unit_console{ + pixel_x = 32 + }, +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "cVJ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -8379,13 +8339,6 @@ "daC" = ( /turf/open/floor/wood, /area/station/service/lawoffice) -"daD" = ( -/obj/structure/cable, -/obj/machinery/power/terminal, -/obj/machinery/light/small/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "daT" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/open/floor/iron, @@ -8499,14 +8452,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/bridge) -"ddo" = ( -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/effect/spawner/random/vending/colavend, -/turf/open/floor/iron, -/area/station/cargo/lobby) "ddq" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -8739,17 +8684,6 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/space, /area/space/nearstation) -"dgn" = ( -/obj/machinery/conveyor/inverted{ - dir = 10; - id = "QMLoad2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/railing, -/turf/open/floor/plating, -/area/station/cargo/storage) "dgt" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -8839,6 +8773,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"dhz" = ( +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "dhN" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -8905,6 +8847,18 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) +"dit" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "diC" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -8932,12 +8886,6 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"dje" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "dji" = ( /obj/structure/lattice, /obj/structure/sign/warning/electric_shock/directional/south, @@ -8994,11 +8942,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"dlD" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "dlG" = ( /obj/structure/cable, /obj/item/radio/intercom/directional/north, @@ -9019,6 +8962,19 @@ /obj/structure/closet/emcloset/anchored, /turf/open/floor/plating, /area/station/maintenance/port) +"dme" = ( +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/plating, +/area/station/cargo/storage) "dmJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -9045,11 +9001,6 @@ "dno" = ( /turf/open/floor/iron/white, /area/station/medical/virology) -"dnw" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/structure/crate_loot, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "dnH" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -9292,6 +9243,17 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"drG" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "dsb" = ( /obj/effect/turf_decal/plaque{ icon_state = "L13" @@ -9341,14 +9303,6 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) -"dsx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "dsI" = ( /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/tile/blue, @@ -9390,14 +9344,29 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"dtL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +"dtE" = ( +/obj/structure/table/reinforced, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = -2 + }, +/obj/item/stamp{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/pen/red{ + pixel_y = 10 + }, +/obj/item/dest_tagger{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/pen/screwdriver{ + pixel_x = -7; + pixel_y = 7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dtY" = ( /obj/machinery/meter/monitored/waste_loop, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ @@ -9412,6 +9381,23 @@ dir = 1 }, /area/station/engineering/atmos/pumproom) +"duc" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "duk" = ( /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, @@ -9434,9 +9420,22 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/brig) +"duG" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "duI" = ( /turf/closed/wall, /area/station/command/bridge) +"dve" = ( +/obj/structure/cable, +/obj/effect/spawner/random/maintenance, +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "dvn" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -9518,6 +9517,30 @@ }, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) +"dwH" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"dwI" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/delivery_chute{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/spawner/directional/south, +/obj/structure/window/spawner/directional/north, +/obj/structure/window/spawner/directional/west, +/obj/machinery/door/window/right/directional/east{ + layer = 3 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "dwJ" = ( /obj/structure/lattice, /obj/effect/spawner/random/structure/grille, @@ -9562,11 +9585,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"dxF" = ( -/obj/machinery/light/small/dim/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "dxK" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/purple, @@ -9618,49 +9636,11 @@ }, /turf/open/floor/plating, /area/station/science/lab) -"dyC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/stamp/head/qm{ - pixel_x = 4; - pixel_y = 12 - }, -/obj/item/stamp/granted{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/item/stamp/denied{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/stamp/void{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/effect/spawner/random/entertainment/money_medium{ - pixel_y = -6; - pixel_x = 3 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "dzw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dzV" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/trimline/red/filled/warning/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "dzY" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2o, @@ -9692,6 +9672,13 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/research) +"dBE" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Cargo Bay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/storage) "dBV" = ( /obj/docking_port/stationary/escape_pod{ dir = 4 @@ -9808,11 +9795,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"dDY" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/holopad, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dDZ" = ( /obj/machinery/door/airlock/external{ name = "Common Mining Dock" @@ -9853,12 +9835,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"dEQ" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/structure/cable, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron, -/area/station/cargo/storage) "dEV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9876,6 +9852,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) +"dFg" = ( +/obj/structure/cable, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "dFi" = ( /obj/structure/closet/l3closet/virology, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -9951,6 +9931,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"dGC" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/iron, +/area/station/cargo/sorting) "dGD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9975,6 +9963,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/main) +"dHz" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "dHG" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 @@ -10122,19 +10119,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/storage) -"dKs" = ( -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "QMLoad"; - name = "Loading Conveyor"; - pixel_x = -13; - pixel_y = -5 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "dKC" = ( /turf/closed/wall, /area/station/maintenance/aft/lesser) @@ -10176,6 +10160,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"dLh" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/dresser, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "dLl" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10261,11 +10255,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) -"dMa" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "dMb" = ( /obj/structure/table, /obj/item/analyzer, @@ -10275,22 +10264,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"dMd" = ( -/obj/structure/cable, -/obj/structure/table/reinforced, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/item/binoculars, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "dMk" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, @@ -10367,14 +10340,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"dOa" = ( -/obj/structure/cable, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "dOg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -10499,37 +10464,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/central) -"dQe" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/machinery/door/window/right/directional/south{ - name = "Cargo Desk"; - req_access = list("shipping") - }, -/obj/item/newspaper{ - pixel_x = -5 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) -"dQh" = ( -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, -/obj/machinery/door/airlock/maintenance{ - name = "Brig Maintenance" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "dQy" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/east, @@ -10676,9 +10610,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dSf" = ( -/turf/open/floor/iron, -/area/station/hallway/primary/central) "dSB" = ( /obj/machinery/door/airlock/grunge{ name = "Cell 3" @@ -10794,6 +10725,10 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"dUd" = ( +/obj/structure/noticeboard/qm, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "dUj" = ( /obj/structure/chair/office{ dir = 1 @@ -10850,6 +10785,16 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) +"dVy" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "dVN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11159,6 +11104,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"eaA" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "eaF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11189,6 +11144,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) +"eaQ" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) +"ebd" = ( +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"ebg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "ebr" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=0-SecurityDesk"; @@ -11262,6 +11234,24 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"ecm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "Disposals" + }, +/obj/structure/plasticflaps, +/obj/machinery/door/window/right/directional/south{ + name = "Delivery Door"; + req_access = list("cargo") + }, +/obj/machinery/conveyor{ + dir = 1; + id = "garbage" + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ecp" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -11380,15 +11370,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"een" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/bot_white, -/obj/structure/cable, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "eeq" = ( /obj/machinery/computer/security{ dir = 8 @@ -11421,11 +11402,6 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"eeD" = ( -/obj/structure/lattice/catwalk, -/obj/item/toy/figure/cargotech, -/turf/open/space/basic, -/area/space/nearstation) "eeT" = ( /obj/machinery/vending/hydroseeds{ slogan_delay = 700 @@ -11637,15 +11613,6 @@ dir = 8 }, /area/station/service/chapel) -"ehT" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "ehX" = ( /turf/open/floor/iron/dark, /area/station/medical/storage) @@ -11667,18 +11634,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"eic" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) -"eiu" = ( -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "eiO" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/sec{ @@ -11788,6 +11743,13 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) +"ekb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "ekh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -11823,19 +11785,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"ekC" = ( -/obj/machinery/light/directional/south, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ekG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11945,6 +11894,19 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) +"elz" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = 3 + }, +/obj/item/circuitboard/machine/exoscanner, +/obj/item/circuitboard/machine/exoscanner{ + pixel_y = -3 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "elJ" = ( /turf/closed/wall/r_wall, /area/station/science/server) @@ -11983,17 +11945,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"emr" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/autolathe, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "emN" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -12003,6 +11954,11 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port) +"emU" = ( +/obj/structure/cable, +/obj/machinery/netpod, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "emY" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -12054,21 +12010,6 @@ /obj/item/compact_remote, /turf/open/floor/iron/white, /area/station/science/explab) -"eoe" = ( -/obj/structure/cable, -/turf/closed/wall/r_wall, -/area/station/ai_monitored/command/nuke_storage) -"eoi" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Warehouse Maintenance" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/cargo/warehouse) "eoj" = ( /obj/machinery/meter{ name = "Mixed Air Tank Out" @@ -12264,6 +12205,13 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/wood, /area/station/service/library) +"erW" = ( +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "esd" = ( /obj/item/reagent_containers/cup/glass/drinkingglass{ pixel_x = 4; @@ -12506,6 +12454,22 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) +"ewc" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/disposal/bin{ + name = "Jim Norton's Quebecois Coffee disposal unit" + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "ewf" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, @@ -12579,19 +12543,6 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"ewG" = ( -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag, -/obj/item/emptysandbag{ - pixel_x = 8 - }, -/obj/item/emptysandbag{ - pixel_x = -9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "ewR" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -12629,6 +12580,16 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) +"exQ" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "eyd" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -12721,23 +12682,6 @@ }, /turf/open/floor/grass, /area/station/science/research) -"eAu" = ( -/obj/effect/spawner/random/maintenance, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"eAB" = ( -/obj/structure/disposaloutlet{ - dir = 1 - }, -/obj/structure/disposalpipe/trunk, -/obj/structure/window/spawner/directional/west, -/obj/machinery/light/small/directional/south, -/obj/structure/window/spawner/directional/east, -/turf/open/floor/plating, -/area/station/cargo/sorting) "eAL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, @@ -12785,15 +12729,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"eCd" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "eCg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12890,6 +12825,12 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"eED" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/crate, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "eEG" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12910,17 +12851,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"eEL" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/cargo/sorting) "eEP" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/engine, @@ -13022,14 +12952,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"eGF" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "eGJ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line, @@ -13068,6 +12990,15 @@ }, /turf/open/floor/iron, /area/station/commons/lounge) +"eIc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/dim/directional/south, +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/structure/sign/warning/directional/south, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "eIy" = ( /obj/structure/cable, /obj/machinery/photocopier, @@ -13120,6 +13051,26 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"eJv" = ( +/obj/machinery/light_switch/directional/south, +/obj/machinery/conveyor_switch/oneway{ + id = "packageSort2"; + name = "Sort and Deliver"; + pixel_x = -2; + pixel_y = 12 + }, +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "packageExternal"; + name = "Crate Returns"; + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "eJy" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -13317,6 +13268,11 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/grass, /area/station/science/research) +"eMY" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "eNb" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -13343,15 +13299,6 @@ /obj/machinery/vending/wardrobe/coroner_wardrobe, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"eNP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "eNR" = ( /turf/closed/wall, /area/station/ai_monitored/aisat/exterior) @@ -13360,6 +13307,24 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"eOb" = ( +/obj/machinery/vending/wardrobe/cargo_wardrobe, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/cargo/storage) +"eOl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/door/airlock/maintenance{ + name = "Quartermaster Maintenance" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "eOm" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -13425,6 +13390,11 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"ePj" = ( +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/suit_storage_unit/industrial/loader, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "ePu" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -13578,12 +13548,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"eSn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "eSr" = ( /obj/machinery/light/small/directional/north, /turf/open/floor/engine, @@ -13629,6 +13593,29 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"eTt" = ( +/obj/structure/cable, +/obj/structure/table/wood/fancy/black, +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/item/reagent_containers/cup/glass/bottle/champagne{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/clothing/mask/cigarette/cigar{ + pixel_x = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "eTI" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -13701,6 +13688,12 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"eVg" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron, +/area/station/cargo/storage) "eVi" = ( /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, @@ -13928,6 +13921,14 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/wood, /area/station/service/library) +"eZo" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "eZz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13962,13 +13963,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"eZO" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "eZR" = ( /obj/structure/displaycase/labcage, /turf/open/floor/engine, @@ -14048,15 +14042,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"fby" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fbE" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -14089,18 +14074,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"fbS" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "fbX" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -14119,14 +14092,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fco" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fcq" = ( /turf/closed/wall, /area/station/maintenance/port/greater) @@ -14162,6 +14127,27 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron/white, /area/station/security/prison/mess) +"fdB" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/button/door/directional/west{ + id = "qmroom"; + name = "Privacy Blast Doors Control" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "fdH" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -14196,6 +14182,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"fea" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "fec" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /turf/closed/wall/r_wall, @@ -14290,29 +14283,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fgm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "fgn" = ( /mob/living/simple_animal/hostile/retaliate/goose/vomit, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"fgt" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fgu" = ( /obj/machinery/light/directional/south, /obj/effect/spawner/random/vending/colavend, @@ -14517,12 +14491,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"fiN" = ( -/obj/structure/cable, -/obj/effect/spawner/random/maintenance, -/obj/machinery/recharge_station, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fiS" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -14530,17 +14498,14 @@ /obj/effect/turf_decal/siding/purple, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"fiU" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/disposal/delivery_chute, -/obj/structure/window/spawner/directional/east, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 8 +"fiX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/structure/plasticflaps, +/obj/machinery/light/floor, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/cargo/sorting) +/area/station/maintenance/port/fore) "fjb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14579,6 +14544,22 @@ /obj/machinery/light/directional/east, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fjw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/poster/official/random/directional/west, +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/machinery/door/window/left/directional/north{ + req_access = list("shipping") + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/plating, +/area/station/cargo/sorting) "fjD" = ( /turf/closed/wall, /area/station/commons/toilet/auxiliary) @@ -14626,14 +14607,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"fkv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "fky" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -14772,14 +14745,6 @@ "fma" = ( /turf/closed/wall/r_wall, /area/station/science/robotics/lab) -"fmb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "fmn" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/holopad, @@ -14820,6 +14785,17 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) +"fmG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fmJ" = ( /obj/structure/rack, /obj/item/circuitboard/machine/telecomms/bus, @@ -14929,6 +14905,17 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay/central) +"fov" = ( +/obj/machinery/light/directional/north, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/delivery_chute{ + dir = 4; + name = "Crate Returns" + }, +/obj/structure/window/spawner/directional/south, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/cargo/lobby) "foB" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/turf_decal/stripes/line{ @@ -14970,6 +14957,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"fpn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fpy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -14993,15 +14988,25 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) -"fpG" = ( +"fpV" = ( /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/steam_vent, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) +"fqe" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "fqB" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -15110,19 +15115,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"fsd" = ( -/obj/machinery/conveyor/inverted{ - dir = 6; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "fsh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -15139,15 +15131,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fsO" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "fsQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -15200,6 +15183,9 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/circuit/green/off, /area/station/science/research) +"fur" = ( +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fuu" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -15213,18 +15199,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"fuQ" = ( -/obj/structure/closet/crate/preopen, -/obj/effect/spawner/random/bureaucracy/birthday_wrap, -/obj/item/stack/package_wrap{ - pixel_y = 5 - }, -/obj/item/stack/package_wrap{ - pixel_y = 2 +"fuE" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/stack/package_wrap, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/lobby) "fvE" = ( @@ -15247,6 +15229,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"fwb" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "fwz" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/iron/dark, @@ -15422,6 +15408,15 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"fAk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fAt" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -15430,23 +15425,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"fAv" = ( -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 8; - output_dir = 4 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Ore Redemption Window" - }, -/obj/machinery/door/window/left/directional/west{ - req_access = list("cargo"); - name = "Cargo Security Window" - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "fAE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15471,14 +15449,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) -"fBh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron, -/area/station/cargo/storage) "fBo" = ( /obj/machinery/door/window/left/directional/west{ name = "Magboot Storage"; @@ -15661,11 +15631,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) -"fFp" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/security/checkpoint/supply) "fFq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -15818,16 +15783,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/teleporter) -"fHw" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "fHy" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating/airless, @@ -15868,15 +15823,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"fIs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "fIE" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit/telecomms/mainframe, @@ -16186,6 +16132,21 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) +"fOB" = ( +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/security/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Brig Maintenance" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "fOS" = ( /obj/structure/flora/bush/sparsegrass/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -16217,6 +16178,20 @@ }, /turf/open/space/basic, /area/space) +"fQl" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/modular_computer/preset/cargochat/cargo{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/cargo/sorting) "fQo" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/purple/corner{ @@ -16237,15 +16212,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"fQE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/bot_white, -/obj/structure/closet/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "fQW" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Dock" @@ -16495,6 +16461,14 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"fWn" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "fWw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16571,6 +16545,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/security/prison) +"fXZ" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw, +/turf/open/floor/iron, +/area/station/cargo/storage) "fYb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -16745,6 +16725,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"gbn" = ( +/obj/effect/turf_decal/bot, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/arrows{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "gbG" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/storage/box/lights/mixed, @@ -16797,16 +16785,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"gcM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/fake_stairs/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "gcU" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/access/all/science/robotics, @@ -16927,6 +16905,15 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"gfa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "gfe" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/table, @@ -17021,6 +17008,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"ggZ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ghc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -17199,25 +17193,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"gkQ" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "gkU" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset, @@ -17385,15 +17360,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"goc" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Conveyor Access" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "gog" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -17591,16 +17557,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/medical/cryo) -"grr" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "grw" = ( /obj/structure/chair{ dir = 1 @@ -17670,14 +17626,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"gta" = ( -/obj/effect/turf_decal/bot_white/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "gtb" = ( /turf/open/floor/iron/white, /area/station/medical/pharmacy) @@ -17732,14 +17680,6 @@ /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"guv" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/rnd/production/techfab/department/cargo, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "guC" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -17848,6 +17788,12 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/lounge) +"gvA" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gvC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17928,6 +17874,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmos) +"gxu" = ( +/obj/machinery/button/door/directional/south{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/turf_decal/trimline/red/filled/warning/corner{ + dir = 8 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Cargo Bay - Aft"; + pixel_x = 14 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gxx" = ( /obj/machinery/door/airlock/atmos/glass{ name = "Atmospherics Monitoring" @@ -17940,6 +17903,32 @@ }, /turf/open/floor/iron/checker, /area/station/engineering/atmos/storage/gas) +"gxM" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/stack/package_wrap{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/stack/package_wrap{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/dest_tagger{ + pixel_x = -9; + pixel_y = 12 + }, +/obj/item/hand_labeler_refill{ + pixel_x = -11; + pixel_y = -3 + }, +/obj/item/stack/wrapping_paper, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gya" = ( /obj/structure/table, /obj/item/storage/box/hug{ @@ -18193,12 +18182,6 @@ /obj/item/storage/box/prisoner, /turf/open/floor/iron, /area/station/security/execution/transfer) -"gCH" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "gCT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18207,15 +18190,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/central) -"gCV" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "gCW" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -18437,14 +18411,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"gGS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "gHo" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -18617,6 +18583,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"gJM" = ( +/obj/structure/cable, +/obj/machinery/power/smes, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "gJV" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/tile/purple, @@ -18836,13 +18807,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/storage) -"gNx" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/wrapping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/sorting) "gNy" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -18975,6 +18939,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) +"gPN" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/warning{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gPY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18986,6 +18961,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"gQa" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "gQf" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -19027,14 +19013,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"gSe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sink{ - dir = 8; - pixel_x = 14 +"gRK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 }, /turf/open/floor/iron, -/area/station/cargo/warehouse) +/area/station/cargo/lobby) "gSn" = ( /obj/item/wrench, /turf/open/floor/iron, @@ -19043,13 +19030,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"gSE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "gSH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/rnd/server/master, @@ -19153,6 +19133,16 @@ /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gUH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "gUP" = ( /obj/structure/chair{ dir = 1 @@ -19243,6 +19233,15 @@ /obj/machinery/atmospherics/components/trinary/filter/flipped/critical, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"gWz" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + location = "QM #2" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "gWH" = ( /obj/effect/spawner/random/maintenance, /obj/structure/disposalpipe/segment, @@ -19508,19 +19507,6 @@ "hbv" = ( /turf/closed/wall/r_wall, /area/station/medical/coldroom) -"hby" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hbK" = ( /turf/closed/wall, /area/station/maintenance/department/science/xenobiology) @@ -19643,13 +19629,6 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/central) -"hdd" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hdg" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -19674,14 +19653,6 @@ /obj/structure/sign/warning/electric_shock, /turf/open/floor/engine, /area/station/science/xenobiology) -"hdH" = ( -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/structure/crate, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hdI" = ( /obj/machinery/light_switch/directional/north, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -19739,6 +19710,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/break_room) +"heR" = ( +/obj/structure/cable, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "heS" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/mop_bucket/janitorialcart, @@ -19834,14 +19809,6 @@ dir = 8 }, /area/station/engineering/atmos) -"hhi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/flip{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "hhl" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/table, @@ -19854,17 +19821,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/range) -"hho" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "hhp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -19883,21 +19839,17 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/commons/lounge) +"hhR" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hif" = ( /obj/structure/mannequin/skeleton, /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"him" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/shutters{ - name = "Warehouse Shutters"; - id = "warehouse" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/warehouse) "hio" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -19960,6 +19912,10 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"hjt" = ( +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "hjw" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/cytology{ @@ -20239,6 +20195,25 @@ }, /turf/open/floor/plating, /area/station/engineering/main) +"hnV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) +"hor" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Warehouse Maintenance" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "hoE" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -20289,6 +20264,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) +"hpj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "hpv" = ( /obj/item/storage/bag/plants/portaseeder, /obj/item/plant_analyzer, @@ -20352,15 +20336,11 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2, /turf/open/floor/iron/dark/airless, /area/station/science/ordnance/freezerchamber) -"hrv" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/iron, -/area/station/cargo/lobby) +"hrC" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/security/checkpoint/supply) "hrG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20392,6 +20372,17 @@ dir = 8 }, /area/station/service/chapel/office) +"hsx" = ( +/obj/machinery/door/airlock/mining{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/landmark/navigate_destination, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "hsF" = ( /obj/machinery/door/airlock{ id_tag = "AuxToilet3"; @@ -20592,6 +20583,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"hvz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/maintenance/port/fore) "hvB" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/brown/filled/warning, @@ -20679,6 +20676,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"hxd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "hxe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -20900,12 +20909,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/cytology) -"hzR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/caution, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "hAk" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -20964,6 +20967,15 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"hBo" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/structure/cable, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + location = "QM #1" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/storage) "hBr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21216,15 +21228,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"hGa" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "hGi" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -21309,6 +21312,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/ordnance/office) +"hIp" = ( +/obj/structure/fake_stairs/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "hIx" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -21389,6 +21396,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) +"hJO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hKg" = ( /turf/closed/wall, /area/station/cargo/miningoffice) @@ -21427,6 +21442,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"hKQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hKV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21603,29 +21627,29 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hOF" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"hOP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 +"hOO" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 +/obj/structure/table/wood, +/obj/machinery/fax{ + fax_name = "Quartermaster"; + name = "Quartermaster's Fax Machine" }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 8 }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 48; - pixel_x = 9 +/obj/machinery/requests_console/directional/north{ + department = "Security"; + name = "Security Requests Console" }, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/ore_update, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "hOR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/spawner/random/trash/soap{ @@ -21687,6 +21711,15 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"hQy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/engineering{ + name = "Port Bow Solar Access" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "hQB" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -21715,31 +21748,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"hRg" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor"; - layer = 4; - name = "Loading Doors"; - pixel_y = -8; - req_access = list("cargo") - }, -/obj/machinery/button/door/directional/west{ - id = "QMLoaddoor2"; - layer = 4; - name = "Loading Doors"; - pixel_y = 8; - req_access = list("cargo") - }, -/obj/item/reagent_containers/cup/soda_cans{ - pixel_x = -5; - pixel_y = 15 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "hRl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine, @@ -21912,6 +21920,20 @@ /obj/machinery/bluespace_vendor/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"hTG" = ( +/obj/structure/cable, +/obj/machinery/power/terminal, +/obj/machinery/light/small/directional/east, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) +"hTM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "hTV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/highsecurity{ @@ -21977,6 +21999,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"hVp" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/sorting) "hVE" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -22060,6 +22090,14 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/teleporter) +"hWC" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/structure/fake_stairs/directional/north, +/turf/open/floor/iron, +/area/station/cargo/storage) "hWD" = ( /obj/structure/sign/poster/contraband/random/directional/east, /obj/effect/mapping_helpers/broken_floor, @@ -22070,6 +22108,25 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) +"hWG" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central) +"hWK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/landmark/start/depsec/supply, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "hWW" = ( /obj/structure/bookcase/random, /turf/open/floor/iron, @@ -22134,6 +22191,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/security/office) +"hYl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 8; + pixel_x = 14 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "hYr" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -22213,6 +22278,17 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"hYG" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "hZn" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -22498,13 +22574,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/primary) -"ifu" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "ifE" = ( /obj/structure/cable, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -22556,46 +22625,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"igk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/coin/gold{ - pixel_y = 12; - pixel_x = -3 - }, -/obj/item/coin/gold{ - pixel_x = 4; - pixel_y = 16 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/ammo_casing/rocket{ - pixel_x = -10; - pixel_y = 18; - name = "Dud Rocket"; - desc = "An 84mm High Explosive rocket. This one's a dud. Pretty sure." - }, -/obj/item/computer_disk/quartermaster{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/effect/spawner/random/entertainment/lighter{ - pixel_x = -6; - pixel_y = 1 - }, -/obj/item/clipboard{ - pixel_x = -5; - pixel_y = 31 - }, -/obj/item/folder/yellow{ - pixel_x = 3; - pixel_y = 8 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "ign" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -23154,12 +23183,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/fore) -"ipI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/crate, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "ipM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23191,6 +23214,10 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"iqo" = ( +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "iqq" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -23332,15 +23359,6 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"isq" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "isr" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/door/poddoor/shutters/radiation/preopen{ @@ -23355,11 +23373,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"isG" = ( -/obj/structure/fake_stairs/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "isI" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -23428,16 +23441,6 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) -"itx" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/computer/security/qm{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "itB" = ( /obj/machinery/computer/security/telescreen{ dir = 8; @@ -23614,14 +23617,6 @@ /obj/item/clothing/glasses/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) -"iwI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "iwL" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -23842,6 +23837,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"izI" = ( +/obj/machinery/newscaster/directional/south, +/obj/structure/closet/secure_closet/quartermaster, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/camera/directional/south, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "izZ" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 @@ -23928,17 +23933,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron/white, /area/station/security/prison/mess) -"iBb" = ( -/obj/structure/cable, -/obj/machinery/camera/motion/directional/south{ - c_tag = "Vault"; - network = list("vault") - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "iBf" = ( /obj/structure/closet, /obj/item/stack/sheet/iron{ @@ -24035,16 +24029,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/dark, /area/station/security/range) -"iDA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "iDG" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -24102,11 +24086,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"iEX" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "iEZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -24241,6 +24220,16 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) +"iHS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "iId" = ( /obj/machinery/conveyor{ id = "mining" @@ -24268,6 +24257,14 @@ dir = 8 }, /area/station/service/chapel) +"iIE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "iIP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24291,13 +24288,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/command) -"iJv" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Cargo Bay Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/cargo/storage) "iJC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24420,6 +24410,21 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"iLT" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "iMd" = ( /obj/structure/bed/medical/emergency{ dir = 4 @@ -24548,6 +24553,14 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"iNt" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) "iNB" = ( /obj/machinery/firealarm/directional/east, /obj/structure/table/glass, @@ -24560,6 +24573,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"iNH" = ( +/obj/structure/lattice/catwalk, +/obj/item/banner/cargo, +/turf/open/space/basic, +/area/space/nearstation) "iNK" = ( /obj/structure/table, /obj/machinery/button/door{ @@ -24700,6 +24718,18 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) +"iPP" = ( +/obj/machinery/door/airlock/mining{ + name = "Quartermaster's Office" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/qm, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, +/area/station/command/heads_quarters/qm) "iPT" = ( /obj/machinery/light/floor, /turf/open/floor/wood, @@ -24938,15 +24968,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"iTM" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "iTO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25026,30 +25047,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"iUM" = ( -/obj/machinery/newscaster/directional/east, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/end{ - dir = 1 - }, -/obj/item/pen{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/reagent_containers/cup/glass/waterbottle{ - pixel_y = 16 - }, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "iVi" = ( /obj/machinery/door/airlock{ id_tag = "Cabin6"; @@ -25217,28 +25214,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/central) -"iXZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/hand_labeler_refill{ - pixel_x = 12; - pixel_y = -3 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/stack/package_wrap{ - pixel_x = -6; - pixel_y = 18 - }, -/obj/item/hand_labeler, -/obj/item/stack/package_wrap, -/turf/open/floor/iron, -/area/station/cargo/sorting) "iYc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25521,13 +25496,6 @@ /obj/structure/window/fulltile, /turf/open/floor/grass, /area/station/hallway/secondary/exit/departure_lounge) -"jdj" = ( -/obj/structure/window/spawner/directional/south, -/obj/machinery/computer/cargo/request{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "jdv" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25813,15 +25781,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"jhM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "jhS" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -25838,13 +25797,6 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"jir" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "jis" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -25916,18 +25868,6 @@ /obj/item/food/grown/banana, /turf/open/floor/grass, /area/station/medical/virology) -"jjE" = ( -/obj/machinery/camera/directional/west{ - c_tag = "Central Primary Hallway - Fore - Port Corner" - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/machinery/computer/piratepad_control/civilian{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jjF" = ( /obj/structure/table/reinforced, /obj/item/holosign_creator/robot_seat/bar, @@ -25988,24 +25928,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"jkL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "Disposals" - }, -/obj/structure/plasticflaps, -/obj/machinery/door/window/right/directional/south{ - name = "Delivery Door"; - req_access = list("cargo") - }, -/obj/machinery/conveyor{ - dir = 1; - id = "garbage" - }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "jkT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26135,6 +26057,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"jmU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jmY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -26221,12 +26152,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"joC" = ( -/obj/structure/cable, +"jox" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/maintenance/disposal) "joP" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -26334,19 +26270,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) -"jre" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/mining{ - name = "Cargo Bay" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/effect/landmark/navigate_destination, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/lobby) "jrk" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "hopqueue"; @@ -26478,18 +26401,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"jth" = ( -/obj/machinery/camera/directional/north{ - c_tag = "Port Primary Hallway - Middle" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "jtl" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, @@ -26570,12 +26481,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"juL" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "juV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26927,10 +26832,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/carpet, /area/station/security/detectives_office) -"jzc" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "jzp" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) @@ -26949,6 +26850,12 @@ /obj/machinery/holopad/secure, /turf/open/floor/iron/dark, /area/station/security/office) +"jzE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "jzN" = ( /turf/closed/wall/r_wall, /area/station/command/corporate_showroom) @@ -26989,16 +26896,6 @@ /obj/machinery/holopad, /turf/open/floor/iron, /area/station/science/robotics/lab) -"jAF" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/mining{ - name = "Mining Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "jAN" = ( /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted, @@ -27049,6 +26946,11 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"jBu" = ( +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "jBC" = ( /obj/structure/table, /obj/item/clothing/head/soft/grey{ @@ -27159,6 +27061,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison/work) +"jEa" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "jEc" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -27260,6 +27171,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"jGb" = ( +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "jGl" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, @@ -27350,6 +27270,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"jHM" = ( +/obj/machinery/newscaster/directional/east, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/item/pen{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 16 + }, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jHN" = ( /obj/machinery/computer/security/telescreen{ desc = "Used for watching Prison Wing holding areas."; @@ -27404,17 +27348,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/lounge) -"jIl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "jIz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment, @@ -27528,6 +27461,12 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/lab) +"jKc" = ( +/obj/effect/turf_decal/trimline/brown/filled/shrink_cw{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jKi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -27639,13 +27578,6 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/commons/locker) -"jMv" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "jMx" = ( /obj/structure/closet/crate, /obj/item/food/breadslice/plain, @@ -27748,18 +27680,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"jNt" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/light/directional/west, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/iron, -/area/station/cargo/storage) "jNN" = ( /obj/item/storage/box/lights/mixed, /turf/open/floor/plating, @@ -27773,6 +27693,14 @@ /obj/effect/turf_decal/tile/purple, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"jNR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "jNZ" = ( /obj/machinery/camera/directional/west{ c_tag = "Telecomms - Server Room - Aft-Port"; @@ -27959,6 +27887,28 @@ "jRg" = ( /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"jRo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/hand_labeler_refill{ + pixel_x = 12; + pixel_y = -3 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/stack/package_wrap{ + pixel_x = -6; + pixel_y = 18 + }, +/obj/item/hand_labeler, +/obj/item/stack/package_wrap, +/turf/open/floor/iron, +/area/station/cargo/sorting) "jRz" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -28020,11 +27970,6 @@ "jSk" = ( /turf/open/floor/engine, /area/station/science/explab) -"jSo" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/storage) "jSq" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -28043,14 +27988,17 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"jTg" = ( +"jTd" = ( +/obj/effect/landmark/start/quartermaster, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 }, -/turf/open/floor/iron, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, /area/station/cargo/storage) "jTi" = ( /obj/machinery/hydroponics/soil, @@ -28062,6 +28010,19 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/grass, /area/station/security/prison/garden) +"jTl" = ( +/obj/structure/disposaloutlet{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "jTs" = ( /obj/item/kirbyplants/potty, /turf/open/floor/wood/large, @@ -28082,15 +28043,6 @@ /obj/item/soulstone/anybody/chaplain, /turf/open/floor/cult, /area/station/service/chapel/office) -"jTE" = ( -/obj/machinery/requests_console/directional/north{ - department = "Law Office"; - name = "Lawyer Requests Console" - }, -/obj/machinery/newscaster/directional/west, -/obj/structure/aquarium/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "jTH" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/pdapainter/security, @@ -28130,6 +28082,15 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"jTY" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "jTZ" = ( /turf/closed/wall, /area/station/security/execution/transfer) @@ -28169,15 +28130,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"jUp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/generic, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "jUq" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -28294,14 +28246,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"jVU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "jVZ" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/right/directional/west{ @@ -28461,12 +28405,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/command/bridge) -"jZy" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "jZz" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible, /turf/open/floor/iron, @@ -28731,6 +28669,17 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"ken" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "keK" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -28861,16 +28810,6 @@ /obj/machinery/pdapainter/medbay, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"khb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/dresser, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "khm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -28903,6 +28842,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/hallway/primary/central) +"kif" = ( +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag, +/obj/item/emptysandbag{ + pixel_x = 8 + }, +/obj/item/emptysandbag{ + pixel_x = -9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "kir" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 4 @@ -29139,11 +29091,6 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/station/commons/lounge) -"kmB" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/caution, -/turf/open/floor/plating, -/area/station/cargo/storage) "kmN" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) @@ -29168,11 +29115,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"knh" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/ai_monitored/command/nuke_storage) "knj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -29189,15 +29131,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"knH" = ( -/obj/machinery/light/small/dim/directional/north, -/obj/structure/rack, -/obj/item/pushbroom, -/obj/effect/decal/cleanable/dirt, -/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "knI" = ( /obj/structure/chair{ dir = 4 @@ -29301,14 +29234,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kpa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - id = "qmroom" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "kpi" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -29350,6 +29275,25 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"kqh" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "kqm" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/blue/filled/warning{ @@ -29567,15 +29511,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"kuo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "kuD" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent{ @@ -29588,6 +29523,13 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/solars/port/fore) +"kuS" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/brown/anticorner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kuW" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -29624,17 +29566,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"kvM" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/toolbox/emergency, -/obj/effect/spawner/random/maintenance, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kvN" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/east, @@ -29661,6 +29592,14 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"kwh" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "kwp" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -29796,6 +29735,11 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"kyu" = ( +/obj/structure/lattice/catwalk, +/obj/item/toy/figure/cargotech, +/turf/open/space/basic, +/area/space/nearstation) "kyQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29880,6 +29824,23 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"kAh" = ( +/obj/structure/closet/crate, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stock_parts/cell/high, +/obj/machinery/light_switch/directional/north, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "kAp" = ( /obj/machinery/door/window/left/directional/west{ name = "Disposals Chute" @@ -30000,6 +29961,12 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/command/teleporter) +"kCg" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "kCq" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/modular_computer/preset/engineering, @@ -30047,13 +30014,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kDb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kDk" = ( /obj/machinery/door/airlock/security/glass{ name = "Permabrig Visitation" @@ -30144,6 +30104,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"kFa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/cargo_technician, +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "kFg" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -30231,14 +30200,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/lab) -"kGK" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kHg" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -30276,12 +30237,31 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/engine, /area/station/science/explab) +"kHO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"kHV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/maintenance/port/fore) "kIG" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/two, /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) +"kIJ" = ( +/obj/effect/spawner/random/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "kIR" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -30306,14 +30286,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/service/library) -"kJC" = ( -/obj/structure/lattice/catwalk, -/obj/structure/closet/crate, -/obj/item/toy/plush/lizard_plushie/green{ - name = "Loads-The-Crates" - }, -/turf/open/space/basic, -/area/space/nearstation) "kJO" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -30323,29 +30295,6 @@ /obj/machinery/light/no_nightlight/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos) -"kJS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/machinery/fax{ - fax_name = "Quartermaster"; - name = "Quartermaster's Fax Machine" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/machinery/requests_console/directional/north{ - department = "Security"; - name = "Security Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/ore_update, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "kKd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30432,6 +30381,11 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/white, /area/station/security/prison) +"kKO" = ( +/obj/structure/fake_stairs/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "kKT" = ( /obj/item/reagent_containers/cup/bottle/multiver{ pixel_x = 7; @@ -30568,6 +30522,36 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/hydroponics) +"kMK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/stamp/head/qm{ + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/stamp/granted{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/stamp/denied{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/stamp/void{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/effect/spawner/random/entertainment/money_medium{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "kMX" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -30716,27 +30700,6 @@ "kQe" = ( /turf/closed/wall, /area/station/science/genetics) -"kQg" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = -2; - pixel_y = 1 - }, -/obj/effect/spawner/random/bureaucracy/birthday_wrap{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = 7; - pixel_y = 1 - }, -/obj/item/stack/wrapping_paper{ - pixel_x = -4; - pixel_y = -7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "kQm" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -30752,25 +30715,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kQE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/item/radio/intercom/directional/east, -/obj/effect/turf_decal/trimline/brown/filled/line, +"kQv" = ( +/obj/machinery/light/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) +"kQO" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/mob/living/basic/sloth/citrus, /turf/open/floor/iron, -/area/station/cargo/miningoffice) +/area/station/cargo/storage) "kQP" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"kQR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "kQT" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -31270,10 +31227,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/ordnance/testlab) -"kYE" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "kYG" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) @@ -31299,18 +31252,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"kZl" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "kZn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -31344,6 +31285,15 @@ }, /turf/open/floor/iron, /area/station/security/office) +"kZI" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/closet/crate, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "laa" = ( /obj/machinery/light/directional/east, /turf/open/floor/iron/chapel{ @@ -31368,6 +31318,14 @@ /obj/effect/spawner/random/trash/janitor_supplies, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"lak" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lav" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -31454,15 +31412,6 @@ /obj/effect/spawner/random/structure/musician/piano/random_piano, /turf/open/floor/wood/large, /area/station/service/theater) -"lch" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cargo_technician, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lcG" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -31494,11 +31443,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"ldk" = ( -/obj/machinery/holopad, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "lds" = ( /obj/structure/table, /obj/item/storage/fancy/egg_box, @@ -31563,6 +31507,13 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"leT" = ( +/obj/structure/window/spawner/directional/south, +/obj/machinery/computer/cargo/request{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "lfc" = ( /obj/machinery/newscaster/directional/north, /obj/effect/turf_decal/stripes/corner{ @@ -31655,13 +31606,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"lgP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/netpod, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/cargo/bitrunning/den) "lgS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31762,6 +31706,36 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"liU" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/pen/red{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/pen/fountain{ + pixel_x = 10 + }, +/obj/item/pen/blue{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = 10 + }, +/obj/structure/table, +/obj/item/stamp{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/stamp/denied{ + pixel_y = -1 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "lje" = ( /obj/machinery/camera/directional/south{ c_tag = "Starboard Primary Hallway - Auxiliary Tool Storage" @@ -31811,6 +31785,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) +"ljH" = ( +/obj/effect/decal/cleanable/generic, +/obj/vehicle/sealed/mecha/ripley/cargo, +/turf/open/floor/iron/recharge_floor, +/area/station/cargo/warehouse) "ljL" = ( /obj/structure/chair/comfy/black, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31826,6 +31805,16 @@ /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"lkR" = ( +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/disposalpipe/trunk, +/obj/structure/window/spawner/directional/west, +/obj/machinery/light/small/directional/south, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/plating, +/area/station/cargo/sorting) "lkW" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -31893,24 +31882,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"lmq" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/delivery_chute{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/window/spawner/directional/south, -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/west, -/obj/machinery/door/window/right/directional/east{ - layer = 3 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "lmx" = ( /obj/machinery/light_switch/directional/west, /obj/effect/decal/cleanable/cobweb, @@ -32017,6 +31988,12 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"loR" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "loW" = ( /obj/machinery/door/airlock/maintenance{ name = "Storage Room" @@ -32058,15 +32035,6 @@ /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"lpB" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - location = "QM #1" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/storage) "lpD" = ( /obj/machinery/biogenerator, /turf/open/floor/plating, @@ -32112,18 +32080,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"lqu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "lqL" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -32207,12 +32163,6 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"lrW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/half/contrasted, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "lrZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -32248,6 +32198,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) +"lsU" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/table, +/obj/item/stack/package_wrap{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/effect/spawner/random/bureaucracy/birthday_wrap{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/item/dest_tagger{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/stack/wrapping_paper{ + pixel_x = -4; + pixel_y = -7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "lsV" = ( /obj/effect/turf_decal/siding/purple{ dir = 10 @@ -32332,6 +32303,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) +"lug" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "lup" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -32360,21 +32340,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) -"luG" = ( -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/siding/thinplating_new/corner{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) "luN" = ( /obj/machinery/airalarm/directional/west, /obj/structure/closet/secure_closet/security/med, @@ -32390,6 +32355,26 @@ }, /turf/open/floor/iron, /area/station/security/range) +"lvh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"lvm" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "lvs" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/disposalpipe/segment, @@ -32462,6 +32447,14 @@ }, /turf/open/floor/grass, /area/station/medical/virology) +"lwZ" = ( +/obj/structure/cable, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "lxf" = ( /obj/structure/bed, /obj/effect/spawner/random/bedsheet, @@ -32500,12 +32493,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"lxG" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "lxM" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -32553,13 +32540,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"lyW" = ( -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/loading_area{ - dir = 8 +"lzg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, /turf/open/floor/iron, -/area/station/cargo/lobby) +/area/station/cargo/miningoffice) "lzJ" = ( /obj/structure/cable, /turf/open/floor/iron/solarpanel/airless, @@ -32586,6 +32578,11 @@ /obj/item/pen/red, /turf/open/floor/iron/white, /area/station/medical/virology) +"lAa" = ( +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "lAe" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine, @@ -32635,6 +32632,20 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/evidence) +"lBg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/landmark/navigate_destination, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "lBm" = ( /obj/machinery/conveyor{ dir = 4; @@ -32671,16 +32682,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"lCP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "lDe" = ( /obj/machinery/door/poddoor/shutters/window{ id = "armory"; @@ -32762,40 +32763,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"lFB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/maintenance/port/fore) -"lFS" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/pen/red{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/pen/fountain{ - pixel_x = 10 - }, -/obj/item/pen/blue{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = 10 - }, -/obj/structure/table, -/obj/item/stamp{ - pixel_x = -9; - pixel_y = -1 - }, -/obj/item/stamp/denied{ - pixel_y = -1 +"lFF" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 }, /obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lFZ" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel{ @@ -32859,17 +32834,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"lHG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "lHK" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -32950,14 +32914,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"lKg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "lKu" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -33040,21 +32996,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore) -"lLL" = ( -/obj/item/radio/intercom/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo Bay - Fore" - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "lLR" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 8 @@ -33270,6 +33211,15 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) +"lPn" = ( +/obj/machinery/light/small/dim/directional/north, +/obj/structure/rack, +/obj/item/pushbroom, +/obj/effect/decal/cleanable/dirt, +/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "lPt" = ( /obj/machinery/door/window/left/directional/west{ name = "Jetpack Storage"; @@ -33364,6 +33314,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/command/bridge) +"lQf" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lQm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -33406,6 +33365,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"lRA" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "lRS" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /obj/effect/spawner/structure/window/reinforced, @@ -33537,25 +33504,13 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) -"lUr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, +"lUx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, /turf/open/floor/iron, -/area/station/cargo/drone_bay) -"lUu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) +/area/station/cargo/storage) "lUz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/yellow{ @@ -33610,6 +33565,9 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"lVp" = ( +/turf/closed/wall, +/area/station/cargo/lobby) "lVB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -33685,6 +33643,14 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"lWL" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "lWM" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Pen #6"; @@ -33704,16 +33670,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron, /area/station/science/xenobiology) -"lWU" = ( -/obj/machinery/newscaster/directional/south, -/obj/structure/closet/secure_closet/quartermaster, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/camera/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "lXl" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -33874,11 +33830,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"maa" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/caution, -/turf/open/floor/plating, -/area/station/cargo/storage) "mal" = ( /obj/effect/turf_decal/tile/bar{ dir = 1 @@ -34056,15 +34007,6 @@ }, /turf/open/floor/iron/white, /area/station/security/prison/visit) -"mdb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/dim/directional/south, -/obj/machinery/mech_bay_recharge_port{ - dir = 8 - }, -/obj/structure/sign/warning/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "mdk" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34095,14 +34037,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/central) -"mdD" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/sorting) "mdL" = ( /obj/machinery/computer/shuttle/mining{ dir = 1; @@ -34253,6 +34187,22 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"mhM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/machinery/door/window/right/directional/south{ + name = "Cargo Desk"; + req_access = list("shipping") + }, +/obj/item/newspaper{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "mhR" = ( /obj/machinery/light/small/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -34323,11 +34273,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"miV" = ( -/obj/machinery/light_switch/directional/east, +"miJ" = ( +/obj/effect/turf_decal/siding/wood, /obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) +/turf/open/floor/wood, +/area/station/service/cafeteria) "miW" = ( /obj/machinery/camera/directional/north{ c_tag = "Command Hallway - Starboard" @@ -34386,6 +34336,16 @@ /obj/structure/cable/layer3, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"mjQ" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/mining{ + name = "Mining Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "mkr" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -34446,18 +34406,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"mlW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mma" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/janitor) +"mml" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/storage) "mmm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34616,21 +34575,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/brig) -"moh" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/structure/tank_holder/extinguisher, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "mos" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -34690,11 +34634,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"mpq" = ( -/obj/machinery/light/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "mpw" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -34720,6 +34659,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/chapel, /area/station/service/chapel) +"mqn" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/west{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "mqu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/start/hangover, @@ -34848,18 +34799,6 @@ /obj/item/reagent_containers/cup/beaker/large, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"msY" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/west{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - req_access = list("maint_tunnels") - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "mta" = ( /obj/machinery/camera/directional/north{ c_tag = "Starboard Primary Hallway - tech_storage" @@ -34977,6 +34916,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"muq" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "mur" = ( /obj/machinery/light/directional/north, /obj/machinery/status_display/evac/directional/north, @@ -35095,6 +35040,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"mwo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mww" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -35137,6 +35090,13 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) +"mxx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/station/cargo/sorting) "mxI" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable, @@ -35179,20 +35139,6 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"myD" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door/airlock/vault{ - name = "Vault" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "myG" = ( /obj/structure/sign/directions/evac, /obj/structure/sign/directions/medical{ @@ -35229,6 +35175,30 @@ /obj/effect/turf_decal/tile/red/opposingcorners, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"mzj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) +"mzl" = ( +/obj/structure/closet/crate/preopen, +/obj/effect/spawner/random/bureaucracy/birthday_wrap, +/obj/item/stack/package_wrap{ + pixel_y = 5 + }, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/stack/package_wrap, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/lobby) "mzm" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ @@ -35310,12 +35280,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"mAR" = ( -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "mBf" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -35400,13 +35364,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"mCc" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "mCj" = ( /obj/machinery/camera{ c_tag = "Xenobiology Lab - Pen #7"; @@ -35551,12 +35508,6 @@ /obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"mEz" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "mEG" = ( /obj/structure/closet/secure_closet/security/engine, /obj/machinery/airalarm/directional/east, @@ -35653,6 +35604,9 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/engineering/main) +"mFq" = ( +/turf/open/floor/iron, +/area/station/cargo/warehouse) "mFr" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, @@ -35823,11 +35777,6 @@ /obj/machinery/recharge_station, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) -"mIW" = ( -/obj/structure/lattice/catwalk, -/obj/item/banner/cargo, -/turf/open/space/basic, -/area/space/nearstation) "mJa" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 4 @@ -35853,13 +35802,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"mJF" = ( -/obj/effect/spawner/structure/window, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/cargo/lobby) "mJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -35871,13 +35813,6 @@ "mJI" = ( /turf/open/space, /area/space/nearstation) -"mJJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "mJL" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35928,6 +35863,14 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"mKr" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "mKu" = ( /obj/machinery/light_switch/directional/west, /obj/structure/cable, @@ -36132,13 +36075,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"mOP" = ( -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "mPh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36218,6 +36154,18 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"mQa" = ( +/obj/machinery/camera/directional/north{ + c_tag = "Port Primary Hallway - Middle" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mQe" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -36255,26 +36203,6 @@ dir = 1 }, /area/station/security/prison) -"mQx" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) -"mQM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "mRg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -36355,45 +36283,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mRz" = ( -/obj/structure/cable, -/obj/structure/table/wood/fancy/black, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_x = 3; - pixel_y = 14 - }, -/obj/item/reagent_containers/cup/glass/bottle/champagne{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/clothing/mask/cigarette/cigar{ - pixel_x = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) -"mRC" = ( -/obj/machinery/light_switch/directional/north, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/kirbyplants/random{ - pixel_x = -7 - }, -/obj/machinery/camera/directional/north, -/obj/machinery/digital_clock/directional/east, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "mRY" = ( /obj/machinery/door/window/left/directional/north{ name = "Mass Driver"; @@ -36727,6 +36616,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"mXO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "mYq" = ( /obj/effect/turf_decal/plaque{ icon_state = "L8" @@ -36799,13 +36696,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood/large, /area/station/service/theater) -"mZe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "mZz" = ( /obj/machinery/light/directional/west, /obj/structure/table, @@ -36917,6 +36807,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"nbd" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nbJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37073,27 +36969,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"ndu" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/red/filled/warning, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"ndw" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ndI" = ( /obj/item/kirbyplants/organic/plant20, /obj/effect/turf_decal/stripes/line{ @@ -37227,6 +37102,13 @@ /obj/effect/spawner/random/entertainment/dice, /turf/open/floor/iron, /area/station/commons/dorms) +"ngS" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad2" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "ngT" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -37234,26 +37116,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison) -"ngX" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/machinery/camera/directional/south{ - c_tag = "Security Post - Cargo" - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "ngY" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -37347,10 +37209,6 @@ dir = 8 }, /area/station/medical/morgue) -"niJ" = ( -/obj/structure/noticeboard/qm, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "niY" = ( /obj/structure/disposalpipe/segment, /obj/structure/lattice/catwalk, @@ -37428,14 +37286,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"nkb" = ( -/obj/structure/chair/comfy/brown{ - dir = 8 - }, -/obj/effect/landmark/start/quartermaster, -/obj/item/binoculars, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "nkj" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 10 @@ -37472,15 +37322,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"nkO" = ( -/obj/machinery/computer/records/security{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "nkX" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -37738,6 +37579,22 @@ }, /turf/open/floor/wood, /area/station/commons/dorms) +"npj" = ( +/obj/machinery/light_switch/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants/random{ + pixel_x = -7 + }, +/obj/machinery/camera/directional/north, +/obj/machinery/digital_clock/directional/east, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "npv" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -37750,19 +37607,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"npK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/tank_holder/extinguisher, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"npL" = ( -/obj/effect/turf_decal/trimline/brown/filled/shrink_ccw{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "npY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -37872,23 +37716,39 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"nrB" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/item/kirbyplants/random, +/obj/structure/railing{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"nrN" = ( +/obj/machinery/mineral/ore_redemption{ + dir = 4; + input_dir = 8; + output_dir = 4 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Ore Redemption Window" + }, +/obj/machinery/door/window/left/directional/west{ + req_access = list("cargo"); + name = "Cargo Security Window" + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "nrV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /turf/open/floor/iron/dark, /area/station/security/execution/education) -"nrY" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = 3 - }, -/obj/item/circuitboard/machine/exoscanner, -/obj/item/circuitboard/machine/exoscanner{ - pixel_y = -3 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) "nsb" = ( /obj/effect/landmark/start/depsec/medical, /obj/machinery/button/door/directional/east{ @@ -37919,6 +37779,11 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"nsh" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "nsk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37989,6 +37854,16 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"nsT" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "nsZ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -38032,6 +37907,26 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/storage) +"ntm" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Access" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "ntA" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -38108,9 +38003,10 @@ }, /turf/open/floor/iron/white, /area/station/medical/office) -"nus" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/mob/living/basic/sloth/citrus, +"nut" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/cargo/storage) "nuB" = ( @@ -38128,12 +38024,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/range) -"nuJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/circuit/green{ - luminosity = 2 - }, -/area/station/ai_monitored/command/nuke_storage) "nuO" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -38268,6 +38158,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/customs) +"nxv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/effect/landmark/navigate_destination, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "nxy" = ( /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) @@ -38293,6 +38196,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"nxG" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "nxH" = ( /obj/machinery/door/airlock{ name = "Bar" @@ -38327,18 +38236,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison/work) -"nyl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Storage Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nyy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38356,21 +38253,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"nyQ" = ( -/obj/structure/table, -/obj/item/papercutter{ - pixel_x = 9; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stamp/granted{ - pixel_x = -7 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nyV" = ( /obj/structure/extinguisher_cabinet/directional/west, /obj/effect/turf_decal/tile/red{ @@ -38442,16 +38324,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) -"nAz" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "nAC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38667,11 +38539,10 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"nDC" = ( -/obj/structure/cable, -/obj/machinery/power/smes, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) +"nDG" = ( +/obj/item/radio/intercom/directional/south, +/turf/closed/wall, +/area/station/cargo/lobby) "nDO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38718,17 +38589,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"nEx" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "nEB" = ( /obj/structure/sign/poster/random/directional/east, /obj/machinery/requests_console/directional/south{ @@ -38795,6 +38655,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"nFY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/stripes/corner, +/obj/item/reagent_containers/cup/soda_cans, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nGd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39002,14 +38872,6 @@ /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron, /area/station/security/brig) -"nKq" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "nKr" = ( /obj/docking_port/stationary{ dir = 8; @@ -39168,6 +39030,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"nNB" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nNH" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -39356,6 +39225,21 @@ /obj/machinery/light/no_nightlight/directional/east, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/pumproom) +"nQR" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageSort2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/door/window/right/directional/east{ + name = "Crate Security Door"; + req_access = list("shipping") + }, +/turf/open/floor/plating, +/area/station/cargo/sorting) "nQX" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -39420,6 +39304,11 @@ "nSe" = ( /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"nSn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "nSs" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -39435,6 +39324,27 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"nSx" = ( +/obj/structure/table, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 2 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 5 + }, +/obj/item/clothing/gloves/cargo_gauntlet{ + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/soda_cans{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "nSB" = ( /obj/item/toy/figure/roboticist, /obj/structure/disposalpipe/segment, @@ -39476,14 +39386,6 @@ /obj/effect/turf_decal/trimline/dark_red/filled/line, /turf/open/floor/iron, /area/station/security/warden) -"nUb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "nUp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -39496,15 +39398,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) -"nUJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "nVq" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/random/maintenance, @@ -39632,12 +39525,6 @@ /obj/effect/spawner/random/entertainment/deck, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"nXV" = ( -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "nYa" = ( /obj/machinery/door/airlock/research{ name = "Ordnance Lab" @@ -39659,11 +39546,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"nYr" = ( -/obj/effect/turf_decal/siding/thinplating_new/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/turf/open/floor/iron, -/area/station/cargo/storage) "nYy" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, @@ -39732,9 +39614,6 @@ /obj/effect/turf_decal/box, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"nZo" = ( -/turf/open/floor/iron, -/area/station/cargo/warehouse) "nZq" = ( /obj/structure/table/wood, /turf/open/floor/wood, @@ -39773,6 +39652,10 @@ }, /turf/open/floor/engine, /area/station/science/ordnance) +"oac" = ( +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/lobby) "oae" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -40048,6 +39931,17 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"ocS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "odh" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -40157,20 +40051,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) -"ogW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/reagent_dispensers/beerkeg, -/obj/item/toy/figure/qm{ - pixel_x = 3; - pixel_y = 12 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "oha" = ( /obj/structure/rack, /obj/item/storage/briefcase{ @@ -40289,23 +40169,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/maintenance/port/aft) -"ojm" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "ojo" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -40324,6 +40187,46 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"ojz" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Space Bridge Access" + }, +/obj/machinery/button/door/directional/north{ + id = "supplybridge"; + name = "Shuttle Bay Space Bridge Control" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"ojW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"okj" = ( +/obj/structure/cable, +/obj/machinery/camera/motion/directional/south{ + c_tag = "Vault"; + network = list("vault") + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "okP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40441,13 +40344,11 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"ond" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad2" - }, +"omV" = ( +/obj/effect/spawner/random/structure/grille, +/obj/structure/cable, /turf/open/floor/plating, -/area/station/cargo/storage) +/area/station/maintenance/port/fore) "onf" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -40560,16 +40461,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ooY" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen, -/obj/item/pen/red, -/turf/open/floor/wood, -/area/station/service/lawoffice) "ope" = ( /turf/closed/wall, /area/station/security/mechbay) @@ -40600,15 +40491,6 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) -"opT" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - location = "QM #2" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/storage) "opZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ dir = 1 @@ -40843,6 +40725,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/security/prison/work) +"otQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "oue" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -40886,6 +40779,21 @@ /obj/item/reagent_containers/cup/glass/bottle/goldschlager, /turf/open/space/basic, /area/space/nearstation) +"ouu" = ( +/obj/item/radio/intercom/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo Bay - Fore" + }, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ouM" = ( /obj/structure/sign/painting/library{ pixel_y = -32 @@ -40936,14 +40844,6 @@ }, /turf/open/floor/iron, /area/station/security/warden) -"ouW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ouX" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -41009,21 +40909,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"ows" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Cargo Bay Bridge Access" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "owv" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -41121,6 +41006,16 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"oxX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/modular_computer/preset/id{ + dir = 1 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "oyj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -41286,20 +41181,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/genetics) -"oCI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) -"oCM" = ( -/obj/structure/cable, -/obj/structure/closet/crate, -/obj/effect/turf_decal/bot/left, -/turf/open/floor/iron, -/area/station/cargo/lobby) "oCN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41337,19 +41218,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"oDk" = ( -/obj/structure/disposaloutlet{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "oDl" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -41359,6 +41227,15 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"oDo" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/iron, +/area/station/cargo/sorting) "oDJ" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -41848,18 +41725,6 @@ "oKU" = ( /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) -"oLs" = ( -/obj/machinery/door/airlock/mining{ - name = "Quartermaster's Office" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/qm, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/diagonal, -/area/station/command/heads_quarters/qm) "oLD" = ( /obj/structure/chair/comfy/beige, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -41905,6 +41770,15 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) +"oMx" = ( +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/door/airlock/maintenance{ + name = "Mining Dock Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/mining, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/miningoffice) "oMA" = ( /turf/closed/wall/r_wall, /area/station/science/cytology) @@ -41930,10 +41804,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"oNe" = ( -/obj/structure/cable, -/turf/closed/wall, -/area/station/command/heads_quarters/qm) "oNl" = ( /obj/machinery/holopad, /turf/open/floor/iron, @@ -41990,15 +41860,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"oOF" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen, -/obj/machinery/door/poddoor/preopen{ - id = "qmroom" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "oOU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42172,6 +42033,26 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"oRO" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) +"oRR" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Outer Vault"; + name = "storage wing camera"; + network = list("ss13","vault") + }, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/obj/structure/window/spawner/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "oRV" = ( /obj/structure/table, /obj/machinery/newscaster/directional/east, @@ -42219,17 +42100,6 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"oSS" = ( -/obj/structure/cable, -/obj/machinery/mineral/stacking_unit_console{ - pixel_x = 32 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "oTa" = ( /obj/machinery/vending/cart{ req_access = list("hop") @@ -42246,6 +42116,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"oTw" = ( +/obj/machinery/door/airlock/mining{ + name = "Deliveries" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "oTD" = ( /obj/structure/frame/computer, /turf/open/floor/plating/airless, @@ -42350,10 +42230,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) -"oVQ" = ( -/obj/structure/cable, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "oVY" = ( /obj/structure/chair{ dir = 8; @@ -42414,16 +42290,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/hop, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"oWV" = ( -/obj/effect/decal/cleanable/oil, -/obj/structure/railing/corner/end{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "oWZ" = ( /obj/structure/table, /obj/machinery/airalarm/directional/north, @@ -42482,13 +42348,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron/dark, /area/station/security/office) -"oXM" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/storage) "oXR" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -42634,6 +42493,19 @@ "paD" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) +"paU" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pbb" = ( /obj/structure/table, /obj/machinery/microwave, @@ -42764,14 +42636,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/service/hydroponics) -"pdm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "pdx" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -43102,12 +42966,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"pjz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "pjS" = ( /obj/machinery/vending/cigarette, /obj/structure/extinguisher_cabinet/directional/east, @@ -43131,6 +42989,13 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/rd) +"pkF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/photocopier, +/turf/open/floor/iron, +/area/station/cargo/sorting) "pkH" = ( /obj/structure/rack, /obj/item/restraints/handcuffs, @@ -43155,6 +43020,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"pkM" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "pkP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43173,31 +43046,12 @@ /turf/open/floor/plating, /area/station/security/execution/transfer) "pkT" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/item/stack/package_wrap{ - pixel_x = 2; - pixel_y = -3 - }, -/obj/item/stack/package_wrap{ - pixel_x = 1; - pixel_y = 6 - }, -/obj/item/stack/package_wrap{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/dest_tagger{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/item/hand_labeler_refill{ - pixel_x = -11; - pixel_y = -3 - }, -/obj/item/stack/wrapping_paper, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "plp" = ( /obj/machinery/camera/directional/west{ c_tag = "Xenobiology Lab - Pen #1"; @@ -43205,11 +43059,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"plB" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/lobby) "plD" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -43499,16 +43348,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"pqm" = ( -/obj/machinery/door/airlock/mining{ - name = "Deliveries" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/supply/shipping, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pqt" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -43576,14 +43415,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) -"prG" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/closet/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "prT" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -43615,19 +43446,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"psk" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "psl" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -43772,16 +43590,6 @@ /obj/effect/spawner/random/entertainment/gambling, /turf/open/floor/wood, /area/station/commons/lounge) -"puC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/departments/vault/directional/north{ - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "puG" = ( /obj/machinery/status_display/ai/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -43825,6 +43633,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/security/brig) +"puW" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "puZ" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -43846,18 +43658,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/commons/storage/tools) -"pvx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/table, -/obj/machinery/fax{ - fax_name = "Cargo Office"; - name = "Cargo Office Fax Machine" - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pvL" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -44006,6 +43806,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"pyR" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/light_switch/directional/south, +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "pyU" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -44044,11 +43851,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) -"pzN" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/suit_storage_unit/industrial/loader, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "pzT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, @@ -44094,18 +43896,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) -"pAt" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/railing/corner/end/flip{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/end{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "pAD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/window/reinforced/spawner/directional/west, @@ -44139,33 +43929,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood, /area/station/commons/lounge) -"pBm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/poster/official/random/directional/west, -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/machinery/door/window/left/directional/north{ - req_access = list("shipping") - }, -/obj/structure/window/spawner/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) -"pBq" = ( -/obj/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/landmark/navigate_destination, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/cargo/drone_bay) "pBs" = ( /obj/structure/sign/warning/cold_temp/directional/north{ name = "\improper CRYOGENICS" @@ -44250,19 +44013,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"pCB" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/segment, -/obj/structure/sign/warning/directional/west, -/turf/open/floor/plating, -/area/station/cargo/sorting) "pCJ" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -44367,14 +44117,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"pEy" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "qmroom" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "pEB" = ( /obj/effect/landmark/start/botanist, /turf/open/floor/iron, @@ -44405,14 +44147,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/plating, /area/station/security/prison/work) -"pES" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/supply, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "pFd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44500,13 +44234,6 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) -"pGS" = ( -/obj/effect/spawner/random/maintenance, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "pGZ" = ( /obj/machinery/shower/directional/east, /obj/structure/cable, @@ -44583,6 +44310,11 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) +"pHK" = ( +/obj/structure/sign/warning/vacuum/external/directional/north, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "pHS" = ( /obj/structure/light_construct/directional/east, /turf/open/floor/wood, @@ -44882,10 +44614,11 @@ /obj/item/clothing/mask/gas/cyborg, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"pNP" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/cargo/warehouse) +"pNC" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/construction/storage_wing) "pNR" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, @@ -45026,6 +44759,15 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/iron, /area/station/security/prison/safe) +"pQh" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/solars/port/fore) "pQj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45150,10 +44892,6 @@ }, /turf/open/floor/grass, /area/station/service/hydroponics/garden) -"pRR" = ( -/obj/structure/fake_stairs/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) "pSa" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -45187,6 +44925,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space, /area/space/nearstation) +"pSY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/tank_holder/extinguisher, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "pTf" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45304,18 +45049,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/grimy, /area/station/security/interrogation) -"pVB" = ( -/obj/structure/table, -/obj/item/storage/box/lights/mixed{ - pixel_y = 9; - pixel_x = 8 - }, -/obj/item/storage/box/lights/mixed{ - pixel_y = 5; - pixel_x = -6 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "pVM" = ( /obj/machinery/light/small/directional/south, /obj/machinery/camera/directional/south{ @@ -45414,17 +45147,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"pXg" = ( -/obj/effect/landmark/blobstart, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pXh" = ( /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, @@ -45447,20 +45169,6 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron, /area/station/service/hydroponics) -"pXz" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/modular_computer/preset/cargochat/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/iron, -/area/station/cargo/sorting) "pXA" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -45518,14 +45226,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"pYU" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/disposal) +"pYM" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall, +/area/station/cargo/storage) "pZc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45596,24 +45300,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"qaD" = ( -/obj/effect/turf_decal/siding/thinplating_new/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"qaF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/depsec/supply, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "qaG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -45625,17 +45311,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/central) -"qaI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "qaP" = ( /obj/effect/turf_decal/plaque{ icon_state = "L3" @@ -45916,6 +45591,15 @@ /obj/machinery/power/supermatter_crystal/engine, /turf/open/floor/engine, /area/station/engineering/supermatter) +"qgl" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/spawner/random/structure/steam_vent, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qgn" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -46187,6 +45871,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"qlz" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "qlG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -46206,6 +45895,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"qlW" = ( +/obj/structure/cable, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "qmf" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/table/wood, @@ -46238,6 +45933,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"qmE" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "qmO" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /turf/open/floor/iron/dark, @@ -46250,6 +45953,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"qnj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "qno" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -46276,6 +45986,20 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"qnA" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/structure/tank_holder/extinguisher, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "qnK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46292,10 +46016,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore) -"qob" = ( -/obj/effect/decal/cleanable/oil/slippery, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "qos" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -46339,21 +46059,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"qpa" = ( -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/trimline/brown/line, -/obj/effect/turf_decal/trimline/brown/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +"qoY" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 }, -/obj/effect/landmark/start/bitrunner, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) +/turf/open/floor/iron, +/area/station/cargo/warehouse) "qph" = ( /obj/effect/decal/cleanable/blood/old, /obj/effect/spawner/random/medical/patient_stretcher, @@ -46363,12 +46075,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qpp" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "qpr" = ( /obj/machinery/button/door/directional/west{ id = "bridge blast"; @@ -46385,11 +46091,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/commons/lounge) -"qpZ" = ( -/obj/structure/cable, -/obj/structure/railing/corner/end, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "qqg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46410,6 +46111,12 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"qqr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "qrg" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/circuit/green{ @@ -46609,13 +46316,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/holding_cell) -"qvj" = ( -/obj/machinery/computer/cargo{ - dir = 4 - }, -/obj/structure/window/spawner/directional/west, +"quT" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/light/directional/south, /turf/open/floor/iron, -/area/station/cargo/sorting) +/area/station/cargo/storage) "qvJ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -46636,6 +46341,11 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"qvV" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/siding/thinplating_new, +/turf/open/floor/iron, +/area/station/cargo/storage) "qvY" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/turf_decal/tile/brown/half/contrasted, @@ -46739,6 +46449,13 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/space, /area/space/nearstation) +"qyk" = ( +/obj/machinery/computer/cargo{ + dir = 4 + }, +/obj/structure/window/spawner/directional/west, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qyr" = ( /obj/item/kirbyplants, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -46759,15 +46476,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"qyx" = ( -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Dock Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/mining, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/cargo/miningoffice) "qyC" = ( /turf/closed/wall, /area/station/engineering/atmos/pumproom) @@ -46873,22 +46581,6 @@ dir = 8 }, /area/station/medical/medbay/lobby) -"qAv" = ( -/obj/structure/railing{ - dir = 10 - }, -/obj/machinery/light/directional/north, -/obj/structure/statue/gold/qm, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/brown/diagonal_centre, -/obj/effect/turf_decal/tile/yellow/diagonal_edge, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 10 - }, -/turf/open/floor/iron/diagonal, -/area/station/cargo/storage) "qAA" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/computer/security/mining{ @@ -46984,10 +46676,21 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/science/xenobiology) +"qCm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qCv" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"qCx" = ( +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qCC" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -47011,6 +46714,17 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/cryo) +"qCM" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/external{ + name = "Solar Maintenance" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "qCP" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -47019,6 +46733,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) +"qCS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "qCY" = ( /obj/structure/sign/directions/evac, /turf/closed/wall, @@ -47074,6 +46797,21 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"qDH" = ( +/obj/structure/table, +/obj/item/papercutter{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stamp/granted{ + pixel_x = -7 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "qDS" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -47081,6 +46819,15 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"qDW" = ( +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "qEb" = ( /obj/structure/chair/pew/right, /turf/open/floor/iron/chapel, @@ -47117,13 +46864,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, /area/station/maintenance/aft/greater) -"qEV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron, -/area/station/cargo/sorting) "qFo" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -47235,6 +46975,12 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/hallway/primary/port) +"qHa" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "qHh" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 9 @@ -47631,17 +47377,6 @@ /obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) -"qNy" = ( -/obj/machinery/light/directional/north, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/delivery_chute{ - dir = 4; - name = "Crate Returns" - }, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/cargo/lobby) "qNz" = ( /obj/structure/chair/office/light{ dir = 4 @@ -48099,28 +47834,20 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) "qTL" = ( -/obj/structure/table/reinforced, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/stamp{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/pen/red{ - pixel_y = 10 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 }, -/obj/item/dest_tagger{ - pixel_x = 9; - pixel_y = 10 +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Cargo Bay Bridge Access" }, -/obj/item/pen/screwdriver{ - pixel_x = -7; - pixel_y = 7 +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 }, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "qTR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -48394,6 +48121,19 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) +"qYC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) +"qYW" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "qZa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48591,14 +48331,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) -"rcf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rcq" = ( /obj/machinery/atmospherics/pipe/layer_manifold/purple/visible, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5{ @@ -48618,6 +48350,10 @@ }, /turf/open/floor/wood, /area/station/service/library) +"rcR" = ( +/obj/structure/sign/departments/cargo, +/turf/closed/wall, +/area/station/cargo/lobby) "rcW" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -48746,14 +48482,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"reU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot_white, -/obj/effect/turf_decal/arrows/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "rfb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48796,6 +48524,10 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"rgM" = ( +/obj/structure/sign/poster/traitor/random, +/turf/closed/wall, +/area/station/cargo/warehouse) "rgS" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -48885,6 +48617,11 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating/airless, /area/station/solars/port/fore) +"riU" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/caution, +/turf/open/floor/plating, +/area/station/cargo/storage) "riW" = ( /obj/structure/plasticflaps/opaque, /obj/machinery/door/window/left/directional/north{ @@ -49025,6 +48762,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"rlr" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "rlu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -49048,12 +48793,6 @@ /obj/structure/table, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"rmo" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "rmF" = ( /obj/machinery/door/airlock/maintenance{ name = "Law Office Maintenance" @@ -49063,6 +48802,13 @@ /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, /turf/open/floor/plating, /area/station/maintenance/fore) +"rmL" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rmO" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -49074,6 +48820,18 @@ dir = 4 }, /area/station/service/chapel) +"rmS" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron, +/area/station/cargo/storage) "rnb" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/effect/spawner/random/trash/garbage{ @@ -49109,6 +48867,17 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/office) +"rnf" = ( +/obj/effect/landmark/generic_maintenance_landmark, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rng" = ( /obj/structure/cable, /obj/effect/landmark/start/hangover, @@ -49148,6 +48917,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) +"rod" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/arrow_ccw, +/turf/open/floor/iron, +/area/station/cargo/lobby) "roe" = ( /obj/machinery/atmospherics/pipe/smart/simple/supply/hidden{ dir = 10 @@ -49174,18 +48951,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"rpd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "rps" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -49270,13 +49035,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/security/range) -"rqt" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "rqK" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, @@ -49295,12 +49053,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"rrs" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "rrt" = ( /obj/structure/lattice, /obj/effect/spawner/random/structure/grille, @@ -49328,16 +49080,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"rrM" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/obj/machinery/door/airlock/maintenance{ - name = "Quartermaster Maintenance" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "rrT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/red{ @@ -49480,6 +49222,22 @@ /obj/structure/bed/medical/emergency, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"rud" = ( +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/trimline/brown/line, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/bitrunner, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "rul" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49599,12 +49357,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) -"rvS" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/closed/wall, -/area/station/cargo/warehouse) "rvY" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 1 @@ -49657,13 +49409,6 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"rwu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "rwx" = ( /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/stripes/line{ @@ -49766,12 +49511,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"rye" = ( -/obj/structure/railing/corner/end/flip, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "ryf" = ( /obj/structure/bookcase/random/reference, /obj/effect/turf_decal/siding/wood{ @@ -49838,6 +49577,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/security/prison/visit) +"ryV" = ( +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "rza" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49856,6 +49604,11 @@ /mob/living/basic/goat/pete, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) +"rzo" = ( +/obj/structure/cable, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "rzq" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/corner, @@ -50006,6 +49759,11 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) +"rBY" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "rCn" = ( /obj/item/mmi, /obj/structure/rack, @@ -50241,13 +49999,6 @@ "rGC" = ( /turf/open/floor/iron/dark, /area/station/security/courtroom) -"rGU" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "rHh" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law{ @@ -50305,11 +50056,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/service/theater) -"rHI" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "rHZ" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /obj/machinery/atmospherics/components/binary/valve/digital{ @@ -50637,10 +50383,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"rMV" = ( -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "rMZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -50691,13 +50433,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"rNU" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/brown/anticorner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "rOz" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -50748,6 +50483,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload_foyer) +"rPp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/caution, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rPA" = ( /obj/structure/flora/bush/flowers_pp/style_random, /obj/structure/flora/bush/flowers_yw/style_random, @@ -50809,6 +50550,12 @@ "rQw" = ( /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) +"rQD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/thinplating_new, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/storage) "rQS" = ( /obj/structure/table, /obj/item/storage/box/evidence{ @@ -50872,33 +50619,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/science/xenobiology) -"rRv" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/item/folder/yellow{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/folder/yellow{ - pixel_x = -9; - pixel_y = 1 - }, -/obj/item/paper{ - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rRB" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -51122,15 +50842,6 @@ "rVn" = ( /turf/open/floor/iron, /area/station/cargo/lobby) -"rVE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/sorting) "rVG" = ( /obj/machinery/door/window/left/directional/west{ name = "Service Deliveries"; @@ -51231,6 +50942,23 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"rXl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/item/reagent_containers/cup/glass/waterbottle{ + pixel_y = 48; + pixel_x = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "rXJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/chair/stool/directional/east, @@ -51336,6 +51064,10 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"rZv" = ( +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rZy" = ( /obj/machinery/camera/directional/east{ c_tag = "AI Chamber - Starboard"; @@ -51504,6 +51236,19 @@ /mob/living/basic/parrot/poly, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"sbF" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "packageExternal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/segment, +/obj/structure/sign/warning/directional/west, +/turf/open/floor/plating, +/area/station/cargo/sorting) "sbG" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, @@ -51527,6 +51272,14 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"sbP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "sbX" = ( /obj/machinery/hydroponics/soil, /obj/effect/decal/cleanable/dirt, @@ -51635,16 +51388,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"sea" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/computer/cargo{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "see" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ @@ -51667,11 +51410,6 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/hallway/primary/aft) -"sff" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "sfg" = ( /obj/structure/cable, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -51778,12 +51516,6 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/port) -"shm" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "shq" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/shower/directional/south, @@ -51820,6 +51552,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"sik" = ( +/obj/structure/railing/corner/end{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/end{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sip" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51955,11 +51696,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white, /area/station/science/xenobiology/hallway) -"slw" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "sly" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -51990,6 +51726,12 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"slZ" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "smg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/effect/mapping_helpers/airlock/locked, @@ -52000,6 +51742,16 @@ /obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) +"sml" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "smt" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/yellow/visible{ dir = 4 @@ -52007,6 +51759,17 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"smB" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/autolathe, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "smG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52067,6 +51830,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"snZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "soa" = ( /obj/machinery/light/small/directional/south, /obj/structure/sign/poster/official/random/directional/south, @@ -52126,6 +51901,12 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"spf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/circuit/green{ + luminosity = 2 + }, +/area/station/ai_monitored/command/nuke_storage) "sph" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52201,6 +51982,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/central) +"srM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "srP" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52313,6 +52103,33 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"sul" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 6 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/folder/yellow{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/folder/yellow{ + pixel_x = -9; + pixel_y = 1 + }, +/obj/item/paper{ + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "suD" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -52447,17 +52264,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"swH" = ( -/obj/effect/landmark/generic_maintenance_landmark, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "swP" = ( /obj/structure/cable, /obj/effect/mapping_helpers/broken_floor, @@ -52752,6 +52558,18 @@ /obj/structure/sign/warning/radiation, /turf/closed/wall/r_wall, /area/station/engineering/atmospherics_engine) +"sCs" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "QMLoad2"; + name = "Unloading Conveyor"; + pixel_x = -13; + pixel_y = -4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sCv" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/preopen{ @@ -52816,14 +52634,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"sDz" = ( -/obj/machinery/camera/directional/north, -/obj/structure/chair/greyscale, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/trimline/brown/filled/corner, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/cargo/lobby) "sDC" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52987,6 +52797,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"sFi" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/fake_stairs/directional/south, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "sFo" = ( /obj/machinery/button/crematorium{ id = "crematoriumChapel"; @@ -53012,6 +52832,12 @@ }, /turf/open/floor/iron, /area/station/service/kitchen) +"sFI" = ( +/obj/structure/cable, +/obj/structure/closet/crate, +/obj/effect/turf_decal/bot/left, +/turf/open/floor/iron, +/area/station/cargo/lobby) "sFY" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -53086,21 +52912,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) -"sHk" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/wood, -/area/station/service/lawoffice) "sHt" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -53122,6 +52933,11 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/main) +"sHX" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sIe" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) @@ -53175,27 +52991,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/engineering/supermatter) -"sKd" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad2"; - name = "Unloading Conveyor"; - pixel_x = -13; - pixel_y = -4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"sKh" = ( -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"sKp" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "sKs" = ( /obj/structure/closet/bombcloset/security, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -53204,9 +52999,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron, /area/station/security/brig) -"sKw" = ( -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "sKy" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53238,6 +53030,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/command/bridge) +"sLf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Storage Room" + }, +/obj/effect/mapping_helpers/airlock/abandoned, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "sLp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -53383,6 +53187,16 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"sNr" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "sNt" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53422,14 +53236,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port) -"sNP" = ( -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/arrows/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "sNS" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -53462,15 +53268,6 @@ /obj/structure/light_construct/directional/east, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"sOI" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/external{ - name = "Solar Maintenance" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/plating, -/area/station/solars/port/fore) "sOM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53551,6 +53348,12 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/white, /area/station/science/explab) +"sPO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "sPV" = ( /obj/structure/closet/secure_closet/captains, /obj/structure/window/reinforced/spawner/directional/north, @@ -53818,6 +53621,13 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"sTU" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "sTW" = ( /obj/effect/turf_decal/tile/yellow, /obj/structure/disposalpipe/segment{ @@ -53834,6 +53644,19 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"sUc" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "QMLoad" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "sUo" = ( /turf/open/floor/engine/air, /area/station/engineering/atmos) @@ -53876,6 +53699,12 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"sUD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "sUJ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/two, @@ -54028,6 +53857,11 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"sWU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "sWV" = ( /turf/closed/wall/r_wall, /area/station/security/detectives_office) @@ -54589,6 +54423,14 @@ }, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"tik" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/rnd/production/techfab/department/cargo, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "tit" = ( /obj/structure/sink/directional/east, /obj/structure/sign/poster/contraband/random/directional/west, @@ -54607,15 +54449,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/port) -"tiU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tjf" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -54737,16 +54570,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"tlm" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/fake_stairs/directional/south, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tlE" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, @@ -54757,6 +54580,13 @@ dir = 8 }, /area/station/service/chapel) +"tlJ" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "tlK" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -54870,6 +54700,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"tnk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/structure/crate_abandoned, +/obj/effect/turf_decal/bot_white, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tnm" = ( /obj/structure/chair{ dir = 1 @@ -54885,6 +54721,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"tnF" = ( +/obj/machinery/light/small/dim/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tnG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/showcase/machinery/oldpod{ @@ -54905,10 +54746,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"tnU" = ( -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron, -/area/station/cargo/storage) "tot" = ( /obj/structure/table/wood, /obj/item/paper_bin{ @@ -54979,12 +54816,6 @@ /obj/machinery/griddle, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"tpG" = ( -/obj/structure/cable, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "tqd" = ( /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, @@ -55014,6 +54845,12 @@ /obj/effect/spawner/random/clothing/costume, /turf/open/floor/plating, /area/station/maintenance/port) +"tqo" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/landmark/start/cargo_technician, +/turf/open/floor/iron, +/area/station/cargo/storage) "tqx" = ( /obj/machinery/door/window/left/directional/north{ name = "Mass Driver Control Door"; @@ -55080,15 +54917,15 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"tsb" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/thinplating_new, -/obj/effect/turf_decal/trimline/brown/filled/line, -/turf/open/floor/iron, -/area/station/cargo/storage) "tsd" = ( /turf/closed/wall, /area/station/maintenance/space_hut) +"tsi" = ( +/obj/structure/sign/warning/vacuum/external/directional/east, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "tst" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55224,14 +55061,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"tui" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) "tuu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -55244,14 +55073,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tuF" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tuG" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -55268,6 +55089,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"tvv" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/closed/wall, +/area/station/command/heads_quarters/qm) "tvE" = ( /turf/closed/wall/r_wall, /area/station/command/gateway) @@ -55387,11 +55214,6 @@ }, /turf/open/floor/iron, /area/station/commons/locker) -"txm" = ( -/obj/structure/cable, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/construction/storage_wing) "txz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55641,21 +55463,20 @@ /obj/effect/landmark/start/depsec/supply, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"tCf" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/obj/structure/sign/poster/official/random/directional/south, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tCC" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 }, /turf/open/floor/iron, /area/station/security/prison/garden) +"tCF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tCG" = ( /obj/effect/landmark/navigate_destination, /turf/open/floor/iron, @@ -55691,13 +55512,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"tDo" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/piratepad/civilian, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "tDN" = ( /obj/structure/chair{ dir = 8 @@ -55711,14 +55525,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"tDS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "tDU" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55796,18 +55602,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"tGx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) -"tGD" = ( -/obj/structure/sign/departments/cargo, -/turf/closed/wall, -/area/station/cargo/lobby) "tGI" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -55833,6 +55627,21 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"tGU" = ( +/obj/structure/sign/poster/random/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/spawner/random/food_or_drink/donkpockets{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tGX" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -55862,6 +55671,29 @@ /obj/structure/cable/layer3, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"tHV" = ( +/obj/structure/table/reinforced, +/obj/item/storage/box/shipping{ + pixel_x = -6; + pixel_y = 15 + }, +/obj/item/multitool{ + pixel_x = -3; + pixel_y = -4 + }, +/obj/item/storage/box/lights/mixed{ + pixel_x = 8; + pixel_y = 11 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 5 + }, +/obj/item/storage/box/shipping{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "tHZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -55984,6 +55816,17 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) +"tJB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tJE" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron/dark, @@ -56061,26 +55904,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/central) -"tKQ" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Disposal Access" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "tKR" = ( /obj/structure/table/glass, /obj/machinery/fax{ @@ -56201,6 +56024,11 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/fore) +"tMn" = ( +/obj/structure/cable, +/obj/structure/railing/corner/end, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "tMA" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10-Aft-To-Central"; @@ -56252,6 +56080,22 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"tMY" = ( +/obj/structure/cable, +/obj/structure/table/reinforced, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/item/radio/off{ + pixel_x = -11; + pixel_y = -3 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/item/binoculars, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "tNg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56439,12 +56283,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/locker) -"tPz" = ( -/obj/effect/turf_decal/delivery, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/trimline/brown/filled/arrow_cw, -/turf/open/floor/iron, -/area/station/cargo/storage) "tPF" = ( /obj/item/storage/belt/utility, /obj/item/radio/off, @@ -56476,22 +56314,14 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/showroomfloor, /area/station/maintenance/starboard/lesser) -"tQl" = ( -/obj/structure/extinguisher_cabinet/directional/south, -/obj/effect/turf_decal/trimline/brown/warning{ - dir = 8 - }, +"tPW" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 9 }, -/turf/open/floor/iron, -/area/station/cargo/storage) -"tQy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/structure/filingcabinet/filingcabinet, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/cargo/sorting) "tQC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom, /obj/effect/turf_decal/delivery, @@ -56499,11 +56329,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/kitchen_coldroom/freezerfloor, /area/station/service/kitchen/coldroom) -"tQD" = ( -/obj/effect/spawner/random/structure/grille, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "tQG" = ( /obj/structure/cable, /obj/machinery/door/airlock/virology/glass{ @@ -56515,15 +56340,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/virology, /turf/open/floor/iron/white, /area/station/medical/virology) -"tQW" = ( -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tRE" = ( /obj/structure/chair{ dir = 1 @@ -56844,6 +56660,16 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) +"tWU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/departments/vault/directional/north{ + pixel_x = 32 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "tWV" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -56895,6 +56721,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"tXO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "tXU" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -56970,6 +56805,13 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/plating, /area/station/security/execution/transfer) +"tYU" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/storage) "tYW" = ( /obj/machinery/light/directional/south, /obj/structure/cable, @@ -56993,6 +56835,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/explab) +"tZq" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/storage) "tZz" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/cable, @@ -57145,6 +56994,16 @@ /obj/structure/sign/directions/evac, /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) +"ubj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/shutters{ + name = "Warehouse Shutters"; + id = "warehouse" + }, +/turf/open/floor/catwalk_floor, +/area/station/cargo/warehouse) "ubl" = ( /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/circuit/telecomms/mainframe, @@ -57260,11 +57119,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"ucv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "ucw" = ( /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, @@ -57381,15 +57235,6 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"ufx" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/engineering{ - name = "Port Bow Solar Access" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "uga" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -57416,13 +57261,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"ugl" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) "ugP" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -57437,6 +57275,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uha" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "uhq" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57592,6 +57438,25 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"ukm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/light/small/directional/east, +/obj/structure/bed, +/obj/item/bedsheet/qm, +/obj/effect/landmark/start/quartermaster, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) +"uko" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "ukq" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1 @@ -57667,6 +57532,16 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/dark, /area/station/security/checkpoint/medical) +"unc" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "unj" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -57745,13 +57620,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"uom" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "uor" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor2"; @@ -57806,12 +57674,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"upf" = ( +"upM" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/circuit/green{ - luminosity = 2 +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/area/station/ai_monitored/command/nuke_storage) +/turf/open/floor/iron, +/area/station/hallway/primary/port) "upR" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -58031,6 +57904,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"usJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/sorting) "usK" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -58082,6 +57964,14 @@ }, /turf/open/floor/wood, /area/station/security/office) +"uth" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "utk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58124,13 +58014,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"utN" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "utS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/hangover, @@ -58145,6 +58028,17 @@ dir = 8 }, /area/station/service/chapel) +"uud" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/iron, +/area/station/cargo/sorting) "uuv" = ( /obj/machinery/holopad, /obj/effect/turf_decal/stripes/line{ @@ -58219,6 +58113,26 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) +"uwf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/pen{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/machinery/camera/directional/south{ + c_tag = "Security Post - Cargo" + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "uwh" = ( /obj/structure/chair/comfy{ dir = 1 @@ -58246,6 +58160,12 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) +"uwM" = ( +/obj/effect/landmark/start/depsec/supply, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "uwQ" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -58288,12 +58208,35 @@ "uxS" = ( /turf/open/floor/wood, /area/station/maintenance/port/aft) +"uya" = ( +/obj/machinery/disposal/delivery_chute, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/window/spawner/directional/west, +/obj/structure/window/spawner/directional/east, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "uyd" = ( /obj/structure/sign/warning/pods/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) +"uyf" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line, +/turf/open/floor/iron, +/area/station/cargo/storage) +"uyh" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/machinery/holopad, +/turf/open/floor/iron, +/area/station/cargo/sorting) "uyi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58371,18 +58314,6 @@ }, /turf/open/space/basic, /area/space) -"uzt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/north{ - id = "warehouse"; - name = "Warehouse Shutters Control" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/obj/structure/table, -/obj/machinery/microwave, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "uzJ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -58417,21 +58348,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/solars/port/aft) -"uAD" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageSort2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/door/window/right/directional/east{ - name = "Crate Security Door"; - req_access = list("shipping") - }, -/turf/open/floor/plating, -/area/station/cargo/sorting) "uAE" = ( /obj/machinery/door/airlock/external, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -58441,9 +58357,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"uAG" = ( -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "uAM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58452,6 +58365,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port) +"uBj" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "uBp" = ( /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ dir = 8 @@ -58600,6 +58522,13 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"uEs" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/solars/port/fore) "uEw" = ( /obj/structure/cable, /obj/effect/mapping_helpers/burnt_floor, @@ -58620,6 +58549,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uEA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uEC" = ( /obj/machinery/conveyor{ dir = 4; @@ -58630,14 +58570,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"uED" = ( -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/carpet/orange, -/area/station/command/heads_quarters/qm) "uEO" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/port) +"uEP" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "uET" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -58830,13 +58773,6 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron, /area/station/command/gateway) -"uHf" = ( -/obj/machinery/door/poddoor/shutters{ - name = "Warehouse Shutters"; - id = "warehouse" - }, -/turf/open/floor/catwalk_floor, -/area/station/cargo/warehouse) "uHo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58958,17 +58894,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/commons/locker) -"uJD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uJL" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59082,18 +59007,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"uLE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "uLK" = ( /obj/structure/flora/bush/pale/style_random, /obj/structure/flora/bush/ferny/style_random, @@ -59128,6 +59041,13 @@ dir = 4 }, /area/station/medical/chem_storage) +"uMj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "uMR" = ( /obj/machinery/holopad, /turf/open/floor/iron/white/side{ @@ -59213,6 +59133,14 @@ /obj/effect/spawner/random/trash/box, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"uNZ" = ( +/obj/structure/lattice/catwalk, +/obj/structure/closet/crate, +/obj/item/toy/plush/lizard_plushie/green{ + name = "Loads-The-Crates" + }, +/turf/open/space/basic, +/area/space/nearstation) "uOd" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, @@ -59358,6 +59286,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"uQL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "uRa" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -59415,14 +59354,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) -"uSw" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"uSq" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen{ + desc = "Used for watching Prison Wing holding areas."; + name = "Prison Monitor"; + network = list("prison"); + pixel_y = 30 }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/wood, +/area/station/service/lawoffice) "uSz" = ( /obj/structure/table, /obj/item/phone{ @@ -59439,6 +59385,15 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"uSO" = ( +/obj/effect/spawner/random/structure/crate, +/obj/effect/turf_decal/bot_white, +/obj/structure/cable, +/obj/effect/turf_decal/arrows/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "uTj" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, @@ -59517,6 +59472,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/locker) +"uUn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "uUu" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -59573,22 +59543,6 @@ /obj/structure/sign/poster/official/nanotrasen_logo/directional/east, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"uVm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "uVv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -59624,12 +59578,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"uWa" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "uWk" = ( /obj/structure/sign/warning/secure_area, /turf/closed/wall/r_wall, @@ -59795,6 +59743,15 @@ "uYp" = ( /turf/closed/wall, /area/station/medical/break_room) +"uYB" = ( +/obj/structure/cable, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/arrows/red{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "uYD" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line, @@ -59899,6 +59856,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uZL" = ( +/obj/machinery/requests_console/directional/north{ + department = "Law Office"; + name = "Lawyer Requests Console" + }, +/obj/machinery/newscaster/directional/west, +/obj/structure/aquarium/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "uZM" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen/ordnance{ @@ -60041,6 +60007,25 @@ }, /turf/open/floor/plating, /area/station/service/chapel/funeral) +"vde" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/directional/north{ + id = "warehouse"; + name = "Warehouse Shutters Control" + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/obj/structure/table, +/obj/machinery/microwave, +/turf/open/floor/iron, +/area/station/cargo/warehouse) +"vdg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/netpod, +/obj/effect/decal/cleanable/robot_debris, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/cargo/bitrunning/den) "vdi" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Office - Port" @@ -60338,12 +60323,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/service/library) -"vjz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/crate_abandoned, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "vjB" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -60470,15 +60449,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"vkE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "vkO" = ( /obj/structure/table, /obj/item/clothing/gloves/latex, @@ -60494,6 +60464,13 @@ /obj/effect/spawner/random/techstorage/rnd_secure_all, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"vlk" = ( +/obj/effect/turf_decal/trimline/red/filled/warning, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vlq" = ( /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron, @@ -60508,13 +60485,6 @@ luminosity = 2 }, /area/station/science/ordnance/bomb) -"vlB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/cargo/sorting) "vlH" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, @@ -60866,10 +60836,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/customs) -"vsg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "vsr" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61152,6 +61118,21 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/fitness/recreation) +"vwu" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new/corner{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "vwP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61173,19 +61154,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/entry) -"vxn" = ( -/obj/structure/cable, -/obj/effect/turf_decal/bot_white, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/iron, -/area/station/cargo/storage) -"vxx" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "vxB" = ( /obj/structure/bed/medical/emergency, /obj/machinery/camera/directional/west{ @@ -61231,6 +61199,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"vxO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "vxT" = ( /obj/structure/chair/comfy{ dir = 4 @@ -61294,22 +61273,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"vzp" = ( -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/brown/corner{ - dir = 8 - }, -/obj/machinery/door/airlock/mining{ - name = "Bitrunning Den" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron/dark/textured_half, -/area/station/cargo/bitrunning/den) "vzt" = ( /obj/structure/table/reinforced, /obj/machinery/airalarm/directional/north, @@ -61412,6 +61375,19 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"vAT" = ( +/obj/machinery/light/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "vAX" = ( /obj/structure/chair/sofa/left/brown, /obj/structure/sign/poster/official/get_your_legs/directional/north, @@ -61680,21 +61656,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"vEU" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Vault Storage" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/construction/storage_wing) "vEV" = ( /obj/machinery/space_heater, /obj/effect/decal/cleanable/cobweb, @@ -61760,12 +61721,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos) -"vFL" = ( -/obj/effect/turf_decal/trimline/brown/filled/shrink_cw{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "vGl" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp, @@ -61827,6 +61782,10 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"vHa" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "vHs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -61851,12 +61810,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"vHZ" = ( -/obj/structure/sign/warning/vacuum/external/directional/east, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "vIa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62001,6 +61954,11 @@ /obj/item/clothing/suit/hazardvest, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"vKn" = ( +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/structure/crate_loot, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "vKt" = ( /obj/structure/table/wood/fancy/royalblue, /obj/structure/sign/painting/library_secure{ @@ -62017,16 +61975,6 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) -"vKP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Cargo" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "vKT" = ( /obj/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -62069,16 +62017,6 @@ dir = 8 }, /area/station/medical/morgue) -"vLq" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vLA" = ( /obj/structure/disposalpipe/junction/flip{ dir = 4 @@ -62189,15 +62127,6 @@ }, /turf/open/space, /area/space/nearstation) -"vNZ" = ( -/obj/structure/sign/poster/contraband/random/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vOh" = ( /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating/airless, @@ -62231,28 +62160,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"vOR" = ( -/obj/effect/mapping_helpers/mail_sorting/supply/cargo_bay, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vOZ" = ( /obj/machinery/duct, /turf/closed/wall, /area/station/commons/fitness/recreation) -"vPd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/modular_computer/preset/id{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "vPf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/disposalpipe/segment{ @@ -62403,6 +62314,14 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"vQT" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "vQV" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -62464,16 +62383,22 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"vRv" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/corner{ +"vRr" = ( +/obj/effect/turf_decal/trimline/brown/corner{ dir = 1 }, -/turf/open/floor/iron, -/area/station/cargo/sorting) +/obj/effect/turf_decal/trimline/brown/corner{ + dir = 8 + }, +/obj/machinery/door/airlock/mining{ + name = "Bitrunning Den" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/dark/textured_half, +/area/station/cargo/bitrunning/den) "vRN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -62560,6 +62485,22 @@ dir = 9 }, /area/station/medical/treatment_center) +"vSB" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/light/directional/north, +/obj/structure/statue/gold/qm, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/brown/diagonal_centre, +/obj/effect/turf_decal/tile/yellow/diagonal_edge, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 10 + }, +/turf/open/floor/iron/diagonal, +/area/station/cargo/storage) "vSC" = ( /obj/machinery/rnd/production/protolathe/department/engineering, /obj/effect/turf_decal/bot, @@ -62799,6 +62740,13 @@ dir = 1 }, /area/station/engineering/atmos) +"vWD" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "vWF" = ( /obj/structure/cable, /obj/machinery/holopad, @@ -62867,15 +62815,6 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"vYw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/supply/disposals, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "vYD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -63040,6 +62979,11 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"waq" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/lobby) "was" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63097,6 +63041,14 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/storage) +"wbp" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/trimline/red/filled/warning/corner, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wbv" = ( /obj/structure/sign/warning/vacuum/external/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -63116,6 +63068,13 @@ /obj/effect/spawner/random/trash/bin, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"wbW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wcf" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/east, @@ -63144,6 +63103,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wcy" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/trimline/brown/filled/arrow_cw{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "wcL" = ( /obj/machinery/door/window/left/directional/west{ name = "Library Desk Door"; @@ -63212,6 +63178,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/lobby) +"wdY" = ( +/obj/effect/turf_decal/trimline/brown/filled/end{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/iron, +/area/station/cargo/lobby) "wem" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -63275,14 +63249,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"weV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/effect/spawner/random/structure/crate, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wfm" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -63298,10 +63264,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wfp" = ( -/obj/structure/sign/poster/traitor/random, -/turf/closed/wall, -/area/station/cargo/warehouse) "wfu" = ( /obj/structure/chair/office{ dir = 8 @@ -63386,6 +63348,15 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wgm" = ( +/obj/structure/sign/poster/contraband/random/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "wgs" = ( /obj/machinery/door/airlock{ id_tag = "Cabin4"; @@ -63401,26 +63372,19 @@ }, /turf/closed/wall, /area/station/maintenance/port/fore) -"wgG" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) -"wgI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, +"wgJ" = ( +/obj/structure/sign/map/right, +/turf/closed/wall, +/area/station/commons/storage/tools) +"wgQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 }, +/obj/effect/mapping_helpers/mail_sorting/supply/disposals, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"wgJ" = ( -/obj/structure/sign/map/right, -/turf/closed/wall, -/area/station/commons/storage/tools) "wha" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/stock_parts/matter_bin, @@ -63436,6 +63400,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"whs" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/storage/toolbox/emergency, +/obj/effect/spawner/random/maintenance, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "whx" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63525,13 +63500,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"wiW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wjn" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -63573,14 +63541,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/wood, /area/station/service/library) -"wkm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/lobby) "wkv" = ( /obj/structure/railing{ dir = 8 @@ -63844,11 +63804,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"wpu" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/storage) "wpw" = ( /turf/open/floor/iron, /area/station/hallway/secondary/entry) @@ -63870,6 +63825,14 @@ /obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) +"wpO" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown/opposingcorners, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wqh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63922,6 +63885,15 @@ "wrn" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wrt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/construction/storage_wing) "wrJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -63936,6 +63908,12 @@ }, /turf/open/floor/carpet, /area/station/service/theater) +"wsk" = ( +/obj/structure/railing/corner/end/flip, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "wsq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -64134,6 +64112,14 @@ }, /turf/open/floor/iron, /area/station/security/holding_cell) +"wuo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "wuM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -64208,12 +64194,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation) -"wwa" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "wwj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64238,19 +64218,6 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"wwT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wwW" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -64263,14 +64230,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"wwZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/brown/opposingcorners, -/obj/structure/filingcabinet/filingcabinet, -/turf/open/floor/iron, -/area/station/cargo/sorting) "wxe" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 @@ -64363,27 +64322,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"wyB" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/button/door/directional/west{ - id = "qmroom"; - name = "Privacy Blast Doors Control" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "wyC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64405,6 +64343,9 @@ /obj/machinery/bouldertech/refinery/smelter, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"wyV" = ( +/turf/open/floor/carpet/orange, +/area/station/command/heads_quarters/qm) "wzd" = ( /obj/item/radio/intercom/directional/west, /obj/structure/table, @@ -64738,11 +64679,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"wFs" = ( -/obj/structure/sign/warning/vacuum/external/directional/north, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "wFy" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -64964,6 +64900,46 @@ dir = 8 }, /area/station/medical/chem_storage) +"wMu" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/item/coin/gold{ + pixel_y = 12; + pixel_x = -3 + }, +/obj/item/coin/gold{ + pixel_x = 4; + pixel_y = 16 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/ammo_casing/rocket{ + pixel_x = -10; + pixel_y = 18; + name = "Dud Rocket"; + desc = "An 84mm High Explosive rocket. This one's a dud. Pretty sure." + }, +/obj/item/computer_disk/quartermaster{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/effect/spawner/random/entertainment/lighter{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/clipboard{ + pixel_x = -5; + pixel_y = 31 + }, +/obj/item/folder/yellow{ + pixel_x = 3; + pixel_y = 8 + }, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "wMx" = ( /obj/effect/turf_decal/bot, /obj/effect/landmark/start/hangover, @@ -65040,23 +65016,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"wNZ" = ( -/obj/structure/closet/crate, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stock_parts/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "wOl" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners{ dir = 1 @@ -65129,20 +65088,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/plating, /area/station/science/robotics/lab) -"wPj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light/small/directional/east, -/obj/structure/bed, -/obj/item/bedsheet/qm, -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/wood/large, -/area/station/command/heads_quarters/qm) "wPo" = ( /obj/item/radio/intercom/directional/west{ freerange = 1; @@ -65405,10 +65350,6 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron, /area/station/service/hydroponics) -"wTb" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/lobby) "wTp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/left/directional/north{ @@ -65572,6 +65513,21 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"wWe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Vault Storage" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/construction/storage_wing) "wWk" = ( /obj/machinery/light/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65630,6 +65586,15 @@ /obj/machinery/duct, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) +"wXv" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Disposal Conveyor Access" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "wXF" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) @@ -65859,6 +65824,13 @@ /obj/structure/cable, /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/cmo) +"xbZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "xcv" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65871,12 +65843,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"xcJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/construction/storage_wing) "xcO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65959,10 +65925,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"xep" = ( -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/iron, -/area/station/cargo/sorting) "xew" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -66058,6 +66020,14 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/cmo, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"xgb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "xgi" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/bot, @@ -66115,6 +66085,14 @@ dir = 4 }, /area/station/medical/treatment_center) +"xgx" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xgB" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -66138,15 +66116,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"xgF" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xgG" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/rack, @@ -66300,6 +66269,15 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"xkj" = ( +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) "xko" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -66374,6 +66352,16 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) +"xlf" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen, +/obj/item/pen/red, +/turf/open/floor/wood, +/area/station/service/lawoffice) "xlv" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/computer/mech_bay_power_console{ @@ -66430,28 +66418,12 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/tcommsat/computer) -"xmo" = ( -/obj/effect/decal/cleanable/generic, -/obj/vehicle/sealed/mecha/ripley/cargo, -/turf/open/floor/iron/recharge_floor, -/area/station/cargo/warehouse) "xmD" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/medical/memeorgans, /obj/structure/closet/crate/freezer, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"xmM" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xmT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -66520,6 +66492,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"xoj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/spawner/random/structure/crate, +/turf/open/floor/plating, +/area/station/maintenance/port/fore) +"xop" = ( +/obj/structure/railing/corner/end/flip{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xor" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -66665,6 +66654,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"xrv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron, +/area/station/cargo/storage) "xrG" = ( /obj/structure/fireaxecabinet/directional/west, /obj/machinery/camera/directional/west{ @@ -66800,6 +66797,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"xtH" = ( +/obj/effect/turf_decal/siding/thinplating_new/corner, +/obj/effect/turf_decal/trimline/brown/filled/corner, +/turf/open/floor/iron, +/area/station/cargo/storage) "xtZ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -66905,6 +66907,17 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/restrooms) +"xwa" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/disposal/delivery_chute, +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/plasticflaps, +/turf/open/floor/plating, +/area/station/cargo/sorting) "xwf" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/iron/dark/side{ @@ -66949,6 +66962,14 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/genetics) +"xwU" = ( +/obj/structure/chair/comfy/brown{ + dir = 8 + }, +/obj/effect/landmark/start/quartermaster, +/obj/item/binoculars, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "xwV" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -67180,6 +67201,10 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"xzx" = ( +/obj/structure/cable, +/turf/open/floor/catwalk_floor/iron, +/area/station/cargo/storage) "xAb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -67256,6 +67281,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) +"xBq" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "xBw" = ( /obj/machinery/door/airlock/engineering{ name = "Starboard Quarter Solar Access" @@ -67592,6 +67622,10 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"xGT" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/cargo/warehouse) "xGX" = ( /obj/effect/spawner/random/maintenance, /obj/structure/cable, @@ -67604,6 +67638,14 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"xHC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/bot_white, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/iron, +/area/station/cargo/storage) "xIp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/event_spawn, @@ -67703,14 +67745,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"xJJ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cargo_technician, -/obj/effect/turf_decal/bot_white, -/turf/open/floor/iron, -/area/station/cargo/storage) "xJK" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel/fifty, @@ -67733,19 +67767,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) -"xKg" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "packageExternal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/window/spawner/directional/west, -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/turf/open/floor/plating, -/area/station/cargo/sorting) "xKk" = ( /obj/machinery/photocopier, /turf/open/floor/iron/white, @@ -67754,23 +67775,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"xKE" = ( -/obj/machinery/button/door/directional/south{ - id = "warehouse"; - name = "Warehouse Shutters Control" - }, -/obj/effect/turf_decal/trimline/red/filled/warning/corner{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Cargo Bay - Aft"; - pixel_x = 14 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xKK" = ( /turf/closed/wall, /area/station/science/research) @@ -67791,6 +67795,27 @@ }, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"xLA" = ( +/obj/machinery/computer/records/security{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) +"xLB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/lobby) "xLR" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty, @@ -68128,6 +68153,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"xTe" = ( +/obj/structure/cable, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + id = "qmroom" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/qm) "xTg" = ( /obj/structure/chair/comfy{ dir = 4 @@ -68143,11 +68176,6 @@ "xTw" = ( /turf/closed/wall/r_wall, /area/station/medical/medbay/central) -"xTJ" = ( -/obj/structure/cable, -/obj/effect/landmark/start/cargo_technician, -/turf/open/floor/iron, -/area/station/cargo/storage) "xTO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68251,14 +68279,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"xVp" = ( -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xVq" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -68438,21 +68458,22 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/captain/private) +"xXR" = ( +/obj/effect/decal/cleanable/oil, +/obj/structure/railing/corner/end{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xXW" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 }, /turf/closed/wall, /area/station/service/theater) -"xYk" = ( -/obj/structure/railing/corner/end{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/end{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/lobby) "xYq" = ( /obj/structure/rack, /obj/item/stack/sheet/cardboard, @@ -68619,16 +68640,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) -"yba" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/stripes/corner, -/obj/item/reagent_containers/cup/soda_cans, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "ybl" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/turf_decal/delivery, @@ -68670,6 +68681,16 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"ycf" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "ych" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Pen #5"; @@ -68766,6 +68787,13 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"ydp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/wood/large, +/area/station/command/heads_quarters/qm) "ydq" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -68782,11 +68810,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ydw" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "ydG" = ( /obj/effect/turf_decal/arrows/red{ dir = 4; @@ -68963,16 +68986,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, /area/station/command/corporate_showroom) -"ygL" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) "ygR" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -68988,13 +69001,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) -"yhg" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/light_switch/directional/south, -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/port/fore) "yhm" = ( /obj/machinery/airalarm/directional/west, /obj/structure/disposaloutlet{ @@ -69118,22 +69124,6 @@ /obj/effect/spawner/random/bureaucracy/stamp, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"yjK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/fore) -"ykm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "ykn" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/external{ @@ -69211,6 +69201,18 @@ /obj/item/clothing/suit/jacket/straight_jacket, /turf/open/floor/iron/dark, /area/station/medical/office) +"yln" = ( +/obj/machinery/camera/directional/west{ + c_tag = "Central Primary Hallway - Fore - Port Corner" + }, +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/computer/piratepad_control/civilian{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "ylt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69234,6 +69236,14 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) +"ylO" = ( +/obj/machinery/firealarm/directional/north, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "ylQ" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69241,14 +69251,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ylR" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/structure/fake_stairs/directional/north, -/turf/open/floor/iron, -/area/station/cargo/storage) "ylU" = ( /obj/structure/filingcabinet/employment, /obj/machinery/airalarm/directional/east, @@ -82718,7 +82720,7 @@ lMJ lMJ lMJ jXu -wFs +pHK mXz oFR ycr @@ -82975,8 +82977,8 @@ aaa lMJ aaa nmg -slw -jhM +cHR +jEa jXu jXu jXu @@ -83489,7 +83491,7 @@ aaa aaa lMJ qGV -gGS +kHO tvR aaa aaa @@ -85031,7 +85033,7 @@ aaa aaa lMJ rqa -fmb +fiX iQd aaa aaa @@ -85288,7 +85290,7 @@ aox aox jXu jXu -awi +ojz jXu lMJ lMJ @@ -85545,7 +85547,7 @@ lMJ lMJ nmg vEV -swH +rnf jXu paD paD @@ -85559,7 +85561,7 @@ lMJ lMJ lMJ aox -kJC +uNZ hxo aSZ lXG @@ -85567,15 +85569,15 @@ hxo lXG deU hxo -mIW -eeD +iNH +kyu lMJ fcq -sKw -sKw +fur +fur wEz aaq -pXg +aOA wUt fcq jPE @@ -85802,11 +85804,11 @@ jfG jfG jXu kXA -aAr +mwo jXu qRU -gkQ -aaO +kqh +com hKg hKg fQW @@ -85819,20 +85821,20 @@ aaa aaa hxo bnA -kmB +riU oDJ -maa +lAa fyz hxo aaa aaa cbz cbz -iJv +dBE vQs vQs -wfp -eoi +rgM +hor vQs vQs iSk @@ -86056,14 +86058,14 @@ dqo eXy wCf wVa -oDk +jTl jXu jXu -ows +qTL jXu pJp -bzc -aOn +rud +emU bZz qvY kRe @@ -86083,15 +86085,15 @@ dZB hxo hxo hxo -adM -aqz -dje +pYM +eOb +gvA vQs -pzN -dxF +ePj +tnF dKY -ewG -wfp +kif +rgM dHc dHc bZY @@ -86314,13 +86316,13 @@ jfG jfG gYE lBm -jkL +ecm ybN -lHG +tJB jXu qrL -qpa -lgP +iLT +vdg bZz pPh aFd @@ -86331,26 +86333,26 @@ hKg uvw yeq yeq -ond -dgn -auv -hRg -tPz -fsd +ngS +cvv +wcy +bDj +fXZ +sUc vsO vsO uAu -jNt -aCK -tQl +rmS +dme +exQ vQs -pVB -sKh -jzc -dMa -hOF +cna +hjt +bbY +bGu +slZ vQs -aVx +puW hyW pTf iOc @@ -86567,16 +86569,16 @@ aaa qvJ nxi bWw -msY -lmq +mqn +dwI iPE vfv -goc -yjK -tiU +wXv +qCm +tXO jXu iGB -ojm +duc paD paD jpG @@ -86585,29 +86587,29 @@ nVG qOZ hKg hKg -lLL -vFL -sKd -rmo -cCT -rrs +ouu +jKc +sCs +nxG +xop +hhR aok -qpp -oWV -dKs -rmo -rmo -npL +coz +xXR +cmX +nxG +nxG +bPc aok -dzV +wbp vQs -knH -vjz -ipI -utN -rwu +lPn +tnk +eED +sTU +cJT vQs -sff +qlz hyW xOw iOc @@ -86824,45 +86826,45 @@ aaa qvJ nIj gYC -vxx +ggZ isO gYE uEC wgw twr -rcf +fpn jXu bZz -vzp +vRr paD -wNZ +kAh dSG -vsg -pjz -bqL +apC +sUD +sWU mUz -jAF -ylR -sKp -lxG -sKp -sKp +mjQ +hWC +cEY +tqo +cEY +cEY aok -fBh +xrv aok -tui +xHC aok -oCI +xgb aok -tui +xHC aok -mOP -uHf -nZo -reU -jUp -een -npK +vlk +fqe +mFq +ojW +hpj +uSO +pSY vQs tiD hyW @@ -87081,46 +87083,46 @@ aaa qvJ kVR jCM -jVU +lWL wvR pQu vEH jXu vVp -vYw -lUu -kuo +wgQ +fmG +jmU jBl -nAz -aXp +ycf +unc xyz -eCd -bLf +jGb +uMj poj -kQE -bFx -gcM +hnV +lzg +gUH dAk dAk rhn -ugl +qnj iqt -mJJ +lUx iqt -xJJ +jNR iqt -nUb +rlr iqt -eGF +ckB iqt -ndu -him -rqt -fQE -uWa -dnw -yba -wfp +lvh +ubj +xbZ +kZI +nbd +vKn +nFY +rgM vQs hyW xOw @@ -87338,13 +87340,13 @@ aaa qvJ adD eks -cfq -oSS -pYU -ajF +jox +cVC +eZo +qmE jXu -kvM -isq +whs +xkj jXu beo sLU @@ -87357,29 +87359,29 @@ qTf oor oor hDX -fFp -rNU -juL -eic +hrC +kuS +muq +oRO bgx -iTM +uYB aok -ldk +mml aok -jir +uEP aok -mZe +cfH mmR -mOP -uHf -qob -apa -pGS -fIs -hzR -xmo +vlk +fqe +vHa +nNB +qoY +fAk +rPp +ljH vQs -jth +mQa xOw mux pOa @@ -87595,13 +87597,13 @@ pma pma pma hZQ -tKQ -lFB +ntm +kHV jXu jXu jXu jXu -kQR +tCF jXu jXu jXu @@ -87613,28 +87615,28 @@ cBZ wyP oor jqr -nkO -fFp -fFp +xLA +hrC +hrC mmR -uSw +kwh iqt -vxn +nut aok -sNP +pkM aok -eiu +jBu aok -bxN +hKQ mmR -xKE +gxu vQs -uzt -aUq -gSe -kYE -hzR -mdb +vde +tGU +hYl +rZv +rPp +eIc vQs hyW qzC @@ -87850,50 +87852,50 @@ tOm tOm ntM pgJ -yhg +pyR hZQ -aay +uQL twr gQg pCk twr xgB -lKg -hdd -tQD +hJO +duG +omV fhn jXu jBp -rye +wsk qHt dxo hlE oor tBU -pES -dMd +uha +tMY hDX aok -pdm +sbP bgx aok aok -nYr -tQW -tQW -tQW -uJD -ndw -ekC -pNP -pNP -rvS +xtH +qDW +qDW +qDW +ocS +eaA +vAT +xGT +xGT +bHv vQs vQs vQs vQs vQs -xmM +upM pqc rkM pOa @@ -88102,55 +88104,55 @@ iOr aaa raz raz -sOI -eZO -mQx -eZO +pQh +uEs +qCM +uEs aFZ ktG -ufx -nEx -joC +hQy +hYG +dwH fUr fUr fUr fUr -aOh -hhi -bnT -fiN +bkJ +iIE +cAf +dve jXu pVV -jZy +qqr iId tkf wZo oor hvo -mAR -ngX +uwM +uwf oor -xVp -jMv +ylO +tYU hLL dfk dfk -tsb -rHI -gSE -bqE -lFS -kZl -emr -guv +rQD +nsh +vWD +nSx +liU +nrB +smB +tik iev -fiU -pBm -xKg -pCB -aUI +xwa +fjw +cwY +sbF +drG bzH -eNP +srM xOw wAk pOa @@ -88362,52 +88364,52 @@ aaa tOm tOm tOm -vHZ -daD -nDC +tsi +hTG +gJM srk qGP sHu -rGU +pkT sHu -aGl +eMY cVL jXu -eAu -mlW +kIJ +sPO twr jXu hKg -qyx +oMx hKg hKg hKg oor jmR -qaF -aFG -vKP -ouW -tQy -tQy -rMV -nus -aNE -qpZ -tlm -wwT -lqu -fco +hWK +fea +iHS +cqy +ebg +ebg +fwb +kQO +qvV +tMn +sFi +cHG +snZ +xgx dfk -jSo +uyf edN -cbd +uya yhL -uAD +nQR hYx -eAB +lkR iev -aRU +arJ sly nxF sVY @@ -88625,43 +88627,43 @@ pma hZQ jXu jXu -pBq +hsx jXu jXu jXu jXu -vOR +alA lpS lpS lpS ykL lpS lpS -dtL +xoj lls jXu jXu jXu jXu cbz -psk -qaD -fgt -xgF -xgF -aIy -tnU -pRR -ykm +bLY +gQa +dit +uBj +uBj +bDn +xzx +hIp +qCS iqt mmR -xTJ -wgG +rzo +quT bzH -hho -nXV -nXV -aEJ +gPN +ebd +ebd +eJv bzH bzH bBy @@ -88882,12 +88884,12 @@ tdg hkj sQp cLN -eSn +qHa ujT dYi iDG jXu -rcf +fpn knQ bPM sHu @@ -88896,28 +88898,28 @@ jXu bPM rNP mgv -fpG +qgl lpS lpS bkF cbz -qAv -isG -nKq -lpB -opT -mpq -miV -pRR -fHw -jTg -oXM -wpu -dEQ -pqm -vRv -brB -dDY +vSB +kKO +vQT +hBo +gWz +kQv +cgZ +hIp +dVy +lQf +tZq +uko +eVg +oTw +sNr +sHX +uyh hvB sqt iev @@ -89139,13 +89141,13 @@ tdg hkj hkj kuW -lUr -iEX +uth +xBq mUF obF jXu -rcf -cKP +fpn +hvz jXu jXu jXu @@ -89156,25 +89158,25 @@ jXu jXu jXu kAI -aoa -rrM -luG -cVI -mEz -pEy -pEy -mEz +gfa +eOl +vwu +jTd +tvv +xTe +xTe +tvv kQP wdM -mJF -jre -fAv -bRy +asT +nxv +nrN +lVp bzH bzH -lCP -afX -gNx +mzj +sml +rmL hOh lAi bzH @@ -89401,8 +89403,8 @@ qST xMx qrF jXu -qaI -cKP +vxO +hvz aaa aaa aaf @@ -89413,25 +89415,25 @@ aaa aaa jXu twr -vLq -oNe +nsT +heR kQP -oLs +iPP kQP -mRz -nkb -lWU +eTt +xwU +izI kQP -qNy -hGa -fsO -wwa -fuQ +fov +lvm +gRK +aDe +mzl bzH -bwk -jIl -kDb -prG +dGC +uud +wbW +fWn jHW vjU bzH @@ -89653,13 +89655,13 @@ tdg tdg tdg fru -nrY +elz uzb phP rgL jXu -hby -cKP +paU +hvz aaf rlU rlU @@ -89670,25 +89672,25 @@ rlU aaf jXu sxn -mQM -niJ -moh -fbS -wyB -iDA -uom -itx -kpa -lyW +ciE +dUd +qnA +fpV +fdB +bEK +ydp +cNb +mXO +erW rVn qxJ -xYk -gCV -jdj -qvj -wiW -weV -kDb +sik +ryV +leT +qyk +ekb +wpO +wbW ubn hld iev @@ -89915,8 +89917,8 @@ jXu jXu jXu jXu -wgI -cKP +otQ +hvz aaa rlU dfl @@ -89927,25 +89929,25 @@ rlU aaa jXu jXu -ygL +ken kQP -kJS -oVQ -uAG -uED -uAG -sea -kpa -hdH +hOO +dFg +wyV +iqo +wyV +cJt +mXO +gbn aUm jvv -bPT -coG -dQe -aWy -tGx -wwZ -tDS +bNN +rod +mhM +iNt +wuo +tPW +ayz bLj rnh iev @@ -90172,37 +90174,37 @@ sOP twr fnJ jXu -vNZ -dsx +wgm +mKr aaa rlU qrg cpi cpi -ucv +nSn qpD -knh -txm +qYC +pNC uqX -gCH +loR kQP -aFc -oVQ -uAG -uAG -uAG -vPd -kpa -oCM -wTb +ewc +dFg +wyV +wyV +wyV +oxX +mXO +sFI +oac fhB -pAt -ehT +hxd +dHz aqG -nyQ -wiW -kQg -pvx +qDH +ekb +lsU +bQl oYz bzH bzH @@ -90429,39 +90431,39 @@ dEH pOi bMu jXu -fby -dsx +agi +mKr aaa rlU trx uWn -nuJ -lrW -myD -puC -vEU +spf +csX +lBg +tWU +wWe aTU -ifu +tlJ kQP -mRC -ogW -dyC -igk -wPj -khb +npj +aSv +kMK +wMu +ukm +dLh kQP -sDz -shm -nUJ -rpd -ddo +bDd +kCg +aHB +xLB +wdY bzH -iUM -hOP -pkT -iXZ -xep -tCf +jHM +rXl +gxM +jRo +qCx +oDo bzH nQw tEr @@ -90682,44 +90684,44 @@ sjP aaa nmg hwo -ydw +rBY knQ -czz -nyl -cUr -dsx +cDV +sLf +uEA +mKr aaa rlU -upf +bNw wHW wHW -iBb -eoe -knh -txm +okj +rlU +qYC +pNC lpt -xcJ +jzE kQP kQP -kpa -oOF +mXO +afQ kQP kQP kQP kQP -tGD -plB -wkm -hrv -bXm +rcR +waq +qYW +fuE +nDG bzH bzH -rVE -lch -iwI +usJ +kFa +lak rUd -mdD -eEL +hVp +ahv sXr ybn fLp @@ -90943,39 +90945,39 @@ wQj jXu jXu jXu -dQh +fOB jXu aaa rlU vis -gta +dhz ixT oXK rlU aaa aEH aHt -gCH -fgm +loR +hTM aHt aHt aHt -dlD +eaQ aHt -tpG +qlW suE -dOa -mCc -bNO -grr -jjE -tDo +lwZ +cOi +jTY +wrt +yln +abA bzH -pXz -rRv -qEV -qTL -cnG +fQl +sul +pkF +dtE +tHV aqG oKy xOw @@ -91199,8 +91201,8 @@ jXu jXu jXu sHu -tuF -kGK +lRA +lFF jXu aaf rlU @@ -91212,9 +91214,9 @@ rlU lMJ aEH rhW -aul -vkE -fkv +oRR +lug +cGq wcs hMn ygR @@ -91224,13 +91226,13 @@ mPK lgg kWP lgg -uLE -dSf +cxp +cSu moQ bzH aqG aqG -vlB +mxx aqG aqG aqG @@ -91481,13 +91483,13 @@ bLh pPH hSg uTN -uVm +uUn sSV wRP bBa gji gji -ahl +hWG gji hDj hDj @@ -91737,7 +91739,7 @@ jfX aUC iFC iBt -gWL +miJ yaE tmK htd @@ -99951,7 +99953,7 @@ xNo woV bkZ xNU -jTE +uZL nVy tGI daC @@ -100208,8 +100210,8 @@ jAP fEn xXC xNU -sHk -ooY +uSq +xlf lWg byw glv diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index 9eddb13259a09..a888297436326 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -6558,18 +6558,6 @@ /obj/item/computer_disk, /turf/open/floor/iron, /area/station/science/ordnance) -"bop" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 1 - }, -/obj/structure/table, -/obj/item/poster/random_official{ - pixel_y = 10 - }, -/obj/item/poster/random_official, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/mechbay) "bos" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt{ @@ -11613,6 +11601,24 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/turret_protected/ai_upload) +"cln" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/newscaster/directional/south, +/obj/item/folder, +/turf/open/floor/iron/dark, +/area/station/service/library/private) "clo" = ( /obj/structure/table, /obj/item/storage/box/zipties{ @@ -12755,10 +12761,6 @@ }, /turf/open/floor/plating, /area/station/security/prison/safe) -"cuX" = ( -/obj/structure/aquarium/lawyer, -/turf/open/floor/carpet, -/area/station/service/lawoffice) "cva" = ( /obj/structure/grille, /obj/structure/window/spawner/directional/east, @@ -16354,10 +16356,6 @@ /obj/item/clothing/shoes/sports, /turf/open/floor/iron/dark, /area/station/common/locker_room_shower) -"dcK" = ( -/obj/structure/musician/piano, -/turf/open/floor/wood, -/area/station/service/bar/atrium) "dcL" = ( /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, @@ -17656,6 +17654,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/tcommsat/computer) +"dqc" = ( +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark, +/area/station/service/library/private) "dqd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25217,6 +25220,10 @@ }, /turf/open/floor/engine, /area/station/science/explab) +"eNd" = ( +/obj/structure/aquarium/lawyer, +/turf/open/floor/carpet, +/area/station/service/lawoffice) "eNi" = ( /obj/effect/turf_decal/bot, /obj/structure/rack, @@ -26390,6 +26397,18 @@ dir = 8 }, /area/station/security/prison/workout) +"eXN" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin, +/obj/item/pen, +/obj/effect/turf_decal/tile/red, +/obj/structure/reagent_dispensers/wall/peppertank/directional/west, +/obj/machinery/light/directional/west, +/obj/machinery/recharger, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/security/brig) "eYl" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -30910,24 +30929,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"fRD" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas/sechailer, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/flashlight/seclite, -/obj/item/key/security, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "fRM" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -32206,6 +32207,14 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"geL" = ( +/obj/effect/turf_decal/stripes/box, +/obj/machinery/camera/directional/west{ + c_tag = "Security - Mechbay" + }, +/obj/vehicle/sealed/mecha/ripley/paddy/preset, +/turf/open/floor/iron/recharge_floor, +/area/station/security/mechbay) "geQ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -34533,18 +34542,6 @@ dir = 9 }, /area/station/commons/fitness) -"gBL" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/red, -/obj/structure/reagent_dispensers/wall/peppertank/directional/west, -/obj/machinery/light/directional/west, -/obj/machinery/recharger, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/security/brig) "gBM" = ( /obj/effect/turf_decal/delivery, /obj/machinery/space_heater, @@ -34694,6 +34691,18 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"gDH" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 2"; + name = "Cell 2 Locker" + }, +/turf/open/floor/iron/dark, +/area/station/security/brig) "gDI" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -34921,6 +34930,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/command/secure_bunker) +"gGs" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Security Maintenance" + }, +/obj/effect/mapping_helpers/airlock/welded, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/plating, +/area/station/maintenance/department/security/lower) "gGw" = ( /obj/structure/railing{ dir = 8 @@ -37736,6 +37754,18 @@ dir = 4 }, /area/station/hallway/primary/port) +"hka" = ( +/obj/structure/table/reinforced, +/obj/item/poster/random_official{ + pixel_y = 5 + }, +/obj/item/poster/random_official, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "hkb" = ( /obj/machinery/door/airlock/security/glass{ name = "Firing Range" @@ -42006,6 +42036,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"ibo" = ( +/obj/structure/table/reinforced, +/obj/item/folder/red, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "ibr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -43345,6 +43383,11 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/grimy, /area/station/ai_monitored/turret_protected/aisat_interior) +"ioF" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/mob/living/basic/pet/poppy, +/turf/open/floor/iron, +/area/station/engineering/main) "ioW" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/computer/atmos_alert{ @@ -43610,6 +43653,25 @@ }, /turf/open/floor/iron, /area/station/maintenance/solars/port/fore) +"irm" = ( +/obj/structure/table/reinforced, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/flashlight/seclite, +/obj/item/key/security, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/vehicle/ridden/secway, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "irq" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/cable, @@ -49840,16 +49902,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/hallway/secondary/service) -"jBJ" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 4 - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/service/bar) "jBN" = ( /obj/structure/table_frame, /obj/effect/spawner/random/trash/mess, @@ -50137,18 +50189,6 @@ dir = 4 }, /area/station/cargo/miningoffice) -"jEw" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/cell_charger_multi/wall_mounted/directional/west, -/obj/structure/table, -/obj/item/circuitboard/computer/mech_bay_power_console, -/obj/item/stack/sheet/glass{ - pixel_y = 14 - }, -/turf/open/floor/iron/dark, -/area/station/security/mechbay) "jEz" = ( /turf/open/floor/iron/dark, /area/station/security/prison/garden) @@ -51926,11 +51966,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/brig) -"jUQ" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/mob/living/simple_animal/pet/poppy, -/turf/open/floor/iron, -/area/station/engineering/main) "jUS" = ( /obj/structure/table, /obj/machinery/microwave/engineering/cell_included{ @@ -52682,14 +52717,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/eva) -"kbH" = ( -/obj/effect/turf_decal/stripes/box, -/obj/machinery/camera/directional/west{ - c_tag = "Security - Mechbay" - }, -/obj/vehicle/sealed/mecha/ripley/paddy/preset, -/turf/open/floor/iron/recharge_floor, -/area/station/security/mechbay) "kbK" = ( /obj/structure/closet/cardboard, /obj/effect/spawner/random/maintenance, @@ -60370,6 +60397,18 @@ dir = 1 }, /area/station/security/prison) +"lBl" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/closet/secure_closet/brig{ + id = "Cell 1"; + name = "Cell 1 Locker" + }, +/turf/open/floor/iron/dark, +/area/station/security/brig) "lBn" = ( /obj/structure/chair{ dir = 1 @@ -62673,6 +62712,12 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"lXq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/mob/living/basic/pet/gondola/funky, +/turf/open/floor/iron, +/area/station/service/theater) "lXr" = ( /obj/item/kirbyplants/random, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63033,18 +63078,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/plating, /area/station/engineering/atmos) -"maE" = ( -/obj/structure/table/reinforced, -/obj/item/poster/random_official{ - pixel_y = 5 - }, -/obj/item/poster/random_official, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/station/security/office) "maF" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/stripes, @@ -64141,17 +64174,6 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) -"mmu" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table, -/obj/item/stack/rods/two, -/obj/item/stack/cable_coil/five, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/mechbay) "mmz" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -65009,12 +65031,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/maintenance/department/medical/central) -"mwm" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/mob/living/simple_animal/pet/gondola/funky, -/turf/open/floor/iron, -/area/station/service/theater) "mwn" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -67281,24 +67297,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/upper) -"mSt" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/newscaster/directional/south, -/obj/item/folder, -/turf/open/floor/iron/dark, -/area/station/service/library/private) "mSx" = ( /obj/effect/turf_decal/tile/red/half, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -73186,6 +73184,25 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/station/science/auxlab/firing_range) +"nZG" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/obj/structure/table, +/obj/item/poster/random_official{ + pixel_y = 10 + }, +/obj/item/poster/random_official, +/obj/machinery/firealarm/directional/north, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang{ + pixel_y = 10 + }, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang, +/obj/item/mecha_ammo/flashbang{ + pixel_y = -10 + }, +/turf/open/floor/iron/dark, +/area/station/security/mechbay) "nZH" = ( /obj/structure/table, /obj/item/stack/package_wrap{ @@ -76304,6 +76321,10 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"oCi" = ( +/obj/structure/musician/piano, +/turf/open/floor/wood, +/area/station/service/bar/atrium) "oCn" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -77813,6 +77834,13 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/power_station) +"oRG" = ( +/obj/effect/turf_decal/stripes/box, +/obj/effect/turf_decal/stripes/red/box, +/obj/structure/sign/poster/official/carwo_grenade/directional/north, +/obj/structure/mecha_wreckage/gygax, +/turf/open/floor/iron/recharge_floor, +/area/station/ai_monitored/security/armory) "oRP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -82730,6 +82758,22 @@ /obj/machinery/shower/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/dorms/vacantroom) +"pQX" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/secure_safe/caps_spare{ + pixel_x = 5; + pixel_y = -37; + density = 0 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/window/brigdoor/right/directional/east{ + name = "Command Chair"; + req_access = list("command") + }, +/turf/open/floor/iron, +/area/station/command/bridge) "pQZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -95922,13 +95966,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/shower) -"sqn" = ( -/obj/effect/turf_decal/stripes/box, -/obj/effect/turf_decal/stripes/red/box, -/obj/vehicle/ridden/secway, -/obj/structure/sign/poster/official/carwo_grenade/directional/north, -/turf/open/floor/iron/recharge_floor, -/area/station/ai_monitored/security/armory) "sqo" = ( /obj/structure/cable, /obj/machinery/power/emitter{ @@ -98376,6 +98413,16 @@ /obj/effect/landmark/start/customs_agent, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"sNv" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/table, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 4 + }, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/service/bar) "sNw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_smooth, @@ -101575,6 +101622,21 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"tsP" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/table, +/obj/item/stack/rods/two, +/obj/item/stack/cable_coil/five, +/obj/machinery/light/directional/north, +/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breaching{ + pixel_y = 10 + }, +/obj/item/mecha_ammo/missiles_pep, +/turf/open/floor/iron/dark, +/area/station/security/mechbay) "tsQ" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/turf_decal/siding/wood{ @@ -101997,6 +102059,29 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) +"txk" = ( +/obj/structure/table/reinforced, +/obj/item/implanter{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/storage/box/evidence{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/toy/crayon/white{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/toy/crayon/white{ + pixel_y = -4 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "txl" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer2, @@ -105078,14 +105163,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/hfr_room) -"ubQ" = ( -/obj/structure/table/reinforced, -/obj/item/restraints/handcuffs, -/obj/item/assembly/flash/handheld, -/obj/structure/disposalpipe/segment, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/station/security/office) "ubU" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ dir = 6 @@ -112630,10 +112707,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood/parquet, /area/station/common/gaskiosk) -"vxv" = ( -/obj/structure/musician/piano, -/turf/open/floor/wood, -/area/station/service/theater) "vxA" = ( /obj/effect/turf_decal/caution/stand_clear/blue, /obj/effect/turf_decal/bot_blue, @@ -112667,6 +112740,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"vxH" = ( +/obj/structure/table/reinforced, +/obj/item/restraints/handcuffs, +/obj/item/assembly/flash/handheld, +/obj/structure/disposalpipe/segment, +/obj/machinery/recharger, +/turf/open/floor/iron/dark, +/area/station/security/office) "vxL" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -116051,22 +116132,6 @@ }, /turf/open/floor/carpet, /area/station/hallway/primary/port) -"wei" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/secure_safe/caps_spare{ - pixel_x = 5; - pixel_y = -37; - density = 0 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/window/brigdoor/right/directional/east{ - name = "Command Chair"; - req_access = list("command") - }, -/turf/open/floor/iron, -/area/station/command/bridge) "wel" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible/layer4, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -117182,14 +117247,6 @@ }, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/nt_rep) -"wnS" = ( -/obj/structure/table/reinforced, -/obj/item/folder/red, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/station/security/office) "wnU" = ( /obj/effect/spawner/random/trash/mess, /obj/structure/cable, @@ -119049,11 +119106,6 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating, /area/station/maintenance/port/upper) -"wFg" = ( -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark, -/area/station/service/library/private) "wFh" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/stripes/corner{ @@ -119324,6 +119376,10 @@ "wIE" = ( /turf/open/floor/iron, /area/station/maintenance/abandon_holding_cell) +"wIL" = ( +/obj/structure/musician/piano, +/turf/open/floor/wood, +/area/station/service/theater) "wIM" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -122173,6 +122229,21 @@ }, /turf/open/floor/wood, /area/station/service/bar/atrium) +"xme" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/cell_charger_multi/wall_mounted/directional/west, +/obj/structure/table, +/obj/item/circuitboard/computer/mech_bay_power_console, +/obj/item/stack/sheet/glass{ + pixel_y = 14 + }, +/obj/item/mecha_ammo/flashbang{ + pixel_y = -10 + }, +/turf/open/floor/iron/dark, +/area/station/security/mechbay) "xmj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -124070,29 +124141,6 @@ }, /turf/open/floor/plating, /area/station/commons/dorms/room2) -"xFa" = ( -/obj/structure/table/reinforced, -/obj/item/implanter{ - pixel_x = 5; - pixel_y = 12 - }, -/obj/item/storage/box/evidence{ - pixel_x = -5; - pixel_y = 12 - }, -/obj/item/toy/crayon/white{ - pixel_x = -5; - pixel_y = -4 - }, -/obj/item/toy/crayon/white{ - pixel_y = -4 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/obj/machinery/recharger, -/turf/open/floor/iron/dark, -/area/station/security/office) "xFd" = ( /obj/structure/railing, /obj/structure/chair/plastic{ @@ -125364,15 +125412,6 @@ name = "Ultra Reinforced Glass Floor" }, /area/station/ai_monitored/turret_protected/aisat_interior) -"xSV" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Security Maintenance" - }, -/obj/effect/mapping_helpers/airlock/welded, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/maintenance/department/security/lower) "xSZ" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, @@ -127337,18 +127376,6 @@ }, /turf/open/floor/wood, /area/station/security/detectives_office) -"ykG" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/structure/closet/secure_closet/brig{ - id = "Cell 3"; - name = "Cell 3 Locker" - }, -/turf/open/floor/iron/dark, -/area/station/security/brig) "ykH" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/north, @@ -148371,7 +148398,7 @@ mjE mjE mjE mjE -xSV +gGs mjE ltN cDn @@ -152506,8 +152533,8 @@ plI nWK tNz mBw -kbH -jEw +geL +xme rZq tUd tNz @@ -153019,7 +153046,7 @@ rKn rKn rKn tNz -mmu +tsP tUj vpe wcZ @@ -153276,7 +153303,7 @@ kbf ttc ttc tNz -bop +nZG dTy fYr kxe @@ -153845,7 +153872,7 @@ oHU qlY sJE jzJ -mSt +cln qlY tbS oMk @@ -154102,7 +154129,7 @@ kWy qlY qfV jbI -wFg +dqc qlY snu gbw @@ -154607,7 +154634,7 @@ uNw pAI qUR nRk -cuX +eNd uuF atZ sMu @@ -158150,7 +158177,7 @@ ceT pwH ugJ nWI -xFa +txk rXr cWr nOi @@ -158407,7 +158434,7 @@ mbm lNG pty qIA -maE +hka rXr bry nOi @@ -158664,7 +158691,7 @@ mUe oXP iia onB -ubQ +vxH qQZ hng hVN @@ -158677,7 +158704,7 @@ bmV blx sum nqK -gBL +eXN mHF tDN vdZ @@ -158918,7 +158945,7 @@ xFU vjw hmi rvO -wnS +ibo kgh hjh bpv @@ -159819,7 +159846,7 @@ wqm hMm hMm xCQ -jUQ +ioF cbv mdI cpf @@ -160210,7 +160237,7 @@ hBq rCT twQ gkm -sqn +oRG rNT krl jwR @@ -160995,7 +161022,7 @@ rvL pbC sum dMw -ykG +lBl ucm rfX lRG @@ -161041,7 +161068,7 @@ jZJ nge rZM wna -jBJ +sNv kGp mQS nYP @@ -161056,7 +161083,7 @@ qJJ cUu jMU pgb -dcK +oCi oAu vET hPM @@ -161239,7 +161266,7 @@ xJn bqj pzw mrb -fRD +irm uKW gkm bkG @@ -161254,7 +161281,7 @@ vPn jrJ vPo tNE -ykG +gDH tNE tuv hGf @@ -219382,7 +219409,7 @@ jCN ooa uUk pey -vxv +wIL sTk qjg aZe @@ -220926,7 +220953,7 @@ rpQ sTk wCS ssN -mwm +lXq wMT niB wAk @@ -224981,7 +225008,7 @@ jmZ dep nLV gmt -wei +pQX jiu jiu gBh diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 502df848899f0..ca19a4def9349 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -92,6 +92,17 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/white/smooth_large, /area/station/science/lab) +"abN" = ( +/obj/machinery/button/door/directional/north{ + id = "lawyerprivacy"; + name = "Lawyer's Privacy Control" + }, +/obj/item/radio/intercom/directional/north{ + pixel_y = 32 + }, +/obj/structure/aquarium/lawyer, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "abP" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /turf/open/floor/circuit/green, @@ -9687,17 +9698,6 @@ /obj/effect/spawner/random/trash/garbage, /turf/open/floor/plating, /area/station/maintenance/aft) -"cUD" = ( -/obj/machinery/button/door/directional/north{ - id = "lawyerprivacy"; - name = "Lawyer's Privacy Control" - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 32 - }, -/obj/structure/aquarium/lawyer, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "cUH" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -24687,20 +24687,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/iron/grimy, /area/station/commons/lounge) -"hdE" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - dir = 4; - location = "QM #4" - }, -/obj/effect/turf_decal/box, -/mob/living/simple_animal/bot/mulebot, -/turf/open/floor/iron/smooth_edge, -/area/station/cargo/storage) "hdF" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -25108,28 +25094,6 @@ /obj/effect/turf_decal/siding/wood/corner, /turf/open/floor/iron, /area/station/commons/lounge) -"hjI" = ( -/obj/structure/table/wood, -/obj/item/folder/blue{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/folder/yellow{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/folder/red{ - pixel_y = 1 - }, -/obj/item/stamp/law, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/item/clothing/glasses/sunglasses/big{ - pixel_y = 12 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "hjT" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 8 @@ -27598,16 +27562,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron/freezer, /area/station/medical/chemistry) -"hUj" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/directional/west{ - c_tag = "Cargo - Mining" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/cargo/miningdock) "hUm" = ( /obj/machinery/light/small/directional/south, /obj/structure/closet/crate/hydroponics, @@ -29931,26 +29885,6 @@ dir = 8 }, /area/station/science/lab) -"iBo" = ( -/obj/structure/table/wood, -/obj/item/taperecorder{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/paper_bin{ - pixel_y = 2; - pixel_x = 6 - }, -/obj/item/pen{ - pixel_y = 2; - pixel_x = 6 - }, -/obj/item/flashlight/lamp{ - pixel_x = -5; - pixel_y = 2 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "iBp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30674,6 +30608,16 @@ dir = 1 }, /area/station/hallway/secondary/command) +"iNa" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/directional/west{ + c_tag = "Cargo - Mining" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/cargo/miningdock) "iNk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33779,6 +33723,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/holding_cell) +"jEy" = ( +/obj/structure/table/wood, +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine"; + pixel_y = 3 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "jEA" = ( /obj/machinery/camera/directional/west{ c_tag = "AI Chamber - Port"; @@ -37455,6 +37409,19 @@ /obj/item/clothing/mask/surgical, /turf/open/floor/iron/smooth, /area/station/maintenance/port/greater) +"kEA" = ( +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 6 + }, +/obj/structure/bed/dogbed{ + anchored = 1; + name = "Poppy's bed" + }, +/obj/machinery/firealarm/directional/south, +/mob/living/basic/pet/poppy, +/obj/machinery/light/directional/south, +/turf/open/floor/iron/smooth, +/area/station/engineering/lobby) "kED" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38897,15 +38864,6 @@ dir = 1 }, /area/station/hallway/primary/central) -"kYz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/landmark/event_spawn, -/mob/living/simple_animal/pet/gondola/funky, -/turf/open/floor/iron/herringbone, -/area/station/service/theater) "kYC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44589,6 +44547,10 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal/incinerator) +"mCK" = ( +/obj/vehicle/sealed/mecha/ripley/paddy/preset, +/turf/open/floor/iron/recharge_floor, +/area/station/security/office) "mCM" = ( /obj/effect/mapping_helpers/airlock/access/all/medical/general, /obj/effect/mapping_helpers/airlock/unres{ @@ -50014,6 +49976,26 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/dark/smooth_large, /area/station/security/brig) +"oaL" = ( +/obj/structure/table/wood, +/obj/item/taperecorder{ + pixel_x = 7; + pixel_y = 14 + }, +/obj/item/paper_bin{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/pen{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/flashlight/lamp{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "oaZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 9 @@ -56203,19 +56185,6 @@ "pJQ" = ( /turf/closed/wall, /area/station/command/heads_quarters/cmo) -"pKb" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=2"; - dir = 4; - location = "QM #1" - }, -/obj/effect/turf_decal/box, -/mob/living/simple_animal/bot/mulebot, -/turf/open/floor/iron/smooth_edge, -/area/station/cargo/storage) "pKd" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/vending/hydronutrients, @@ -57963,6 +57932,20 @@ }, /turf/open/floor/grass, /area/station/hallway/primary/central/fore) +"qfI" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + dir = 4; + location = "QM #4" + }, +/obj/effect/turf_decal/box, +/mob/living/simple_animal/bot/mulebot, +/turf/open/floor/iron/smooth_edge, +/area/station/cargo/storage) "qfN" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -58521,19 +58504,6 @@ }, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) -"qnW" = ( -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 6 - }, -/obj/structure/bed/dogbed{ - anchored = 1; - name = "Poppy's bed" - }, -/obj/machinery/firealarm/directional/south, -/mob/living/simple_animal/pet/poppy, -/obj/machinery/light/directional/south, -/turf/open/floor/iron/smooth, -/area/station/engineering/lobby) "qok" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75165,10 +75135,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/library) -"uOL" = ( -/obj/vehicle/sealed/mecha/ripley/paddy/preset, -/turf/open/floor/iron/recharge_floor, -/area/station/security/office) "uOO" = ( /turf/open/floor/wood/large, /area/station/service/theater) @@ -83027,6 +82993,19 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"wXO" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=2"; + dir = 4; + location = "QM #1" + }, +/obj/effect/turf_decal/box, +/mob/living/simple_animal/bot/mulebot, +/turf/open/floor/iron/smooth_edge, +/area/station/cargo/storage) "wXR" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -85452,6 +85431,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/department/engine/atmos) +"xJO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/event_spawn, +/mob/living/basic/pet/gondola/funky, +/turf/open/floor/iron/herringbone, +/area/station/service/theater) "xJW" = ( /obj/structure/window/reinforced/plasma/spawner/directional/north, /obj/machinery/power/shuttle_engine/heater{ @@ -85587,6 +85575,28 @@ }, /turf/open/floor/plating, /area/station/security/execution/transfer) +"xMV" = ( +/obj/structure/table/wood, +/obj/item/folder/blue{ + pixel_x = 3; + pixel_y = 4 + }, +/obj/item/folder/yellow{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/folder/red{ + pixel_y = 1 + }, +/obj/item/stamp/law, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/clothing/glasses/sunglasses/big{ + pixel_y = 12 + }, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "xMY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -86145,16 +86155,6 @@ dir = 8 }, /area/station/cargo/storage) -"xTT" = ( -/obj/structure/table/wood, -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine"; - pixel_y = 3 - }, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "xTY" = ( /turf/closed/wall/r_wall, /area/station/security/corrections_officer) @@ -116980,7 +116980,7 @@ ebz uHZ lHQ iXY -kYz +xJO mmy hhz uHZ @@ -121404,7 +121404,7 @@ jtO gzE qff lUA -qnW +kEA rAU rAU bOD @@ -122075,9 +122075,9 @@ gxZ qMk bYy eFF -xTT -hjI -iBo +jEy +xMV +oaL gzU hjW gDp @@ -122332,7 +122332,7 @@ jrq pZJ otC eFF -cUD +abN oCY lbh xFH @@ -127224,7 +127224,7 @@ nRV iqx oPQ lvS -uOL +mCK eCc bSl cXX @@ -129340,7 +129340,7 @@ xMq xMq oXI fNX -hUj +iNa bkF hQq qBe @@ -129609,7 +129609,7 @@ gjq nyf gZb wuW -pKb +wXO udn aRn fun @@ -130380,7 +130380,7 @@ aUA pjT xMq sFi -hdE +qfI udn cLG sny diff --git a/_maps/map_files/generic/CentCom_skyrat_z2.dmm b/_maps/map_files/generic/CentCom_skyrat_z2.dmm index 80608e8af0e93..b08f7f7a67730 100644 --- a/_maps/map_files/generic/CentCom_skyrat_z2.dmm +++ b/_maps/map_files/generic/CentCom_skyrat_z2.dmm @@ -6843,9 +6843,6 @@ /area/cruiser_dock) "foq" = ( /obj/structure/sign/poster/official/cleanliness/directional/east, -/obj/machinery/camera/directional/north{ - c_tag = "Jim Norton's Quebecois Coffee" - }, /obj/structure/noticeboard/directional/north, /obj/item/reagent_containers/condiment/sugar{ pixel_y = 4 diff --git a/_maps/map_files/moonstation/moonstation.dmm b/_maps/map_files/moonstation/moonstation.dmm index 5e13acba31937..2de05a6143099 100644 --- a/_maps/map_files/moonstation/moonstation.dmm +++ b/_maps/map_files/moonstation/moonstation.dmm @@ -47236,7 +47236,7 @@ /turf/open/floor/iron/checker, /area/station/hallway/primary/central/aft) "nFV" = ( -/mob/living/simple_animal/pet/poppy, +/mob/living/basic/pet/poppy, /obj/effect/turf_decal/siding/dark{ dir = 9 }, diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index ff718244bbc5d..7ef5060325a32 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -2342,12 +2342,6 @@ /obj/structure/mirror/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/vacant_room) -"aiX" = ( -/obj/machinery/door/poddoor/massdriver_trash{ - id = "fortnitedoor" - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "ajc" = ( /obj/machinery/button/door/directional/west{ name = "Privacy Bolts"; @@ -12228,6 +12222,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningdock) +"dep" = ( +/obj/machinery/newscaster/directional/west, +/turf/open/floor/wood, +/area/station/service/lawoffice) "deq" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/plasticflaps/opaque{ @@ -13203,14 +13201,6 @@ /obj/structure/flora/bush/leavy/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"dyr" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/landmark/start/lawyer, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "dys" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -16707,13 +16697,6 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"eOz" = ( -/obj/structure/sign/poster/official/report_crimes/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "eOL" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -16904,15 +16887,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"eSk" = ( -/obj/machinery/newscaster/directional/east, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "lawyerdropoff" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "eSv" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -17934,6 +17908,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"flv" = ( +/obj/structure/aquarium/lawyer, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "flP" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/trimline/green/line{ @@ -18852,6 +18832,12 @@ /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) +"fEZ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/wood, +/area/station/service/lawoffice) "fFa" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -24684,6 +24670,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"hPA" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/landmark/start/lawyer, +/turf/open/floor/wood, +/area/station/service/lawoffice) "hPB" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -25165,12 +25158,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"hZb" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/structure/noticeboard/directional/north, -/turf/open/floor/wood, -/area/station/service/lawoffice) "hZc" = ( /obj/machinery/static_signal/northeast, /obj/effect/turf_decal/stripes/white/line, @@ -30374,10 +30361,6 @@ /obj/structure/chair, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"jOa" = ( -/obj/machinery/newscaster/directional/west, -/turf/open/floor/wood, -/area/station/service/lawoffice) "jPd" = ( /obj/structure/transit_tube, /obj/effect/turf_decal/sand/plating, @@ -35503,6 +35486,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"lxO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/grimy, +/area/station/service/lawoffice) "lxW" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/firealarm/directional/south, @@ -36703,6 +36693,15 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"lSI" = ( +/obj/machinery/newscaster/directional/east, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "lawyerdropoff" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "lSM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -37800,9 +37799,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/service/library) -"mkX" = ( -/turf/open/floor/wood, -/area/station/service/lawoffice) "mld" = ( /obj/effect/landmark/navigate_destination/dockescpod2, /obj/structure/cable, @@ -42572,10 +42568,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/commons/storage/tools) -"nWF" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "nWR" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46552,6 +46544,9 @@ dir = 1 }, /area/station/service/chapel) +"pxs" = ( +/turf/open/floor/wood, +/area/station/service/lawoffice) "pxC" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/neutral/corner, @@ -48939,6 +48934,10 @@ dir = 8 }, /area/station/medical/medbay/central) +"qnk" = ( +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/service/lawoffice) "qnm" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -54594,13 +54593,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"smM" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/landmark/start/lawyer, -/turf/open/floor/wood, -/area/station/service/lawoffice) "smV" = ( /obj/structure/table, /obj/machinery/microwave, @@ -59815,12 +59807,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/chemistry) -"udW" = ( -/obj/structure/aquarium/lawyer, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/service/lawoffice) "udX" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -64712,6 +64698,14 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"vGd" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/landmark/start/lawyer, +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "vGi" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -65450,13 +65444,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"vTL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/grimy, -/area/station/service/lawoffice) "vTZ" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -66426,6 +66413,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) +"woj" = ( +/obj/machinery/door/poddoor/massdriver_trash{ + id = "fortnitedoor" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "woB" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white/smooth_corner{ @@ -68945,6 +68939,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"xmH" = ( +/obj/structure/sign/poster/official/report_crimes/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "xmJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -99726,10 +99727,10 @@ jkM adC jmp iTz -udW -nWF +flv +qnk mrb -jOa +dep hFr abM abM @@ -99983,10 +99984,10 @@ jyQ vBa vrG iTz -hZb +fEZ qel aGk -smM +hPA hFr abM abM @@ -100240,10 +100241,10 @@ gtz fHg dVC kKB -mkX +pxs jXY -vTL -eOz +lxO +xmH hFr abM abM @@ -101014,7 +101015,7 @@ iTz bnh xgh fKv -dyr +vGd hFr hFr hFr @@ -101271,7 +101272,7 @@ iTz jeC jmk pYt -eSk +lSI lWF iMC vVq @@ -120301,7 +120302,7 @@ xSG xSG xSG vle -aiX +woj vle aaa aaa diff --git a/_maps/shuttles/emergency_casino.dmm b/_maps/shuttles/emergency_casino.dmm index 55985a02e693e..a3280acfeb7b4 100644 --- a/_maps/shuttles/emergency_casino.dmm +++ b/_maps/shuttles/emergency_casino.dmm @@ -1186,7 +1186,7 @@ /obj/item/storage/crayons, /obj/item/storage/crayons, /obj/item/storage/crayons, -/mob/living/simple_animal/bot/secbot/honkbot, +/mob/living/basic/bot/honkbot, /turf/open/floor/sepia, /area/shuttle/escape) "NN" = ( diff --git a/_maps/skyrat/lazy_templates/deathmatch/deep_space.dmm b/_maps/skyrat/lazy_templates/deathmatch/deep_space.dmm index 9999215211336..487d447e2f75d 100644 --- a/_maps/skyrat/lazy_templates/deathmatch/deep_space.dmm +++ b/_maps/skyrat/lazy_templates/deathmatch/deep_space.dmm @@ -755,7 +755,7 @@ /turf/open/floor/grass, /area/deathmatch) "yb" = ( -/mob/living/simple_animal/pet/gondola, +/mob/living/basic/pet/gondola, /obj/effect/light_emitter/fake_outdoors, /turf/open/floor/grass, /area/deathmatch) @@ -1116,7 +1116,7 @@ /turf/open/space/basic, /area/deathmatch) "FZ" = ( -/mob/living/simple_animal/pet/gondola, +/mob/living/basic/pet/gondola, /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/deathmatch) @@ -1264,7 +1264,7 @@ light_color = "#FFE8AA"; light_range = 20 }, -/mob/living/simple_animal/pet/gondola, +/mob/living/basic/pet/gondola, /turf/open/floor/grass, /area/deathmatch) "IY" = ( @@ -1295,7 +1295,7 @@ /turf/open/floor/plating/airless, /area/deathmatch) "Kh" = ( -/mob/living/simple_animal/pet/gondola, +/mob/living/basic/pet/gondola, /turf/open/floor/grass, /area/deathmatch) "Ki" = ( diff --git a/_maps/templates/lazy_templates/wizard_den.dmm b/_maps/templates/lazy_templates/wizard_den.dmm index 58e09b40a0ac7..472dde511c475 100644 --- a/_maps/templates/lazy_templates/wizard_den.dmm +++ b/_maps/templates/lazy_templates/wizard_den.dmm @@ -536,7 +536,7 @@ /turf/open/floor/iron, /area/centcom/wizard_station) "AW" = ( -/mob/living/simple_animal/pet/gondola{ +/mob/living/basic/pet/gondola{ name = "Jommy"; faction = list("gondola", "Wizard") }, diff --git a/_maps/virtual_domains/gondola_asteroid.dmm b/_maps/virtual_domains/gondola_asteroid.dmm index cb8f2625f0d95..6ed8763f9a6f5 100644 --- a/_maps/virtual_domains/gondola_asteroid.dmm +++ b/_maps/virtual_domains/gondola_asteroid.dmm @@ -53,7 +53,7 @@ /turf/open/floor/grass, /area/ruin/space/has_grav/powered/virtual_domain) "z" = ( -/mob/living/simple_animal/pet/gondola/virtual_domain, +/mob/living/basic/pet/gondola/virtual_domain, /turf/open/floor/grass, /area/ruin/space/has_grav/powered/virtual_domain) "A" = ( diff --git a/code/__DEFINES/ai/ai.dm b/code/__DEFINES/ai/ai.dm index b8323c1c4e8b6..94780b7d5f3e7 100644 --- a/code/__DEFINES/ai/ai.dm +++ b/code/__DEFINES/ai/ai.dm @@ -14,7 +14,7 @@ ///For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on #define AI_MAX_PATH_LENGTH 30 // 30 is possibly overkill since by default we lose interest after 14 tiles of distance, but this gives wiggle room for weaving around obstacles -#define AI_BOT_PATH_LENGTH 150 +#define AI_BOT_PATH_LENGTH 75 // How far should we, by default, be looking for interesting things to de-idle? #define AI_DEFAULT_INTERESTING_DIST 10 diff --git a/code/__DEFINES/ai/bot_keys.dm b/code/__DEFINES/ai/bot_keys.dm index 8a46d15611478..61189861141d7 100644 --- a/code/__DEFINES/ai/bot_keys.dm +++ b/code/__DEFINES/ai/bot_keys.dm @@ -1,3 +1,22 @@ +//bitfield defines + +///can honkbots slip people? +#define HONKBOT_MODE_SLIP (1<<0) +///can honkbots check IDs? +#define HONKBOT_CHECK_IDS (1<<1) +///can honkbots check records? +#define HONKBOT_CHECK_RECORDS (1<<2) +///can honkbots handcuff people? +#define HONKBOT_HANDCUFF_TARGET (1<<3) + +DEFINE_BITFIELD(honkbot_flags, list( + "CAN_SLIP" = HONKBOT_MODE_SLIP, + "CHECK_IDS" = HONKBOT_CHECK_IDS, + "CHECK_RECORDS" = HONKBOT_CHECK_RECORDS, + "CAN_FAKE_CUFF" = HONKBOT_HANDCUFF_TARGET, +)) + + // bot keys ///The first beacon we find #define BB_BEACON_TARGET "beacon_target" @@ -73,3 +92,20 @@ #define BB_WASH_FRUSTRATION "wash_frustration" ///key that holds cooldown after we finish cleaning something, so we dont immediately run off to patrol #define BB_POST_CLEAN_COOLDOWN "post_clean_cooldown" + +//Honkbots +///key that holds all possible clown friends +#define BB_CLOWNS_LIST "clowns_list" +///key that holds the clown we play with +#define BB_CLOWN_FRIEND "clown_friend" +///key that holds the list of slippery items +#define BB_SLIPPERY_ITEMS "slippery_items" +///key that holds list of types we will attempt to slip +#define BB_SLIP_LIST "slip_list" +///key that holds the slippery item we will drag people too +#define BB_SLIPPERY_TARGET "slippery_target" +///key that holds the victim we will slip +#define BB_SLIP_TARGET "slip_target" +///key that holds our honk ability +#define BB_HONK_ABILITY "honk_ability" + diff --git a/code/__DEFINES/cleaning.dm b/code/__DEFINES/cleaning.dm index 79708cd152b62..d65affd1f03d5 100644 --- a/code/__DEFINES/cleaning.dm +++ b/code/__DEFINES/cleaning.dm @@ -23,10 +23,17 @@ /// Cleans decals such as cobwebs off the floor #define CLEAN_TYPE_HARD_DECAL (1 << 7) +// SKYRAT EDIT BEGIN ADD: Turf liquid cleaning type! + +/// Cleans all the liquids from a turf, or "evaporates" them +#define CLEAN_TYPE_LIQUIDS (1 << 10) // Higher so it won't conflict with TG updates easily + +// SKYRAT EDIT END + // Different cleaning methods. // Use these when calling the wash proc for your cleaning apparatus #define CLEAN_WASH (CLEAN_TYPE_BLOOD | CLEAN_TYPE_DISEASE | CLEAN_TYPE_ACID | CLEAN_TYPE_LIGHT_DECAL) -#define CLEAN_SCRUB (CLEAN_WASH | CLEAN_TYPE_FINGERPRINTS | CLEAN_TYPE_FIBERS | CLEAN_TYPE_HARD_DECAL) +#define CLEAN_SCRUB (CLEAN_WASH | CLEAN_TYPE_FINGERPRINTS | CLEAN_TYPE_FIBERS | CLEAN_TYPE_HARD_DECAL | CLEAN_TYPE_LIQUIDS) // Skyrat edit - adds CLEAN_TYPE_LIQUIDS #define CLEAN_RAD CLEAN_TYPE_RADIATION #define CLEAN_ALL ALL diff --git a/code/__DEFINES/cooldowns.dm b/code/__DEFINES/cooldowns.dm index c1e6494a5014a..0cb559b0e8f36 100644 --- a/code/__DEFINES/cooldowns.dm +++ b/code/__DEFINES/cooldowns.dm @@ -46,6 +46,7 @@ // item cooldowns #define COOLDOWN_SIGNALLER_SEND "cooldown_signaller_send" +#define COOLDOWN_TOOL_SOUND "cooldown_tool_sound" //circuit cooldowns #define COOLDOWN_CIRCUIT_SOUNDEMITTER "circuit_soundemitter" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm index 6cca71839a927..026247acf57ab 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm @@ -1,6 +1,9 @@ /// Signal sent when a blackboard key is set to a new value #define COMSIG_AI_BLACKBOARD_KEY_SET(blackboard_key) "ai_blackboard_key_set_[blackboard_key]" +///Signal sent before a blackboard key is cleared +#define COMSIG_AI_BLACKBOARD_KEY_PRECLEAR(blackboard_key) "ai_blackboard_key_pre_clear_[blackboard_key]" + /// Signal sent when a blackboard key is cleared #define COMSIG_AI_BLACKBOARD_KEY_CLEARED(blackboard_key) "ai_blackboard_key_clear_[blackboard_key]" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm index 637ea90c8e4eb..2f011f2e5a326 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -159,3 +159,7 @@ #define HANDLE_BLOOD_NO_NUTRITION_DRAIN (1<<1) /// Return to skip oxyloss and similar effecst from blood level #define HANDLE_BLOOD_NO_EFFECTS (1<<2) + +/// from /datum/status_effect/limp/proc/check_step(mob/whocares, OldLoc, Dir, forced) iodk where it shuld go +#define COMSIG_CARBON_LIMPING "mob_limp_check" + #define COMPONENT_CANCEL_LIMP (1<<0) diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm index 1d3c9304c3c93..bf6e68f127c71 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -43,6 +43,8 @@ #define COMSIG_LIVING_SET_BUCKLED "living_set_buckled" ///from base of mob/living/set_body_position() #define COMSIG_LIVING_SET_BODY_POSITION "living_set_body_position" +///from base of mob/living/set_usable_legs() +#define COMSIG_LIVING_LIMBLESS_SLOWDOWN "living_limbless_slowdown" ///From post-can inject check of syringe after attack (mob/user) #define COMSIG_LIVING_TRY_SYRINGE "living_try_syringe" ///From living/Life(). (deltatime, times_fired) diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm index c4007d1296910..d3439cf857291 100644 --- a/code/__DEFINES/dcs/signals/signals_mod.dm +++ b/code/__DEFINES/dcs/signals/signals_mod.dm @@ -1,10 +1,14 @@ //MODsuit signals /// Called when a module is selected to be the active one from on_select(obj/item/mod/module/module) #define COMSIG_MOD_MODULE_SELECTED "mod_module_selected" -/// Called when a MOD deploys one or more of its parts. +/// Called when a MOD user deploys one or more of its parts. #define COMSIG_MOD_DEPLOYED "mod_deployed" -/// Called when a MOD retracts one or more of its parts. +/// Called when a MOD user retracts one or more of its parts. #define COMSIG_MOD_RETRACTED "mod_retracted" +/// Called when a MOD deploys a part. +#define COMSIG_MOD_PART_DEPLOYED "mod_part_deployed" +/// Called when a MOD retracts a part. +#define COMSIG_MOD_PART_RETRACTED "mod_part_retracted" /// Called when a MOD is finished toggling itself. #define COMSIG_MOD_TOGGLED "mod_toggled" /// Called when a MOD activation is called from toggle_activate(mob/user) diff --git a/code/__DEFINES/id_cards.dm b/code/__DEFINES/id_cards.dm index ce7d847c59bb2..9692122480170 100644 --- a/code/__DEFINES/id_cards.dm +++ b/code/__DEFINES/id_cards.dm @@ -10,16 +10,14 @@ * explicitly equal 0 for all compatible wildcard slots. */ -/// Wildcard slot define for basic grey cards. Only hold 2 common wildcards. -#define WILDCARD_LIMIT_GREY list(WILDCARD_NAME_COMMON = list(limit = 5, usage = list())) //Bubberstation edit: original 2 - -/// Wildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command. +/// Wildcard slot define for basic grey cards. Only hold 4 common wildcards. +#define WILDCARD_LIMIT_GREY list(WILDCARD_NAME_COMMON = list(limit = 4, usage = list())) +/// Wildcard slot define for Head of Staff silver cards. Can hold 6 common, 2 command and 1 private command. #define WILDCARD_LIMIT_SILVER list( \ - WILDCARD_NAME_COMMON = list(limit = 5, usage = list()), \ - WILDCARD_NAME_COMMAND = list(limit = 3, usage = list()), \ - WILDCARD_NAME_PRV_COMMAND = list(limit = 2, usage = list()) \ -) // BUBBERSTATION EDIT: COMMON 2 > 5 | COMMAND 1 > 3 | CAPTAIN 1 > 2 - + WILDCARD_NAME_COMMON = list(limit = 6, usage = list()), \ + WILDCARD_NAME_COMMAND = list(limit = 2, usage = list()), \ + WILDCARD_NAME_PRV_COMMAND = list(limit = 1, usage = list()) \ +) /// Wildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard. #define WILDCARD_LIMIT_GOLD list(WILDCARD_NAME_CAPTAIN = list(limit = -1, usage = list())) /// Wildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses. diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 11def884c6ff9..9b4bbe6bcbc96 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -261,6 +261,26 @@ GLOBAL_LIST_INIT(chaplain_suit_allowed, list( /obj/item/gun/ballistic/revolver/chaplain, )) +//Allowed list for all mining suits + +GLOBAL_LIST_INIT(mining_suit_allowed, list( + /obj/item/t_scanner/adv_mining_scanner, + /obj/item/melee/cleaving_saw, + /obj/item/climbing_hook, + /obj/item/flashlight, + /obj/item/grapple_gun, + /obj/item/tank/internals, + /obj/item/gun/energy/recharge/kinetic_accelerator, + /obj/item/kinetic_crusher, + /obj/item/knife, + /obj/item/mining_scanner, + /obj/item/organ/internal/monster_core, + /obj/item/storage/bag/ore, + /obj/item/pickaxe, + /obj/item/resonator, + /obj/item/spear, +)) + /// String for items placed into the left pocket. #define LOCATION_LPOCKET "in your left pocket" /// String for items placed into the right pocket diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index 7e26e30d18dc0..c76ba60911355 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -176,11 +176,13 @@ Always compile, always use that verb, and always make sure that it works for wha #define BIOME_LOW_HEAT "low_heat" #define BIOME_LOWMEDIUM_HEAT "lowmedium_heat" +#define BIOME_MEDIUM_HEAT "medium_heat" #define BIOME_HIGHMEDIUM_HEAT "highmedium_heat" #define BIOME_HIGH_HEAT "high_heat" #define BIOME_LOW_HUMIDITY "low_humidity" #define BIOME_LOWMEDIUM_HUMIDITY "lowmedium_humidity" +#define BIOME_MEDIUM_HUMIDITY "medium_humidity" #define BIOME_HIGHMEDIUM_HUMIDITY "highmedium_humidity" #define BIOME_HIGH_HUMIDITY "high_humidity" diff --git a/code/__DEFINES/mod.dm b/code/__DEFINES/mod.dm index be59793927f07..8257e1969bedb 100644 --- a/code/__DEFINES/mod.dm +++ b/code/__DEFINES/mod.dm @@ -4,7 +4,7 @@ /// The default cell drain of a modsuit. The standard modsuit active power usage drains this much energy per modsuit second. #define DEFAULT_CHARGE_DRAIN (0.005 * STANDARD_CELL_CHARGE) // A standard cell lasts 200 seconds with this on active power usage, while a high power one lasts 2,000 seconds. -/// Default time for a part to seal +/// Default time for a part of the suit to seal. #define MOD_ACTIVATION_STEP_TIME (2 SECONDS) /// Passive module, just acts when put in naturally. @@ -23,14 +23,8 @@ /// This module can be used while the suit is off #define MODULE_ALLOW_INACTIVE (1<<2) -//Defines used by the theme for clothing flags and similar -#define CONTROL_LAYER "control_layer" -#define HELMET_FLAGS "helmet_flags" -#define CHESTPLATE_FLAGS "chestplate_flags" -#define GAUNTLETS_FLAGS "gauntlets_flags" -#define BOOTS_FLAGS "boots_flags" - #define UNSEALED_LAYER "unsealed_layer" +#define SEALED_LAYER "sealed_layer" #define UNSEALED_CLOTHING "unsealed_clothing" #define SEALED_CLOTHING "sealed_clothing" #define UNSEALED_INVISIBILITY "unsealed_invisibility" @@ -38,6 +32,8 @@ #define UNSEALED_COVER "unsealed_cover" #define SEALED_COVER "sealed_cover" #define CAN_OVERSLOT "can_overslot" +#define UNSEALED_MESSAGE "unsealed_message" +#define SEALED_MESSAGE "sealed_message" //Defines used to override MOD clothing's icon and worn icon files in the skin. #define MOD_ICON_OVERRIDE "mod_icon_override" @@ -49,6 +45,16 @@ #define MODLINK_FREQ_CHARLIE "CHRL" #define MODLINK_FREQ_CENTCOM "CC" +//Default text for different messages for the user. +#define HELMET_UNSEAL_MESSAGE "hisses open" +#define HELMET_SEAL_MESSAGE "hisses closed" +#define CHESTPLATE_UNSEAL_MESSAGE "releases your chest" +#define CHESTPLATE_SEAL_MESSAGE "cinches tightly around your chest" +#define GAUNTLET_UNSEAL_MESSAGE "become loose around your fingers" +#define GAUNTLET_SEAL_MESSAGE "tighten around your fingers and wrists" +#define BOOT_UNSEAL_MESSAGE "relax their grip on your legs" +#define BOOT_SEAL_MESSAGE "seal around your feet" + /// Global list of all /datum/mod_theme GLOBAL_LIST_INIT(mod_themes, setup_mod_themes()) /// Global list of all ids associated to a /datum/mod_link instance diff --git a/code/__DEFINES/rust_g.dm b/code/__DEFINES/rust_g.dm index 5404cebed97e8..7c601b62ff0fd 100644 --- a/code/__DEFINES/rust_g.dm +++ b/code/__DEFINES/rust_g.dm @@ -107,6 +107,23 @@ #define rustg_cnoise_generate(percentage, smoothing_iterations, birth_limit, death_limit, width, height) \ RUSTG_CALL(RUST_G, "cnoise_generate")(percentage, smoothing_iterations, birth_limit, death_limit, width, height) +/** + * This proc generates a grid of perlin-like noise + * + * Returns a single string that goes row by row, with values of 1 representing an turned on cell, and a value of 0 representing a turned off cell. + * + * Arguments: + * * seed: seed for the function + * * accuracy: how close this is to the original perlin noise, as accuracy approaches infinity, the noise becomes more and more perlin-like + * * stamp_size: Size of a singular stamp used by the algorithm, think of this as the same stuff as frequency in perlin noise + * * world_size: size of the returned grid. + * * lower_range: lower bound of values selected for. (inclusive) + * * upper_range: upper bound of values selected for. (exclusive) + */ +#define rustg_dbp_generate(seed, accuracy, stamp_size, world_size, lower_range, upper_range) \ + RUSTG_CALL(RUST_G, "dbp_generate")(seed, accuracy, stamp_size, world_size, lower_range, upper_range) + + #define rustg_dmi_strip_metadata(fname) RUSTG_CALL(RUST_G, "dmi_strip_metadata")(fname) #define rustg_dmi_create_png(path, width, height, data) RUSTG_CALL(RUST_G, "dmi_create_png")(path, width, height, data) #define rustg_dmi_resize_png(path, width, height, resizetype) RUSTG_CALL(RUST_G, "dmi_resize_png")(path, width, height, resizetype) @@ -159,6 +176,16 @@ #define rustg_noise_get_at_coordinates(seed, x, y) RUSTG_CALL(RUST_G, "noise_get_at_coordinates")(seed, x, y) +/* + * Takes in a string and json_encode()"d lists to produce a sanitized string. + * This function operates on whitelists, there is currently no way to blacklist. + * Args: + * * text: the string to sanitize. + * * attribute_whitelist_json: a json_encode()'d list of HTML attributes to allow in the final string. + * * tag_whitelist_json: a json_encode()'d list of HTML tags to allow in the final string. + */ +#define rustg_sanitize_html(text, attribute_whitelist_json, tag_whitelist_json) RUSTG_CALL(RUST_G, "sanitize_html")(text, attribute_whitelist_json, tag_whitelist_json) + #define rustg_sql_connect_pool(options) RUSTG_CALL(RUST_G, "sql_connect_pool")(options) #define rustg_sql_query_async(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_async")(handle, query, params) #define rustg_sql_query_blocking(handle, query, params) RUSTG_CALL(RUST_G, "sql_query_blocking")(handle, query, params) diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm index 132ae1962398f..3e78ecf40d032 100644 --- a/code/__DEFINES/tools.dm +++ b/code/__DEFINES/tools.dm @@ -24,7 +24,7 @@ // If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY, // tool sound is only played when op is started. If not, it's played twice. #define MIN_TOOL_SOUND_DELAY 20 - +#define MIN_TOOL_OPERATING_DELAY 40 //minimum delay for operating sound. Prevent overlaps and overhand sound. /// Return when an item interaction is successful. /// This cancels the rest of the chain entirely and indicates success. #define ITEM_INTERACT_SUCCESS (1<<0) // Same as TRUE, as most tool (legacy) tool acts return TRUE on success diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 3d0ec67095ea1..62556c7c9f921 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -228,6 +228,11 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_PROFOUND_FISHER "profound_fisher" /// This trait lets you evaluate someone's fitness level against your own #define TRAIT_EXAMINE_FITNESS "reveal_power_level" +/// These mobs have particularly hygienic tongues +#define TRAIT_WOUND_LICKER "wound_licker" + +/// This trait designate that the mob was originally a monkey +#define TRAIT_BORN_MONKEY "born_as_a_monkey" /// Added to a mob, allows that mob to experience flavour-based moodlets when examining food #define TRAIT_REMOTE_TASTING "remote_tasting" @@ -1143,6 +1148,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait applied to objects and mobs that can attack a boulder and break it down. (See /obj/item/boulder/manual_process()) #define TRAIT_BOULDER_BREAKER "boulder_breaker" +/// Trait given to mobs wearing the clown mask +#define TRAIT_PERCEIVED_AS_CLOWN "perceived_as_clown" /// Does this item bypass ranged armor checks? #define TRAIT_BYPASS_RANGED_ARMOR "bypass_ranged_armor" diff --git a/code/__DEFINES/transport.dm b/code/__DEFINES/transport.dm index b0b38ee70ef95..b47bb6c2f0641 100644 --- a/code/__DEFINES/transport.dm +++ b/code/__DEFINES/transport.dm @@ -99,12 +99,13 @@ DEFINE_BITFIELD(request_flags, list( #define XING_STATE_RED 2 #define XING_STATE_MALF 3 -#define AMBER_THRESHOLD_NORMAL 60 // SKYRAT EDIT CHANGE - RUN/WALK SPEED -#define RED_THRESHOLD_NORMAL 37 // SKYRAT EDIT CHANGE - RUN/WALK SPEED -#define AMBER_THRESHOLD_DEGRADED 45 // SKYRAT EDIT CHANGE - RUN/WALK SPEED -#define RED_THRESHOLD_DEGRADED 33 // SKYRAT EDIT CHANGE - RUN/WALK SPEED +// #define XING_THRESHOLD_AMBER 45 +// #define XING_THRESHOLD_RED 27 +#define XING_THRESHOLD_AMBER 60 // SKYRAT EDIT CHANGE - RUN/WALK SPEED +#define XING_THRESHOLD_RED 36 // SKYRAT EDIT CHANGE - RUN/WALK SPEED #define DEFAULT_TRAM_LENGTH 10 +#define DEFAULT_TRAM_MIDPOINT 5 // Tram machinery subtype #define TRANSPORT_SYSTEM_NORMAL 0 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index e0e83b42197b4..c840b8c1608f1 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -2,65 +2,6 @@ /////Initial Building///// ////////////////////////// -/proc/init_sprite_accessories() - //hair - init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hairstyles_list, GLOB.hairstyles_male_list, GLOB.hairstyles_female_list) - //facial hair - init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hairstyles_list, GLOB.facial_hairstyles_male_list, GLOB.facial_hairstyles_female_list) - //underwear - init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f) - //undershirt - init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f) - //socks - init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list) - //SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION - /* - //bodypart accessories (blizzard intensifies) - init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human, add_blank = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard, add_blank = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, GLOB.tails_list_monkey, add_blank = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/horns,GLOB.horns_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.ears_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, GLOB.wings_open_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tail_spines, GLOB.tail_spines_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, GLOB.caps_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings, GLOB.moth_wings_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae, GLOB.moth_antennae_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) -*/ //SKYRAT EDIT REMOVAL END - init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) - // SKYRAT EDIT ADDITION START - init_sprite_accessory_subtypes(/datum/sprite_accessory/bra, GLOB.bra_list, GLOB.bra_m, GLOB.bra_f) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, GLOB.tails_list_monkey, add_blank = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/caps, GLOB.caps_list, add_blank = TRUE) - init_sprite_accessory_subtypes(/datum/sprite_accessory/wings/moth, GLOB.moth_wings_list) - - //Scream types - for(var/spath in subtypesof(/datum/scream_type)) - var/datum/scream_type/S = new spath() - GLOB.scream_types[S.name] = spath - sort_list(GLOB.scream_types, GLOBAL_PROC_REF(cmp_typepaths_asc)) - - //Laugh types - for(var/spath in subtypesof(/datum/laugh_type)) - var/datum/laugh_type/L = new spath() - GLOB.laugh_types[L.name] = spath - sort_list(GLOB.laugh_types, GLOBAL_PROC_REF(cmp_typepaths_asc)) - // SKYRAT EDIT ADDITION END - //BUBBER EDIT ADDITION BEGIN - Blooper - for(var/sound_blooper_path in subtypesof(/datum/blooper)) - var/datum/blooper/B = new sound_blooper_path() - GLOB.blooper_list[B.id] = sound_blooper_path - if(B.allow_random) - GLOB.blooper_random_list[B.id] = sound_blooper_path - //BUBBER EDIT END - /// Inits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists /proc/init_species_list() for(var/species_path in subtypesof(/datum/species)) @@ -76,21 +17,10 @@ sort_list(surgeries, GLOBAL_PROC_REF(cmp_typepaths_asc)) return surgeries -/// Hair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name -/proc/init_hair_gradients() - for(var/path in subtypesof(/datum/sprite_accessory/gradient)) - var/datum/sprite_accessory/gradient/gradient = new path() - if(gradient.gradient_category & GRADIENT_APPLIES_TO_HAIR) - GLOB.hair_gradients_list[gradient.name] = gradient - if(gradient.gradient_category & GRADIENT_APPLIES_TO_FACIAL_HAIR) - GLOB.facial_hair_gradients_list[gradient.name] = gradient - /// Legacy procs that really should be replaced with proper _INIT macros /proc/make_datum_reference_lists() // I tried to eliminate this proc but I couldn't untangle their init-order interdependencies -Dominion/Cyberboss - init_sprite_accessories() init_species_list() - init_hair_gradients() init_keybindings() GLOB.emote_list = init_emote_list() // WHY DOES THIS NEED TO GO HERE? IT JUST INITS DATUMS make_skyrat_datum_references() //SKYRAT EDIT ADDITION - CUSTOMIZATION diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index ddacd466a855a..38778f2a29acf 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -29,31 +29,31 @@ return COLOR_BLACK /proc/random_underwear(gender) - if(!GLOB.underwear_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f) + if(length(SSaccessories.underwear_list) == 0) + CRASH("No underwear to choose from!") switch(gender) if(MALE) - return pick(GLOB.underwear_m) + return pick(SSaccessories.underwear_m) if(FEMALE) - return pick(GLOB.underwear_f) + return pick(SSaccessories.underwear_f) else - return pick(GLOB.underwear_list) + return pick(SSaccessories.underwear_list) /proc/random_undershirt(gender) - if(!GLOB.undershirt_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f) + if(length(SSaccessories.undershirt_list) == 0) + CRASH("No undershirts to choose from!") switch(gender) if(MALE) - return pick(GLOB.undershirt_m) + return pick(SSaccessories.undershirt_m) if(FEMALE) - return pick(GLOB.undershirt_f) + return pick(SSaccessories.undershirt_f) else - return pick(GLOB.undershirt_list) + return pick(SSaccessories.undershirt_list) /proc/random_socks() - if(!GLOB.socks_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list) - return pick(GLOB.socks_list) + if(length(SSaccessories.socks_list) == 0) + CRASH("No socks to choose from!") + return pick(SSaccessories.socks_list) /proc/random_backpack() return pick(GLOB.backpacklist) @@ -89,8 +89,8 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae, GLOB.moth_antennae_list) if(!GLOB.moth_markings_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings, GLOB.moth_markings_list) - if(!GLOB.pod_hair_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) + if(!SSaccessories.pod_hair_list.len) + init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, SSaccessories.pod_hair_list) //For now we will always return none for tail_human and ears. | "For now" he says. return(list( @@ -111,7 +111,7 @@ "moth_antennae" = pick(GLOB.moth_antennae_list), "moth_markings" = pick(GLOB.moth_markings_list), "tail_monkey" = "Monkey", - "pod_hair" = pick(GLOB.pod_hair_list), + "pod_hair" = pick(SSaccessories.pod_hair_list), )) */ //SKYRAT EDIT REMOVAL END @@ -119,20 +119,20 @@ /proc/random_hairstyle(gender) switch(gender) if(MALE) - return pick(GLOB.hairstyles_male_list) + return pick(SSaccessories.hairstyles_male_list) if(FEMALE) - return pick(GLOB.hairstyles_female_list) + return pick(SSaccessories.hairstyles_female_list) else - return pick(GLOB.hairstyles_list) + return pick(SSaccessories.hairstyles_list) /proc/random_facial_hairstyle(gender) switch(gender) if(MALE) - return pick(GLOB.facial_hairstyles_male_list) + return pick(SSaccessories.facial_hairstyles_male_list) if(FEMALE) - return pick(GLOB.facial_hairstyles_female_list) + return pick(SSaccessories.facial_hairstyles_female_list) else - return pick(GLOB.facial_hairstyles_list) + return pick(SSaccessories.facial_hairstyles_list) /proc/random_unique_name(gender, attempts_to_find_unique_name=10) for(var/i in 1 to attempts_to_find_unique_name) @@ -568,13 +568,18 @@ GLOBAL_LIST_EMPTY(species_list) . += borg //Returns a list of AI's -/proc/active_ais(check_mind=FALSE, z = null) +/proc/active_ais(check_mind=FALSE, z = null, skip_syndicate, only_syndicate) . = list() for(var/mob/living/silicon/ai/ai as anything in GLOB.ai_list) if(ai.stat == DEAD) continue if(ai.control_disabled) continue + var/syndie_ai = istype(ai, /mob/living/silicon/ai/weak_syndie) + if(skip_syndicate && syndie_ai) + continue + if(only_syndicate && !syndie_ai) + continue if(check_mind) if(!ai.mind) continue @@ -601,8 +606,8 @@ GLOBAL_LIST_EMPTY(species_list) . = pick(borgs) return . -/proc/select_active_ai(mob/user, z = null) - var/list/ais = active_ais(FALSE, z) +/proc/select_active_ai(mob/user, z = null, skip_syndicate, only_syndicate) + var/list/ais = active_ais(FALSE, z, skip_syndicate, only_syndicate) if(ais.len) if(user) . = input(user,"AI signals detected:", "AI Selection", ais[1]) in sort_list(ais) @@ -729,6 +734,49 @@ GLOBAL_LIST_EMPTY(species_list) else return precise_zone +///Returns a list of strings for a given slot flag. +/proc/parse_slot_flags(slot_flags) + var/list/slot_strings = list() + if(slot_flags & ITEM_SLOT_BACK) + slot_strings += "back" + if(slot_flags & ITEM_SLOT_MASK) + slot_strings += "mask" + if(slot_flags & ITEM_SLOT_NECK) + slot_strings += "neck" + if(slot_flags & ITEM_SLOT_HANDCUFFED) + slot_strings += "handcuff" + if(slot_flags & ITEM_SLOT_LEGCUFFED) + slot_strings += "legcuff" + if(slot_flags & ITEM_SLOT_BELT) + slot_strings += "belt" + if(slot_flags & ITEM_SLOT_ID) + slot_strings += "id" + if(slot_flags & ITEM_SLOT_EARS) + slot_strings += "ear" + if(slot_flags & ITEM_SLOT_EYES) + slot_strings += "glasses" + if(slot_flags & ITEM_SLOT_GLOVES) + slot_strings += "glove" + if(slot_flags & ITEM_SLOT_HEAD) + slot_strings += "head" + if(slot_flags & ITEM_SLOT_FEET) + slot_strings += "shoe" + if(slot_flags & ITEM_SLOT_OCLOTHING) + slot_strings += "oversuit" + if(slot_flags & ITEM_SLOT_ICLOTHING) + slot_strings += "undersuit" + if(slot_flags & ITEM_SLOT_SUITSTORE) + slot_strings += "suit storage" + if(slot_flags & (ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET)) + slot_strings += "pocket" + if(slot_flags & ITEM_SLOT_HANDS) + slot_strings += "hand" + if(slot_flags & ITEM_SLOT_DEX_STORAGE) + slot_strings += "dextrous storage" + if(slot_flags & ITEM_SLOT_BACKPACK) + slot_strings += "backpack" + return slot_strings + ///Returns the direction that the initiator and the target are facing /proc/check_target_facings(mob/living/initiator, mob/living/target) /*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head. diff --git a/code/__HELPERS/~skyrat_helpers/unsorted.dm b/code/__HELPERS/~skyrat_helpers/unsorted.dm index f6ae26cc82bba..7affdd9ef3d4b 100644 --- a/code/__HELPERS/~skyrat_helpers/unsorted.dm +++ b/code/__HELPERS/~skyrat_helpers/unsorted.dm @@ -47,9 +47,9 @@ center_turf.luminosity = old_luminosity return . -///This will check if GLOB.sprite_accessories[mutant_part]?[part_name] is associated with sprite accessory with factual TRUE. +///This will check if SSaccessories.sprite_accessories[mutant_part]?[part_name] is associated with sprite accessory with factual TRUE. /proc/is_factual_sprite_accessory(mutant_part, part_name) if(!mutant_part || !part_name) return FALSE - var/datum/sprite_accessory/accessory = GLOB.sprite_accessories[mutant_part]?[part_name] + var/datum/sprite_accessory/accessory = SSaccessories.sprite_accessories[mutant_part]?[part_name] return accessory?.factual diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 4981880d5ff17..792d49cfde9b3 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -1,51 +1,3 @@ -//Preferences stuff - //Hairstyles -GLOBAL_LIST_EMPTY(hairstyles_list) //stores /datum/sprite_accessory/hair indexed by name -GLOBAL_LIST_EMPTY(hairstyles_male_list) //stores only hair names -GLOBAL_LIST_EMPTY(hairstyles_female_list) //stores only hair names -GLOBAL_LIST_EMPTY(facial_hairstyles_list) //stores /datum/sprite_accessory/facial_hair indexed by name -GLOBAL_LIST_EMPTY(facial_hairstyles_male_list) //stores only hair names -GLOBAL_LIST_EMPTY(facial_hairstyles_female_list) //stores only hair names -GLOBAL_LIST_EMPTY(hair_gradients_list) //stores /datum/sprite_accessory/hair_gradient indexed by name -GLOBAL_LIST_EMPTY(facial_hair_gradients_list) //stores /datum/sprite_accessory/facial_hair_gradient indexed by name - //Underwear -GLOBAL_LIST_EMPTY(underwear_list) //stores /datum/sprite_accessory/underwear indexed by name -GLOBAL_LIST_EMPTY(underwear_m) //stores only underwear name -GLOBAL_LIST_EMPTY(underwear_f) //stores only underwear name - //Undershirts -GLOBAL_LIST_EMPTY(undershirt_list) //stores /datum/sprite_accessory/undershirt indexed by name -GLOBAL_LIST_EMPTY(undershirt_m) //stores only undershirt name -GLOBAL_LIST_EMPTY(undershirt_f) //stores only undershirt name - //Socks -GLOBAL_LIST_EMPTY(socks_list) //stores /datum/sprite_accessory/socks indexed by name - //Lizard Bits (all datum lists indexed by name) -//SKYRAT EDIT REMOVAL - CUSTOMIZATION -/* -GLOBAL_LIST_EMPTY(body_markings_list) -GLOBAL_LIST_EMPTY(snouts_list) -GLOBAL_LIST_EMPTY(horns_list) -GLOBAL_LIST_EMPTY(frills_list) -GLOBAL_LIST_EMPTY(spines_list) -GLOBAL_LIST_EMPTY(tail_spines_list) -GLOBAL_LIST_EMPTY(legs_list) - - //Mutant Human bits -GLOBAL_LIST_EMPTY(tails_list_human) -GLOBAL_LIST_EMPTY(tails_list_lizard) -GLOBAL_LIST_EMPTY(tails_list_monkey) -GLOBAL_LIST_EMPTY(ears_list) -GLOBAL_LIST_EMPTY(wings_list) -GLOBAL_LIST_EMPTY(wings_open_list) -GLOBAL_LIST_EMPTY(moth_wings_list) -GLOBAL_LIST_EMPTY(moth_antennae_list) -GLOBAL_LIST_EMPTY(moth_markings_list) -*/ -//SKYRAT EDIT REMOVAL END -GLOBAL_LIST_EMPTY(caps_list) -GLOBAL_LIST_EMPTY(pod_hair_list) -GLOBAL_LIST_EMPTY(moth_wings_list) // SKYRAT EDIT ADDITION - Customization -GLOBAL_LIST_EMPTY(tails_list_monkey) // SKYRAT EDIT ADDITION - Customization - GLOBAL_LIST_INIT(color_list_ethereal, list( "Blue" = "#3399ff", "Bright Yellow" = "#ffff99", diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 4e33aa43708a2..1f97bc2600250 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -32,7 +32,6 @@ GLOBAL_LIST_INIT(abstract_mob_types, list( /mob/living/simple_animal/hostile/mimic, // Cannot exist if spawned without being passed an item reference /mob/living/simple_animal/hostile/retaliate, /mob/living/simple_animal/hostile, - /mob/living/simple_animal/pet, /mob/living/simple_animal/soulscythe, // As mimic, can't exist if spawned outside an item /mob/living/simple_animal, )) diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 8d92bc94908d8..6e9d9a03bc72a 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -148,6 +148,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, + "TRAIT_BORN_MONKEY" = TRAIT_BORN_MONKEY, "TRAIT_BRAINWASHING" = TRAIT_BRAINWASHING, "TRAIT_BRAWLING_KNOCKDOWN_BLOCKED" = TRAIT_BRAWLING_KNOCKDOWN_BLOCKED, "TRAIT_BYPASS_EARLY_IRRADIATED_CHECK" = TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, @@ -376,6 +377,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_PARROT_PERCHED" = TRAIT_PARROT_PERCHED, "TRAIT_PASSTABLE" = TRAIT_PASSTABLE, "TRAIT_PASSWINDOW" = TRAIT_PASSWINDOW, + "TRAIT_PERCEIVED_AS_CLOWN" = TRAIT_PERCEIVED_AS_CLOWN, "TRAIT_PERFECT_ATTACKER" = TRAIT_PERFECT_ATTACKER, "TRAIT_PERMANENTLY_MORTAL" = TRAIT_PERMANENTLY_MORTAL, "TRAIT_PHOTOGRAPHER" = TRAIT_PHOTOGRAPHER, @@ -499,6 +501,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_WINE_TASTER" = TRAIT_WINE_TASTER, "TRAIT_WING_BUFFET" = TRAIT_WING_BUFFET, "TRAIT_WING_BUFFET_TIRED" = TRAIT_WING_BUFFET_TIRED, + "TRAIT_WOUND_LICKER" = TRAIT_WOUND_LICKER, "TRAIT_XENO_HOST" = TRAIT_XENO_HOST, "TRAIT_XENO_IMMUNE" = TRAIT_XENO_IMMUNE, "TRAIT_XRAY_HEARING" = TRAIT_XRAY_HEARING, diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index e9650e35d1fc8..84efaf77c5dc9 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -10,7 +10,7 @@ icon_state = "ai_core" /atom/movable/screen/ai/aicore/Click() - if(..()) + if(isobserver(usr)) return var/mob/living/silicon/ai/AI = usr AI.view_core() diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm index a959846179383..b6ca3a1889fc6 100644 --- a/code/_onclick/hud/robot.dm +++ b/code/_onclick/hud/robot.dm @@ -196,13 +196,13 @@ if(!R.client) return + //Module is not currently active + screenmob.client.screen -= R.model.get_inactive_modules() + if(!R.shown_robot_modules || !screenmob.hud_used.hud_shown) //Modules display is hidden screenmob.client.screen -= module_store_icon //"store" icon - for(var/atom/A in R.model.get_inactive_modules()) - //Module is not currently active - screenmob.client.screen -= A R.shown_robot_modules = 0 screenmob.client.screen -= R.robot_modules_background return diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 83d82fbe0bbb5..bda29484dbcef 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -234,7 +234,8 @@ user.client.give_award(/datum/award/achievement/misc/selfouch, user) user.do_attack_animation(target_mob) - target_mob.attacked_by(src, user) + if(!target_mob.attacked_by(src, user)) + return TRUE SEND_SIGNAL(src, COMSIG_ITEM_POST_ATTACK, target_mob, user, params) @@ -318,7 +319,7 @@ SEND_SIGNAL(attacking_item, COMSIG_ITEM_ATTACK_ZONE, src, user, targeting) if(damage <= 0) - return FALSE + return TRUE if(ishuman(src) || client) // istype(src) is kinda bad, but it's to avoid spamming the blackbox SSblackbox.record_feedback("nested tally", "item_used_for_combat", 1, list("[attacking_item.force]", "[attacking_item.type]")) diff --git a/code/controllers/subsystem/dynamic/dynamic.dm b/code/controllers/subsystem/dynamic/dynamic.dm index eeded0a2214f3..b5c54a1982486 100644 --- a/code/controllers/subsystem/dynamic/dynamic.dm +++ b/code/controllers/subsystem/dynamic/dynamic.dm @@ -376,11 +376,11 @@ SUBSYSTEM_DEF(dynamic) /// Generate the advisory level depending on the shown threat level. /datum/controller/subsystem/dynamic/proc/generate_advisory_level() var/advisory_string = "" - if (prob(PULSAR_REPORT_CHANCE)) - if(HAS_TRAIT(SSstation, STATION_TRAIT_BANANIUM_SHIPMENTS)) - advisory_string += "Advisory Level: Clown Planet
" - advisory_string += "Your sector's advisory level is Clown Planet! Our bike horns have picked up on a large bananium stash. Clowns show a large influx of clowns on your station. We highly advise you to slip any threats to keep Honkotrasen assets within the Banana Sector. The Department of Intelligence advises defending chemistry from any clowns that are trying to make baldium or space lube." - return advisory_string + if(prob(PULSAR_REPORT_CHANCE)) + for(var/datum/station_trait/our_trait as anything in shuffle(SSstation.station_traits)) + advisory_string += our_trait.get_pulsar_message() + if(length(advisory_string)) + return advisory_string advisory_string += "Advisory Level: Pulsar Star
" advisory_string += "Your sector's advisory level is Pulsar Star. A large, unknown electromagnetic field has stormed through nearby surveillance equipment, causing major data loss. Partial data was recovered and showed no credible threats to Nanotrasen assets within the Spinward Sector; however, the Department of Intelligence advises maintaining high alert against potential threats due to the lack of complete data." diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm index 23b36eb994ee0..e030ccff6235c 100644 --- a/code/controllers/subsystem/events.dm +++ b/code/controllers/subsystem/events.dm @@ -67,8 +67,13 @@ SUBSYSTEM_DEF(events) /datum/controller/subsystem/events/proc/reschedule() scheduled = world.time + rand(frequency_lower, max(frequency_lower,frequency_upper)) -//selects a random event based on whether it can occur and it's 'weight'(probability) -/datum/controller/subsystem/events/proc/spawnEvent(threat_override = FALSE) //SKYRAT EDIT CHANGE +/** + * Selects a random event based on whether it can occur and it's 'weight'(probability) + * + * Arguments: + * * excluded_event - The event path we will be foregoing, if present. + */ +/datum/controller/subsystem/events/proc/spawnEvent(datum/round_event_control/excluded_event) set waitfor = FALSE //for the admin prompt if(!CONFIG_GET(flag/allow_random_events)) return @@ -79,12 +84,10 @@ SUBSYSTEM_DEF(events) var/list/event_roster = list() for(var/datum/round_event_control/event_to_check in control) - if(!event_to_check.can_spawn_event(players_amt)) + if(excluded_event && event_to_check.typepath == excluded_event.typepath) //If an event has been rerolled we won't just roll the same one again. continue - //SKYRAT EDIT ADDITION - if(threat_override && !event_to_check.alert_observers) + if(!event_to_check.can_spawn_event(players_amt)) continue - //SKYRAT EDIT END if(event_to_check.weight < 0) //for round-start events etc. var/res = TriggerEvent(event_to_check) if(res == EVENT_INTERRUPTED) diff --git a/code/controllers/subsystem/sprite_accessories.dm b/code/controllers/subsystem/sprite_accessories.dm new file mode 100644 index 0000000000000..2b0bb20e41421 --- /dev/null +++ b/code/controllers/subsystem/sprite_accessories.dm @@ -0,0 +1,198 @@ +/// The non gender specific list that we get from init_sprite_accessory_subtypes() +#define DEFAULT_SPRITE_LIST "default_sprites" +/// The male specific list that we get from init_sprite_accessory_subtypes() +#define MALE_SPRITE_LIST "male_sprites" +/// The female specific list that we get from init_sprite_accessory_subtypes() +#define FEMALE_SPRITE_LIST "female_sprites" + +/// subsystem that just holds lists of sprite accessories for accession in generating said sprites. +/// A sprite accessory is something that we add to a human sprite to make them look different. This is hair, facial hair, underwear, mutant bits, etc. +SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity + name = "Sprite Accessories" + flags = SS_NO_FIRE | SS_NO_INIT + + //Hairstyles + var/list/hairstyles_list //! stores /datum/sprite_accessory/hair indexed by name + var/list/hairstyles_male_list //! stores only hair names + var/list/hairstyles_female_list //! stores only hair names + var/list/facial_hairstyles_list //! stores /datum/sprite_accessory/facial_hair indexed by name + var/list/facial_hairstyles_male_list //! stores only hair names + var/list/facial_hairstyles_female_list //! stores only hair names + var/list/hair_gradients_list //! stores /datum/sprite_accessory/hair_gradient indexed by name + var/list/facial_hair_gradients_list //! stores /datum/sprite_accessory/facial_hair_gradient indexed by name + + //Underwear + var/list/underwear_list //! stores /datum/sprite_accessory/underwear indexed by name + var/list/underwear_m //! stores only underwear name + var/list/underwear_f //! stores only underwear name + + //Undershirts + var/list/undershirt_list //! stores /datum/sprite_accessory/undershirt indexed by name + var/list/undershirt_m //! stores only undershirt name + var/list/undershirt_f //! stores only undershirt name + + //Socks + var/list/socks_list //! stores /datum/sprite_accessory/socks indexed by name + + //SKYRAT EDIT REMOVAL - CUSTOMIZATION + /* + //Lizard Bits (all datum lists indexed by name) + var/list/body_markings_list + var/list/snouts_list + var/list/horns_list + var/list/frills_list + var/list/spines_list + var/list/legs_list + var/list/tail_spines_list + + //Mutant Human bits + var/list/tails_list_human + var/list/tails_list_lizard + var/list/tails_list_monkey + var/list/ears_list + var/list/wings_list + var/list/wings_open_list + var/list/moth_wings_list + var/list/moth_antennae_list + var/list/moth_markings_list + var/list/caps_list + */ + var/list/pod_hair_list + + // SKYRAT EDIT BEGIN + var/list/sprite_accessories + + /// Stores all /datum/sprite_accessory/bra indexed by name. + var/list/bra_list + /// Stores only the bra names for male-compatible bras. + var/list/bra_m + /// Stores only the bra names for female-compatible bras. + var/list/bra_f + + /// Shroom caps. + var/list/caps_list + /// Stores moth wings, both open and closed + var/list/moth_wings_list + /// Monkey tail list + var/list/tails_list_monkey + /// All the different scream types + var/list/scream_types + //SKYRAT EDIT END + +/datum/controller/subsystem/accessories/PreInit() // this stuff NEEDS to be set up before GLOB for preferences and stuff to work so this must go here. sorry + setup_lists() + init_hair_gradients() + +/// Sets up all of the lists for later utilization in the round and building sprites. +/// In an ideal world we could tack everything that just needed `DEFAULT_SPRITE_LIST` into static variables on the top, but due to the initialization order +/// where this subsystem will initialize BEFORE statics, it's just not feasible since this all needs to be ready for actual subsystems to use. +/// Sorry. +/datum/controller/subsystem/accessories/proc/setup_lists() + var/hair_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/hair) + hairstyles_list = hair_lists[DEFAULT_SPRITE_LIST] + hairstyles_male_list = hair_lists[MALE_SPRITE_LIST] + hairstyles_female_list = hair_lists[FEMALE_SPRITE_LIST] + + var/facial_hair_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair) + facial_hairstyles_list = facial_hair_lists[DEFAULT_SPRITE_LIST] + facial_hairstyles_male_list = facial_hair_lists[MALE_SPRITE_LIST] + facial_hairstyles_female_list = facial_hair_lists[FEMALE_SPRITE_LIST] + + var/underwear_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear) + underwear_list = underwear_lists[DEFAULT_SPRITE_LIST] + underwear_m = underwear_lists[MALE_SPRITE_LIST] + underwear_f = underwear_lists[FEMALE_SPRITE_LIST] + + var/undershirt_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt) + undershirt_list = undershirt_lists[DEFAULT_SPRITE_LIST] + undershirt_m = undershirt_lists[MALE_SPRITE_LIST] + undershirt_f = undershirt_lists[FEMALE_SPRITE_LIST] + + socks_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/socks)[DEFAULT_SPRITE_LIST] + + /* //SKYRAT EDIT REMOVAL - CUSTOMIZATION + body_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings)[DEFAULT_SPRITE_LIST] + tails_list_human = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + tails_list_lizard = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, add_blank = TRUE)[DEFAULT_SPRITE_LIST] + snouts_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts)[DEFAULT_SPRITE_LIST] + horns_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/horns)[DEFAULT_SPRITE_LIST] + ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears)[DEFAULT_SPRITE_LIST] + wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings)[DEFAULT_SPRITE_LIST] + wings_open_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open)[DEFAULT_SPRITE_LIST] + frills_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/frills)[DEFAULT_SPRITE_LIST] + spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/spines)[DEFAULT_SPRITE_LIST] + tail_spines_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/tail_spines)[DEFAULT_SPRITE_LIST] + legs_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/legs)[DEFAULT_SPRITE_LIST] + caps_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/caps)[DEFAULT_SPRITE_LIST] + moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_wings)[DEFAULT_SPRITE_LIST] + moth_antennae_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_antennae)[DEFAULT_SPRITE_LIST] + moth_markings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/moth_markings)[DEFAULT_SPRITE_LIST] + pod_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair)[DEFAULT_SPRITE_LIST] + */ + + var/bra_lists = init_sprite_accessory_subtypes(/datum/sprite_accessory/bra) // SKYRAT EDIT ADDITION + bra_list = bra_lists[DEFAULT_SPRITE_LIST] + bra_m = bra_lists[MALE_SPRITE_LIST] + bra_f = bra_lists[FEMALE_SPRITE_LIST] + + moth_wings_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/wings/moth)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT ADDITION - Customization + tails_list_monkey = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/monkey, add_blank = TRUE)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT ADDITION - We don't want monkeys getting randomized non-monkey tails + pod_hair_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, add_blank = TRUE)[DEFAULT_SPRITE_LIST] // SKYRAT EDIT - Customization - ORIGINAL: init_sprite_accessory_subtypes(/datum/sprite_accessory/pod_hair, GLOB.pod_hair_list) + + caps_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/caps)[DEFAULT_SPRITE_LIST] + //SKYRAT EDIT ADDITION BEGIN + //Scream types + SSaccessories.scream_types = list() + for(var/spath in subtypesof(/datum/scream_type)) + var/datum/scream_type/S = new spath() + SSaccessories.scream_types[S.name] = spath + sort_list(SSaccessories.scream_types, GLOBAL_PROC_REF(cmp_typepaths_asc)) + //SKYRAT EDIT END + +/// This proc just intializes all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name +/datum/controller/subsystem/accessories/proc/init_hair_gradients() + hair_gradients_list = list() + facial_hair_gradients_list = list() + for(var/path in subtypesof(/datum/sprite_accessory/gradient)) + var/datum/sprite_accessory/gradient/gradient = new path + if(gradient.gradient_category & GRADIENT_APPLIES_TO_HAIR) + hair_gradients_list[gradient.name] = gradient + if(gradient.gradient_category & GRADIENT_APPLIES_TO_FACIAL_HAIR) + facial_hair_gradients_list[gradient.name] = gradient + +/// This reads the applicable sprite accessory datum's subtypes and adds it to the subsystem's list of sprite accessories. +/// The boolean `add_blank` argument just adds a "None" option to the list of sprite accessories, like if a felinid doesn't want a tail or something, typically good for gated-off things. +/datum/controller/subsystem/accessories/proc/init_sprite_accessory_subtypes(prototype, add_blank = FALSE) + RETURN_TYPE(/list) + var/returnable_list = list( + DEFAULT_SPRITE_LIST = list(), + MALE_SPRITE_LIST = list(), + FEMALE_SPRITE_LIST = list(), + ) + + for(var/path in subtypesof(prototype)) + var/datum/sprite_accessory/accessory = new path + + if(accessory.icon_state) + returnable_list[DEFAULT_SPRITE_LIST][accessory.name] = accessory + else + returnable_list[DEFAULT_SPRITE_LIST] += accessory.name + + switch(accessory.gender) + if(MALE) + returnable_list[MALE_SPRITE_LIST] += accessory.name + if(FEMALE) + returnable_list[FEMALE_SPRITE_LIST] += accessory.name + else + returnable_list[MALE_SPRITE_LIST] += accessory.name + returnable_list[FEMALE_SPRITE_LIST] += accessory.name + + if(add_blank) + returnable_list[DEFAULT_SPRITE_LIST][SPRITE_ACCESSORY_NONE] = new /datum/sprite_accessory/blank + + return returnable_list + +#undef DEFAULT_SPRITE_LIST +#undef MALE_SPRITE_LIST +#undef FEMALE_SPRITE_LIST diff --git a/code/datums/actions/items/beserk.dm b/code/datums/actions/items/beserk.dm index a3d89d5f2398c..43e29dbd150cd 100644 --- a/code/datums/actions/items/beserk.dm +++ b/code/datums/actions/items/beserk.dm @@ -8,13 +8,13 @@ /datum/action/item_action/berserk_mode/Trigger(trigger_flags) if(istype(target, /obj/item/clothing/head/hooded/berserker)) - var/obj/item/clothing/head/hooded/berserker/berzerk = target - if(berzerk.berserk_active) + var/obj/item/clothing/head/hooded/berserker/berserk = target + if(berserk.berserk_active) to_chat(owner, span_warning("You are already berserk!")) return - if(berzerk.berserk_charge < 100) + if(berserk.berserk_charge < 100) to_chat(owner, span_warning("You don't have a full charge.")) return - berzerk.berserk_mode(owner) + berserk.berserk_mode(owner) return return ..() diff --git a/code/datums/actions/mobs/charge.dm b/code/datums/actions/mobs/charge.dm index 9aee4cd83456a..43fcbd57f69ba 100644 --- a/code/datums/actions/mobs/charge.dm +++ b/code/datums/actions/mobs/charge.dm @@ -23,6 +23,8 @@ /datum/action/cooldown/mob_cooldown/charge/Activate(atom/target_atom) disable_cooldown_actions() + // No charging and meleeing (overridded by StartCooldown after charge ends) + next_melee_use_time = world.time + 100 SECONDS charge_sequence(owner, target_atom, charge_delay, charge_past) StartCooldown() enable_cooldown_actions() diff --git a/code/datums/ai/_ai_controller.dm b/code/datums/ai/_ai_controller.dm index 3753b077a512f..58e9746cbf086 100644 --- a/code/datums/ai/_ai_controller.dm +++ b/code/datums/ai/_ai_controller.dm @@ -715,6 +715,8 @@ multiple modular subtrees with behaviors /datum/ai_controller/proc/clear_blackboard_key(key) if(isnull(blackboard[key])) return + if(pawn && (SEND_SIGNAL(pawn, COMSIG_AI_BLACKBOARD_KEY_PRECLEAR(key)))) + return CLEAR_AI_DATUM_TARGET(blackboard[key], key) blackboard[key] = null if(isnull(pawn)) @@ -755,6 +757,19 @@ multiple modular subtrees with behaviors CRASH("remove_thing_from_blackboard_key called with an invalid \"thing\" argument ([thing]). \ (The passed value is not tracked in the passed list.)") +///removes a tracked object from a lazylist +/datum/ai_controller/proc/remove_from_blackboard_lazylist_key(key, thing) + var/lazylist = blackboard[key] + if(isnull(lazylist)) + return + for(var/key_index in lazylist) + if(thing == key_index || lazylist[key_index] == thing) + CLEAR_AI_DATUM_TARGET(thing, key) + lazylist -= key_index + break + if(!LAZYLEN(lazylist)) + clear_blackboard_key(key) + /// Signal proc to go through every key and remove the datum from all keys it finds /datum/ai_controller/proc/sig_remove_from_blackboard(datum/source) SIGNAL_HANDLER diff --git a/code/datums/ai/movement/_ai_movement.dm b/code/datums/ai/movement/_ai_movement.dm index ca8acb4904039..d48166eeb23ac 100644 --- a/code/datums/ai/movement/_ai_movement.dm +++ b/code/datums/ai/movement/_ai_movement.dm @@ -46,6 +46,9 @@ if(!(pawn_mob.mobility_flags & MOBILITY_MOVE)) can_move = FALSE + if(HAS_TRAIT(pawn, TRAIT_NO_TRANSFORM)) + can_move = FALSE + return can_move ///Anything to do before moving; any checks if the pawn should be able to move should be placed in allowed_to_move() and called by this proc diff --git a/code/datums/ai/movement/ai_movement_jps.dm b/code/datums/ai/movement/ai_movement_jps.dm index d6f37c2a9561d..b4c4fe1a28aa8 100644 --- a/code/datums/ai/movement/ai_movement_jps.dm +++ b/code/datums/ai/movement/ai_movement_jps.dm @@ -38,7 +38,7 @@ source.minimum_distance = controller.get_minimum_distance() /datum/ai_movement/jps/bot - max_pathing_attempts = 25 + max_pathing_attempts = 8 maximum_length = 25 diagonal_flags = DIAGONAL_REMOVE_ALL @@ -51,6 +51,7 @@ /datum/ai_movement/jps/bot/travel_to_beacon maximum_length = AI_BOT_PATH_LENGTH + max_pathing_attempts = 20 /datum/ai_movement/jps/modsuit maximum_length = MOD_AI_RANGE diff --git a/code/datums/announcers/intern_announcer.dm b/code/datums/announcers/intern_announcer.dm index 771b98b91b9d0..5e8544c18710f 100644 --- a/code/datums/announcers/intern_announcer.dm +++ b/code/datums/announcers/intern_announcer.dm @@ -43,4 +43,4 @@ ANNOUNCER_SHUTTLERECALLED = 'sound/ai/intern/shuttlerecalled.ogg', ANNOUNCER_SPANOMALIES = 'sound/ai/intern/spanomalies.ogg') - custom_alert_message = "
Please stand by for an important message from our new intern.
" + custom_alert_message = "Please stand by for an important message from our new intern.
" diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index f22b0ab44b331..a639a0f5714c9 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -187,7 +187,7 @@ for(var/mob/M in oview(owner, check_radius)) if(!isliving(M)) //ghosts ain't people continue - if(istype(M, /mob/living/simple_animal/pet) || istype(M, /mob/living/basic/pet) || M.ckey) + if(istype(M, /mob/living/basic/pet) || M.ckey) return FALSE return TRUE diff --git a/code/datums/components/armor_plate.dm b/code/datums/components/armor_plate.dm index 48f428eafa3f1..9e495ada52fae 100644 --- a/code/datums/components/armor_plate.dm +++ b/code/datums/components/armor_plate.dm @@ -1,14 +1,23 @@ /datum/component/armor_plate + /// The current number of upgrades applied to the parent via this component. var/amount = 0 + /// The maximum number of upgarde items that can be applied. Once var/amount reaches this value, no more upgrades can be applied var/maxamount = 3 + /// THe path for our upgrade item. Each one is expended to improve the parent's armor values. var/upgrade_item = /obj/item/stack/sheet/animalhide/goliath_hide + /// THe armor datum path for our upgrade values. This value is added per upgrade item applied var/datum/armor/armor_mod = /datum/armor/armor_plate + /// The name of the upgrade item. var/upgrade_name + /// Adds a prefix to the item, demonstrating that it is upgraded in some way. + var/upgrade_prefix = "reinforced" + /// Tracks whether or not we've received an upgrade or not. + var/have_upgraded = FALSE /datum/armor/armor_plate melee = 10 -/datum/component/armor_plate/Initialize(_maxamount, obj/item/_upgrade_item, datum/armor/_added_armor) +/datum/component/armor_plate/Initialize(maxamount, obj/item/upgrade_item, datum/armor/armor_mod, upgrade_prefix = "reinforced") if(!isobj(parent)) return COMPONENT_INCOMPATIBLE @@ -18,14 +27,16 @@ if(istype(parent, /obj/vehicle/sealed/mecha/ripley)) RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_mech_overlays)) - if(_maxamount) - maxamount = _maxamount - if(_upgrade_item) - upgrade_item = _upgrade_item - if(_added_armor) - armor_mod = _added_armor + if(maxamount) + src.maxamount = maxamount + if(upgrade_item) + src.upgrade_item = upgrade_item + if(armor_mod) + src.armor_mod = armor_mod + if(upgrade_prefix) + src.upgrade_prefix = upgrade_prefix var/obj/item/typecast = upgrade_item - upgrade_name = initial(typecast.name) + src.upgrade_name = initial(typecast.name) /datum/component/armor_plate/proc/examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER @@ -45,35 +56,37 @@ else examine_list += span_notice("It can be strengthened with up to [maxamount] [upgrade_name].") -/datum/component/armor_plate/proc/applyplate(datum/source, obj/item/I, mob/user, params) +/datum/component/armor_plate/proc/applyplate(datum/source, obj/item/our_upgrade_item, mob/user, params) SIGNAL_HANDLER - if(!istype(I,upgrade_item)) + if(!istype(our_upgrade_item, upgrade_item)) return if(amount >= maxamount) to_chat(user, span_warning("You can't improve [parent] any further!")) return - if(istype(I,/obj/item/stack)) - I.use(1) + if(istype(our_upgrade_item, /obj/item/stack)) + our_upgrade_item.use(1) else - if(length(I.contents)) - to_chat(user, span_warning("[I] cannot be used for armoring while there's something inside!")) + if(length(our_upgrade_item.contents)) + to_chat(user, span_warning("[our_upgrade_item] cannot be used for armoring while there's something inside!")) return - qdel(I) + qdel(our_upgrade_item) - var/obj/O = parent + var/obj/target_for_upgrading = parent amount++ - O.set_armor(O.get_armor().add_other_armor(armor_mod)) + target_for_upgrading.set_armor(target_for_upgrading.get_armor().add_other_armor(armor_mod)) - if(ismecha(O)) - var/obj/vehicle/sealed/mecha/R = O - R.update_appearance() - to_chat(user, span_info("You strengthen [R], improving its resistance against melee, bullet and laser damage.")) + if(ismecha(target_for_upgrading)) + var/obj/vehicle/sealed/mecha/mecha_for_upgrading = target_for_upgrading + mecha_for_upgrading.update_appearance() + to_chat(user, span_info("You strengthen [mecha_for_upgrading], improving its resistance against attacks.")) else - SEND_SIGNAL(O, COMSIG_ARMOR_PLATED, amount, maxamount) - to_chat(user, span_info("You strengthen [O], improving its resistance against melee attacks.")) - + SEND_SIGNAL(target_for_upgrading, COMSIG_ARMOR_PLATED, amount, maxamount) + if(upgrade_prefix && !have_upgraded) + target_for_upgrading.name = "[upgrade_prefix] [target_for_upgrading.name]" + have_upgraded = TRUE + to_chat(user, span_info("You strengthen [target_for_upgrading], improving its resistance against attacks.")) /datum/component/armor_plate/proc/dropplates(datum/source, force) SIGNAL_HANDLER diff --git a/code/datums/components/crafting/robot.dm b/code/datums/components/crafting/robot.dm index 326c58d50c4c3..11a5887bf91c5 100644 --- a/code/datums/components/crafting/robot.dm +++ b/code/datums/components/crafting/robot.dm @@ -95,7 +95,7 @@ /datum/crafting_recipe/honkbot name = "Honkbot" - result = /mob/living/simple_animal/bot/secbot/honkbot + result = /mob/living/basic/bot/honkbot reqs = list( /obj/item/storage/box/clown = 1, /obj/item/bodypart/arm/right/robot = 1, diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index 3476016ead3b8..2bcec49aeb504 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -166,7 +166,10 @@ name = "Bone Armor" result = /obj/item/clothing/suit/armor/bone time = 3 SECONDS - reqs = list(/obj/item/stack/sheet/bone = 6) + reqs = list( + /obj/item/stack/sheet/bone = 6, + /obj/item/stack/sheet/animalhide/goliath_hide = 3, + ) category = CAT_CLOTHING /datum/crafting_recipe/bonetalisman @@ -244,19 +247,27 @@ result = /obj/item/clothing/suit/hooded/cloak/goliath time = 5 SECONDS reqs = list( - /obj/item/stack/sheet/leather = 2, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2, - ) //it takes 4 goliaths to make 1 cloak if the plates are skinned + /obj/item/stack/sheet/sinew = 3, + /obj/item/stack/sheet/animalhide/goliath_hide = 9, + ) category = CAT_CLOTHING /datum/crafting_recipe/drakecloak name = "Ash Drake Armour" result = /obj/item/clothing/suit/hooded/cloak/drake - time = 6 SECONDS + time = 4 SECONDS reqs = list( - /obj/item/stack/sheet/bone = 10, /obj/item/stack/sheet/sinew = 2, + /obj/item/drake_remains = 1, + ) + category = CAT_CLOTHING + +/datum/crafting_recipe/drakeremains + name = "Drake Remains" + result = /obj/item/drake_remains + time = 1 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 10, /obj/item/stack/sheet/animalhide/ashdrake = 5, ) category = CAT_CLOTHING diff --git a/code/datums/components/cuff_n_stun.dm b/code/datums/components/cuff_n_stun.dm new file mode 100644 index 0000000000000..d238a81f06a24 --- /dev/null +++ b/code/datums/components/cuff_n_stun.dm @@ -0,0 +1,101 @@ +/* + * A component to stun and cuff targets + */ +/datum/component/stun_n_cuff + /// mobs we cannot stun nor cuff + var/list/blacklist_mobs + ///sound to play when stunning + var/stun_sound + ///time to stun the target for + var/stun_timer + ///time it takes for us to handcuff the target + var/handcuff_timer + ///callback after we have stunned someone + var/datum/callback/post_stun_callback + ///callback after we have arrested someone + var/datum/callback/post_arrest_callback + ///time until we can stun again + var/stun_cooldown_timer + ///type of cuffs we use + var/handcuff_type + ///cooldown until we can stun again + COOLDOWN_DECLARE(stun_cooldown) + +/datum/component/stun_n_cuff/Initialize(list/blacklist_mobs = list(), + stun_sound = 'sound/weapons/egloves.ogg', + stun_timer = 8 SECONDS, + handcuff_timer = 4 SECONDS, + stun_cooldown_timer = 10 SECONDS, + handcuff_type = /obj/item/restraints/handcuffs/cable/zipties/used, + post_stun_callback, + post_arrest_callback, + ) + if(!isliving(parent)) + return COMPONENT_INCOMPATIBLE + + src.blacklist_mobs = blacklist_mobs + src.stun_sound = stun_sound + src.stun_timer = stun_timer + src.handcuff_timer = handcuff_timer + src.handcuff_type = handcuff_type + src.stun_cooldown_timer = stun_cooldown_timer + src.post_stun_callback = post_stun_callback + src.post_arrest_callback = post_arrest_callback + + +/datum/component/stun_n_cuff/RegisterWithParent() + RegisterSignal(parent, COMSIG_HOSTILE_PRE_ATTACKINGTARGET, PROC_REF(on_unarmed_attack)) + +/datum/component/stun_n_cuff/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_HOSTILE_PRE_ATTACKINGTARGET) + REMOVE_TRAIT(parent, TRAIT_MOB_BREEDER, REF(src)) + post_stun_callback = null + post_arrest_callback = null + +/datum/component/stun_n_cuff/proc/on_unarmed_attack(mob/living/source, atom/target) + SIGNAL_HANDLER + + if(target == source || !iscarbon(target)) + return NONE + + if(is_type_in_typecache(target, blacklist_mobs)) + return NONE + + var/mob/living/carbon/living_target = target + if(living_target.IsParalyzed()) + INVOKE_ASYNC(src, PROC_REF(cuff_target), target) + else + stun_target(target) + + return COMPONENT_HOSTILE_NO_ATTACK + +/datum/component/stun_n_cuff/proc/cuff_target(mob/living/carbon/human_target) + if(human_target.handcuffed) + var/mob/living/living_parent = parent + living_parent.balloon_alert(human_target, "already cuffed!") + return + + playsound(parent, 'sound/weapons/cablecuff.ogg', 30, TRUE) + human_target.visible_message(span_danger("[parent] is trying to put zipties on [human_target]!"),\ + span_danger("[parent] is trying to put zipties on you!")) + + if(!do_after(parent, handcuff_timer, human_target)) + return + human_target.set_handcuffed(new handcuff_type(human_target)) + human_target.update_handcuffed() + post_arrest_callback?.Invoke(human_target) + +/datum/component/stun_n_cuff/proc/stun_target(mob/living/carbon/human_target) + if(!COOLDOWN_FINISHED(src, stun_cooldown)) + return + playsound(parent, stun_sound, 50, TRUE) + human_target.Paralyze(stun_timer) + human_target.set_stutter(40 SECONDS) + log_combat(parent, human_target, "honked") + + human_target.visible_message( + span_danger("[parent] stuns [human_target]!"), \ + span_userdanger("[parent] stuns you!"), \ + ) + COOLDOWN_START(src, stun_cooldown, stun_cooldown_timer) + post_stun_callback?.Invoke(human_target) diff --git a/code/datums/components/energized.dm b/code/datums/components/energized.dm index eb45ee66e2b12..255970bfd311c 100644 --- a/code/datums/components/energized.dm +++ b/code/datums/components/energized.dm @@ -95,7 +95,7 @@ tram_velocity_sign = tram.travel_direction & EAST ? 1 : -1 // How far away are we? negative if already passed. - var/approach_distance = tram_velocity_sign * (plate_pos - (tram_pos + (DEFAULT_TRAM_LENGTH * 0.5))) + var/approach_distance = tram_velocity_sign * (plate_pos - (tram_pos + DEFAULT_TRAM_MIDPOINT)) // Check if our victim is in the active path of the tram. if(!tram.controller_active) @@ -106,7 +106,7 @@ return FALSE if((tram.travel_direction & EAST) && outbound > tram.destination_platform.platform_code) return FALSE - if(approach_distance >= AMBER_THRESHOLD_DEGRADED) + if(approach_distance >= XING_THRESHOLD_AMBER) return FALSE // Finally the interesting part where they ACTUALLY get hit! diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index f35ad2ceec0c4..da83c4ad2d29d 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -28,6 +28,9 @@ var/show_charge_as_alpha = FALSE /// The item we use for recharging var/recharge_path + /// Whether or not we lose a charge when hit by 0 damage items or projectiles + var/lose_charge_on_damageless = FALSE + /// The cooldown tracking when we were last hit COOLDOWN_DECLARE(recently_hit_cd) /// The cooldown tracking when we last replenished a charge @@ -172,6 +175,9 @@ if(lose_multiple_charges) // if the shield has health like damage we'll lose charges equal to the damage of the hit charge_loss = damage + else if(!lose_charge_on_damageless && !damage) + charge_loss = 0 + adjust_charge(-charge_loss) INVOKE_ASYNC(src, PROC_REF(actually_run_hit_callback), owner, attack_text, current_charges) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index d66bc85bb55ae..639637af1d7e9 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -288,7 +288,6 @@ return FALSE end = Temp - /datum/disease/proc/cure(add_resistance = TRUE) if(severity == DISEASE_SEVERITY_UNCURABLE) //aw man :( return diff --git a/code/datums/diseases/advance/floor_diseases/carpellosis.dm b/code/datums/diseases/advance/floor_diseases/carpellosis.dm index b8630bed29f88..a0482215494c4 100644 --- a/code/datums/diseases/advance/floor_diseases/carpellosis.dm +++ b/code/datums/diseases/advance/floor_diseases/carpellosis.dm @@ -6,7 +6,7 @@ desc = "You have an angry space carp inside." form = "Parasite" agent = "Carp Ella" - cures = list(/datum/reagent/carpet) + cures = list(/datum/reagent/chlorine) viable_mobtypes = list(/mob/living/carbon/human) spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS severity = DISEASE_SEVERITY_MEDIUM diff --git a/code/datums/diseases/advance/floor_diseases/gastritium.dm b/code/datums/diseases/advance/floor_diseases/gastritium.dm index 4a0f3844ca91c..318810eabd5a2 100644 --- a/code/datums/diseases/advance/floor_diseases/gastritium.dm +++ b/code/datums/diseases/advance/floor_diseases/gastritium.dm @@ -4,7 +4,7 @@ desc = "If left untreated, may manifest in severe Tritium heartburn." form = "Infection" agent = "Atmobacter Polyri" - cures = list(/datum/reagent/firefighting_foam) + cures = list(/datum/reagent/consumable/milk) viable_mobtypes = list(/mob/living/carbon/human) spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS severity = DISEASE_SEVERITY_HARMFUL diff --git a/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm b/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm index 1186fb68582e8..4961d1afeef82 100644 --- a/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm +++ b/code/datums/diseases/advance/floor_diseases/nebula_nausea.dm @@ -4,7 +4,7 @@ desc = "You can't contain the colorful beauty of the cosmos inside." form = "Condition" agent = "Stars" - cures = list(/datum/reagent/bluespace) + cures = list(/datum/reagent/space_cleaner) viable_mobtypes = list(/mob/living/carbon/human) spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS severity = DISEASE_SEVERITY_MEDIUM diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index a35e700f7b4ef..0e54bfad385e0 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -53,15 +53,14 @@ if(!suppress_warning) affected_mob.emote("sniff") else - active_disease.airborne_spread(spread_range, force_spread = TRUE, require_facing = TRUE) + if(affected_mob.can_spread_airborne_diseases()) //don't spread germs if they covered their mouth + affected_mob.infectious_sneeze(active_disease, TRUE, range = spread_range) if(cartoon_sneezing) //Yeah, this can fling you around even if you have a space suit helmet on. It's, uh, bluespace snot, yeah. - affected_mob.emote("sneeze") to_chat(affected_mob, span_userdanger("You are launched violently backwards by an all-mighty sneeze!")) var/sneeze_distance = rand(2,4) //twice as far as a normal baseball bat strike will fling you var/turf/target = get_ranged_target_turf(affected_mob, REVERSE_DIR(affected_mob.dir), sneeze_distance) affected_mob.throw_at(target, sneeze_distance, rand(1,4)) //with the wounds update, sneezing at 7 speed was causing peoples bones to spontaneously explode, turning cartoonish sneezing into a nightmarishly lethal GBS 2.0 outbreak else if(COOLDOWN_FINISHED(src, sneeze_cooldown) || !COOLDOWN_FINISHED(src, sneeze_cooldown) && prob(60) && !off_cooldown_sneezed) - affected_mob.emote("sneeze") COOLDOWN_START(src, sneeze_cooldown, 5 SECONDS) if(!off_cooldown_sneezed && !COOLDOWN_FINISHED(src, sneeze_cooldown)) off_cooldown_sneezed = TRUE diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index f7bf6cf4b18a7..3b361e53c236c 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -6,7 +6,7 @@ cures = list(/datum/reagent/medicine/spaceacillin) agent = "XY-rhinovirus" viable_mobtypes = list(/mob/living/carbon/human) - spreading_modifier = 0.5 + spreading_modifier = 0.1 spread_text = "Airborne" severity = DISEASE_SEVERITY_NONTHREAT required_organ = ORGAN_SLOT_LUNGS @@ -20,7 +20,7 @@ switch(stage) if(2) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) @@ -33,7 +33,7 @@ return FALSE if(3) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm index 2e55df23b7ec8..97adebcac7026 100644 --- a/code/datums/diseases/cold9.dm +++ b/code/datums/diseases/cold9.dm @@ -20,7 +20,7 @@ if(2) affected_mob.adjust_bodytemperature(-5 * seconds_per_tick) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) @@ -34,7 +34,7 @@ if(3) affected_mob.adjust_bodytemperature(-10 * seconds_per_tick) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) diff --git a/code/datums/diseases/dna_spread.dm b/code/datums/diseases/dna_spread.dm index 6fd926f60d3df..e649a557443f1 100644 --- a/code/datums/diseases/dna_spread.dm +++ b/code/datums/diseases/dna_spread.dm @@ -40,7 +40,7 @@ switch(stage) if(2, 3) //Pretend to be a cold and give time to spread. if(SPT_PROB(4, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.sneeze() if(SPT_PROB(4, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm index 655439cdc6cc5..939ab620feff4 100644 --- a/code/datums/diseases/fake_gbs.dm +++ b/code/datums/diseases/fake_gbs.dm @@ -19,7 +19,7 @@ switch(stage) if(2) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.sneeze() if(3) if(SPT_PROB(2.5, seconds_per_tick)) affected_mob.emote("cough") diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm index 9412d2a2a2f63..4ad7bb9b92b59 100644 --- a/code/datums/diseases/flu.dm +++ b/code/datums/diseases/flu.dm @@ -7,7 +7,7 @@ cure_chance = 5 agent = "H13N1 flu virion" viable_mobtypes = list(/mob/living/carbon/human) - spreading_modifier = 0.75 + spreading_modifier = 0.1 desc = "If left untreated the subject will feel quite unwell." severity = DISEASE_SEVERITY_MINOR required_organ = ORGAN_SLOT_LUNGS @@ -20,7 +20,7 @@ switch(stage) if(2) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) @@ -38,7 +38,7 @@ if(3) if(SPT_PROB(0.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(0.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm index 6919884b2fe30..1fa6b49d457ad 100644 --- a/code/datums/diseases/fluspanish.dm +++ b/code/datums/diseases/fluspanish.dm @@ -7,7 +7,7 @@ cure_chance = 5 agent = "1nqu1s1t10n flu virion" viable_mobtypes = list(/mob/living/carbon/human) - spreading_modifier = 0.75 + spreading_modifier = 0.1 desc = "If left untreated the subject will burn to death for being a heretic." severity = DISEASE_SEVERITY_DANGEROUS required_organ = ORGAN_SLOT_LUNGS @@ -21,7 +21,7 @@ if(2) affected_mob.adjust_bodytemperature(5 * seconds_per_tick) if(SPT_PROB(2.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(2.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(0.5, seconds_per_tick)) @@ -31,7 +31,7 @@ if(3) affected_mob.adjust_bodytemperature(10 * seconds_per_tick) if(SPT_PROB(2.5, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.infectious_sneeze(src, TRUE) if(SPT_PROB(2.5, seconds_per_tick)) affected_mob.emote("cough") if(SPT_PROB(2.5, seconds_per_tick)) diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 83e7ac0253425..e672a86d72083 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -335,7 +335,7 @@ ) stage4 = list(span_danger("You can't feel your arms. It does not bother you anymore."), span_danger("You forgive the clown for hurting you.")) stage5 = list(span_danger("You have become a Gondola.")) - new_form = /mob/living/simple_animal/pet/gondola + new_form = /mob/living/basic/pet/gondola /datum/disease/transformation/gondola/stage_act(seconds_per_tick, times_fired) diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm index fe0502387f9e3..21dce839dc697 100644 --- a/code/datums/diseases/wizarditis.dm +++ b/code/datums/diseases/wizarditis.dm @@ -99,7 +99,7 @@ var/datum/action/cooldown/spell/picked = pick(random_spells) picked.Activate(affected_mob) - affected_mob.emote("sneeze") + affected_mob.sneeze() return /datum/disease/wizarditis/proc/spawn_wizard_clothes(chance = 0) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 88dcae3ba7ece..913e66a74ff55 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -218,13 +218,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) L[DNA_GENDER_BLOCK] = construct_block(G_PLURAL, GENDERS) if(ishuman(holder)) var/mob/living/carbon/human/H = holder - if(!GLOB.hairstyles_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/hair,GLOB.hairstyles_list, GLOB.hairstyles_male_list, GLOB.hairstyles_female_list) - L[DNA_HAIRSTYLE_BLOCK] = construct_block(GLOB.hairstyles_list.Find(H.hairstyle), GLOB.hairstyles_list.len) + if(length(SSaccessories.hairstyles_list) == 0 || length(SSaccessories.facial_hairstyles_list) == 0) + CRASH("SSaccessories lists are empty, this is bad!") + + L[DNA_HAIRSTYLE_BLOCK] = construct_block(SSaccessories.hairstyles_list.Find(H.hairstyle), length(SSaccessories.hairstyles_list)) L[DNA_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.hair_color, include_crunch = FALSE) - if(!GLOB.facial_hairstyles_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hairstyles_list, GLOB.facial_hairstyles_male_list, GLOB.facial_hairstyles_female_list) - L[DNA_FACIAL_HAIRSTYLE_BLOCK] = construct_block(GLOB.facial_hairstyles_list.Find(H.facial_hairstyle), GLOB.facial_hairstyles_list.len) + L[DNA_FACIAL_HAIRSTYLE_BLOCK] = construct_block(SSaccessories.facial_hairstyles_list.Find(H.facial_hairstyle), length(SSaccessories.facial_hairstyles_list)) L[DNA_FACIAL_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.facial_hair_color, include_crunch = FALSE) L[DNA_SKIN_TONE_BLOCK] = construct_block(GLOB.skin_tones.Find(H.skin_tone), GLOB.skin_tones.len) L[DNA_EYE_COLOR_LEFT_BLOCK] = sanitize_hexcolor(H.eye_color_left, include_crunch = FALSE) @@ -244,31 +243,33 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(features["ethcolor"]) L[DNA_ETHEREAL_COLOR_BLOCK] = sanitize_hexcolor(features["ethcolor"], include_crunch = FALSE) if(features["body_markings"]) - L[DNA_LIZARD_MARKINGS_BLOCK] = construct_block(GLOB.body_markings_list.Find(features["body_markings"]), GLOB.body_markings_list.len) + L[DNA_LIZARD_MARKINGS_BLOCK] = construct_block(SSaccessories.body_markings_list.Find(features["body_markings"]), length(SSaccessories.body_markings_list)) if(features["tail_cat"]) - L[DNA_TAIL_BLOCK] = construct_block(GLOB.tails_list_human.Find(features["tail_cat"]), GLOB.tails_list_human.len) + L[DNA_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_human.Find(features["tail_cat"]), length(SSaccessories.tails_list_human)) if(features["tail_lizard"]) - L[DNA_LIZARD_TAIL_BLOCK] = construct_block(GLOB.tails_list_lizard.Find(features["tail_lizard"]), GLOB.tails_list_lizard.len) + L[DNA_LIZARD_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_lizard.Find(features["tail_lizard"]), length(SSaccessories.tails_list_lizard)) + if(features["tail_monkey"]) + L[DNA_MONKEY_TAIL_BLOCK] = construct_block(SSaccessories.tails_list_monkey.Find(features["tail_monkey"]), length(SSaccessories.tails_list_monkey)) if(features["snout"]) - L[DNA_SNOUT_BLOCK] = construct_block(GLOB.snouts_list.Find(features["snout"]), GLOB.snouts_list.len) + L[DNA_SNOUT_BLOCK] = construct_block(SSaccessories.snouts_list.Find(features["snout"]), length(SSaccessories.snouts_list)) if(features["horns"]) - L[DNA_HORNS_BLOCK] = construct_block(GLOB.horns_list.Find(features["horns"]), GLOB.horns_list.len) + L[DNA_HORNS_BLOCK] = construct_block(SSaccessories.horns_list.Find(features["horns"]), length(SSaccessories.horns_list)) if(features["frills"]) - L[DNA_FRILLS_BLOCK] = construct_block(GLOB.frills_list.Find(features["frills"]), GLOB.frills_list.len) + L[DNA_FRILLS_BLOCK] = construct_block(SSaccessories.frills_list.Find(features["frills"]), length(SSaccessories.frills_list)) if(features["spines"]) - L[DNA_SPINES_BLOCK] = construct_block(GLOB.spines_list.Find(features["spines"]), GLOB.spines_list.len) + L[DNA_SPINES_BLOCK] = construct_block(SSaccessories.spines_list.Find(features["spines"]), length(SSaccessories.spines_list)) if(features["ears"]) - L[DNA_EARS_BLOCK] = construct_block(GLOB.ears_list.Find(features["ears"]), GLOB.ears_list.len) + L[DNA_EARS_BLOCK] = construct_block(SSaccessories.ears_list.Find(features["ears"]), length(SSaccessories.ears_list)) if(features["moth_wings"] != "Burnt Off") - L[DNA_MOTH_WINGS_BLOCK] = construct_block(GLOB.moth_wings_list.Find(features["moth_wings"]), GLOB.moth_wings_list.len) + L[DNA_MOTH_WINGS_BLOCK] = construct_block(SSaccessories.moth_wings_list.Find(features["moth_wings"]), length(SSaccessories.moth_wings_list)) if(features["moth_antennae"] != "Burnt Off") - L[DNA_MOTH_ANTENNAE_BLOCK] = construct_block(GLOB.moth_antennae_list.Find(features["moth_antennae"]), GLOB.moth_antennae_list.len) + L[DNA_MOTH_ANTENNAE_BLOCK] = construct_block(SSaccessories.moth_antennae_list.Find(features["moth_antennae"]), length(SSaccessories.moth_antennae_list)) if(features["moth_markings"]) - L[DNA_MOTH_MARKINGS_BLOCK] = construct_block(GLOB.moth_markings_list.Find(features["moth_markings"]), GLOB.moth_markings_list.len) + L[DNA_MOTH_MARKINGS_BLOCK] = construct_block(SSaccessories.moth_markings_list.Find(features["moth_markings"]), length(SSaccessories.moth_markings_list)) if(features["caps"]) - L[DNA_MUSHROOM_CAPS_BLOCK] = construct_block(GLOB.caps_list.Find(features["caps"]), GLOB.caps_list.len) + L[DNA_MUSHROOM_CAPS_BLOCK] = construct_block(SSaccessories.caps_list.Find(features["caps"]), length(SSaccessories.caps_list)) if(features["pod_hair"]) - L[DNA_POD_HAIR_BLOCK] = construct_block(GLOB.pod_hair_list.Find(features["pod_hair"]), GLOB.pod_hair_list.len) + L[DNA_POD_HAIR_BLOCK] = construct_block(SSaccessories.pod_hair_list.Find(features["pod_hair"]), length(SSaccessories.pod_hair_list)) for(var/blocknum in 1 to DNA_FEATURE_BLOCKS) . += L[blocknum] || random_string(GET_UI_BLOCK_LEN(blocknum), GLOB.hex_characters) @@ -369,9 +370,9 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) else set_uni_identity_block(blocknumber, construct_block(G_PLURAL, GENDERS)) if(DNA_FACIAL_HAIRSTYLE_BLOCK) - set_uni_identity_block(blocknumber, construct_block(GLOB.facial_hairstyles_list.Find(H.facial_hairstyle), GLOB.facial_hairstyles_list.len)) + set_uni_identity_block(blocknumber, construct_block(SSaccessories.facial_hairstyles_list.Find(H.facial_hairstyle), length(SSaccessories.facial_hairstyles_list))) if(DNA_HAIRSTYLE_BLOCK) - set_uni_identity_block(blocknumber, construct_block(GLOB.hairstyles_list.Find(H.hairstyle), GLOB.hairstyles_list.len)) + set_uni_identity_block(blocknumber, construct_block(SSaccessories.hairstyles_list.Find(H.hairstyle), length(SSaccessories.hairstyles_list))) //SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular_skyrat/modules/customization/code/datums/dna.dm) /* @@ -386,31 +387,33 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(DNA_ETHEREAL_COLOR_BLOCK) set_uni_feature_block(blocknumber, sanitize_hexcolor(features["ethcolor"], include_crunch = FALSE)) if(DNA_LIZARD_MARKINGS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.body_markings_list.Find(features["body_markings"]), GLOB.body_markings_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.body_markings_list.Find(features["body_markings"]), length(SSaccessories.body_markings_list))) if(DNA_TAIL_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.tails_list_human.Find(features["tail_cat"]), GLOB.tails_list_human.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_human.Find(features["tail_cat"]), length(SSaccessories.tails_list_human))) if(DNA_LIZARD_TAIL_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.tails_list_lizard.Find(features["tail_lizard"]), GLOB.tails_list_lizard.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_lizard.Find(features["tail_lizard"]), length(SSaccessories.tails_list_lizard))) + if(DNA_MONKEY_TAIL_BLOCK) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.tails_list_monkey.Find(features["tail_monkey"]), length(SSaccessories.tails_list_monkey))) if(DNA_SNOUT_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.snouts_list.Find(features["snout"]), GLOB.snouts_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.snouts_list.Find(features["snout"]), length(SSaccessories.snouts_list))) if(DNA_HORNS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.horns_list.Find(features["horns"]), GLOB.horns_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.horns_list.Find(features["horns"]), length(SSaccessories.horns_list))) if(DNA_FRILLS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.frills_list.Find(features["frills"]), GLOB.frills_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.frills_list.Find(features["frills"]), length(SSaccessories.frills_list))) if(DNA_SPINES_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.spines_list.Find(features["spines"]), GLOB.spines_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.spines_list.Find(features["spines"]), length(SSaccessories.spines_list))) if(DNA_EARS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.ears_list.Find(features["ears"]), GLOB.ears_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.ears_list.Find(features["ears"]), length(SSaccessories.ears_list))) if(DNA_MOTH_WINGS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.moth_wings_list.Find(features["moth_wings"]), GLOB.moth_wings_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.moth_wings_list.Find(features["moth_wings"]), length(SSaccessories.moth_wings_list))) if(DNA_MOTH_ANTENNAE_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.moth_antennae_list.Find(features["moth_antennae"]), GLOB.moth_antennae_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.moth_antennae_list.Find(features["moth_antennae"]), length(SSaccessories.moth_antennae_list))) if(DNA_MOTH_MARKINGS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.moth_markings_list.Find(features["moth_markings"]), GLOB.moth_markings_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.moth_markings_list.Find(features["moth_markings"]), length(SSaccessories.moth_markings_list))) if(DNA_MUSHROOM_CAPS_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.caps_list.Find(features["caps"]), GLOB.caps_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.caps_list.Find(features["caps"]), length(SSaccessories.caps_list))) if(DNA_POD_HAIR_BLOCK) - set_uni_feature_block(blocknumber, construct_block(GLOB.pod_hair_list.Find(features["pod_hair"]), GLOB.pod_hair_list.len)) + set_uni_feature_block(blocknumber, construct_block(SSaccessories.pod_hair_list.Find(features["pod_hair"]), length(SSaccessories.pod_hair_list))) */ //SKYRAT EDIT REMOVAL END @@ -699,12 +702,12 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(HAS_TRAIT(src, TRAIT_SHAVED)) set_facial_hairstyle("Shaved", update = FALSE) else - var/style = GLOB.facial_hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_FACIAL_HAIRSTYLE_BLOCK), GLOB.facial_hairstyles_list.len)] + var/style = SSaccessories.facial_hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_FACIAL_HAIRSTYLE_BLOCK), length(SSaccessories.facial_hairstyles_list))] set_facial_hairstyle(style, update = FALSE) if(HAS_TRAIT(src, TRAIT_BALD)) set_hairstyle("Bald", update = FALSE) else - var/style = GLOB.hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_HAIRSTYLE_BLOCK), GLOB.hairstyles_list.len)] + var/style = SSaccessories.hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_HAIRSTYLE_BLOCK), length(SSaccessories.hairstyles_list))] set_hairstyle(style, update = FALSE) var/features = dna.unique_features if(dna.features["mcolor"]) @@ -712,36 +715,38 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(dna.features["ethcolor"]) dna.features["ethcolor"] = sanitize_hexcolor(get_uni_feature_block(features, DNA_ETHEREAL_COLOR_BLOCK)) if(dna.features["body_markings"]) - dna.features["body_markings"] = GLOB.body_markings_list[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_MARKINGS_BLOCK), GLOB.body_markings_list.len)] + dna.features["body_markings"] = SSaccessories.body_markings_list[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_MARKINGS_BLOCK), length(SSaccessories.body_markings_list))] if(dna.features["snout"]) - dna.features["snout"] = GLOB.snouts_list[deconstruct_block(get_uni_feature_block(features, DNA_SNOUT_BLOCK), GLOB.snouts_list.len)] + dna.features["snout"] = SSaccessories.snouts_list[deconstruct_block(get_uni_feature_block(features, DNA_SNOUT_BLOCK), length(SSaccessories.snouts_list))] if(dna.features["horns"]) - dna.features["horns"] = GLOB.horns_list[deconstruct_block(get_uni_feature_block(features, DNA_HORNS_BLOCK), GLOB.horns_list.len)] + dna.features["horns"] = SSaccessories.horns_list[deconstruct_block(get_uni_feature_block(features, DNA_HORNS_BLOCK), length(SSaccessories.horns_list))] if(dna.features["frills"]) - dna.features["frills"] = GLOB.frills_list[deconstruct_block(get_uni_feature_block(features, DNA_FRILLS_BLOCK), GLOB.frills_list.len)] + dna.features["frills"] = SSaccessories.frills_list[deconstruct_block(get_uni_feature_block(features, DNA_FRILLS_BLOCK), length(SSaccessories.frills_list))] if(dna.features["spines"]) - dna.features["spines"] = GLOB.spines_list[deconstruct_block(get_uni_feature_block(features, DNA_SPINES_BLOCK), GLOB.spines_list.len)] + dna.features["spines"] = SSaccessories.spines_list[deconstruct_block(get_uni_feature_block(features, DNA_SPINES_BLOCK), length(SSaccessories.spines_list))] if(dna.features["tail_cat"]) - dna.features["tail_cat"] = GLOB.tails_list_human[deconstruct_block(get_uni_feature_block(features, DNA_TAIL_BLOCK), GLOB.tails_list_human.len)] + dna.features["tail_cat"] = SSaccessories.tails_list_human[deconstruct_block(get_uni_feature_block(features, DNA_TAIL_BLOCK), length(SSaccessories.tails_list_human))] if(dna.features["tail_lizard"]) - dna.features["tail_cat"] = GLOB.tails_list_lizard[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_TAIL_BLOCK), GLOB.tails_list_lizard.len)] + dna.features["tail_lizard"] = SSaccessories.tails_list_lizard[deconstruct_block(get_uni_feature_block(features, DNA_LIZARD_TAIL_BLOCK), length(SSaccessories.tails_list_lizard))] + if(dna.features["tail_monkey"]) + dna.features["tail_monkey"] = SSaccessories.tails_list_monkey[deconstruct_block(get_uni_feature_block(features, DNA_MONKEY_TAIL_BLOCK), length(SSaccessories.tails_list_monkey))] if(dna.features["ears"]) - dna.features["ears"] = GLOB.ears_list[deconstruct_block(get_uni_feature_block(features, DNA_EARS_BLOCK), GLOB.ears_list.len)] + dna.features["ears"] = SSaccessories.ears_list[deconstruct_block(get_uni_feature_block(features, DNA_EARS_BLOCK), length(SSaccessories.ears_list))] if(dna.features["moth_wings"]) - var/genetic_value = GLOB.moth_wings_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_WINGS_BLOCK), GLOB.moth_wings_list.len)] + var/genetic_value = SSaccessories.moth_wings_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_WINGS_BLOCK), length(SSaccessories.moth_wings_list))] dna.features["original_moth_wings"] = genetic_value dna.features["moth_wings"] = genetic_value if(dna.features["moth_antennae"]) - var/genetic_value = GLOB.moth_antennae_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_ANTENNAE_BLOCK), GLOB.moth_antennae_list.len)] + var/genetic_value = SSaccessories.moth_antennae_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_ANTENNAE_BLOCK), length(SSaccessories.moth_antennae_list))] dna.features["original_moth_antennae"] = genetic_value if(dna.features["moth_antennae"] != "Burnt Off") dna.features["moth_antennae"] = genetic_value if(dna.features["moth_markings"]) - dna.features["moth_markings"] = GLOB.moth_markings_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_MARKINGS_BLOCK), GLOB.moth_markings_list.len)] + dna.features["moth_markings"] = SSaccessories.moth_markings_list[deconstruct_block(get_uni_feature_block(features, DNA_MOTH_MARKINGS_BLOCK), length(SSaccessories.moth_markings_list))] if(dna.features["caps"]) - dna.features["caps"] = GLOB.caps_list[deconstruct_block(get_uni_feature_block(features, DNA_MUSHROOM_CAPS_BLOCK), GLOB.caps_list.len)] + dna.features["caps"] = SSaccessories.caps_list[deconstruct_block(get_uni_feature_block(features, DNA_MUSHROOM_CAPS_BLOCK), length(SSaccessories.caps_list))] if(dna.features["pod_hair"]) - dna.features["pod_hair"] = GLOB.pod_hair_list[deconstruct_block(get_uni_feature_block(features, DNA_POD_HAIR_BLOCK), GLOB.pod_hair_list.len)] + dna.features["pod_hair"] = SSaccessories.pod_hair_list[deconstruct_block(get_uni_feature_block(features, DNA_POD_HAIR_BLOCK), length(SSaccessories.pod_hair_list))] for(var/obj/item/organ/external/external_organ in organs) diff --git a/code/datums/elements/tool_flash.dm b/code/datums/elements/tool_flash.dm index fd7c298d6c54e..f17d60970bf58 100644 --- a/code/datums/elements/tool_flash.dm +++ b/code/datums/elements/tool_flash.dm @@ -34,4 +34,4 @@ SIGNAL_HANDLER if(user && get_dist(get_turf(source), get_turf(user)) <= 1) - user.flash_act(min(flash_strength,1)) + user.flash_act(max(flash_strength,1)) diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index c79e9f6182284..2ed95232df19a 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -151,3 +151,18 @@ 'sound/machines/terminal_button08.ogg' = 1, ) mid_length = 0.3 SECONDS + +/datum/looping_sound/soup + mid_sounds = list( + 'sound/effects/soup_boil1.ogg' = 1, + 'sound/effects/soup_boil2.ogg' = 1, + 'sound/effects/soup_boil3.ogg' = 1, + 'sound/effects/soup_boil4.ogg' = 1, + 'sound/effects/soup_boil5.ogg' = 1, + ) + mid_length = 3 SECONDS + volume = 80 + end_sound = 'sound/effects/soup_boil_end.ogg' + end_volume = 60 + extra_range = MEDIUM_RANGE_SOUND_EXTRARANGE + falloff_exponent = 4 diff --git a/code/datums/mapgen/CaveGenerator.dm b/code/datums/mapgen/CaveGenerator.dm index ccda08a2d305d..2c8be2edaa805 100644 --- a/code/datums/mapgen/CaveGenerator.dm +++ b/code/datums/mapgen/CaveGenerator.dm @@ -1,3 +1,6 @@ +/// The random offset applied to square coordinates, causes intermingling at biome borders +#define BIOME_RANDOM_SQUARE_DRIFT 2 + /datum/map_generator/cave_generator var/name = "Cave Generator" ///Weighted list of the types that spawns if the turf is open @@ -28,7 +31,23 @@ var/list/weighted_feature_spawn_list ///Expanded list of extra features that can spawn in the area. Reads from the weighted list var/list/feature_spawn_list - + /// The turf types to replace with a biome-related turf, as typecache. + /// Leave empty for all open turfs (but not closed turfs) to be hijacked. + var/list/biome_accepted_turfs = list() + /// An associative list of biome type to the list of turfs that were + /// generated of that biome specifically. Helps to improve the efficiency + /// of biome-related operations. Is populated through + /// `generate_terrain_with_biomes()`. + var/list/generated_turfs_per_biome = list() + /// 2D list of all biomes based on heat and humidity combos. Associative by + /// `BIOME_X_HEAT` and then by `BIOME_X_HUMIDITY` (i.e. + /// `possible_biomes[BIOME_LOW_HEAT][BIOME_LOWMEDIUM_HUMIDITY]`). + /// Check /datum/map_generator/cave_generator/jungle for an example + /// of how to set it up properly. + var/list/possible_biomes = list() + /// Used to select "zoom" level into the perlin noise, higher numbers + /// result in slower transitions + var/perlin_zoom = 65 ///Base chance of spawning a mob var/mob_spawn_chance = 6 @@ -48,6 +67,7 @@ ///How little neighbours does a alive cell need to die var/death_limit = 3 + /datum/map_generator/cave_generator/New() . = ..() if(!weighted_mob_spawn_list) @@ -87,6 +107,9 @@ if(!(generate_in.area_flags & CAVES_ALLOWED)) return + if(length(possible_biomes)) + return generate_terrain_with_biomes(turfs, generate_in) + var/start_time = REALTIMEOFDAY string_gen = rustg_cnoise_generate("[initial_closed_chance]", "[smoothing_iterations]", "[birth_limit]", "[death_limit]", "[world.maxx]", "[world.maxy]") //Generate the raw CA data @@ -110,7 +133,88 @@ to_chat(world, span_boldannounce("[message]")) log_world(message) + +/** + * This proc handles including biomes in the cave generation. This is slower than + * `generate_terrain()`, so please use it only if you actually need biomes. + * + * This should only be called by `generate_terrain()`, if you have to call this, + * you're probably doing something wrong. + */ +/datum/map_generator/cave_generator/proc/generate_terrain_with_biomes(list/turfs, area/generate_in) + if(!(generate_in.area_flags & CAVES_ALLOWED)) + return + + var/humidity_seed = rand(0, 50000) + var/heat_seed = rand(0, 50000) + + var/start_time = REALTIMEOFDAY + string_gen = rustg_cnoise_generate("[initial_closed_chance]", "[smoothing_iterations]", "[birth_limit]", "[death_limit]", "[world.maxx]", "[world.maxy]") //Generate the raw CA data + + var/humidity_gen = list() + humidity_gen[BIOME_HIGH_HUMIDITY] = rustg_dbp_generate("[humidity_seed]", "60", "75", "[world.maxx]", "-0.1", "1.1") + humidity_gen[BIOME_MEDIUM_HUMIDITY] = rustg_dbp_generate("[humidity_seed]", "60", "75", "[world.maxx]", "-0.3", "-0.1") + + var/heat_gen = list() + heat_gen[BIOME_HIGH_HEAT] = rustg_dbp_generate("[heat_seed]", "60", "75", "[world.maxx]", "-0.1", "1.1") + heat_gen[BIOME_MEDIUM_HEAT] = rustg_dbp_generate("[heat_seed]", "60", "75", "[world.maxx]", "-0.3", "-0.1") + + var/list/expanded_closed_turfs = src.closed_turf_types + var/list/expanded_open_turfs = src.open_turf_types + + for(var/turf/gen_turf as anything in turfs) //Go through all the turfs and generate them + var/closed = string_gen[world.maxx * (gen_turf.y - 1) + gen_turf.x] != "0" + var/new_turf_type = pick(closed ? expanded_closed_turfs : expanded_open_turfs) + + var/datum/biome/selected_biome + + // Here comes the meat of the biome code. + var/drift_x = clamp((gen_turf.x + rand(-BIOME_RANDOM_SQUARE_DRIFT, BIOME_RANDOM_SQUARE_DRIFT)), 1, world.maxx) // / perlin_zoom + var/drift_y = clamp((gen_turf.y + rand(-BIOME_RANDOM_SQUARE_DRIFT, BIOME_RANDOM_SQUARE_DRIFT)), 2, world.maxy) // / perlin_zoom + + // Where we go in the generated string (generated outside of the loop for s p e e d) + var/coordinate = world.maxx * (drift_y - 1) + drift_x + + // Type of humidity zone we're in (LOW-MEDIUM-HIGH) + var/humidity_level = text2num(humidity_gen[BIOME_HIGH_HUMIDITY][coordinate]) ? \ + BIOME_HIGH_HUMIDITY : text2num(humidity_gen[BIOME_MEDIUM_HUMIDITY][coordinate]) ? BIOME_MEDIUM_HUMIDITY : BIOME_LOW_HUMIDITY + // Type of heat zone we're in (LOW-MEDIUM-HIGH) + var/heat_level = text2num(heat_gen[BIOME_HIGH_HEAT][coordinate]) ? \ + BIOME_HIGH_HEAT : text2num(heat_gen[BIOME_MEDIUM_HEAT][coordinate]) ? BIOME_MEDIUM_HEAT : BIOME_LOW_HEAT + + selected_biome = possible_biomes[heat_level][humidity_level] + + // Currently, we only affect open turfs, because biomes don't currently + // have a definition for biome-specific closed turfs. + if((!length(biome_accepted_turfs) && !closed) || biome_accepted_turfs[new_turf_type]) + LAZYADD(generated_turfs_per_biome[selected_biome], gen_turf) + + else + // The assumption is this will be faster then changeturf, and changeturf isn't required since by this point + // The old tile hasn't got the chance to init yet + var/turf/new_turf = new new_turf_type(gen_turf) + + if(gen_turf.turf_flags & NO_RUINS) + new_turf.turf_flags |= NO_RUINS + + CHECK_TICK + + for(var/biome in generated_turfs_per_biome) + var/datum/biome/generating_biome = SSmapping.biomes[biome] + + var/list/turf/generated_turfs = generating_biome.generate_turfs_for_terrain(generated_turfs_per_biome[biome]) + + generated_turfs_per_biome[biome] = generated_turfs + + var/message = "[name] terrain generation finished in [(REALTIMEOFDAY - start_time)/10]s!" + to_chat(world, span_boldannounce("[message]")) + log_world(message) + + /datum/map_generator/cave_generator/populate_terrain(list/turfs, area/generate_in) + if(length(possible_biomes)) + return populate_terrain_with_biomes(turfs, generate_in) + // Area var pullouts to make accessing in the loop faster var/flora_allowed = (generate_in.area_flags & FLORA_ALLOWED) && length(flora_spawn_list) var/feature_allowed = (generate_in.area_flags & FLORA_ALLOWED) && length(feature_spawn_list) @@ -198,3 +302,60 @@ var/message = "[name] terrain population finished in [(REALTIMEOFDAY - start_time)/10]s!" add_startup_message(message) //SKYRAT EDIT CHANGE - ORIGINAL: to_chat(world, span_boldannounce("[message]")) log_world(message) + + +/** + * This handles the population of terrain with biomes. Should only be called by + * `populate_terrain()`, if you find yourself calling this, you're probably not + * doing it right. + * + * This proc won't do anything if the area we're trying to generate in does not + * have `FLORA_ALLOWED` or `MOB_SPAWN_ALLOWED` in its `area_flags`. + */ +/datum/map_generator/cave_generator/proc/populate_terrain_with_biomes(list/turfs, area/generate_in) + // Area var pullouts to make accessing in the loop faster + var/flora_allowed = (generate_in.area_flags & FLORA_ALLOWED) + var/features_allowed = (generate_in.area_flags & FLORA_ALLOWED) + var/fauna_allowed = (generate_in.area_flags & MOB_SPAWN_ALLOWED) + + var/start_time = REALTIMEOFDAY + + // No sense in doing anything here if nothing is allowed anyway. + if(!flora_allowed && !features_allowed && !fauna_allowed) + var/message = "[name] terrain population finished in [(REALTIMEOFDAY - start_time)/10]s!" + to_chat(world, span_boldannounce("[message]")) + log_world(message) + return + + for(var/biome in generated_turfs_per_biome) + var/datum/biome/generating_biome = SSmapping.biomes[biome] + generating_biome.populate_turfs(generated_turfs_per_biome[biome], flora_allowed, features_allowed, fauna_allowed) + + CHECK_TICK + + var/message = "[name] terrain population finished in [(REALTIMEOFDAY - start_time)/10]s!" + to_chat(world, span_boldannounce("[message]")) + log_world(message) + + +/datum/map_generator/cave_generator/jungle + possible_biomes = list( + BIOME_LOW_HEAT = list( + BIOME_LOW_HUMIDITY = /datum/biome/plains, + BIOME_MEDIUM_HUMIDITY = /datum/biome/mudlands, + BIOME_HIGH_HUMIDITY = /datum/biome/water + ), + BIOME_MEDIUM_HEAT = list( + BIOME_LOW_HUMIDITY = /datum/biome/plains, + BIOME_MEDIUM_HUMIDITY = /datum/biome/jungle/deep, + BIOME_HIGH_HUMIDITY = /datum/biome/jungle + ), + BIOME_HIGH_HEAT = list( + BIOME_LOW_HUMIDITY = /datum/biome/wasteland, + BIOME_MEDIUM_HUMIDITY = /datum/biome/plains, + BIOME_HIGH_HUMIDITY = /datum/biome/jungle/deep + ) + ) + + +#undef BIOME_RANDOM_SQUARE_DRIFT diff --git a/code/datums/mapgen/biomes/_biome.dm b/code/datums/mapgen/biomes/_biome.dm index 025b904434d2f..a0672059d93ae 100644 --- a/code/datums/mapgen/biomes/_biome.dm +++ b/code/datums/mapgen/biomes/_biome.dm @@ -2,39 +2,221 @@ /datum/biome ///Type of turf this biome creates var/turf_type - ///Chance of having a structure from the flora types list spawn + /// Chance of having a structure from the flora types list spawn var/flora_density = 0 - ///Chance of having a mob from the fauna types list spawn + /// Chance of spawning special features, such as geysers. + var/feature_density = 0 + /// Chance of having a mob from the fauna types list spawn var/fauna_density = 0 - ///list of type paths of objects that can be spawned when the turf spawns flora - var/list/flora_types = list(/obj/structure/flora/grass/jungle/a/style_random) - ///list of type paths of mobs that can be spawned when the turf spawns fauna + /// Weighted list of type paths of flora that can be spawned when the + /// turf spawns flora. + var/list/flora_types = list() + /// Weighted list of extra features that can spawn in the biome, such as + /// geysers. Gets expanded automatically. + var/list/feature_types = list() + /// Weighted list of type paths of fauna that can be spawned when the + /// turf spawns fauna. var/list/fauna_types = list() + +/datum/biome/New() + . = ..() + if(length(flora_types)) + flora_types = expand_weights(fill_with_ones(flora_types)) + + if(length(fauna_types)) + fauna_types = expand_weights(fill_with_ones(fauna_types)) + + if(length(feature_types)) + feature_types = expand_weights(feature_types) + + ///This proc handles the creation of a turf of a specific biome type /datum/biome/proc/generate_turf(turf/gen_turf) gen_turf.ChangeTurf(turf_type, null, CHANGETURF_DEFER_CHANGE) + if(length(flora_types) && prob(flora_density)) + var/obj/structure/flora = pick(flora_types) + new flora(gen_turf) + return + + if(length(feature_types) && prob(feature_density)) + var/atom/picked_feature = pick(feature_types) + new picked_feature(gen_turf) + return + if(length(fauna_types) && prob(fauna_density)) var/mob/fauna = pick(fauna_types) new fauna(gen_turf) - if(length(flora_types) && prob(flora_density)) + +/// This proc handles the creation of a turf of a specific biome type, assuming +/// that the turf has not been initialized yet. Don't call this unless you know +/// what you're doing. +/datum/biome/proc/generate_turf_for_terrain(turf/gen_turf) + var/turf/new_turf = new turf_type(gen_turf) + return new_turf + + +/** + * This proc handles the sequential creation of turfs of a specific biome type + * in order to optimize the generation for large amount of turfs. + * + * Arguments: + * * gen_turfs - List of turfs to use for turf generation. + * + * Returns a new list of turfs that were generated by the biome. + */ +/datum/biome/proc/generate_turfs_for_terrain(list/turf/gen_turfs) + var/list/turf/new_turfs = list() + + for(var/turf/gen_turf as anything in gen_turfs) + var/turf/new_turf = new turf_type(gen_turf) + new_turfs += new_turf + + if(gen_turf.turf_flags & NO_RUINS) + new_turf.turf_flags |= NO_RUINS + + CHECK_TICK + + return new_turfs + + +/// This proc handles populating the given turf based on whether flora, +/// features and fauna are allowed. Does not take megafauna into account. +/datum/biome/proc/populate_turf(turf/target_turf, flora_allowed, features_allowed, fauna_allowed) + if(flora_allowed && length(flora_types) && prob(flora_density)) var/obj/structure/flora = pick(flora_types) - new flora(gen_turf) + new flora(target_turf) + return TRUE + + if(features_allowed && prob(feature_density)) + var/can_spawn = TRUE + + var/atom/picked_feature = pick(feature_types) + + for(var/obj/structure/existing_feature in range(7, target_turf)) + if(istype(existing_feature, picked_feature)) + can_spawn = FALSE + break + + if(can_spawn) + new picked_feature(target_turf) + return TRUE + + if(fauna_allowed && length(fauna_types) && prob(fauna_density)) + var/mob/picked_mob = pick(fauna_types) + + // prevents tendrils spawning in each other's collapse range + if(ispath(picked_mob, /obj/structure/spawner/lavaland)) + for(var/obj/structure/spawner/lavaland/spawn_blocker in range(2, target_turf)) + return FALSE + + // if the random is not a tendril (hopefully meaning it is a mob), avoid spawning if there's another one within 12 tiles + else + var/list/things_in_range = range(12, target_turf) + for(var/mob/living/mob_blocker in things_in_range) + if(ismining(mob_blocker)) + return FALSE + + new picked_mob(target_turf) + return TRUE + + return FALSE + + +/** + * This proc handles populating the given turfs based on whether flora, features + * and fauna are allowed. Does not take megafauna into account. + * + * Does nothing if `flora_allowed`, `features_allowed` and `fauna_allowed` are + * `FALSE`, or if there's no flora, feature or fauna types for the matching + * allowed type. Aka, we return early if the proc wouldn't do anything anyway. + */ +/datum/biome/proc/populate_turfs(list/turf/target_turfs, flora_allowed, features_allowed, fauna_allowed) + if(!(flora_allowed && length(flora_types)) && !(features_allowed && length(feature_types)) && !(fauna_allowed && length(fauna_types))) + return + + + for(var/turf/target_turf as anything in target_turfs) + // We do the CHECK_TICK here because there's a bunch of continue calls + // in this. + CHECK_TICK + + if(flora_allowed && length(flora_types) && prob(flora_density)) + var/obj/structure/flora = pick(flora_types) + new flora(target_turf) + continue + + if(features_allowed && prob(feature_density)) + var/can_spawn = TRUE + + var/atom/picked_feature = pick(feature_types) + + for(var/obj/structure/existing_feature in range(7, target_turf)) + if(istype(existing_feature, picked_feature)) + can_spawn = FALSE + break + + if(can_spawn) + new picked_feature(target_turf) + continue + + if(fauna_allowed && length(fauna_types) && prob(fauna_density)) + var/mob/picked_mob = pick(fauna_types) + + // prevents tendrils spawning in each other's collapse range + if(ispath(picked_mob, /obj/structure/spawner/lavaland)) + for(var/obj/structure/spawner/lavaland/spawn_blocker in range(2, target_turf)) + continue + + // if the random is not a tendril (hopefully meaning it is a mob), avoid spawning if there's another one within 12 tiles + else + var/list/things_in_range = range(12, target_turf) + for(var/mob/living/mob_blocker in things_in_range) + if(ismining(mob_blocker)) + continue + + new picked_mob(target_turf) + /datum/biome/mudlands turf_type = /turf/open/misc/dirt/jungle/dark - flora_types = list(/obj/structure/flora/grass/jungle/a/style_random,/obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/rock/pile/jungle/large/style_random) + flora_types = list( + /obj/structure/flora/grass/jungle/a/style_random = 1, + /obj/structure/flora/grass/jungle/b/style_random = 1, + /obj/structure/flora/rock/pile/jungle/style_random = 1, + /obj/structure/flora/rock/pile/jungle/large/style_random = 1, + ) flora_density = 3 /datum/biome/plains turf_type = /turf/open/misc/grass/jungle - flora_types = list(/obj/structure/flora/grass/jungle/a/style_random,/obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/tree/jungle/style_random, /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/bush/jungle/a/style_random, /obj/structure/flora/bush/jungle/b/style_random, /obj/structure/flora/bush/jungle/c/style_random, /obj/structure/flora/bush/large/style_random, /obj/structure/flora/rock/pile/jungle/large/style_random) + flora_types = list( + /obj/structure/flora/grass/jungle/a/style_random = 1, + /obj/structure/flora/grass/jungle/b/style_random = 1, + /obj/structure/flora/tree/jungle/style_random = 1, + /obj/structure/flora/rock/pile/jungle/style_random = 1, + /obj/structure/flora/bush/jungle/a/style_random = 1, + /obj/structure/flora/bush/jungle/b/style_random = 1, + /obj/structure/flora/bush/jungle/c/style_random = 1, + /obj/structure/flora/bush/large/style_random = 1, + /obj/structure/flora/rock/pile/jungle/large/style_random = 1, + ) flora_density = 15 /datum/biome/jungle turf_type = /turf/open/misc/grass/jungle - flora_types = list(/obj/structure/flora/grass/jungle/a/style_random,/obj/structure/flora/grass/jungle/b/style_random, /obj/structure/flora/tree/jungle/style_random, /obj/structure/flora/rock/pile/jungle/style_random, /obj/structure/flora/bush/jungle/a/style_random, /obj/structure/flora/bush/jungle/b/style_random, /obj/structure/flora/bush/jungle/c/style_random, /obj/structure/flora/bush/large/style_random, /obj/structure/flora/rock/pile/jungle/large/style_random) + flora_types = list( + /obj/structure/flora/grass/jungle/a/style_random = 1, + /obj/structure/flora/grass/jungle/b/style_random = 1, + /obj/structure/flora/tree/jungle/style_random = 1, + /obj/structure/flora/rock/pile/jungle/style_random = 1, + /obj/structure/flora/bush/jungle/a/style_random = 1, + /obj/structure/flora/bush/jungle/b/style_random = 1, + /obj/structure/flora/bush/jungle/c/style_random = 1, + /obj/structure/flora/bush/large/style_random = 1, + /obj/structure/flora/rock/pile/jungle/large/style_random = 1, + ) flora_density = 40 /datum/biome/jungle/deep diff --git a/code/datums/memory/key_memories.dm b/code/datums/memory/key_memories.dm index 48d4b0326e2aa..27030a02a1dfe 100644 --- a/code/datums/memory/key_memories.dm +++ b/code/datums/memory/key_memories.dm @@ -115,7 +115,7 @@ return ..() /datum/memory/key/quirk_smoker/get_names() - return list("[protagonist_name]'s smoking problem.") + return list("[protagonist_name]'s addiction to [preferred_brand] cigarettes.") /datum/memory/key/quirk_smoker/get_starts() return list( @@ -143,7 +143,7 @@ return ..() /datum/memory/key/quirk_alcoholic/get_names() - return list("[protagonist_name]'s drinking problem.") + return list("[protagonist_name]'s addiction to [preferred_brandy] alcohol.") /datum/memory/key/quirk_alcoholic/get_starts() return list( diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index b7b781c181903..32fc09fc34583 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -208,6 +208,7 @@ quality = NEGATIVE remove_on_aheal = FALSE locked = TRUE //Species specific, keep out of actual gene pool + mutadone_proof = TRUE var/datum/species/original_species = /datum/species/human var/original_name diff --git a/code/datums/quirks/negative_quirks/blindness.dm b/code/datums/quirks/negative_quirks/blindness.dm index ce57e946fe92e..d0af915dc32b0 100644 --- a/code/datums/quirks/negative_quirks/blindness.dm +++ b/code/datums/quirks/negative_quirks/blindness.dm @@ -10,8 +10,15 @@ quirk_flags = QUIRK_HUMAN_ONLY|QUIRK_CHANGES_APPEARANCE mail_goodies = list(/obj/item/clothing/glasses/sunglasses, /obj/item/cane/white) +/datum/quirk_constant_data/blindfoldcolor + associated_typepath = /datum/quirk/item_quirk/blindness + customization_options = list(/datum/preference/color/blindfold_color) + /datum/quirk/item_quirk/blindness/add_unique(client/client_source) - give_item_to_holder(/obj/item/clothing/glasses/blindfold/white, list(LOCATION_EYES = ITEM_SLOT_EYES, LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS)) + var/obj/item/clothing/glasses/blindfold/white/blindfold = new + blindfold.add_atom_colour(client_source?.prefs.read_preference(/datum/preference/color/blindfold_color), FIXED_COLOUR_PRIORITY) + blindfold.colored_before = TRUE + give_item_to_holder(blindfold, list(LOCATION_EYES = ITEM_SLOT_EYES, LOCATION_BACKPACK = ITEM_SLOT_BACKPACK, LOCATION_HANDS = ITEM_SLOT_HANDS)) /datum/quirk/item_quirk/blindness/add(client/client_source) quirk_holder.become_blind(QUIRK_TRAIT) diff --git a/code/datums/quirks/neutral_quirks/bald.dm b/code/datums/quirks/neutral_quirks/bald.dm index 8a760f6ceefdb..2844b790ddfd3 100644 --- a/code/datums/quirks/neutral_quirks/bald.dm +++ b/code/datums/quirks/neutral_quirks/bald.dm @@ -21,7 +21,7 @@ /datum/quirk/item_quirk/bald/add_unique(client/client_source) var/obj/item/clothing/head/wig/natural/baldie_wig = new(get_turf(quirk_holder)) if(old_hair == "Bald") - baldie_wig.hairstyle = pick(GLOB.hairstyles_list - "Bald") + baldie_wig.hairstyle = pick(SSaccessories.hairstyles_list - "Bald") else baldie_wig.hairstyle = old_hair diff --git a/code/datums/sprite_accessories.dm b/code/datums/sprite_accessories.dm index 202471d620ff6..855224fcb7b9a 100644 --- a/code/datums/sprite_accessories.dm +++ b/code/datums/sprite_accessories.dm @@ -16,35 +16,6 @@ * conversion in savefile.dm */ -/proc/init_sprite_accessory_subtypes(prototype, list/L, list/male, list/female, add_blank)//Roundstart argument builds a specific list for roundstart parts where some parts may be locked - if(!istype(L)) - L = list() - if(!istype(male)) - male = list() - if(!istype(female)) - female = list() - - for(var/path in subtypesof(prototype)) - var/datum/sprite_accessory/D = new path() - - if(D.icon_state) - L[D.name] = D - else - L += D.name - - switch(D.gender) - if(MALE) - male += D.name - if(FEMALE) - female += D.name - else - male += D.name - female += D.name - if(add_blank) - L[SPRITE_ACCESSORY_NONE] = new /datum/sprite_accessory/blank - - return L - /datum/sprite_accessory /// The icon file the accessory is located in. var/icon diff --git a/code/datums/station_traits/_station_trait.dm b/code/datums/station_traits/_station_trait.dm index 493f036e19158..a0e17d1d2e810 100644 --- a/code/datums/station_traits/_station_trait.dm +++ b/code/datums/station_traits/_station_trait.dm @@ -133,3 +133,7 @@ GLOBAL_LIST_EMPTY(lobby_station_traits) var/datum/hud/using_hud = hud_owner.hud_used using_hud?.show_hud(using_hud?.hud_version) lobby_buttons = list() + +/// Called when overriding a pulsar star command report message. +/datum/station_trait/proc/get_pulsar_message() + return diff --git a/code/datums/station_traits/negative_traits.dm b/code/datums/station_traits/negative_traits.dm index f0dcd8020013c..89c34565e5752 100644 --- a/code/datums/station_traits/negative_traits.dm +++ b/code/datums/station_traits/negative_traits.dm @@ -308,6 +308,11 @@ event_control_path = /datum/round_event_control/ion_storm weight_multiplier = 2 +/datum/station_trait/random_event_weight_modifier/ion_storms/get_pulsar_message() + var/advisory_string = "Advisory Level: ERROR
" + advisory_string += scramble_message_replace_chars("Your sector's advisory level is ERROR. An electromagnetic field has stormed through nearby surveillance equipment, causing major data loss. Partial data was recovered and showed no credible threats to Nanotrasen assets within the Spinward Sector; however, the Department of Intelligence advises maintaining high alert against potential threats due to the lack of complete data.", 35) + return advisory_string + /datum/station_trait/random_event_weight_modifier/rad_storms name = "Radiation Stormfront" report_message = "A radioactive stormfront is passing through your station's system. Expect an increased likelihood of radiation storms passing over your station, as well the potential for multiple radiation storms to occur during your shift." @@ -731,7 +736,11 @@ weight = 3 show_in_report = TRUE report_message = "It looks like the storm is not gonna calm down anytime soon, stay safe out there." - storm_type = /datum/weather/snow_storm/forever_storm +/datum/station_trait/storm/foreverstorm/get_pulsar_message() + var/advisory_string = "Advisory Level: Ice Giant
" + advisory_string += "The ongoing blizzard has interfered with our surveillance equipment, and we cannot provide an accurate threat summary at this time. We advise you to stay safe and avoid traversing the area around the station." + return advisory_string + #undef GLOW_NEBULA diff --git a/code/datums/station_traits/neutral_traits.dm b/code/datums/station_traits/neutral_traits.dm index 67b24dc744d67..af55fc5f0f362 100644 --- a/code/datums/station_traits/neutral_traits.dm +++ b/code/datums/station_traits/neutral_traits.dm @@ -7,6 +7,11 @@ report_message = "Rumors has it that the clown planet has been sending support packages to clowns in this system." trait_to_give = STATION_TRAIT_BANANIUM_SHIPMENTS +/datum/station_trait/bananium_shipment/get_pulsar_message() + var/advisory_string = "Advisory Level: Clown Planet
" + advisory_string += "Your sector's advisory level is Clown Planet! Our bike horns have picked up on a large bananium stash. Clowns show a large influx of clowns on your station. We highly advise you to slip any threats to keep Honkotrasen assets within the Banana Sector. The Department of Intelligence advises defending chemistry from any clowns that are trying to make baldium or space lube." + return advisory_string + /datum/station_trait/unnatural_atmosphere name = "Unnatural atmospherical properties" trait_type = STATION_TRAIT_NEUTRAL @@ -122,6 +127,11 @@ . = ..() SSstation.announcer = /datum/centcom_announcer/intern +/datum/station_trait/announcement_intern/get_pulsar_message() + var/advisory_string = "Advisory Level: (TITLE HERE)
" + advisory_string += "(Copy/Paste the summary provided by the Threat Intelligence Office in this field. You shouldn't have any trouble with this just make sure to replace this message before hitting the send button. Also, make sure there's coffee ready for the meeting at 06:00 when you're done.)" + return advisory_string + /datum/station_trait/announcement_medbot name = "Announcement \"System\"" trait_type = STATION_TRAIT_NEUTRAL diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 88a5aed2d8315..7aa8034e9b9ee 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -305,6 +305,11 @@ weight_multiplier = 3 max_occurrences_modifier = 10 //lotta cows +/datum/station_trait/random_event_weight_modifier/wise_cows/get_pulsar_message() + var/advisory_string = "Advisory Level: Cow Planet
" //We're gonna go fast and we're gonna go far. + advisory_string += "Your sector's advisory level is Cow Planet. We don't really know what this one means -- the model we use to create these threat reports hasn't produced this result before. Watch out for cows, I guess? Good luck!" + return advisory_string + /datum/station_trait/bright_day name = "Bright Day" report_message = "The stars shine bright and the clouds are scarcer than usual. It's a bright day here on the Ice Moon's surface." @@ -365,9 +370,14 @@ /// Spawns assistants with some gear, either gimmicky or functional. Maybe, one day, it will inspire an assistant to do something productive or fun /datum/station_trait/assistant_gimmicks name = "Geared Assistants Pilot" - report_message = "The Nanotrassen Assistant Affairs division is performing a pilot to see if different assistant equipments help improve productivity!" + report_message = "The Nanotrassen Assistant Affairs division is performing a pilot to see if different assistant equipment helps improve productivity!" trait_type = STATION_TRAIT_POSITIVE weight = 3 trait_to_give = STATION_TRAIT_ASSISTANT_GIMMICKS show_in_report = TRUE blacklist = list(/datum/station_trait/colored_assistants) + +/datum/station_trait/random_event_weight_modifier/assistant_gimmicks/get_pulsar_message() + var/advisory_string = "Advisory Level: Grey Sky
" + advisory_string += "Your sector's advisory level is Grey Sky. Our sensors detect abnormal activity among the assistants assigned to your station. We advise you to closely monitor the Tool Storage, Bridge, Tech Storage, and Brig for gathering crowds or petty thievery." + return advisory_string diff --git a/code/datums/status_effects/debuffs/debuffs.dm b/code/datums/status_effects/debuffs/debuffs.dm index 41491900147d6..28e92a0e17cc8 100644 --- a/code/datums/status_effects/debuffs/debuffs.dm +++ b/code/datums/status_effects/debuffs/debuffs.dm @@ -343,6 +343,8 @@ if(owner.reagents) owner.reagents.del_reagent(/datum/reagent/water/holywater) //can't be deconverted +//SKYRAT EDIT START - OVERRIDEN IN MODULAR +/* /datum/status_effect/crusher_mark id = "crusher_mark" duration = 300 //if you leave for 30 seconds you lose the mark, deal with it @@ -376,6 +378,8 @@ //we will only clear ourselves if the crusher is the one that owns us. /datum/status_effect/crusher_mark/before_remove(obj/item/kinetic_crusher/attacking_hammer) return (attacking_hammer == hammer_synced) +*/ +//SKYRAT EDIT END /datum/status_effect/stacking/saw_bleed id = "saw_bleed" @@ -778,7 +782,10 @@ span_userdanger(pick("Your lungs hurt!", "It hurts to breathe!")), span_warning(pick("You feel nauseated.", "You feel like you're going to throw up!"))) else - fake_emote = pick("cough", "sniff", "sneeze") + if(prob(40)) + fake_emote = "cough" + else + owner.sneeze() if(fake_emote) owner.emote(fake_emote) diff --git a/code/datums/status_effects/debuffs/slime/slimed.dm b/code/datums/status_effects/debuffs/slime/slimed.dm index 15632277f3dd7..6c2c0fb5be342 100644 --- a/code/datums/status_effects/debuffs/slime/slimed.dm +++ b/code/datums/status_effects/debuffs/slime/slimed.dm @@ -5,9 +5,42 @@ /atom/movable/screen/alert/status_effect/slimed name = "Covered in Slime" - desc = "You are covered in slime and it's eating away at you! Find a way to wash it off!" + desc = "You are covered in slime and it's eating away at you! Click to start cleaning it off, or find a faster way to wash it away!" icon_state = "slimed" +/atom/movable/screen/alert/status_effect/slimed/Click() + . = ..() + if (!.) + return FALSE + if (!can_wash()) + return FALSE + INVOKE_ASYNC(src, PROC_REF(remove_slime)) + return TRUE + +/// Confirm that we are capable of washing off slime +/atom/movable/screen/alert/status_effect/slimed/proc/can_wash() + var/mob/living/living_owner = owner + if (!living_owner.can_resist()) + return FALSE + if (DOING_INTERACTION_WITH_TARGET(owner, owner)) + return FALSE + if (locate(/datum/status_effect/fire_handler/wet_stacks) in living_owner.status_effects) + return FALSE // Don't double dip with washing + return TRUE + +/// Try to get rid of it +/atom/movable/screen/alert/status_effect/slimed/proc/remove_slime() + owner.balloon_alert(owner, "cleaning off slime...") + var/datum/status_effect/slimed/slime_effect = owner.has_status_effect(/datum/status_effect/slimed) + while (!QDELETED(src) && !isnull(slime_effect)) + if (!can_wash()) + return + var/clean_interval = HAS_TRAIT(owner, TRAIT_WOUND_LICKER) ? 1.2 SECONDS : 1.5 SECONDS + owner.Shake(2, 0, duration = clean_interval * 0.8, shake_interval = 0.05 SECONDS) + if (!do_after(owner, clean_interval, owner)) + return + slime_effect.remove_stacks() + /datum/status_effect/slimed id = "slimed" tick_interval = 3 SECONDS @@ -32,6 +65,16 @@ to_chat(owner, span_userdanger("You have been covered in a thick layer of slime! Find a way to wash it off!")) return ..() +/datum/status_effect/slimed/proc/remove_stacks(stacks_to_remove = 1) + slime_stacks -= stacks_to_remove // lose 1 stack per second + if(slime_stacks <= 0) + to_chat(owner, span_notice("You manage to wash off the layer of slime completely.")) + qdel(src) + return + + if(prob(10)) + to_chat(owner,span_warning("The layer of slime is slowly getting thinner.")) + /datum/status_effect/slimed/tick(seconds_between_ticks) // remove from the mob once we have dealt enough damage if(owner.get_organic_health() <= MIN_HEALTH) @@ -42,20 +85,11 @@ // handle washing slime off var/datum/status_effect/fire_handler/wet_stacks/wetness = locate() in owner.status_effects if(istype(wetness) && wetness.stacks > (MIN_WATER_STACKS * seconds_between_ticks)) - slime_stacks -= seconds_between_ticks // lose 1 stack per second wetness.adjust_stacks(-5 * seconds_between_ticks) - - // got rid of it + remove_stacks(seconds_between_ticks) // 1 per second if(slime_stacks <= 0) - to_chat(owner, span_notice("You manage to wash off the layer of slime completely.")) - qdel(src) return - if(SPT_PROB(10, seconds_between_ticks)) - to_chat(owner,span_warning("The layer of slime is slowly getting thinner as it's washing off your skin.")) - - return - // otherwise deal brute damage owner.apply_damage(rand(2,4) * seconds_between_ticks, damagetype = BRUTE) diff --git a/code/datums/status_effects/wound_effects.dm b/code/datums/status_effects/wound_effects.dm index f7d640a6d1cf3..fc3f3140593ea 100644 --- a/code/datums/status_effects/wound_effects.dm +++ b/code/datums/status_effects/wound_effects.dm @@ -73,6 +73,9 @@ // less limping while we have determination still var/determined_mod = owner.has_status_effect(/datum/status_effect/determined) ? 0.5 : 1 + if(SEND_SIGNAL(owner, COMSIG_CARBON_LIMPING) & COMPONENT_CANCEL_LIMP) + return + if(next_leg == left) if(prob(limp_chance_left * determined_mod)) owner.client.move_delay += slowdown_left * determined_mod diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm index cf8d9b238867f..2a45b8e2b3d27 100644 --- a/code/datums/wires/robot.dm +++ b/code/datums/wires/robot.dm @@ -35,10 +35,11 @@ if(WIRE_AI) // Pulse to pick a new AI. if(!R.emagged) var/new_ai + var/is_a_syndi_borg = (ROLE_SYNDICATE in R.faction) if(user) - new_ai = select_active_ai(user, R.z) + new_ai = select_active_ai(user, R.z, !is_a_syndi_borg, is_a_syndi_borg) else - new_ai = select_active_ai(R, R.z) + new_ai = select_active_ai(R, R.z, !is_a_syndi_borg, is_a_syndi_borg) R.notify_ai(AI_NOTIFICATION_CYBORG_DISCONNECTED) if(new_ai && (new_ai != R.connected_ai)) R.set_connected_ai(new_ai) diff --git a/code/datums/wounds/slash.dm b/code/datums/wounds/slash.dm index 980cb71248450..0e370c2ffcacf 100644 --- a/code/datums/wounds/slash.dm +++ b/code/datums/wounds/slash.dm @@ -189,7 +189,7 @@ return suture(I, user) /datum/wound/slash/flesh/try_handling(mob/living/carbon/human/user) - if(user.pulling != victim || user.zone_selected != limb.body_zone || !isfelinid(user) || !victim.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)) + if(user.pulling != victim || user.zone_selected != limb.body_zone || !HAS_TRAIT(user, TRAIT_WOUND_LICKER) || !victim.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)) return FALSE if(DOING_INTERACTION_WITH_TARGET(user, victim)) to_chat(user, span_warning("You're already interacting with [victim]!")) diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index e1b873cfec728..cdab44c9811d5 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -565,8 +565,9 @@ newdir = dir return SEND_SIGNAL(src, COMSIG_ATOM_DIR_CHANGE, dir, newdir) + var/oldDir = dir dir = newdir - SEND_SIGNAL(src, COMSIG_ATOM_POST_DIR_CHANGE, dir, newdir) + SEND_SIGNAL(src, COMSIG_ATOM_POST_DIR_CHANGE, oldDir, newdir) if(smoothing_flags & SMOOTH_BORDER_OBJECT) QUEUE_SMOOTH_NEIGHBORS(src) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 9b33a901d9ebe..3ad109b30e544 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -329,17 +329,21 @@ if(!directly_use_energy(charge_per_item)) // provide the wait time until lathe is ready var/area/my_area = get_area(src) var/obj/machinery/power/apc/my_apc = my_area.apc - var/charging_wait = my_apc.time_to_charge(charge_per_item) - if(!isnull(charging_wait)) - say("Unable to continue production, APC overload. Wait [DisplayTimeText(charging_wait, round_seconds_to = 1)] and try again.") + if(!QDELETED(my_apc)) + var/charging_wait = my_apc.time_to_charge(charge_per_item) + if(!isnull(charging_wait)) + say("Unable to continue production, APC overload. Wait [DisplayTimeText(charging_wait, round_seconds_to = 1)] and try again.") + else + say("Unable to continue production, power grid overload.") else - say("Unable to continue production, power grid overload.") + say("Unable to continue production, no APC in area.") finalize_build() return var/is_stack = ispath(design.build_path, /obj/item/stack) if(!materials.has_materials(materials_needed, material_cost_coefficient, is_stack ? items_remaining : 1)) say("Unable to continue production, missing materials.") + finalize_build() return materials.use_materials(materials_needed, material_cost_coefficient, is_stack ? items_remaining : 1) diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index 816177f9f0edd..383a980a64da0 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -48,7 +48,7 @@ return INITIALIZE_HINT_QDEL /obj/machinery/computer/upload/ai/interact(mob/user) - current = select_active_ai(user, z) + current = select_active_ai(user, z, TRUE) if (!current) to_chat(user, span_alert("No active AIs detected!")) diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 9b17d56973aad..ede704801e33b 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -21,12 +21,14 @@ text_color = "#F44" header_text_color = "#F88" - var/id = null // id of linked machinery/lockers - + /// ID of linked machinery/lockers. + var/id = null + /// The time at which the timer started. var/activation_time = 0 + /// The time offset from the activation time before releasing. var/timer_duration = 0 - - var/timing = FALSE // boolean, true/1 timer is on, false/0 means it's not timing + /// Is the timer on? + var/timing = FALSE ///List of weakrefs to nearby doors var/list/doors = list() ///List of weakrefs to nearby flashers @@ -142,7 +144,7 @@ sec_radio.talk_into(src, "Timer has expired. Releasing prisoner.", FREQ_SECURITY) timing = FALSE - activation_time = null + activation_time = 0 set_timer(0) end_processing() @@ -172,12 +174,12 @@ /** * Return time left. * Arguments: - * * seconds - return time in seconds it TRUE, else deciseconds. + * * seconds - Return the time in seconds if TRUE, else deciseconds. */ /obj/machinery/status_display/door_timer/proc/time_left(seconds = FALSE) - . = max(0, timer_duration - (activation_time ? REALTIMEOFDAY - activation_time : 0)) // SKYRAT EDIT CHANGE: original was world.time + . = max(0, timer_duration + activation_time - REALTIMEOFDAY) // SKYRAT EDIT CHANGE: original was world.time if(seconds) - . /= 10 + . /= (1 SECONDS) /** * Set the timer. Does NOT automatically start counting down, but does update the display. @@ -188,7 +190,7 @@ * value - time in deciseconds to set the timer for. */ /obj/machinery/status_display/door_timer/proc/set_timer(value) - var/new_time = clamp(value, 0, MAX_TIMER) + var/new_time = clamp(value, 0, MAX_TIMER + world.time - activation_time) . = new_time == timer_duration //return 1 on no change timer_duration = new_time update_content() @@ -233,7 +235,7 @@ if("time") var/value = text2num(params["adjust"]) if(value) - . = set_timer(time_left() + value) + . = set_timer(timer_duration + value) user.investigate_log("modified the timer by [value/10] seconds for cell [id], currently [time_left(seconds = TRUE)]", INVESTIGATE_RECORDS) user.log_message("modified the timer by [value/10] seconds for cell [id], currently [time_left(seconds = TRUE)]", LOG_ATTACK) if("start") diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 277af76c56e96..7a6ce09206e29 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -146,7 +146,7 @@ GLOBAL_LIST_EMPTY(key_to_status_display) */ /obj/machinery/status_display/proc/update_message(current_key, line_y, message, x_offset, line_pair) var/obj/effect/overlay/status_display_text/current_overlay = get_status_text(current_key) - var/obj/effect/overlay/status_display_text/new_overlay = generate_status_text(line_y, message, text_color, header_text_color, x_offset, line_pair) + var/obj/effect/overlay/status_display_text/new_overlay = generate_status_text(line_y, message, x_offset, text_color, header_text_color, line_pair) if(current_overlay == new_overlay) return current_key diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 08675597f13a2..c1d54c51afd79 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -276,13 +276,9 @@ GLOBAL_LIST_INIT(dye_registry, list( new /obj/item/food/meat/slab/corgi(loc) qdel(src) -/mob/living/simple_animal/pet/machine_wash(obj/machinery/washing_machine/washer) - washer.bloody_mess = TRUE - investigate_log("has been gibbed by a washing machine.", INVESTIGATE_DEATHS) - gib() - /mob/living/basic/pet/machine_wash(obj/machinery/washing_machine/washer) washer.bloody_mess = TRUE + investigate_log("has been gibbed by a washing machine.", INVESTIGATE_DEATHS) gib() /obj/item/machine_wash(obj/machinery/washing_machine/washer) @@ -378,7 +374,7 @@ GLOBAL_LIST_INIT(dye_registry, list( if(L.buckled || L.has_buckled_mobs()) return if(state_open) - if(istype(L, /mob/living/simple_animal/pet) || istype(L, /mob/living/basic/pet)) + if(istype(L, /mob/living/basic/pet)) L.forceMove(src) update_appearance() return diff --git a/code/game/objects/effects/cursor_catcher.dm b/code/game/objects/effects/cursor_catcher.dm index 3229cd44b7083..a8c19e40be80d 100644 --- a/code/game/objects/effects/cursor_catcher.dm +++ b/code/game/objects/effects/cursor_catcher.dm @@ -8,9 +8,9 @@ var/mob/owner /// Client view size of the scoping mob. var/list/view_list - /// Pixel x we send to the scope component. + /// Pixel x relative to the hovered tile we send to the scope component. var/given_x - /// Pixel y we send to the scope component. + /// Pixel y relative to the hovered tile we send to the scope component. var/given_y /// The turf we send to the scope component. var/turf/given_turf diff --git a/code/game/objects/effects/spawners/random/exotic.dm b/code/game/objects/effects/spawners/random/exotic.dm index add4faf5c5004..e802e30056f4f 100644 --- a/code/game/objects/effects/spawners/random/exotic.dm +++ b/code/game/objects/effects/spawners/random/exotic.dm @@ -50,7 +50,7 @@ /obj/item/storage/medkit/brute = 27, /obj/item/storage/medkit/fire = 27, /obj/item/storage/toolbox/syndicate = 12, - /obj/item/borg/upgrade/ddrill = 3, + /obj/item/borg/upgrade/diamond_drill = 3, /obj/item/knife/butcher = 14, /obj/item/clothing/glasses/night = 10, /obj/item/pickaxe/drill/diamonddrill = 6, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ebf5ef718022f..897f2d9ceefe9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -69,6 +69,8 @@ var/hitsound ///Played when the item is used, for example tools var/usesound + ///Played when item is used for long progress + var/operating_sound ///Used when yate into a mob var/mob_throw_hit_sound ///Sound used when equipping the item into a valid slot @@ -1008,7 +1010,7 @@ return SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, microwave_source, microwaver, randomize_pixel_offset) -//Used to check for extra requirements for blending(grinding or juicing) an object +///Used to check for extra requirements for blending(grinding or juicing) an object /obj/item/proc/blend_requirements(obj/machinery/reagentgrinder/R) return TRUE @@ -1018,15 +1020,16 @@ ///Grind item, adding grind_results to item's reagents and transfering to target_holder if specified /obj/item/proc/grind(datum/reagents/target_holder, mob/user) + . = FALSE if(on_grind() == -1) - return FALSE + return if(length(grind_results)) target_holder.add_reagent_list(grind_results) + . = TRUE if(reagents?.total_volume) reagents.trans_to(target_holder, reagents.total_volume, transferred_by = user) - - return TRUE + . = TRUE ///Called BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring /obj/item/proc/on_juice() @@ -1151,6 +1154,9 @@ // Create a callback with checks that would be called every tick by do_after. var/datum/callback/tool_check = CALLBACK(src, PROC_REF(tool_check_callback), user, amount, extra_checks) + if(delay >= MIN_TOOL_OPERATING_DELAY) + play_tool_operating_sound(target, volume) + if(!do_after(user, delay, target=target, extra_checks=tool_check)) return else @@ -1198,6 +1204,19 @@ playsound(target, played_sound, volume, TRUE) +///Play item's operating sound +/obj/item/proc/play_tool_operating_sound(atom/target, volume=50) + if(target && operating_sound && volume) + var/played_sound = operating_sound + + if(islist(operating_sound)) + played_sound = pick(operating_sound) + + if(!TIMER_COOLDOWN_FINISHED(src, COOLDOWN_TOOL_SOUND)) + return + playsound(target, played_sound, volume, TRUE) + TIMER_COOLDOWN_START(src, COOLDOWN_TOOL_SOUND, 4 SECONDS) //based on our longest sound clip + /// Used in a callback that is passed by use_tool into do_after call. Do not override, do not call manually. /obj/item/proc/tool_check_callback(mob/living/user, amount, datum/callback/extra_checks) SHOULD_NOT_OVERRIDE(TRUE) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 2174892cfbc0f..d8855d80d4ad4 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -718,7 +718,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "smoking pipe" desc = "A pipe, for smoking. Probably made of meerschaum or something." icon_state = "pipeoff" - icon_on = "pipeff" //Note - these are in masks.dmi + icon_on = "pipeoff" //Note - these are in masks.dmi icon_off = "pipeoff" inhand_icon_state = null inhand_icon_on = null @@ -789,7 +789,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM name = "corn cob pipe" desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters. Can be loaded with objects." icon_state = "cobpipeoff" - icon_on = "cobpipeff" //Note - these are in masks.dmi + icon_on = "cobpipeoff" //Note - these are in masks.dmi icon_off = "cobpipeoff" inhand_icon_on = null inhand_icon_off = null diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index 42402c88e106a..a79a0430bb226 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -218,7 +218,7 @@ return if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return - var/new_style = tgui_input_list(user, "Select a facial hairstyle", "Grooming", GLOB.facial_hairstyles_list) + var/new_style = tgui_input_list(user, "Select a facial hairstyle", "Grooming", SSaccessories.facial_hairstyles_list) if(isnull(new_style)) return if(!get_location_accessible(human_target, location)) @@ -271,7 +271,7 @@ return if(!user.can_perform_action(src, FORBID_TELEKINESIS_REACH)) return - var/new_style = tgui_input_list(user, "Select a hairstyle", "Grooming", GLOB.hairstyles_list) + var/new_style = tgui_input_list(user, "Select a hairstyle", "Grooming", SSaccessories.hairstyles_list) if(isnull(new_style)) return if(!get_location_accessible(human_target, location)) diff --git a/code/game/objects/items/crab17.dm b/code/game/objects/items/crab17.dm index 25582bc918971..45bb25285ef24 100644 --- a/code/game/objects/items/crab17.dm +++ b/code/game/objects/items/crab17.dm @@ -227,8 +227,8 @@ /obj/effect/dumpeet_target name = "Landing Zone Indicator" desc = "A holographic projection designating the landing zone of something. It's probably best to stand back." - icon = 'icons/mob/actions/actions_items.dmi' - icon_state = "sniper_zoom" + icon = 'icons/mob/telegraphing/telegraph_holographic.dmi' + icon_state = "target_circle" layer = PROJECTILE_HIT_THRESHHOLD_LAYER light_range = 2 var/obj/effect/dumpeet_fall/DF diff --git a/code/game/objects/items/devices/aicard_evil.dm b/code/game/objects/items/devices/aicard_evil.dm index 8aaa9f0311116..3e8c56ce940fd 100644 --- a/code/game/objects/items/devices/aicard_evil.dm +++ b/code/game/objects/items/devices/aicard_evil.dm @@ -62,6 +62,11 @@ // Make it look evil!!! new_ai.hologram_appearance = mutable_appearance('icons/mob/silicon/ai.dmi',"xeno_queen") //good enough new_ai.icon_state = resolve_ai_icon("hades") + // Hide PDA from messenger + var/datum/computer_file/program/messenger/msg = locate() in new_ai.modularInterface.stored_files + if(msg) + msg.invisible = TRUE + // Transfer the AI from the core we created into the card, then delete the core capture_ai(new_ai, user) var/obj/structure/ai_core/deactivated/detritus = locate() in get_turf(src) diff --git a/code/game/objects/items/dualsaber.dm b/code/game/objects/items/dualsaber.dm index b32d01b0dfcfb..bb8bf7ed7f73e 100644 --- a/code/game/objects/items/dualsaber.dm +++ b/code/game/objects/items/dualsaber.dm @@ -32,6 +32,7 @@ bare_wound_bonus = 20 special_desc_requirement = EXAMINE_CHECK_SYNDICATE_TOY // Skyrat edit special_desc = "A double bladed energy sword employed by the Syndicate in raids" // Skyrat edit + demolition_mod = 1.5 //1.5x damage to objects, robots, etc. item_flags = NO_BLOOD_ON_ITEM var/w_class_on = WEIGHT_CLASS_BULKY var/saber_color = "green" diff --git a/code/game/objects/items/dyespray.dm b/code/game/objects/items/dyespray.dm index 6852ac7b0e127..24fa7b80c81e4 100644 --- a/code/game/objects/items/dyespray.dm +++ b/code/game/objects/items/dyespray.dm @@ -33,7 +33,7 @@ if(!beard_or_hair || !user.can_perform_action(src, NEED_DEXTERITY)) return - var/list/choices = beard_or_hair == "Hair" ? GLOB.hair_gradients_list : GLOB.facial_hair_gradients_list + var/list/choices = beard_or_hair == "Hair" ? SSaccessories.hair_gradients_list : SSaccessories.facial_hair_gradients_list var/new_grad_style = tgui_input_list(user, "Choose a color pattern", "Character Preference", choices) if(isnull(new_grad_style)) return diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index 2c01ad53edee9..6a4a08a02fb68 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -494,7 +494,8 @@ beaker_one.reagents.add_reagent(/datum/reagent/fluorosurfactant, 40) beaker_two.reagents.add_reagent(/datum/reagent/water, 40) - beaker_two.reagents.add_reagent(/datum/reagent/space_cleaner, 10) + beaker_one.reagents.add_reagent(/datum/reagent/space_cleaner, 20) // SKYRAT EDIT - Bump to 20 to make it work with cellulose + beaker_two.reagents.add_reagent(/datum/reagent/cellulose, 20) // SKYRAT EDIT - Cellulose for liquid puddle cleaning beakers += beaker_one beakers += beaker_two diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 2dc637b13610b..d2285fb2aa772 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -10,6 +10,7 @@ light_power = 1 light_on = FALSE bare_wound_bonus = 20 + demolition_mod = 1.5 //1.5x damage to objects, robots, etc. stealthy_audio = TRUE w_class = WEIGHT_CLASS_SMALL item_flags = NO_BLOOD_ON_ITEM diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 7cf7eb46c9ac5..d10559074dd88 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -330,9 +330,11 @@ attack_verb_simple = list("flog", "whip", "lash", "discipline") hitsound = 'sound/weapons/whip.ogg' -/obj/item/melee/curator_whip/afterattack(target, mob/user, proximity_flag) +/obj/item/melee/curator_whip/attack(mob/living/target, mob/living/user, params) . = ..() - if(ishuman(target) && proximity_flag) + if(.) + return + if(ishuman(target)) var/mob/living/carbon/human/human_target = target human_target.drop_all_held_items() human_target.visible_message(span_danger("[user] disarms [human_target]!"), span_userdanger("[user] disarmed you!")) diff --git a/code/game/objects/items/rcd/RLD.dm b/code/game/objects/items/rcd/RLD.dm index 6272c7a374d37..e321e5e941d67 100644 --- a/code/game/objects/items/rcd/RLD.dm +++ b/code/game/objects/items/rcd/RLD.dm @@ -188,12 +188,12 @@ if(!useResource(GLOW_STICK_COST, user)) return FALSE activate() - var/obj/item/flashlight/glowstick/G = new /obj/item/flashlight/glowstick(start) - G.color = color_choice - G.set_light_color(G.color) - G.throw_at(A, 9, 3, user) - G.light_on = TRUE - G.update_brightness() + var/obj/item/flashlight/glowstick/new_stick = new /obj/item/flashlight/glowstick(start) + new_stick.color = color_choice + new_stick.set_light_color(new_stick.color) + new_stick.throw_at(A, 9, 3, user) + new_stick.turn_on() + new_stick.update_brightness() return TRUE diff --git a/code/game/objects/items/rcd/RPLD.dm b/code/game/objects/items/rcd/RPLD.dm index f8e38c5aadb1b..56b73df1cdafc 100644 --- a/code/game/objects/items/rcd/RPLD.dm +++ b/code/game/objects/items/rcd/RPLD.dm @@ -247,23 +247,8 @@ if(duct_machine.duct_layer & layer_id) return FALSE -/obj/item/construction/plumbing/pre_attack_secondary(obj/machinery/target, mob/user, params) - if(!istype(target, /obj/machinery/duct)) - return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - - var/obj/machinery/duct/duct = target - if(duct.duct_layer && duct.duct_color) - current_color = GLOB.pipe_color_name[duct.duct_color] - current_layer = GLOB.plumbing_layer_names["[duct.duct_layer]"] - balloon_alert(user, "using [current_color], layer [current_layer]") - - return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - -/obj/item/construction/plumbing/afterattack(atom/target, mob/user, proximity) - . = ..() - if(!proximity) - return - +/obj/item/construction/plumbing/interact_with_atom(atom/target, mob/living/user, list/modifiers) + . = NONE for(var/category_name in plumbing_design_types) var/list/designs = plumbing_design_types[category_name] @@ -274,13 +259,26 @@ var/obj/machinery/machine_target = target if(machine_target.anchored) balloon_alert(user, "unanchor first!") - return + return ITEM_INTERACT_BLOCKING if(do_after(user, 2 SECONDS, target = target)) machine_target.deconstruct() //Let's not substract matter playsound(get_turf(src), 'sound/machines/click.ogg', 50, TRUE) //this is just such a great sound effect - return + return ITEM_INTERACT_SUCCESS + + if(create_machine(target, user)) + return ITEM_INTERACT_SUCCESS + +/obj/item/construction/plumbing/interact_with_atom_secondary(atom/target, mob/living/user, list/modifiers) + . = NONE + if(!istype(target, /obj/machinery/duct)) + return ITEM_INTERACT_BLOCKING - create_machine(target, user) + var/obj/machinery/duct/duct = target + if(duct.duct_layer && duct.duct_color) + current_color = GLOB.pipe_color_name[duct.duct_color] + current_layer = GLOB.plumbing_layer_names["[duct.duct_layer]"] + balloon_alert(user, "using [current_color], layer [current_layer]") + return ITEM_INTERACT_SUCCESS /obj/item/construction/plumbing/click_alt(mob/user) ui_interact(user) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 5232e205205e4..57662ffb1674f 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -13,23 +13,61 @@ var/list/model_type = null /// Bitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories. var/list/model_flags = NONE - // if true, is not stored in the robot to be ejected - // if model is reset + + /// List of items to add with the module, if any + var/list/items_to_add + /// List of items to remove with the module, if any + var/list/items_to_remove + // if true, is not stored in the robot to be ejected if model is reset var/one_use = FALSE + // If the module allows duplicates of itself to exist within the borg. + // one_use technically makes this value not mean anything, maybe could be just one variable with flags? + var/allow_duplicates = FALSE -/obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R, user = usr) - if(R.stat == DEAD) +/obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/borg, mob/living/user = usr) + if(borg.stat == DEAD) to_chat(user, span_warning("[src] will not function on a deceased cyborg!")) return FALSE - if(model_type && !is_type_in_list(R.model, model_type)) - to_chat(R, span_alert("Upgrade mounting error! No suitable hardpoint detected.")) + if(model_type && !is_type_in_list(borg.model, model_type)) + to_chat(borg, span_alert("Upgrade mounting error! No suitable hardpoint detected.")) to_chat(user, span_warning("There's no mounting point for the module!")) return FALSE + if(!allow_duplicates && (locate(type) in borg.upgrades)) + to_chat(borg, span_alert("Upgrade mounting error! Hardpoint already occupied!")) + to_chat(user, span_warning("The mounting point for the module is already occupied!")) + return FALSE + // Handles adding/removing items. + if(length(items_to_add)) + install_items(borg, user, items_to_add) + if(length(items_to_remove)) + remove_items(borg, user, items_to_remove) return TRUE -/obj/item/borg/upgrade/proc/deactivate(mob/living/silicon/robot/R, user = usr) - if (!(src in R.upgrades)) +/obj/item/borg/upgrade/proc/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) + if (!(src in borg.upgrades)) return FALSE + + // Handles reverting the items back + if(length(items_to_add)) + remove_items(borg, user, items_to_add) + if(length(items_to_remove)) + install_items(borg, user, items_to_remove) + return TRUE + +// Handles adding items with the module +/obj/item/borg/upgrade/proc/install_items(mob/living/silicon/robot/borg, mob/living/user = usr, list/items) + for(var/item_to_add in items) + var/obj/item/module_item = new item_to_add(borg.model.modules) + borg.model.basic_modules += module_item + borg.model.add_module(module_item, FALSE, TRUE) + return TRUE + +// Handles removing some items as the module is installed +/obj/item/borg/upgrade/proc/remove_items(mob/living/silicon/robot/borg, mob/living/user = usr, list/items) + for(var/item_to_remove in items) + var/obj/item/module_item = locate(item_to_remove) in borg.model.modules + if (module_item) + borg.model.remove_module(module_item, TRUE) return TRUE /obj/item/borg/upgrade/rename @@ -46,16 +84,17 @@ heldname = new_heldname user.log_message("set \"[heldname]\" as a name in a cyborg reclassification board at [loc_name(user)]", LOG_GAME) -/obj/item/borg/upgrade/rename/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/rename/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - var/oldname = R.real_name - var/oldkeyname = key_name(R) - R.custom_name = heldname - R.updatename() - if(oldname == R.real_name) - R.notify_ai(AI_NOTIFICATION_CYBORG_RENAMED, oldname, R.real_name) - usr.log_message("used a cyborg reclassification board to rename [oldkeyname] to [key_name(R)]", LOG_GAME, redacted_copy = "used a cyborg reclassification board to rename [oldkeyname] to [R]") // BUBBER EDIT - PUBLIC LOGS + if(!.) + return . + var/oldname = borg.real_name + var/oldkeyname = key_name(borg) + borg.custom_name = heldname + borg.updatename() + if(oldname == borg.real_name) + borg.notify_ai(AI_NOTIFICATION_CYBORG_RENAMED, oldname, borg.real_name) + user.log_message("used a cyborg reclassification board to rename [oldkeyname] to [key_name(borg)]", LOG_GAME) /obj/item/borg/upgrade/disablercooler name = "cyborg rapid disabler cooling module" @@ -64,50 +103,57 @@ require_model = TRUE model_type = list(/obj/item/robot_model/security) model_flags = BORG_MODEL_SECURITY + // We handle this in a custom way + allow_duplicates = TRUE -/obj/item/borg/upgrade/disablercooler/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/disablercooler/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - var/obj/item/gun/energy/disabler/cyborg/T = locate() in R.model.modules - if(!T) - to_chat(user, span_warning("There's no disabler in this unit!")) - return FALSE - if(T.charge_delay <= 2) - to_chat(R, span_warning("A cooling unit is already installed!")) - to_chat(user, span_warning("There's no room for another cooling unit!")) - return FALSE + if(!.) + return . - T.charge_delay = max(2 , T.charge_delay - 4) + var/obj/item/gun/energy/disabler/cyborg/disabler = locate() in borg.model.modules + if(isnull(disabler)) + to_chat(user, span_warning("There's no disabler in this unit!")) + return FALSE + if(disabler.charge_delay <= 2) + to_chat(borg, span_warning("A cooling unit is already installed!")) + to_chat(user, span_warning("There's no room for another cooling unit!")) + return FALSE + + disabler.charge_delay = max(2 , disabler.charge_delay - 4) -/obj/item/borg/upgrade/disablercooler/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/disablercooler/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - var/obj/item/gun/energy/disabler/cyborg/T = locate() in R.model.modules - if(!T) - return FALSE - T.charge_delay = initial(T.charge_delay) + if(!.) + return . + var/obj/item/gun/energy/disabler/cyborg/disabler = locate() in borg.model.modules + if(isnull(disabler)) + return FALSE + disabler.charge_delay = initial(disabler.charge_delay) /obj/item/borg/upgrade/thrusters name = "ion thruster upgrade" desc = "An energy-operated thruster system for cyborgs." icon_state = "cyborg_upgrade3" -/obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/thrusters/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - if(R.ionpulse) - to_chat(user, span_warning("This unit already has ion thrusters installed!")) - return FALSE + if(!.) + return . + if(borg.ionpulse) + to_chat(user, span_warning("This unit already has ion thrusters installed!")) + return FALSE - R.ionpulse = TRUE - R.toggle_ionpulse() //Enabled by default + borg.ionpulse = TRUE + borg.toggle_ionpulse() //Enabled by default -/obj/item/borg/upgrade/thrusters/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/thrusters/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - R.ionpulse = FALSE + if(!.) + return . + borg.ionpulse = FALSE -/obj/item/borg/upgrade/ddrill +/obj/item/borg/upgrade/diamond_drill name = "mining cyborg diamond drill" desc = "A diamond drill replacement for the mining model's standard drill." icon_state = "cyborg_upgrade3" @@ -115,30 +161,8 @@ model_type = list(/obj/item/robot_model/miner) model_flags = BORG_MODEL_MINER -/obj/item/borg/upgrade/ddrill/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - for(var/obj/item/pickaxe/drill/cyborg/D in R.model) - R.model.remove_module(D, TRUE) -/* for(var/obj/item/shovel/S in R.model) - R.model.remove_module(S, TRUE) -*/ - var/obj/item/pickaxe/drill/cyborg/diamond/DD = new /obj/item/pickaxe/drill/cyborg/diamond(R.model) - R.model.basic_modules += DD - R.model.add_module(DD, FALSE, TRUE) - -/obj/item/borg/upgrade/ddrill/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - for(var/obj/item/pickaxe/drill/cyborg/diamond/DD in R.model) - R.model.remove_module(DD, TRUE) - - var/obj/item/pickaxe/drill/cyborg/D = new (R.model) - R.model.basic_modules += D - R.model.add_module(D, FALSE, TRUE) - var/obj/item/shovel/S = new (R.model) - R.model.basic_modules += S - R.model.add_module(S, FALSE, TRUE) + items_to_add = list(/obj/item/pickaxe/drill/cyborg/diamond) + items_to_remove = list(/obj/item/pickaxe/drill/cyborg, /obj/item/shovel) /obj/item/borg/upgrade/soh name = "mining cyborg satchel of holding" @@ -148,25 +172,8 @@ model_type = list(/obj/item/robot_model/miner) model_flags = BORG_MODEL_MINER -/obj/item/borg/upgrade/soh/action(mob/living/silicon/robot/R) - . = ..() - if(.) - for(var/obj/item/storage/bag/ore/cyborg/S in R.model) - R.model.remove_module(S, TRUE) - - var/obj/item/storage/bag/ore/holding/H = new /obj/item/storage/bag/ore/holding(R.model) - R.model.basic_modules += H - R.model.add_module(H, FALSE, TRUE) - -/obj/item/borg/upgrade/soh/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - for(var/obj/item/storage/bag/ore/holding/H in R.model) - R.model.remove_module(H, TRUE) - - var/obj/item/storage/bag/ore/cyborg/S = new (R.model) - R.model.basic_modules += S - R.model.add_module(S, FALSE, TRUE) + items_to_add = list(/obj/item/storage/bag/ore/holding) + items_to_remove = list(/obj/item/storage/bag/ore/cyborg) /obj/item/borg/upgrade/tboh name = "janitor cyborg trash bag of holding" @@ -176,25 +183,8 @@ model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR -/obj/item/borg/upgrade/tboh/action(mob/living/silicon/robot/R) - . = ..() - if(.) - for(var/obj/item/storage/bag/trash/cyborg/TB in R.model.modules) - R.model.remove_module(TB, TRUE) - - var/obj/item/storage/bag/trash/bluespace/cyborg/B = new /obj/item/storage/bag/trash/bluespace/cyborg(R.model) - R.model.basic_modules += B - R.model.add_module(B, FALSE, TRUE) - -/obj/item/borg/upgrade/tboh/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - for(var/obj/item/storage/bag/trash/bluespace/cyborg/B in R.model.modules) - R.model.remove_module(B, TRUE) - - var/obj/item/storage/bag/trash/cyborg/TB = new (R.model) - R.model.basic_modules += TB - R.model.add_module(TB, FALSE, TRUE) + items_to_add = list(/obj/item/storage/bag/trash/bluespace/cyborg) + items_to_remove = list(/obj/item/storage/bag/trash/cyborg) /obj/item/borg/upgrade/amop name = "janitor cyborg advanced mop" @@ -204,25 +194,8 @@ model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR -/obj/item/borg/upgrade/amop/action(mob/living/silicon/robot/R) - . = ..() - if(.) - for(var/obj/item/mop/cyborg/M in R.model.modules) - R.model.remove_module(M, TRUE) - - var/obj/item/mop/advanced/cyborg/mop = new /obj/item/mop/advanced/cyborg(R.model) - R.model.basic_modules += mop - R.model.add_module(mop, FALSE, TRUE) - -/obj/item/borg/upgrade/amop/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - for(var/obj/item/mop/advanced/cyborg/A in R.model.modules) - R.model.remove_module(A, TRUE) - - var/obj/item/mop/cyborg/M = new (R.model) - R.model.basic_modules += M - R.model.add_module(M, FALSE, TRUE) + items_to_add = list(/obj/item/mop/advanced/cyborg) + items_to_remove = list(/obj/item/mop/cyborg) /obj/item/borg/upgrade/prt name = "janitor cyborg plating repair tool" @@ -232,18 +205,7 @@ model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR -/obj/item/borg/upgrade/prt/action(mob/living/silicon/robot/R) - . = ..() - if(.) - var/obj/item/cautery/prt/P = new (R.model) - R.model.basic_modules += P - R.model.add_module(P, FALSE, TRUE) - -/obj/item/borg/upgrade/prt/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - for(var/obj/item/cautery/prt/P in R.model.modules) - R.model.remove_module(P, TRUE) + items_to_add = list(/obj/item/cautery/prt) /obj/item/borg/upgrade/syndicate name = "illegal equipment module" @@ -251,22 +213,24 @@ icon_state = "cyborg_upgrade3" require_model = TRUE -/obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - if(R.emagged) - return FALSE + if(!.) + return . + if(borg.emagged) + return FALSE - R.SetEmagged(TRUE) - R.logevent("WARN: hardware installed with missing security certificate!") //A bit of fluff to hint it was an illegal tech item - R.logevent("WARN: root privleges granted to PID [num2hex(rand(1,65535), -1)][num2hex(rand(1,65535), -1)].") //random eight digit hex value. Two are used because rand(1,4294967295) throws an error + borg.SetEmagged(TRUE) + borg.logevent("WARN: hardware installed with missing security certificate!") //A bit of fluff to hint it was an illegal tech item + borg.logevent("WARN: root privleges granted to PID [num2hex(rand(1,65535), -1)][num2hex(rand(1,65535), -1)].") //random eight digit hex value. Two are used because rand(1,4294967295) throws an error - return TRUE + return TRUE -/obj/item/borg/upgrade/syndicate/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/syndicate/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - R.SetEmagged(FALSE) + if(!.) + return . + borg.SetEmagged(FALSE) /obj/item/borg/upgrade/lavaproof name = "mining cyborg lavaproof chassis" @@ -277,15 +241,17 @@ model_type = list(/obj/item/robot_model/miner) model_flags = BORG_MODEL_MINER -/obj/item/borg/upgrade/lavaproof/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/lavaproof/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - R.add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), type) + if(!.) + return . + borg.add_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), type) -/obj/item/borg/upgrade/lavaproof/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/lavaproof/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - R.remove_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), type) + if(!.) + return . + borg.remove_traits(list(TRAIT_LAVA_IMMUNE, TRAIT_SNOWSTORM_IMMUNE), type) /obj/item/borg/upgrade/selfrepair name = "self-repair module" @@ -301,24 +267,21 @@ var/energy_cost = 0.01 * STANDARD_CELL_CHARGE var/datum/action/toggle_action -/obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - var/obj/item/borg/upgrade/selfrepair/U = locate() in R - if(U) - to_chat(user, span_warning("This unit is already equipped with a self-repair module!")) - return FALSE - - icon_state = "selfrepair_off" - toggle_action = new /datum/action/item_action/toggle(src) - toggle_action.Grant(R) + if(!.) + return . + icon_state = "selfrepair_off" + toggle_action = new /datum/action/item_action/toggle(src) + toggle_action.Grant(borg) -/obj/item/borg/upgrade/selfrepair/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/selfrepair/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - toggle_action.Remove(R) - QDEL_NULL(toggle_action) - deactivate_sr() + if(!.) + return . + toggle_action.Remove(borg) + QDEL_NULL(toggle_action) + deactivate_sr() /obj/item/borg/upgrade/selfrepair/ui_action_click() if(on) @@ -399,21 +362,19 @@ model_flags = BORG_MODEL_MEDICAL var/list/additional_reagents = list() -/obj/item/borg/upgrade/hypospray/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/hypospray/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - var/obj/item/borg/upgrade/hypospray/U = locate() in R - if(U) - to_chat(user, span_warning("This unit is already equipped with an expanded hypospray synthesiser!")) //check to see if we already have this module - return FALSE - if(.) - for(var/obj/item/reagent_containers/borghypo/medical/H in R.model.modules) - H.upgrade_hypo() + if(!.) + return . + for(var/obj/item/reagent_containers/borghypo/medical/hypo in borg.model.modules) + hypo.upgrade_hypo() -/obj/item/borg/upgrade/hypospray/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/hypospray/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - for(var/obj/item/reagent_containers/borghypo/medical/H in R.model.modules) - H.remove_hypo_upgrade() + if(!.) + return . + for(var/obj/item/reagent_containers/borghypo/medical/hypo in borg.model.modules) + hypo.remove_hypo_upgrade() /obj/item/borg/upgrade/hypospray/expanded name = "medical cyborg expanded hypospray" @@ -426,27 +387,30 @@ pierce armor and thick material." icon_state = "cyborg_upgrade3" -/obj/item/borg/upgrade/piercing_hypospray/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/piercing_hypospray/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - var/found_hypo = FALSE - for(var/obj/item/reagent_containers/borghypo/H in R.model.modules) - H.bypass_protection = TRUE - found_hypo = TRUE - for(var/obj/item/reagent_containers/borghypo/H in R.model.emag_modules) - H.bypass_protection = TRUE - - if(!found_hypo) - to_chat(user, span_warning("This unit is already equipped with a piercing hypospray upgrade!")) //check to see if we already have this module - return FALSE + if(!.) + return . + var/found_hypo = FALSE + for(var/obj/item/reagent_containers/borghypo/hypo in borg.model.modules) + hypo.bypass_protection = TRUE + found_hypo = TRUE + for(var/obj/item/reagent_containers/borghypo/hypo in borg.model.emag_modules) + hypo.bypass_protection = TRUE + found_hypo = TRUE + + if(!found_hypo) + to_chat(user, span_warning("There are no installed hypospray modules to upgrade with piercing!")) //check to see if any hyposprays were upgraded + return FALSE -/obj/item/borg/upgrade/piercing_hypospray/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/piercing_hypospray/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - for(var/obj/item/reagent_containers/borghypo/H in R.model.modules) - H.bypass_protection = initial(H.bypass_protection) - for(var/obj/item/reagent_containers/borghypo/H in R.model.emag_modules) - H.bypass_protection = initial(H.bypass_protection) + if(!.) + return . + for(var/obj/item/reagent_containers/borghypo/hypo in borg.model.modules) + hypo.bypass_protection = initial(hypo.bypass_protection) + for(var/obj/item/reagent_containers/borghypo/hypo in borg.model.emag_modules) + hypo.bypass_protection = initial(hypo.bypass_protection) /obj/item/borg/upgrade/surgery_omnitool name = "cyborg surgical omni-tool upgrade" @@ -457,10 +421,10 @@ model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL -/obj/item/borg/upgrade/surgery_omnitool/action(mob/living/silicon/robot/cyborg, user = usr) +/obj/item/borg/upgrade/surgery_omnitool/action(mob/living/silicon/robot/cyborg, mob/living/user = usr) . = ..() if(!.) - return FALSE + return . for(var/obj/item/borg/cyborg_omnitool/medical/omnitool_upgrade in cyborg.model.modules) if(omnitool_upgrade.upgraded) to_chat(user, span_warning("This unit is already equipped with an omnitool upgrade!")) @@ -468,10 +432,10 @@ for(var/obj/item/borg/cyborg_omnitool/medical/omnitool in cyborg.model.modules) omnitool.upgrade_omnitool() -/obj/item/borg/upgrade/surgery_omnitool/deactivate(mob/living/silicon/robot/cyborg, user = usr) +/obj/item/borg/upgrade/surgery_omnitool/deactivate(mob/living/silicon/robot/cyborg, mob/living/user = usr) . = ..() if(!.) - return FALSE + return . for(var/obj/item/borg/cyborg_omnitool/omnitool in cyborg.model.modules) omnitool.downgrade_omnitool() @@ -484,10 +448,10 @@ model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING -/obj/item/borg/upgrade/engineering_omnitool/action(mob/living/silicon/robot/cyborg, user = usr) +/obj/item/borg/upgrade/engineering_omnitool/action(mob/living/silicon/robot/cyborg, mob/living/user = usr) . = ..() if(!.) - return FALSE + return . for(var/obj/item/borg/cyborg_omnitool/engineering/omnitool_upgrade in cyborg.model.modules) if(omnitool_upgrade.upgraded) to_chat(user, span_warning("This unit is already equipped with an omnitool upgrade!")) @@ -495,10 +459,10 @@ for(var/obj/item/borg/cyborg_omnitool/engineering/omnitool in cyborg.model.modules) omnitool.upgrade_omnitool() -/obj/item/borg/upgrade/engineering_omnitool/deactivate(mob/living/silicon/robot/cyborg, user = usr) +/obj/item/borg/upgrade/engineering_omnitool/deactivate(mob/living/silicon/robot/cyborg, mob/living/user = usr) . = ..() if(!.) - return FALSE + return . for(var/obj/item/borg/cyborg_omnitool/omnitool in cyborg.model.modules) omnitool.downgrade_omnitool() @@ -511,41 +475,31 @@ model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL -/obj/item/borg/upgrade/defib/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - var/obj/item/borg/upgrade/defib/U = locate() in R - if(U) - to_chat(user, span_warning("This unit is already equipped with a defibrillator module!")) //check to see if we already have this module - return FALSE - var/obj/item/borg/upgrade/defib/backpack/BP = locate() in R //If a full defib unit was used to upgrade prior, we can just pop it out now and replace - if(BP) - BP.deactivate(R, user) - to_chat(user, span_notice("You remove the defibrillator unit to make room for the compact upgrade.")) - var/obj/item/shockpaddles/cyborg/S = new(R.model) - R.model.basic_modules += S - R.model.add_module(S, FALSE, TRUE) - -/obj/item/borg/upgrade/defib/deactivate(mob/living/silicon/robot/R, user = usr) + items_to_add = list(/obj/item/shockpaddles/cyborg) + +/obj/item/borg/upgrade/defib/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - var/obj/item/shockpaddles/cyborg/S = locate() in R.model - R.model.remove_module(S, TRUE) + if(!.) + return . + var/obj/item/borg/upgrade/defib/backpack/defib_pack = locate() in borg //If a full defib unit was used to upgrade prior, we can just pop it out now and replace + if(defib_pack) + defib_pack.deactivate(borg, user) + to_chat(user, span_notice("The defibrillator pops out of the chassis as the compact upgrade installs.")) ///A version of the above that also acts as a holder of an actual defibrillator item used in place of the upgrade chip. /obj/item/borg/upgrade/defib/backpack var/obj/item/defibrillator/defib_instance -/obj/item/borg/upgrade/defib/backpack/Initialize(mapload, obj/item/defibrillator/D) +/obj/item/borg/upgrade/defib/backpack/Initialize(mapload, obj/item/defibrillator/defib) . = ..() - if(!D) - D = new /obj/item/defibrillator - defib_instance = D + if(isnull(defib)) + defib = new /obj/item/defibrillator + defib_instance = defib name = defib_instance.name defib_instance.moveToNullspace() RegisterSignals(defib_instance, list(COMSIG_QDELETING, COMSIG_MOVABLE_MOVED), PROC_REF(on_defib_instance_qdel_or_moved)) -/obj/item/borg/upgrade/defib/backpack/proc/on_defib_instance_qdel_or_moved(obj/item/defibrillator/D) +/obj/item/borg/upgrade/defib/backpack/proc/on_defib_instance_qdel_or_moved(obj/item/defibrillator/defib) SIGNAL_HANDLER defib_instance = null if(!QDELETED(src)) @@ -556,10 +510,11 @@ QDEL_NULL(defib_instance) return ..() -/obj/item/borg/upgrade/defib/backpack/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/defib/backpack/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - defib_instance?.forceMove(R.drop_location()) // [on_defib_instance_qdel_or_moved()] handles the rest. + if(!.) + return . + defib_instance?.forceMove(borg.drop_location()) // [on_defib_instance_qdel_or_moved()] handles the rest. /obj/item/borg/upgrade/processor name = "medical cyborg surgical processor" @@ -571,105 +526,79 @@ model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL -/obj/item/borg/upgrade/processor/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - var/obj/item/borg/upgrade/processor/U = locate() in R - if(U) - to_chat(user, span_warning("This unit is already equipped with a surgical processor module!")) //check to see if we already have this module - return FALSE - var/obj/item/surgical_processor/SP = new(R.model) - R.model.basic_modules += SP - R.model.add_module(SP, FALSE, TRUE) - - for(var/obj/item/surgical_drapes/SD in R.model)// BUBBER EDIT Removes Surgical Drapes when processor is installed - R.model.remove_module(SD, TRUE) - -/obj/item/borg/upgrade/processor/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - var/obj/item/surgical_processor/SP = locate() in R.model - R.model.remove_module(SP, TRUE) - - var/obj/item/surgical_drapes/SD = new (R.model) // BUBBER EDIT Adds Surgical Drapes when Surgical Processor removed - R.model.basic_modules += SD - R.model.add_module(SD, FALSE, TRUE) + items_to_add = list(/obj/item/surgical_processor) /obj/item/borg/upgrade/ai name = "B.O.R.I.S. module" desc = "Bluespace Optimized Remote Intelligence Synchronization. An uplink device which takes the place of an MMI in cyborg endoskeletons, creating a robotic shell controlled by an AI." icon_state = "boris" -/obj/item/borg/upgrade/ai/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/ai/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - if(locate(/obj/item/borg/upgrade/ai) in R.upgrades) - to_chat(user, span_warning("This unit is already an AI shell!")) - return FALSE - if(R.key) //You cannot replace a player unless the key is completely removed. - to_chat(user, span_warning("Intelligence patterns detected in this [R.braintype]. Aborting.")) - return FALSE + if(!.) + return . + if(borg.key) //You cannot replace a player unless the key is completely removed. + to_chat(user, span_warning("Intelligence patterns detected in this [borg.braintype]. Aborting.")) + return FALSE - R.make_shell(src) + borg.make_shell(src) -/obj/item/borg/upgrade/ai/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/ai/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - if(R.shell) - R.undeploy() - R.notify_ai(AI_NOTIFICATION_AI_SHELL) + if(!. || !borg.shell) + return . + + borg.undeploy() + borg.notify_ai(AI_NOTIFICATION_AI_SHELL) /obj/item/borg/upgrade/expand name = "borg expander" desc = "A cyborg resizer, it makes a cyborg huge." icon_state = "cyborg_upgrade3" -/obj/item/borg/upgrade/expand/action(mob/living/silicon/robot/robot, user = usr) +/obj/item/borg/upgrade/expand/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(!. || HAS_TRAIT(robot, TRAIT_NO_TRANSFORM)) + if(!. || HAS_TRAIT(borg, TRAIT_NO_TRANSFORM)) return FALSE - if(robot.hasExpanded) + if(borg.hasExpanded) to_chat(usr, span_warning("This unit already has an expand module installed!")) return FALSE -/* // SKYRAT EDIT BEGIN - BUBBER EDIT REMOVAL - if(robot.model.model_select_icon == "nomod") - to_chat(usr, span_warning("Default models cannot take expand or shrink upgrades.")) - return FALSE - if((TRAIT_R_WIDE in robot.model.model_features) || (TRAIT_R_TALL in robot.model.model_features)) - to_chat(usr, span_warning("This unit's chassis cannot be enlarged any further.")) - return FALSE -*/ - // SKYRAT EDIT END - BUBBER EDIT REMOVAL - - ADD_TRAIT(robot, TRAIT_NO_TRANSFORM, REF(src)) - var/prev_lockcharge = robot.lockcharge - robot.SetLockdown(TRUE) - robot.set_anchored(TRUE) + // SKYRAT EDIT ADDITION BEGIN + var/resize_amount = 1.25 + if(TRAIT_R_WIDE in borg.model.model_features) + resize_amount = 1.25 + if(TRAIT_R_TALL in borg.model.model_features) + resize_amount = 1.05 + // SKYRAT EDIT ADDITION END + ADD_TRAIT(borg, TRAIT_NO_TRANSFORM, REF(src)) + var/prev_lockcharge = borg.lockcharge + borg.SetLockdown(TRUE) + borg.set_anchored(TRUE) var/datum/effect_system/fluid_spread/smoke/smoke = new - smoke.set_up(1, holder = robot, location = robot.loc) + smoke.set_up(1, holder = borg, location = borg.loc) smoke.start() sleep(0.2 SECONDS) for(var/i in 1 to 4) - playsound(robot, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, TRUE, -1) + playsound(borg, pick('sound/items/drill_use.ogg', 'sound/items/jaws_cut.ogg', 'sound/items/jaws_pry.ogg', 'sound/items/welder.ogg', 'sound/items/ratchet.ogg'), 80, TRUE, -1) sleep(1.2 SECONDS) if(!prev_lockcharge) - robot.SetLockdown(FALSE) - robot.set_anchored(FALSE) - REMOVE_TRAIT(robot, TRAIT_NO_TRANSFORM, REF(src)) - robot.hasExpanded = TRUE - robot.update_transform(1.5) // SKYRAT EDIT CHANGE - ORIGINAL: robot.update_transform(2) + borg.SetLockdown(FALSE) + borg.set_anchored(FALSE) + REMOVE_TRAIT(borg, TRAIT_NO_TRANSFORM, REF(src)) + borg.hasExpanded = TRUE + borg.update_transform(resize_amount) // SKYRAT EDIT CHANGE - ORIGINAL: borg.update_transform(2) -/obj/item/borg/upgrade/expand/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/expand/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - if (R.hasExpanded) - R.hasExpanded = FALSE - //R.update_transform(0.5) // Original - R.update_transform(0.8) // SKYRAT EDIT CHANGE + if(!.) + return . + if (borg.hasExpanded) + borg.hasExpanded = FALSE + borg.update_transform(0.8) // SKYRAT EDIT CHANGE - ORIGINAL: borg.update_transform(0.5) -/obj/item/borg/upgrade/rped//SKYRAT EDIT - ICON OVERRIDDEN BY AESTHETICS - SEE MODULE +/obj/item/borg/upgrade/rped name = "engineering cyborg RPED" desc = "A rapid part exchange device for the engineering cyborg." icon = 'icons/obj/storage/storage.dmi' @@ -678,25 +607,7 @@ model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING -/obj/item/borg/upgrade/rped/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - - var/obj/item/storage/part_replacer/bluespace/RPED = locate() in R.model.modules// BUBBER EDIT changed cyborg to the word bluespace and duplication protection - if(RPED) - to_chat(user, span_warning("This unit is already equipped with a RPED module!")) - return FALSE - - RPED = new(R.model) - R.model.basic_modules += RPED - R.model.add_module(RPED, FALSE, TRUE) - -/obj/item/borg/upgrade/rped/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - var/obj/item/storage/part_replacer/bluespace/RPED = locate() in R.model // BUBBER EDIT changed cyborg to the word bluespace - if (RPED) - R.model.remove_module(RPED, TRUE) + items_to_add = list(/obj/item/storage/part_replacer/cyborg) /obj/item/borg/upgrade/inducer name = "engineering integrated power inducer" @@ -705,24 +616,7 @@ model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING -/obj/item/borg/upgrade/inducer/action(mob/living/silicon/robot/silicon_friend, user = usr) - . = ..() - if(.) - var/obj/item/inducer/cyborg/inter_inducer = locate() in silicon_friend - if(inter_inducer) - silicon_friend.balloon_alert(user, "already has one!") - return FALSE - - inter_inducer = new(silicon_friend.model) - silicon_friend.model.basic_modules += inter_inducer - silicon_friend.model.add_module(inter_inducer, FALSE, TRUE) - -/obj/item/borg/upgrade/inducer/deactivate(mob/living/silicon/robot/silicon_friend, user = usr) - . = ..() - if(.) - var/obj/item/inducer/cyborg/inter_inducer = locate() in silicon_friend.model - if(inter_inducer) - silicon_friend.model.remove_module(inter_inducer, TRUE) + items_to_add = list(/obj/item/inducer/cyborg) /obj/item/inducer/cyborg name = "Internal inducer" @@ -747,39 +641,32 @@ require_model = TRUE model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL + + items_to_add = list(/obj/item/pinpointer/crew) var/datum/action/crew_monitor -/obj/item/borg/upgrade/pinpointer/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/pinpointer/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if(.) - - var/obj/item/pinpointer/crew/PP = locate() in R.model - if(PP) - to_chat(user, span_warning("This unit is already equipped with a pinpointer module!")) - return FALSE - - PP = new(R.model) - R.model.basic_modules += PP - R.model.add_module(PP, FALSE, TRUE) - crew_monitor = new /datum/action/item_action/crew_monitor(src) - crew_monitor.Grant(R) - icon_state = "scanner" + if(!.) + return . + crew_monitor = new /datum/action/item_action/crew_monitor(src) + crew_monitor.Grant(borg) + icon_state = "scanner" -/obj/item/borg/upgrade/pinpointer/deactivate(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/pinpointer/deactivate(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() - if (.) - icon_state = "pinpointer_crew" - crew_monitor.Remove(R) - QDEL_NULL(crew_monitor) - var/obj/item/pinpointer/crew/PP = locate() in R.model - R.model.remove_module(PP, TRUE) + if(!.) + return . + icon_state = "pinpointer_crew" + crew_monitor.Remove(borg) + QDEL_NULL(crew_monitor) /obj/item/borg/upgrade/pinpointer/ui_action_click() if(..()) return - var/mob/living/silicon/robot/Cyborg = usr - GLOB.crewmonitor.show(Cyborg,Cyborg) + var/mob/living/silicon/robot/borg = usr + GLOB.crewmonitor.show(borg,borg) /datum/action/item_action/crew_monitor name = "Interface With Crew Monitor" @@ -791,10 +678,10 @@ icon_state = "cyborg_upgrade3" var/obj/item/robot_model/new_model = null -/obj/item/borg/upgrade/transform/action(mob/living/silicon/robot/R, user = usr) +/obj/item/borg/upgrade/transform/action(mob/living/silicon/robot/borg, mob/living/user = usr) . = ..() if(. && new_model) - R.model.transform_to(new_model) + borg.model.transform_to(new_model) /obj/item/borg/upgrade/transform/clown name = "borg model picker (Clown)" @@ -810,24 +697,7 @@ model_type = list(/obj/item/robot_model/engineering, /obj/item/robot_model/saboteur) model_flags = BORG_MODEL_ENGINEERING -/obj/item/borg/upgrade/circuit_app/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - var/obj/item/borg/apparatus/circuit/C = locate() in R.model.modules - if(C) - to_chat(user, span_warning("This unit is already equipped with a circuit apparatus!")) - return FALSE - - C = new(R.model) - R.model.basic_modules += C - R.model.add_module(C, FALSE, TRUE) - -/obj/item/borg/upgrade/circuit_app/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - var/obj/item/borg/apparatus/circuit/C = locate() in R.model.modules - if (C) - R.model.remove_module(C, TRUE) + items_to_add = list(/obj/item/borg/apparatus/circuit) /obj/item/borg/upgrade/beaker_app name = "beaker storage apparatus" @@ -837,24 +707,7 @@ model_type = list(/obj/item/robot_model/medical) model_flags = BORG_MODEL_MEDICAL -/obj/item/borg/upgrade/beaker_app/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - var/obj/item/borg/apparatus/beaker/extra/E = locate() in R.model.modules - if(E) - to_chat(user, span_warning("This unit has no room for additional beaker storage!")) - return FALSE - - E = new(R.model) - R.model.basic_modules += E - R.model.add_module(E, FALSE, TRUE) - -/obj/item/borg/upgrade/beaker_app/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - var/obj/item/borg/apparatus/beaker/extra/E = locate() in R.model.modules - if (E) - R.model.remove_module(E, TRUE) + items_to_add = list(/obj/item/borg/apparatus/beaker/extra) /obj/item/borg/upgrade/drink_app name = "glass storage apparatus" @@ -864,24 +717,7 @@ model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/drink_app/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if(.) - var/obj/item/borg/apparatus/beaker/drink/E = locate() in R.model.modules - if(E) - to_chat(user, span_warning("This unit has no room for additional drink storage!")) - return FALSE - - E = new(R.model) - R.model.basic_modules += E - R.model.add_module(E, FALSE, TRUE) - -/obj/item/borg/upgrade/drink_app/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (.) - var/obj/item/borg/apparatus/beaker/drink/E = locate() in R.model.modules - if (E) - R.model.remove_module(E, TRUE) + items_to_add = list(/obj/item/borg/apparatus/beaker/drink) /obj/item/borg/upgrade/broomer name = "experimental push broom" @@ -891,25 +727,7 @@ model_type = list(/obj/item/robot_model/janitor) model_flags = BORG_MODEL_JANITOR -/obj/item/borg/upgrade/broomer/action(mob/living/silicon/robot/R, user = usr) - . = ..() - if (!.) - return - var/obj/item/pushbroom/cyborg/BR = locate() in R.model.modules - if (BR) - to_chat(user, span_warning("This janiborg is already equipped with an experimental broom!")) - return FALSE - BR = new(R.model) - R.model.basic_modules += BR - R.model.add_module(BR, FALSE, TRUE) - -/obj/item/borg/upgrade/broomer/deactivate(mob/living/silicon/robot/R, user = usr) - . = ..() - if (!.) - return - var/obj/item/pushbroom/cyborg/BR = locate() in R.model.modules - if (BR) - R.model.remove_module(BR, TRUE) + items_to_add = list(/obj/item/pushbroom/cyborg) /obj/item/borg/upgrade/condiment_synthesizer name = "Service Cyborg Condiment Synthesiser" @@ -919,25 +737,7 @@ model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/condiment_synthesizer/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - var/obj/item/reagent_containers/borghypo/condiment_synthesizer/cynthesizer = locate() in install.model.modules - if(cynthesizer) - install.balloon_alert_to_viewers("already installed!") - return FALSE - cynthesizer = new(install.model) - install.model.basic_modules += cynthesizer - install.model.add_module(cynthesizer, FALSE, TRUE) - -/obj/item/borg/upgrade/condiment_synthesizer/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - var/obj/item/reagent_containers/borghypo/condiment_synthesizer/cynthesizer = locate() in install.model.modules - if (cynthesizer) - install.model.remove_module(cynthesizer, TRUE) + items_to_add = list(/obj/item/reagent_containers/borghypo/condiment_synthesizer) /obj/item/borg/upgrade/silicon_knife name = "Service Cyborg Kitchen Toolset" @@ -947,25 +747,7 @@ model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/silicon_knife/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - var/obj/item/knife/kitchen/silicon/snife = locate() in install.model.modules - if(snife) - install.balloon_alert_to_viewers("already installed!") - return FALSE - snife = new(install.model) - install.model.basic_modules += snife - install.model.add_module(snife, FALSE, TRUE) - -/obj/item/borg/upgrade/silicon_knife/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - var/obj/item/knife/kitchen/silicon/snife = locate() in install.model.modules - if (snife) - install.model.remove_module(snife, TRUE) + items_to_add = list(/obj/item/knife/kitchen/silicon) /obj/item/borg/upgrade/service_apparatus name = "Service Cyborg Service Apparatus" @@ -975,54 +757,16 @@ model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/service_apparatus/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - var/obj/item/borg/apparatus/service/saparatus = locate() in install.model.modules - if(saparatus) - install.balloon_alert_to_viewers("already installed!") - return FALSE - saparatus = new(install.model) - install.model.basic_modules += saparatus - install.model.add_module(saparatus, FALSE, TRUE) - -/obj/item/borg/upgrade/service_apparatus/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - var/obj/item/borg/apparatus/service/saparatus = locate() in install.model.modules - if (saparatus) - install.model.remove_module(saparatus, TRUE) + items_to_add = list(/obj/item/borg/apparatus/service) /obj/item/borg/upgrade/rolling_table name = "Service Cyborg Rolling Table Dock" desc = "An upgrade to the service model cyborg, to help provide mobile service." icon_state = "cyborg_upgrade3" require_model = TRUE - model_type = list(/obj/item/robot_model/service) + model_type = list(/obj/item/rolling_table_dock) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/rolling_table/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - var/obj/item/rolling_table_dock/rtable = locate() in install.model.modules - if(rtable) - install.balloon_alert_to_viewers("already installed!") - return FALSE - rtable = new(install.model) - install.model.basic_modules += rtable - install.model.add_module(rtable, FALSE, TRUE) - -/obj/item/borg/upgrade/rolling_table/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - var/obj/item/rolling_table_dock/rtable = locate() in install.model.modules - if (rtable) - install.model.remove_module(rtable, TRUE) - /obj/item/borg/upgrade/service_cookbook name = "Service Cyborg Cookbook" desc = "An upgrade to the service model cyborg, that lets them create more foods." @@ -1031,25 +775,7 @@ model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE -/obj/item/borg/upgrade/service_cookbook/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - var/obj/item/borg/cookbook/book = locate() in install.model.modules - if(book) - install.balloon_alert_to_viewers("already installed!") - return FALSE - book = new(install.model) - install.model.basic_modules += book - install.model.add_module(book, FALSE, TRUE) - -/obj/item/borg/upgrade/service_cookbook/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - var/obj/item/borg/cookbook/book = locate() in install.model.modules - if(book) - install.model.remove_module(book, TRUE) + model_type = list(/obj/item/borg/cookbook) ///This isn't an upgrade or part of the same path, but I'm gonna just stick it here because it's a tool used on cyborgs. //A reusable tool that can bring borgs back to life. They gotta be repaired first, though. diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 63625536b74b5..20b79bdfa71d3 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -11,7 +11,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ new/datum/stack_recipe("ladder", /obj/structure/ladder/crafted, 15, time = 15 SECONDS, crafting_flags = CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ new/datum/stack_recipe("catwalk floor tile", /obj/item/stack/tile/catwalk_tile, 1, 4, 20, category = CAT_TILES), \ new/datum/stack_recipe("stairs frame", /obj/structure/stairs_frame, 10, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ - new/datum/stack_recipe("white cane", /obj/item/cane/white, 3, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY, category = CAT_TOOLS), \ + new/datum/stack_recipe("probing cane", /obj/item/cane/white, 3, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY, category = CAT_TOOLS), \ new/datum/stack_recipe("sharpened iron rod", /obj/item/ammo_casing/rebar, 1, time = 0.2 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY, category = CAT_WEAPON_AMMO), \ )) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index f70ff73eee5a2..085611e03f042 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -344,6 +344,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_CONTAINERS),\ new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE),\ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 1.5 SECONDS, crafting_flags = NONE, category = CAT_WEAPON_MELEE),\ + new/datum/stack_recipe("wooden crutch", /obj/item/cane/crutch/wood, 5, time = 1.5 SECONDS, crafting_flags = NONE, category = CAT_WEAPON_MELEE),\ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/cup/mortar, 3, crafting_flags = NONE, category = CAT_CHEMISTRY), \ new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 10 SECONDS, crafting_flags = NONE, category = CAT_TOOLS), \ diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 9bb61e847b72d..b4185732ce96c 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -7,6 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' usesound = 'sound/items/crowbar.ogg' + operating_sound = 'sound/items/crowbar_prying.ogg' obj_flags = CONDUCTS_ELECTRICITY slot_flags = ITEM_SLOT_BELT force = 5 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 02765122a134d..b9e0d15e69f6e 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -22,6 +22,7 @@ attack_verb_simple = list("stab") hitsound = 'sound/weapons/bladeslice.ogg' usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg') + operating_sound = 'sound/items/screwdriver_operating.ogg' tool_behaviour = TOOL_SCREWDRIVER toolspeed = 1 armor_type = /datum/armor/item_screwdriver diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 46b33edc79aa8..380ff539b2bfe 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -24,6 +24,7 @@ attack_verb_simple = list("pinch", "nip") hitsound = 'sound/items/wirecutter.ogg' usesound = 'sound/items/wirecutter.ogg' + operating_sound = 'sound/items/wirecutter_cut.ogg' drop_sound = 'sound/items/handling/wirecutter_drop.ogg' pickup_sound = 'sound/items/handling/wirecutter_pickup.ogg' tool_behaviour = TOOL_WIRECUTTER diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 8fbb681acfc3a..aa72b5d257ac6 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -14,6 +14,7 @@ demolition_mod = 1.25 w_class = WEIGHT_CLASS_SMALL usesound = 'sound/items/ratchet.ogg' + operating_sound = list('sound/items/ratchet_fast.ogg', 'sound/items/ratchet_slow.ogg') custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*1.5) drop_sound = 'sound/items/handling/wrench_drop.ogg' pickup_sound = 'sound/items/handling/wrench_pickup.ogg' diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index f7717da19e795..9c7a87efd723e 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -505,9 +505,88 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_verb_continuous = list("bludgeons", "whacks", "disciplines", "thrashes") attack_verb_simple = list("bludgeon", "whack", "discipline", "thrash") +/obj/item/cane/examine(mob/user, thats) + . = ..() + . += span_notice("This item can be used to support your weight, preventing limping from any broken bones on your legs you may have.") + +/obj/item/cane/equipped(mob/living/user, slot, initial) + ..() + if(!(slot & ITEM_SLOT_HANDS)) + return + movement_support_add(user) + +/obj/item/cane/dropped(mob/living/user, silent = FALSE) + . = ..() + movement_support_del(user) + +/obj/item/cane/proc/movement_support_add(mob/living/user) + RegisterSignal(user, COMSIG_CARBON_LIMPING, PROC_REF(handle_limping)) + return TRUE + +/obj/item/cane/proc/movement_support_del(mob/living/user) + UnregisterSignal(user, list(COMSIG_CARBON_LIMPING)) + return TRUE + +/obj/item/cane/proc/handle_limping(mob/living/user) + SIGNAL_HANDLER + return COMPONENT_CANCEL_LIMP + +/obj/item/cane/crutch + name = "medical crutch" + desc = "A medical crutch used by people missing a leg. Not all that useful if you're missing both of them, though." + icon = 'icons/obj/weapons/staff.dmi' + icon_state = "crutch_med" + inhand_icon_state = "crutch_med" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + force = 12 + throwforce = 8 + w_class = WEIGHT_CLASS_BULKY + custom_materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 0.5) + attack_verb_continuous = list("bludgeons", "whacks", "thrashes") + attack_verb_simple = list("bludgeon", "whack", "thrash") + +/obj/item/cane/crutch/examine(mob/user, thats) + . = ..() + // tacked on after the cane string + . += span_notice("As a crutch, it can also help lessen the slowdown incurred by missing a leg.") + +/obj/item/cane/crutch/movement_support_add(mob/living/user) + . = ..() + if(!.) + return + RegisterSignal(user, COMSIG_LIVING_LIMBLESS_SLOWDOWN, PROC_REF(handle_slowdown)) + user.update_usable_leg_status() + user.AddElementTrait(TRAIT_WADDLING, REF(src), /datum/element/waddling) + +/obj/item/cane/crutch/movement_support_del(mob/living/user) + . = ..() + if(!.) + return + UnregisterSignal(user, list(COMSIG_LIVING_LIMBLESS_SLOWDOWN, COMSIG_CARBON_LIMPING)) + user.update_usable_leg_status() + REMOVE_TRAIT(user, TRAIT_WADDLING, REF(src)) + +/obj/item/cane/crutch/proc/handle_slowdown(mob/living/user, limbless_slowdown, list/slowdown_mods) + SIGNAL_HANDLER + var/leg_amount = user.usable_legs + // Don't do anything if the number is equal (or higher) to the usual. + if(leg_amount >= user.default_num_legs) + return + // If we have at least one leg and it's less than the default, reduce slowdown by 60%. + if(leg_amount && (leg_amount < user.default_num_legs)) + slowdown_mods += 0.4 + +/obj/item/cane/crutch/wood + name = "wooden crutch" + desc = "A handmade crutch. Also makes a decent bludgeon if you need it." + icon_state = "crutch_wood" + inhand_icon_state = "crutch_wood" + custom_materials = list(/datum/material/wood = SMALL_MATERIAL_AMOUNT * 0.5) + /obj/item/cane/white name = "white cane" - desc = "A cane traditionally used by the blind to help them see. Folds down to be easier to transport." + desc = "Traditionally used by the blind to help them see. Folds down to be easier to transport." icon_state = "cane_white" inhand_icon_state = "cane_white" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' @@ -530,6 +609,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) ADD_TRAIT(src, TRAIT_BLIND_TOOL, INNATE_TRAIT) +/obj/item/cane/white/handle_limping(mob/living/user) + return HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? COMPONENT_CANCEL_LIMP : NONE + /* * Signal proc for [COMSIG_TRANSFORMING_ON_TRANSFORM]. * diff --git a/code/game/objects/structures/cat_house.dm b/code/game/objects/structures/cat_house.dm index 8baa9ce241601..bfaa464ff6d09 100644 --- a/code/game/objects/structures/cat_house.dm +++ b/code/game/objects/structures/cat_house.dm @@ -1,6 +1,6 @@ /obj/structure/cat_house name = "cat house" - desc = "cozy home for cats" + desc = "Cozy home for cats." icon = 'icons/mob/simple/pets.dmi' icon_state = "cat_house" density = TRUE diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index acbd7bfa39539..9aef99482a0b1 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -382,7 +382,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) context[SCREENTIP_CONTEXT_RMB] = anchored ? "Unanchor" : "Anchor" screentip_change = TRUE - if(!locked && (welded || !can_weld_shut)) + if(!locked && !opened && (welded || !can_weld_shut)) if(!secure) if(!broken && can_install_electronics && istype(held_item, /obj/item/electronics/airlock)) context[SCREENTIP_CONTEXT_LMB] = "Install Electronics" @@ -644,7 +644,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /// check if we can install airlock electronics in this closet /obj/structure/closet/proc/can_install_airlock_electronics(mob/user) - if(secure || !can_install_electronics || !(welded || !can_weld_shut)) + if(secure || !can_install_electronics || opened) return FALSE if(broken) @@ -659,9 +659,11 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /// check if we can unscrew airlock electronics from this closet /obj/structure/closet/proc/can_unscrew_airlock_electronics(mob/user) - if(!secure || !(welded || !can_weld_shut)) + if(!secure || opened) + return FALSE + if(card_reader_installed) + balloon_alert(user, "attached to reader!") return FALSE - if(locked) balloon_alert(user, "unlock first!") return FALSE @@ -670,7 +672,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /// check if we can install card reader in this closet /obj/structure/closet/proc/can_install_card_reader(mob/user) - if(card_reader_installed || !can_install_electronics || !length(access_choices) || !(welded || !can_weld_shut)) + if(card_reader_installed || !can_install_electronics || !length(access_choices) || opened) return FALSE if(broken) @@ -689,7 +691,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) /// check if we can pry out the card reader from this closet /obj/structure/closet/proc/can_pryout_card_reader(mob/user) - if(!card_reader_installed || !(welded || !can_weld_shut)) + if(!card_reader_installed || opened) return FALSE if(locked) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index 1f8f3a69903ec..feb9cff2f00c1 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -42,7 +42,7 @@ return switch(choice) if("Underwear") - var/new_undies = tgui_input_list(user, "Select your underwear", "Changing", GLOB.underwear_list) + var/new_undies = tgui_input_list(user, "Select your underwear", "Changing", SSaccessories.underwear_list) if(new_undies) dressing_human.underwear = new_undies if("Underwear Color") @@ -50,11 +50,11 @@ if(new_underwear_color) dressing_human.underwear_color = sanitize_hexcolor(new_underwear_color) if("Undershirt") - var/new_undershirt = tgui_input_list(user, "Select your undershirt", "Changing", GLOB.undershirt_list) + var/new_undershirt = tgui_input_list(user, "Select your undershirt", "Changing", SSaccessories.undershirt_list) if(new_undershirt) dressing_human.undershirt = new_undershirt if("Socks") - var/new_socks = tgui_input_list(user, "Select your socks", "Changing", GLOB.socks_list) + var/new_socks = tgui_input_list(user, "Select your socks", "Changing", SSaccessories.socks_list) if(new_socks) dressing_human.socks = new_socks //SKYRAT EDIT ADDITION BEGIN - Colorable Undershirt/Socks/Bras @@ -68,7 +68,7 @@ dressing_human.socks_color = sanitize_hexcolor(new_socks_color) if("Bra") - var/new_bra = tgui_input_list(user, "Select your Bra", "Changing", GLOB.bra_list) + var/new_bra = tgui_input_list(user, "Select your Bra", "Changing", SSaccessories.bra_list) if(new_bra) dressing_human.bra = new_bra diff --git a/code/game/objects/structures/mannequin.dm b/code/game/objects/structures/mannequin.dm index 6ee4d79f522e1..c529688376339 100644 --- a/code/game/objects/structures/mannequin.dm +++ b/code/game/objects/structures/mannequin.dm @@ -95,23 +95,23 @@ var/mutable_appearance/pedestal = mutable_appearance(icon, "pedestal_[material]") pedestal.pixel_y = -3 . += pedestal - var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[underwear_name] + var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[underwear_name] if(underwear) if(body_type == FEMALE && underwear.gender == MALE) . += wear_female_version(underwear.icon_state, underwear.icon, BODY_LAYER, FEMALE_UNIFORM_FULL) else . += mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) - var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[undershirt_name] + var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[undershirt_name] if(undershirt) if(body_type == FEMALE) . += wear_female_version(undershirt.icon_state, undershirt.icon, BODY_LAYER) else . += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) - var/datum/sprite_accessory/socks/socks = GLOB.socks_list[socks_name] + var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[socks_name] if(socks) . += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) //SKYRAT EDIT ADDITION BEGIN - Underwear and Bra split - var/datum/sprite_accessory/bra/bra = GLOB.bra_list[bra_name] + var/datum/sprite_accessory/bra/bra = SSaccessories.bra_list[bra_name] if(bra) . += mutable_appearance(bra.icon, bra.icon_state, -BODY_LAYER) //SKYRAT EDIT END @@ -174,20 +174,20 @@ return switch(choice) if("Underwear") - var/new_undies = tgui_input_list(user, "Select the mannequin's underwear", "Changing", GLOB.underwear_list) + var/new_undies = tgui_input_list(user, "Select the mannequin's underwear", "Changing", SSaccessories.underwear_list) if(new_undies) underwear_name = new_undies if("Undershirt") - var/new_undershirt = tgui_input_list(user, "Select the mannequin's undershirt", "Changing", GLOB.undershirt_list) + var/new_undershirt = tgui_input_list(user, "Select the mannequin's undershirt", "Changing", SSaccessories.undershirt_list) if(new_undershirt) undershirt_name = new_undershirt if("Socks") - var/new_socks = tgui_input_list(user, "Select the mannequin's socks", "Changing", GLOB.socks_list) + var/new_socks = tgui_input_list(user, "Select the mannequin's socks", "Changing", SSaccessories.socks_list) if(new_socks) socks_name = new_socks //SKYRAT EDIT ADDITION BEGIN - Underwear and Bra split if("Bra") - var/new_bra = tgui_input_list(user, "Select the mannequin's bra", "Changing", GLOB.bra_list) + var/new_bra = tgui_input_list(user, "Select the mannequin's bra", "Changing", SSaccessories.bra_list) if(new_bra) bra_name = new_bra //SKYRAT EDIT END diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index 21452c0895d15..8166671b6e8eb 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -118,7 +118,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) beard_dresser.set_facial_hairstyle("Shaved", update = TRUE) return TRUE - var/new_style = tgui_input_list(beard_dresser, "Select a facial hairstyle", "Grooming", GLOB.facial_hairstyles_list) + var/new_style = tgui_input_list(beard_dresser, "Select a facial hairstyle", "Grooming", SSaccessories.facial_hairstyles_list) if(isnull(new_style)) return TRUE @@ -131,7 +131,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) beard_dresser.set_facial_hairstyle(new_style, update = TRUE) /obj/structure/mirror/proc/change_hair(mob/living/carbon/human/hairdresser) - var/new_style = tgui_input_list(hairdresser, "Select a hairstyle", "Grooming", GLOB.hairstyles_list) + var/new_style = tgui_input_list(hairdresser, "Select a hairstyle", "Grooming", SSaccessories.hairstyles_list) if(isnull(new_style)) return TRUE if(HAS_TRAIT(hairdresser, TRAIT_BALD)) @@ -331,7 +331,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror/broken, 28) selectable_races = sort_list(selectable_races) /obj/structure/mirror/magic/change_beard(mob/living/carbon/human/beard_dresser) // magical mirrors do nothing but give you the damn beard - var/new_style = tgui_input_list(beard_dresser, "Select a facial hairstyle", "Grooming", GLOB.facial_hairstyles_list) + var/new_style = tgui_input_list(beard_dresser, "Select a facial hairstyle", "Grooming", SSaccessories.facial_hairstyles_list) if(isnull(new_style)) return TRUE beard_dresser.set_facial_hairstyle(new_style, update = TRUE) diff --git a/code/game/turfs/change_turf.dm b/code/game/turfs/change_turf.dm index 60462cafbd148..a1f6455615320 100644 --- a/code/game/turfs/change_turf.dm +++ b/code/game/turfs/change_turf.dm @@ -184,7 +184,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( space_tile.enable_starlight() //SKYRAT EDIT ADDITION if(old_liquids) - if(new_turf.liquids) + if(!isnull(new_turf.liquids)) //isnull is faster var/liquid_cache = new_turf.liquids //Need to cache and re-set some vars due to the cleaning on Destroy(), and turf references if(old_liquids.immutable) old_liquids.remove_turf(src) @@ -193,7 +193,7 @@ GLOBAL_LIST_INIT(blacklisted_automated_baseturfs, typecacheof(list( new_turf.liquids = liquid_cache new_turf.liquids.my_turf = new_turf else - if(flags & CHANGETURF_INHERIT_AIR) + if((flags & CHANGETURF_INHERIT_AIR) && !isspaceturf(new_turf)) new_turf.liquids = old_liquids old_liquids.my_turf = new_turf if(old_liquids.immutable) diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 35fe73c101c5e..7f9177949dd73 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -157,6 +157,9 @@ /turf/open/indestructible/light icon_state = "light_on-1" + light_range = 3 + light_color = LIGHT_COLOR_CYAN + light_on = TRUE /turf/open/indestructible/permalube icon_state = "darkfull" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index a2b1dd909b65d..8f301da6816ce 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -108,6 +108,7 @@ GLOBAL_LIST_EMPTY(station_turfs) /// Never directly access this, use get_explosive_block() instead var/inherent_explosive_resistance = -1 + /turf/vv_edit_var(var_name, new_value) var/static/list/banned_edits = list(NAMEOF_STATIC(src, x), NAMEOF_STATIC(src, y), NAMEOF_STATIC(src, z)) if(var_name in banned_edits) @@ -188,6 +189,7 @@ GLOBAL_LIST_EMPTY(station_turfs) . = QDEL_HINT_IWILLGC if(!changing_turf) stack_trace("Incorrect turf deletion") + changing_turf = FALSE if(GET_LOWEST_STACK_OFFSET(z)) var/turf/T = GET_TURF_ABOVE(src) @@ -196,6 +198,7 @@ GLOBAL_LIST_EMPTY(station_turfs) T = GET_TURF_BELOW(src) if(T) T.multiz_turf_del(src, UP) + if(force) ..() //this will completely wipe turf state @@ -203,6 +206,7 @@ GLOBAL_LIST_EMPTY(station_turfs) for(var/A in B.contents) qdel(A) return + LAZYCLEARLIST(blueprint_data) flags_1 &= ~INITIALIZED_1 requires_activation = FALSE diff --git a/code/modules/actionspeed/_actionspeed_modifier.dm b/code/modules/actionspeed/_actionspeed_modifier.dm index 761bfc3ff74a4..36b9b9c860dec 100644 --- a/code/modules/actionspeed/_actionspeed_modifier.dm +++ b/code/modules/actionspeed/_actionspeed_modifier.dm @@ -40,7 +40,8 @@ can next move /datum/actionspeed_modifier/New(init_id) . = ..() - id = init_id + if(init_id) + id = init_id if(!id) id = "[type]" //We turn the path into a string. diff --git a/code/modules/admin/verbs/borgpanel.dm b/code/modules/admin/verbs/borgpanel.dm index 6a8e1efdb5656..f0f2fc4a8f076 100644 --- a/code/modules/admin/verbs/borgpanel.dm +++ b/code/modules/admin/verbs/borgpanel.dm @@ -134,17 +134,19 @@ ADMIN_VERB(borg_panel, R_ADMIN, "Show Borg Panel", ADMIN_VERB_NO_DESCRIPTION, AD borg.fully_replace_character_name(borg.real_name,new_name) if ("toggle_upgrade") var/upgradepath = text2path(params["upgrade"]) - var/obj/item/borg/upgrade/installedupgrade = locate(upgradepath) in borg + var/obj/item/borg/upgrade/installedupgrade = locate(upgradepath) in borg.upgrades if (installedupgrade) message_admins("[key_name_admin(user)] removed the [installedupgrade] upgrade from [ADMIN_LOOKUPFLW(borg)].") log_silicon("[key_name(user)] removed the [installedupgrade] upgrade from [key_name(borg)].") qdel(installedupgrade) // see [mob/living/silicon/robot/on_upgrade_deleted()]. else var/obj/item/borg/upgrade/upgrade = new upgradepath(borg) - upgrade.action(borg, user) - borg.upgrades += upgrade message_admins("[key_name_admin(user)] added the [upgrade] borg upgrade to [ADMIN_LOOKUPFLW(borg)].") log_silicon("[key_name(user)] added the [upgrade] borg upgrade to [key_name(borg)].") + if(upgrade.action(borg, user)) + borg.add_to_upgrades(upgrade) + else + qdel(upgrade) if ("toggle_radio") var/channel = params["channel"] if (channel in borg.radio.channels) // We're removing a channel diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 601c96be340ce..9d2abfe623314 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -3,11 +3,22 @@ desc = "We shift almost all available muscle mass from the arms to the legs, disabling the former but making us unable to be downed for 15 seconds. Costs 10 chemicals." helptext = "Disables your arms and retracts bioweaponry, but regenerates your legs, grants you speed, and wakes you up from any stun." button_icon_state = "adrenaline" - chemical_cost = 10 - dna_cost = 1 + chemical_cost = 25 // similar cost to biodegrade, as they serve similar purposes + dna_cost = 2 req_human = FALSE req_stat = CONSCIOUS +/datum/action/changeling/adrenaline/can_sting(mob/living/user, mob/living/target) + . = ..() + if(!.) + return FALSE + + if(HAS_TRAIT_FROM(user, TRAIT_IGNOREDAMAGESLOWDOWN, CHANGELING_TRAIT)) + user.balloon_alert(user, "already boosted!") + return FALSE + + return . + //Recover from stuns. /datum/action/changeling/adrenaline/sting_action(mob/living/carbon/user) ..() @@ -17,13 +28,12 @@ weapon_ability.unequip_held(user) // Destroy legcuffs with our IMMENSE LEG STRENGTH. - if(user.legcuffed) - var/obj/O = user.get_item_by_slot(ITEM_SLOT_LEGCUFFED) - if(!istype(O)) - return FALSE - qdel(O) - user.visible_message(span_warning("[user]'s legs suddenly rip [O] apart!"), \ - span_warning("We rip apart our leg restraints!")) + if(istype(user.legcuffed)) + user.visible_message( + span_warning("[user]'s legs suddenly rip [user.legcuffed] apart!"), + span_warning("We rip apart our leg restraints!"), + ) + qdel(user.legcuffed) // Regenerate our legs only. var/our_leg_zones = (GLOB.all_body_zones - GLOB.leg_zones) @@ -32,7 +42,7 @@ user.add_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) // Revert above mob changes. - addtimer(CALLBACK(src, PROC_REF(unsting_action), user), 20 SECONDS) + addtimer(CALLBACK(src, PROC_REF(unsting_action), user), 20 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) // Get us standing up. user.SetAllImmobility(0) @@ -47,4 +57,3 @@ /datum/action/changeling/adrenaline/proc/unsting_action(mob/living/user) to_chat(user, span_changeling("The muscles in our limbs shift back to their usual places.")) user.remove_traits(list(TRAIT_IGNOREDAMAGESLOWDOWN, TRAIT_PARALYSIS_L_ARM, TRAIT_PARALYSIS_R_ARM), CHANGELING_TRAIT) - return diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index a0b568bb74b86..21e7de94fe881 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -153,7 +153,7 @@ //Cult Blood Spells /datum/action/innate/cult/blood_spell/stun name = "Stun" - desc = "Empowers your hand to stun and mute a victim on contact." + desc = "Empowers your hand to stun and mute a victim on contact. Gets weaker depending on how many have joined the Cult." button_icon_state = "hand" magic_path = "/obj/item/melee/blood_magic/stun" health_cost = 10 @@ -416,7 +416,10 @@ return if(IS_CULTIST(target)) return - if(IS_CULTIST(user)) + var/datum/antagonist/cult/cultist = IS_CULTIST(user) + if(!isnull(cultist)) + var/datum/team/cult/cult_team = cultist.get_team() + var/effect_coef = 1 - (cult_team.cult_risen ? 0.4 : 0) - (cult_team.cult_ascendent ? 0.5 : 0) user.visible_message(span_warning("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), \ span_cult_italic("You attempt to stun [target] with the spell!")) user.mob_light(range = 1.1, power = 2, color = LIGHT_COLOR_BLOOD_MAGIC, duration = 0.2 SECONDS) @@ -440,17 +443,17 @@ to_chat(user, span_warning("The spell had no effect!")) else to_chat(user, span_cult_italic("In a brilliant flash of red, [target] falls to the ground!")) - target.Paralyze(16 SECONDS) + target.Paralyze(16 SECONDS * effect_coef) target.flash_act(1, TRUE) if(issilicon(target)) var/mob/living/silicon/silicon_target = target silicon_target.emp_act(EMP_HEAVY) else if(iscarbon(target)) var/mob/living/carbon/carbon_target = target - carbon_target.adjust_silence(12 SECONDS) - carbon_target.adjust_stutter(30 SECONDS) - carbon_target.adjust_timed_status_effect(30 SECONDS, /datum/status_effect/speech/slurring/cult) - carbon_target.set_jitter_if_lower(30 SECONDS) + carbon_target.adjust_silence(12 SECONDS * effect_coef) + carbon_target.adjust_stutter(30 SECONDS * effect_coef) + carbon_target.adjust_timed_status_effect(30 SECONDS * effect_coef, /datum/status_effect/speech/slurring/cult) + carbon_target.set_jitter_if_lower(30 SECONDS * effect_coef) uses-- ..() diff --git a/code/modules/antagonists/cult/cult_other.dm b/code/modules/antagonists/cult/cult_other.dm new file mode 100644 index 0000000000000..82b342b87ef50 --- /dev/null +++ b/code/modules/antagonists/cult/cult_other.dm @@ -0,0 +1,34 @@ +/datum/outfit/cultist + name = "Cultist (Preview only)" + + uniform = /obj/item/clothing/under/color/black + suit = /obj/item/clothing/suit/hooded/cultrobes/alt + head = /obj/item/clothing/head/hooded/cult_hoodie/alt + shoes = /obj/item/clothing/shoes/cult/alt + r_hand = /obj/item/melee/blood_magic/stun + +/datum/outfit/cultist/post_equip(mob/living/carbon/human/equipped, visualsOnly) + equipped.eye_color_left = BLOODCULT_EYE + equipped.eye_color_right = BLOODCULT_EYE + equipped.update_body() + +///Returns whether the given mob is convertable to the blood cult +/proc/is_convertable_to_cult(mob/living/target, datum/team/cult/specific_cult) + if(!istype(target)) + return FALSE + if(isnull(target.mind) || !GET_CLIENT(target)) + return FALSE + if(target.mind.unconvertable) + return FALSE + if(ishuman(target) && target.mind.holy_role) + return FALSE + if(specific_cult?.is_sacrifice_target(target.mind)) + return FALSE + var/mob/living/master = target.mind.enslaved_to?.resolve() + if(master && !IS_CULTIST(master)) + return FALSE + if(IS_HERETIC_OR_MONSTER(target)) + return FALSE + if(HAS_TRAIT(target, TRAIT_MINDSHIELD) || issilicon(target) || isbot(target) || isdrone(target)) + return FALSE //can't convert machines, shielded, or braindead + return TRUE diff --git a/code/modules/antagonists/cult/constructs.dm b/code/modules/antagonists/cult/datums/constructs.dm similarity index 100% rename from code/modules/antagonists/cult/constructs.dm rename to code/modules/antagonists/cult/datums/constructs.dm diff --git a/code/modules/antagonists/cult/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm similarity index 100% rename from code/modules/antagonists/cult/cult_team.dm rename to code/modules/antagonists/cult/datums/cult_team.dm diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/datums/cultist.dm similarity index 90% rename from code/modules/antagonists/cult/cult.dm rename to code/modules/antagonists/cult/datums/cultist.dm index e6faa911ee458..1129af14055f2 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/datums/cultist.dm @@ -277,37 +277,6 @@ return finish_preview_icon(icon) -/datum/outfit/cultist - name = "Cultist (Preview only)" - - uniform = /obj/item/clothing/under/color/black - suit = /obj/item/clothing/suit/hooded/cultrobes/alt - head = /obj/item/clothing/head/hooded/cult_hoodie/alt - shoes = /obj/item/clothing/shoes/cult/alt - r_hand = /obj/item/melee/blood_magic/stun - -/datum/outfit/cultist/post_equip(mob/living/carbon/human/equipped, visualsOnly) - equipped.eye_color_left = BLOODCULT_EYE - equipped.eye_color_right = BLOODCULT_EYE - equipped.update_body() - -///Returns whether the given mob is convertable to the blood cult -/proc/is_convertable_to_cult(mob/living/target, datum/team/cult/specific_cult) - if(!istype(target)) - return FALSE - if(isnull(target.mind) || !GET_CLIENT(target)) - return FALSE - if(target.mind.unconvertable) - return FALSE - if(ishuman(target) && target.mind.holy_role) - return FALSE - if(specific_cult?.is_sacrifice_target(target.mind)) - return FALSE - var/mob/living/master = target.mind.enslaved_to?.resolve() - if(master && !IS_CULTIST(master)) - return FALSE - if(IS_HERETIC_OR_MONSTER(target)) - return FALSE - if(HAS_TRAIT(target, TRAIT_MINDSHIELD) || issilicon(target) || isbot(target) || isdrone(target)) - return FALSE //can't convert machines, shielded, or braindead +///Used to check if the owner is counted as a secondary invoker for runes. +/datum/antagonist/cult/proc/check_invoke_validity() return TRUE diff --git a/code/modules/antagonists/cult/datums/shade.dm b/code/modules/antagonists/cult/datums/shade.dm new file mode 100644 index 0000000000000..18d0f71d11309 --- /dev/null +++ b/code/modules/antagonists/cult/datums/shade.dm @@ -0,0 +1,20 @@ +/datum/antagonist/cult/shade + name = "\improper Cult Shade" + show_in_antagpanel = FALSE + show_name_in_check_antagonists = TRUE + show_to_ghosts = TRUE + antagpanel_category = ANTAG_GROUP_HORRORS + ///The time this player was most recently released from a soulstone. + var/release_time + ///The time needed after release time to enable rune invocation. + var/invoke_delay = (1 MINUTES) + +/datum/antagonist/cult/shade/check_invoke_validity() + if(isnull(release_time)) + to_chat(owner.current, span_alert("You cannot invoke runes from inside of a soulstone!")) + return FALSE + + if(release_time + invoke_delay > world.time) + to_chat(owner.current, span_alert("You haven't gathered enough power to invoke runes yet. You need to remain out of your soulstone for a while longer!")) + return FALSE + return TRUE diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index b75d74ee16002..25f13ae22b24c 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -149,6 +149,9 @@ structure_check() searches for nearby cultist structures required for the invoca for(var/mob/living/cultist in range(1, src)) if(!IS_CULTIST(cultist)) continue + var/datum/antagonist/cult/cultist_datum = locate(/datum/antagonist/cult) in cultist.mind.antag_datums + if(!cultist_datum.check_invoke_validity()) //We can assume there's a datum here since we can't get past the previous check otherwise. + continue if(cultist == user) continue if(!cultist.can_speak(allow_mimes = TRUE)) diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index d76f5ed5d22dd..7e6357eeb0fe5 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -46,8 +46,6 @@ var/high_value_sacrifices = 0 /// Lazy assoc list of [refs to humans] to [image previews of the human]. Humans that we have as sacrifice targets. var/list/mob/living/carbon/human/sac_targets - /// List of all sickly blades linked with heretic mind. - var/list/obj/item/melee/sickly_blade/blades_list /// List of all sacrifice target's names, used for end of round report var/list/all_sac_targets = list() /// Whether we're drawing a rune or not @@ -86,9 +84,6 @@ /datum/antagonist/heretic/Destroy() LAZYNULL(sac_targets) - for(var/obj/item/melee/sickly_blade/blade as anything in blades_list) - blade.owner = null - LAZYNULL(blades_list) return ..() /datum/antagonist/heretic/ui_data(mob/user) diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index 94546bfdd1981..5369e5fee8d91 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -225,8 +225,6 @@ var/limit = 1 /// A list of weakrefs to all items we've created. var/list/datum/weakref/created_items - /// if we have all the blades then we don’t want to tear our hands off - var/valid_blades = FALSE /datum/heretic_knowledge/limited_amount/Destroy(force) LAZYCLEARLIST(created_items) @@ -239,14 +237,8 @@ LAZYREMOVE(created_items, ref) if(LAZYLEN(created_items) >= limit) - for(var/obj/item/melee/sickly_blade/is_blade_ritual as anything in result_atoms) - valid_blades = blades_limit_check(user) - break - if(valid_blades) - return TRUE - else - loc.balloon_alert(user, "ritual failed, at limit!") - return FALSE + loc.balloon_alert(user, "ritual failed, at limit!") + return FALSE return TRUE @@ -254,36 +246,8 @@ for(var/result in result_atoms) var/atom/created_thing = new result(loc) LAZYADD(created_items, WEAKREF(created_thing)) - if(istype(created_thing, /obj/item/melee/sickly_blade)) - add_to_list_sickly_blade(user, created_thing) return TRUE -/datum/heretic_knowledge/limited_amount/proc/add_to_list_sickly_blade(mob/living/heretic, obj/item/melee/sickly_blade/created_blade) - var/obj/item/melee/sickly_blade/blade_check = created_blade - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(heretic) - if(!isnull(our_heretic)) - blade_check.owner = our_heretic - LAZYADD(our_heretic.blades_list, blade_check) - -/datum/heretic_knowledge/limited_amount/proc/blades_limit_check(mob/living/heretic) - var/datum/antagonist/heretic/our_heretic = IS_HERETIC(heretic) - var/success_check = FALSE - for(var/obj/item/melee/sickly_blade/blades_in_list as anything in our_heretic.blades_list) - if(get_turf(heretic) == get_turf(blades_in_list)) - continue - success_check = TRUE - LAZYREMOVE(our_heretic.blades_list, blades_in_list) - var/mob/living/living_target = recursive_loc_check(src, /mob/living) - if(living_target) - living_target.apply_damage(15) - var/obj/item/bodypart/thief_hand = living_target.get_bodypart(BODY_ZONE_L_ARM) - if(!isnull(thief_hand)) - thief_hand.dismember(BRUTE) - to_chat(living_target, span_boldwarning("You feel severe pain in your hand as if otherworldly powers tore it from inside. [blades_in_list] collapse and disappeared.. maybe it never existed?")) - qdel(blades_in_list) - break - return success_check - /** * A knowledge subtype for limited_amount knowledge * used for base knowledge (the ones that make blades) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index 5ad8aed9ef978..81f9b4bc80a9f 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -23,14 +23,6 @@ attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") var/after_use_message = "" - //set owner to find where blade linked - var/datum/antagonist/heretic/owner - -/obj/item/melee/sickly_blade/Destroy() - if(!isnull(owner)) - LAZYREMOVE(owner.blades_list, src) - owner = null - return ..() /obj/item/melee/sickly_blade/attack(mob/living/M, mob/living/user) if(!IS_HERETIC_OR_MONSTER(user)) diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm index 1c9f39cb66006..f1b5f7f55ea19 100644 --- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm @@ -293,4 +293,3 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) body.do_jitter_animation() body.visible_message(span_danger("An awful ripping sound is heard as [ripped_thing]'s [exterior_text] is ripped straight out, wrapping around [le_book || "the book"], turning into an eldritch shade of blue!")) return ..() - diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.dm b/code/modules/antagonists/heretic/magic/ash_ascension.dm index 4c77a06f281d7..0d8ca8da4f1c6 100644 --- a/code/modules/antagonists/heretic/magic/ash_ascension.dm +++ b/code/modules/antagonists/heretic/magic/ash_ascension.dm @@ -53,7 +53,8 @@ return for(var/turf/nearby_turf as anything in RANGE_TURFS(1, owner)) - new /obj/effect/hotspot(nearby_turf) + var/obj/effect/hotspot/flame_tile = locate(nearby_turf) || new(nearby_turf) + flame_tile.alpha = 125 nearby_turf.hotspot_expose(750, 25 * seconds_between_ticks, 1) for(var/mob/living/fried_living in nearby_turf.contents - owner) fried_living.apply_damage(2.5 * seconds_between_ticks, BURN) @@ -86,7 +87,8 @@ /datum/action/cooldown/spell/fire_cascade/proc/fire_cascade(atom/centre, flame_radius = 1) for(var/i in 0 to flame_radius) for(var/turf/nearby_turf as anything in spiral_range_turfs(i + 1, centre)) - new /obj/effect/hotspot(nearby_turf) + var/obj/effect/hotspot/flame_tile = locate(nearby_turf) || new(nearby_turf) + flame_tile.alpha = 125 nearby_turf.hotspot_expose(750, 50, 1) for(var/mob/living/fried_living in nearby_turf.contents - owner) fried_living.apply_damage(5, BURN) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 5ad5aeecf26c7..e222f5ea39de2 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -250,7 +250,7 @@ /datum/antagonist/traitor/proc/forge_single_generic_objective() if(prob(KILL_PROB)) - var/list/active_ais = active_ais() + var/list/active_ais = active_ais(skip_syndicate = TRUE) if(active_ais.len && prob(DESTROY_AI_PROB(GLOB.joined_player_list.len))) var/datum/objective/destroy/destroy_objective = new() destroy_objective.owner = owner diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 847a35f9c883c..3e0cf0f9c419f 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -119,7 +119,7 @@ for(var/mob/shade_to_convert in contents) if(IS_CULTIST(shade_to_convert)) continue - shade_to_convert.mind?.add_antag_datum(/datum/antagonist/cult) + shade_to_convert.mind?.add_antag_datum(/datum/antagonist/cult/shade) RegisterSignal(src, COMSIG_BIBLE_SMACKED) return TRUE @@ -224,7 +224,9 @@ to_chat(captured_shade, span_bold("You have been released from your prison, \ but you are still bound to [user.real_name]'s will. Help [user.p_them()] succeed in \ [user.p_their()] goals at all costs.")) - + var/datum/antagonist/cult/shade/shade_datum = captured_shade.mind?.has_antag_datum(/datum/antagonist/cult/shade) + if(shade_datum) + shade_datum.release_time = world.time on_release_spirits() /obj/item/soulstone/pre_attack(atom/A, mob/living/user, params) @@ -345,6 +347,10 @@ to_chat(shade, span_notice("Your soul has been captured by [src]. \ Its arcane energies are reknitting your ethereal form.")) + var/datum/antagonist/cult/shade/shade_datum = shade.mind?.has_antag_datum(/datum/antagonist/cult/shade) + if(shade_datum) + shade_datum.release_time = null + if(user != shade) to_chat(user, "[span_info("Capture successful!:")] [shade.real_name]'s soul \ has been captured and stored within [src].") @@ -361,8 +367,8 @@ var/construct_class = show_radial_menu(user, src, GLOB.construct_radial_images, custom_check = CALLBACK(src, PROC_REF(check_menu), user, shell), require_near = TRUE, tooltips = TRUE) if(QDELETED(shell) || !construct_class) return FALSE - make_new_construct_from_class(construct_class, theme, shade, user, FALSE, shell.loc) shade.mind?.remove_antag_datum(/datum/antagonist/cult) + make_new_construct_from_class(construct_class, theme, shade, user, FALSE, shell.loc) qdel(shell) qdel(src) return TRUE @@ -398,7 +404,7 @@ if(user) soulstone_spirit.faction |= "[REF(user)]" //Add the master as a faction, allowing inter-mob cooperation if(IS_CULTIST(user)) - soulstone_spirit.mind.add_antag_datum(/datum/antagonist/cult) + soulstone_spirit.mind.add_antag_datum(/datum/antagonist/cult/shade) SSblackbox.record_feedback("tally", "cult_shade_created", 1) soulstone_spirit.cancel_camera() @@ -428,7 +434,7 @@ // Cult shades get cult datum if (user.mind.has_antag_datum(/datum/antagonist/cult)) shade.mind.remove_antag_datum(/datum/antagonist/shade_minion) - shade.mind.add_antag_datum(/datum/antagonist/cult) + shade.mind.add_antag_datum(/datum/antagonist/cult/shade) return // Only blessed soulstones can de-cult shades diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index f8440fa091825..c9e5270858949 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -491,6 +491,10 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) if(allow_link_change) disconnect_sensor() + if ("lock") + togglelock(usr) + return TRUE + update_appearance() return TRUE diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm index f7eaf5788c9ee..1d2dbfa336308 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm @@ -71,6 +71,9 @@ if(machine_stat & (NOPOWER|BROKEN)) to_chat(user, span_warning("It does nothing!")) else + if(HAS_SILICON_ACCESS(user)) + locked = !locked + return if(src.allowed(usr) && !wires.is_cut(WIRE_IDSCAN)) locked = !locked to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the air alarm interface.")) @@ -78,7 +81,6 @@ ui_interact(user) else to_chat(user, span_danger("Access denied.")) - return /obj/machinery/airalarm/emag_act(mob/user, obj/item/card/emag/emag_card) if(obj_flags & EMAGGED) diff --git a/code/modules/bitrunning/antagonists/cyber_tac.dm b/code/modules/bitrunning/antagonists/cyber_tac.dm index 26ad05081e89d..a45fdb345d304 100644 --- a/code/modules/bitrunning/antagonists/cyber_tac.dm +++ b/code/modules/bitrunning/antagonists/cyber_tac.dm @@ -29,80 +29,3 @@ var/obj/item/implant/weapons_auth/auth = new(user) auth.implant(user) - -/obj/item/mod/control/pre_equipped/glitch - theme = /datum/mod_theme/glitch - applied_cell = /obj/item/stock_parts/cell/bluespace - applied_modules = list( - /obj/item/mod/module/storage, - /obj/item/mod/module/magnetic_harness, - /obj/item/mod/module/jetpack/advanced, - /obj/item/mod/module/jump_jet, - /obj/item/mod/module/flashlight, - ) - default_pins = list( - /obj/item/mod/module/armor_booster, - /obj/item/mod/module/jetpack/advanced, - /obj/item/mod/module/jump_jet, - ) - starting_frequency = null - -/datum/armor/mod_theme_glitch - melee = 15 - bullet = 20 - laser = 35 - bomb = 65 - bio = 100 - fire = 100 - acid = 100 - wound = 100 - -/datum/mod_theme/glitch - name = "glitch" - desc = "A modsuit outfitted for elite Cyber Authority units to track, capture, and eliminate organic intruders." - extended_desc = "The Cyber Authority function as a digital police force, patrolling the digital realm and enforcing the law. Cyber Tac units are the elite of the elite, outfitted with lethal weaponry and fast mobility specially designed to quell organic uprisings." - default_skin = "glitch" - armor_type = /datum/armor/mod_theme_glitch - resistance_flags = FIRE_PROOF|ACID_PROOF - atom_flags = PREVENT_CONTENTS_EXPLOSION_1 - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - complexity_max = DEFAULT_MAX_COMPLEXITY + 3 - siemens_coefficient = 0 - slowdown_inactive = 1 - slowdown_active = 0.5 - ui_theme = "terminal" - inbuilt_modules = list(/obj/item/mod/module/armor_booster) - allowed_suit_storage = list( - /obj/item/ammo_box, - /obj/item/ammo_casing, - /obj/item/restraints/handcuffs, - /obj/item/assembly/flash, - ) - skins = list( - "glitch" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, - UNSEALED_CLOTHING = SNUG_FIT, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR, - SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, - SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - ), - ) - diff --git a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm index 42fbb0c1427ca..4207023914408 100644 --- a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm +++ b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm @@ -11,9 +11,13 @@ /obj/structure/closet/crate/secure/bitrunning/encrypted/gondola move_resist = MOVE_FORCE_STRONG -/mob/living/simple_animal/pet/gondola/virtual_domain +/mob/living/basic/pet/gondola/virtual_domain health = 50 - loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/food/meat/slab/gondola/virtual_domain = 1) + loot = list( + /obj/effect/decal/cleanable/blood/gibs = 1, + /obj/item/stack/sheet/animalhide/gondola = 1, + /obj/item/food/meat/slab/gondola/virtual_domain = 1, + ) maxHealth = 50 move_force = MOVE_FORCE_VERY_STRONG move_resist = MOVE_FORCE_STRONG @@ -30,4 +34,4 @@ /datum/disease/transformation/gondola/virtual_domain stage_prob = 9 - new_form = /mob/living/simple_animal/pet/gondola/virtual_domain + new_form = /mob/living/basic/pet/gondola/virtual_domain diff --git a/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm b/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm index c0e017a0b9f3d..b8c5880a69c38 100644 --- a/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm +++ b/code/modules/bitrunning/virtual_domain/modular_mob_segment.dm @@ -52,7 +52,7 @@ /datum/modular_mob_segment/gondolas mobs = list( - /mob/living/simple_animal/pet/gondola, + /mob/living/basic/pet/gondola, ) /datum/modular_mob_segment/corgis diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm index 51165be191c87..7102db0dd8f0d 100644 --- a/code/modules/cargo/exports/lavaland.dm +++ b/code/modules/cargo/exports/lavaland.dm @@ -33,6 +33,7 @@ export_types = list( /obj/item/dragons_blood, /obj/item/guardian_creator/miner, + /obj/item/drake_remains, /obj/item/lava_staff, /obj/item/melee/ghost_sword, /obj/item/prisoncube, diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm deleted file mode 100644 index 2491084ab7039..0000000000000 --- a/code/modules/cargo/gondolapod.dm +++ /dev/null @@ -1,80 +0,0 @@ -/mob/living/simple_animal/pet/gondola/gondolapod - name = "gondola" - real_name = "gondola" - desc = "The silent walker. This one seems to be part of a delivery agency." - response_help_continuous = "pets" - response_help_simple = "pet" - response_disarm_continuous = "bops" - response_disarm_simple = "bop" - response_harm_continuous = "kicks" - response_harm_simple = "kick" - faction = list(FACTION_GONDOLA) - turns_per_move = 10 - icon = 'icons/obj/supplypods.dmi' - icon_state = "gondola" - icon_living = "gondola" - SET_BASE_PIXEL(-16, -5) //2x2 sprite - layer = TABLE_LAYER//so that deliveries dont appear underneath it - loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/food/meat/slab/gondola = 2) - //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = 1500 - maxHealth = 200 - health = 200 - del_on_death = TRUE - var/opened = FALSE - var/obj/structure/closet/supplypod/centcompod/linked_pod - -/mob/living/simple_animal/pet/gondola/gondolapod/Initialize(mapload, pod) - if(!pod) - stack_trace("Gondola pod created with no pod") - return INITIALIZE_HINT_QDEL - linked_pod = pod - name = linked_pod.name - desc = linked_pod.desc - . = ..() - -/mob/living/simple_animal/pet/gondola/gondolapod/update_overlays() - . = ..() - if(opened) - . += "[icon_state]_open" - -/mob/living/simple_animal/pet/gondola/gondolapod/verb/deliver() - set name = "Release Contents" - set category = "Gondola" - set desc = "Release any contents stored within your vast belly." - linked_pod.open_pod(src, forced = TRUE) - -/mob/living/simple_animal/pet/gondola/gondolapod/examine(mob/user) - . = ..() - if (contents.len) - . += span_notice("It looks like it hasn't made its delivery yet.") - else - . += span_notice("It looks like it has already made its delivery.") - -/mob/living/simple_animal/pet/gondola/gondolapod/verb/check() - set name = "Count Contents" - set category = "Gondola" - set desc = "Take a deep look inside youself, and count up what's inside" - var/total = contents.len - if (total) - to_chat(src, span_notice("You detect [total] object\s within your incredibly vast belly.")) - else - to_chat(src, span_notice("A closer look inside yourself reveals... nothing.")) - -/mob/living/simple_animal/pet/gondola/gondolapod/setOpened() - opened = TRUE - layer = initial(layer) - update_appearance() - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, setClosed)), 5 SECONDS) - -/mob/living/simple_animal/pet/gondola/gondolapod/setClosed() - opened = FALSE - layer = LOW_MOB_LAYER - update_appearance() - -/mob/living/simple_animal/pet/gondola/gondolapod/death() - QDEL_NULL(linked_pod) //Will cause the open() proc for the linked supplypod to be called with the "broken" parameter set to true, meaning that it will dump its contents on death - qdel(src) - ..() diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 3be58d8a3c9d3..309d9435f0091 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -357,7 +357,7 @@ qdel(src) return if (style == STYLE_GONDOLA) //Checks if we are supposed to be a gondola pod. If so, create a gondolapod mob, and move this pod to nullspace. I'd like to give a shout out, to my man oranges - var/mob/living/simple_animal/pet/gondola/gondolapod/benis = new(turf_underneath, src) + var/mob/living/basic/pet/gondola/gondolapod/benis = new(turf_underneath, src) benis.contents |= contents //Move the contents of this supplypod into the gondolapod mob. for (var/mob/living/mob_in_pod in benis.contents) mob_in_pod.reset_perspective(null) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 3afc438e6f87f..0942520e73c0a 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -217,7 +217,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( return TRUE if(src.last_message_count >= SPAM_TRIGGER_WARNING) //"auto-ban" sends the message that the cold and uncaring gamecode has been designed to quiash you like a bug in short measure should you continue, and it's quite intentional that the user isn't told exactly what that entails. - to_chat(src, span_danger("You are nearing the auto-ban limit for identical messages.")) + to_chat(src, span_userdanger("You are nearing the auto-ban limit for identical messages.")) + mob.balloon_alert(mob, "stop spamming!") return FALSE else last_message = message diff --git a/code/modules/client/preferences/blindfold_color.dm b/code/modules/client/preferences/blindfold_color.dm new file mode 100644 index 0000000000000..9e6504579acb6 --- /dev/null +++ b/code/modules/client/preferences/blindfold_color.dm @@ -0,0 +1,14 @@ +/// Preference for the roundstart color of the blindfold given by the Blindness quirk. +/datum/preference/color/blindfold_color + category = PREFERENCE_CATEGORY_MANUALLY_RENDERED + savefile_key = "blindfold_color" + savefile_identifier = PREFERENCE_CHARACTER + +/datum/preference/color/blindfold_color/is_accessible(datum/preferences/preferences) + if (!..(preferences)) + return FALSE + + return /datum/quirk/item_quirk/blindness::name in preferences.all_quirks + +/datum/preference/color/blindfold_color/apply_to_human(mob/living/carbon/human/target, value) + return diff --git a/code/modules/client/preferences/clothing.dm b/code/modules/client/preferences/clothing.dm index 827b91c49c290..eacf31315c11b 100644 --- a/code/modules/client/preferences/clothing.dm +++ b/code/modules/client/preferences/clothing.dm @@ -95,7 +95,7 @@ should_generate_icons = TRUE /datum/preference/choiced/socks/init_possible_values() - return assoc_to_keys_features(GLOB.socks_list) + return assoc_to_keys_features(SSaccessories.socks_list) /datum/preference/choiced/socks/icon_for(value) var/static/icon/lower_half @@ -105,7 +105,7 @@ lower_half.Blend(icon('icons/mob/human/bodyparts_greyscale.dmi', "human_r_leg"), ICON_OVERLAY) lower_half.Blend(icon('icons/mob/human/bodyparts_greyscale.dmi', "human_l_leg"), ICON_OVERLAY) - return generate_underwear_icon(GLOB.socks_list[value], lower_half) + return generate_underwear_icon(SSaccessories.socks_list[value], lower_half) /datum/preference/choiced/socks/apply_to_human(mob/living/carbon/human/target, value) target.socks = value @@ -119,7 +119,7 @@ should_generate_icons = TRUE /datum/preference/choiced/undershirt/init_possible_values() - return assoc_to_keys_features(GLOB.undershirt_list) + return assoc_to_keys_features(SSaccessories.undershirt_list) /datum/preference/choiced/undershirt/icon_for(value) var/static/icon/body @@ -135,8 +135,8 @@ var/icon/icon_with_undershirt = icon(body) if (value != "Nude") - var/datum/sprite_accessory/accessory = GLOB.undershirt_list[value] - icon_with_undershirt.Blend(icon(accessory.icon, accessory.icon_state), ICON_OVERLAY) // SKYRAT EDIT CHANGE: ORIGINAL - icon_with_undershirt.Blend(icon('icons/mob/clothing/underwear.dmi', accessory.icon_state), ICON_OVERLAY) + var/datum/sprite_accessory/accessory = SSaccessories.undershirt_list[value] + icon_with_undershirt.Blend(icon(accessory.icon, accessory.icon_state), ICON_OVERLAY)// SKYRAT EDIT CHANGE: ORIGINAL - icon_with_undershirt.Blend(icon('icons/mob/clothing/underwear.dmi', accessory.icon_state), ICON_OVERLAY) icon_with_undershirt.Crop(10, 11, 22, 23) // SKYRAT EDIT CHANGE : ORIGINAL - icon_with_undershirt.Crop(9, 9, 23, 23) icon_with_undershirt.Scale(32, 32) @@ -154,7 +154,7 @@ should_generate_icons = TRUE /datum/preference/choiced/underwear/init_possible_values() - return assoc_to_keys_features(GLOB.underwear_list) + return assoc_to_keys_features(SSaccessories.underwear_list) /datum/preference/choiced/underwear/icon_for(value) var/static/icon/lower_half @@ -165,7 +165,7 @@ lower_half.Blend(icon('icons/mob/human/bodyparts_greyscale.dmi', "human_r_leg"), ICON_OVERLAY) lower_half.Blend(icon('icons/mob/human/bodyparts_greyscale.dmi', "human_l_leg"), ICON_OVERLAY) - return generate_underwear_icon(GLOB.underwear_list[value], lower_half, COLOR_ALMOST_BLACK, icon_offset = 5) // SKYRAT EDIT CHANGE : ICON_OFFSET + return generate_underwear_icon(SSaccessories.underwear_list[value], lower_half, COLOR_ALMOST_BLACK) /datum/preference/choiced/underwear/apply_to_human(mob/living/carbon/human/target, value) target.underwear = value diff --git a/code/modules/client/preferences/species_features/basic.dm b/code/modules/client/preferences/species_features/basic.dm index abf4ea0e44e20..3f101ad9e44a5 100644 --- a/code/modules/client/preferences/species_features/basic.dm +++ b/code/modules/client/preferences/species_features/basic.dm @@ -7,7 +7,7 @@ var/icon/final_icon = new(head_icon) if (!isnull(sprite_accessory)) ASSERT(istype(sprite_accessory)) - + var/icon/head_accessory_icon = icon(sprite_accessory.icon, sprite_accessory.icon_state) if(y_offset) head_accessory_icon.Shift(NORTH, y_offset) @@ -61,10 +61,10 @@ relevant_head_flag = HEAD_FACIAL_HAIR /datum/preference/choiced/facial_hairstyle/init_possible_values() - return assoc_to_keys_features(GLOB.facial_hairstyles_list) + return assoc_to_keys_features(SSaccessories.facial_hairstyles_list) /datum/preference/choiced/facial_hairstyle/icon_for(value) - return generate_icon_with_head_accessory(GLOB.facial_hairstyles_list[value]) + return generate_icon_with_head_accessory(SSaccessories.facial_hairstyles_list[value]) /datum/preference/choiced/facial_hairstyle/apply_to_human(mob/living/carbon/human/target, value) target.set_facial_hairstyle(value, update = FALSE) @@ -94,7 +94,7 @@ relevant_head_flag = HEAD_FACIAL_HAIR /datum/preference/choiced/facial_hair_gradient/init_possible_values() - return assoc_to_keys_features(GLOB.facial_hair_gradients_list) + return assoc_to_keys_features(SSaccessories.facial_hair_gradients_list) /datum/preference/choiced/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value) target.set_facial_hair_gradient_style(new_style = value, update = FALSE) @@ -137,10 +137,10 @@ relevant_head_flag = HEAD_HAIR /datum/preference/choiced/hairstyle/init_possible_values() - return assoc_to_keys_features(GLOB.hairstyles_list) + return assoc_to_keys_features(SSaccessories.hairstyles_list) /datum/preference/choiced/hairstyle/icon_for(value) - var/datum/sprite_accessory/hair/hairstyle = GLOB.hairstyles_list[value] + var/datum/sprite_accessory/hair/hairstyle = SSaccessories.hairstyles_list[value] return generate_icon_with_head_accessory(hairstyle, hairstyle?.y_offset) /datum/preference/choiced/hairstyle/apply_to_human(mob/living/carbon/human/target, value) @@ -161,7 +161,7 @@ relevant_head_flag = HEAD_HAIR /datum/preference/choiced/hair_gradient/init_possible_values() - return assoc_to_keys_features(GLOB.hair_gradients_list) + return assoc_to_keys_features(SSaccessories.hair_gradients_list) /datum/preference/choiced/hair_gradient/apply_to_human(mob/living/carbon/human/target, value) target.set_hair_gradient_style(new_style = value, update = FALSE) diff --git a/code/modules/client/preferences/species_features/felinid.dm b/code/modules/client/preferences/species_features/felinid.dm index 037615ee80939..6d4a06ff3852a 100644 --- a/code/modules/client/preferences/species_features/felinid.dm +++ b/code/modules/client/preferences/species_features/felinid.dm @@ -7,7 +7,7 @@ relevant_external_organ = /obj/item/organ/external/tail/cat /datum/preference/choiced/tail_human/init_possible_values() - return assoc_to_keys_features(GLOB.tails_list_human) + return assoc_to_keys_features(SSaccessories.tails_list_human) /datum/preference/choiced/tail_human/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["tail_cat"] = value @@ -24,7 +24,7 @@ relevant_mutant_bodypart = "ears" /datum/preference/choiced/ears/init_possible_values() - return assoc_to_keys_features(GLOB.ears_list) + return assoc_to_keys_features(SSaccessories.ears_list) /datum/preference/choiced/ears/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["ears"] = value diff --git a/code/modules/client/preferences/species_features/lizard.dm b/code/modules/client/preferences/species_features/lizard.dm index 2e0b3f3e513c8..4f459d8085f5e 100644 --- a/code/modules/client/preferences/species_features/lizard.dm +++ b/code/modules/client/preferences/species_features/lizard.dm @@ -33,10 +33,10 @@ relevant_mutant_bodypart = "body_markings" /datum/preference/choiced/lizard_body_markings/init_possible_values() - return assoc_to_keys_features(GLOB.body_markings_list) + return assoc_to_keys_features(SSaccessories.body_markings_list) /datum/preference/choiced/lizard_body_markings/icon_for(value) - var/datum/sprite_accessory/sprite_accessory = GLOB.body_markings_list[value] + var/datum/sprite_accessory/sprite_accessory = SSaccessories.body_markings_list[value] var/icon/final_icon = icon('icons/mob/human/species/lizard/bodyparts.dmi', "lizard_chest_m") @@ -66,10 +66,10 @@ should_generate_icons = TRUE /datum/preference/choiced/lizard_frills/init_possible_values() - return assoc_to_keys_features(GLOB.frills_list) + return assoc_to_keys_features(SSaccessories.frills_list) /datum/preference/choiced/lizard_frills/icon_for(value) - return generate_lizard_side_shot(GLOB.frills_list[value], "frills") + return generate_lizard_side_shot(SSaccessories.frills_list[value], "frills") /datum/preference/choiced/lizard_frills/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["frills"] = value @@ -82,10 +82,10 @@ should_generate_icons = TRUE /datum/preference/choiced/lizard_horns/init_possible_values() - return assoc_to_keys_features(GLOB.horns_list) + return assoc_to_keys_features(SSaccessories.horns_list) /datum/preference/choiced/lizard_horns/icon_for(value) - return generate_lizard_side_shot(GLOB.horns_list[value], "horns") + return generate_lizard_side_shot(SSaccessories.horns_list[value], "horns") /datum/preference/choiced/lizard_horns/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["horns"] = value @@ -97,7 +97,7 @@ relevant_mutant_bodypart = "legs" /datum/preference/choiced/lizard_legs/init_possible_values() - return assoc_to_keys_features(GLOB.legs_list) + return assoc_to_keys_features(SSaccessories.legs_list) /datum/preference/choiced/lizard_legs/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["legs"] = value @@ -110,10 +110,10 @@ should_generate_icons = TRUE /datum/preference/choiced/lizard_snout/init_possible_values() - return assoc_to_keys_features(GLOB.snouts_list) + return assoc_to_keys_features(SSaccessories.snouts_list) /datum/preference/choiced/lizard_snout/icon_for(value) - return generate_lizard_side_shot(GLOB.snouts_list[value], "snout", include_snout = FALSE) + return generate_lizard_side_shot(SSaccessories.snouts_list[value], "snout", include_snout = FALSE) /datum/preference/choiced/lizard_snout/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["snout"] = value @@ -125,7 +125,7 @@ relevant_mutant_bodypart = "spines" /datum/preference/choiced/lizard_spines/init_possible_values() - return assoc_to_keys_features(GLOB.spines_list) + return assoc_to_keys_features(SSaccessories.spines_list) /datum/preference/choiced/lizard_spines/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["spines"] = value @@ -137,7 +137,7 @@ relevant_external_organ = /obj/item/organ/external/tail/lizard /datum/preference/choiced/lizard_tail/init_possible_values() - return assoc_to_keys_features(GLOB.tails_list_lizard) + return assoc_to_keys_features(SSaccessories.tails_list_lizard) /datum/preference/choiced/lizard_tail/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["tail_lizard"] = value diff --git a/code/modules/client/preferences/species_features/monkey.dm b/code/modules/client/preferences/species_features/monkey.dm index 74d9343a69507..8e469f3ab038f 100644 --- a/code/modules/client/preferences/species_features/monkey.dm +++ b/code/modules/client/preferences/species_features/monkey.dm @@ -6,7 +6,7 @@ relevant_external_organ = /obj/item/organ/external/tail/monkey /datum/preference/choiced/monkey_tail/init_possible_values() - return assoc_to_keys_features(GLOB.tails_list_monkey) + return assoc_to_keys_features(SSaccessories.tails_list_monkey) /datum/preference/choiced/monkey_tail/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["tail_monkey"] = value diff --git a/code/modules/client/preferences/species_features/moth.dm b/code/modules/client/preferences/species_features/moth.dm index 2879cfb878864..d377414b0bf8f 100644 --- a/code/modules/client/preferences/species_features/moth.dm +++ b/code/modules/client/preferences/species_features/moth.dm @@ -7,7 +7,7 @@ should_generate_icons = TRUE /datum/preference/choiced/moth_antennae/init_possible_values() - return assoc_to_keys_features(GLOB.moth_antennae_list) + return assoc_to_keys_features(SSaccessories.moth_antennae_list) /datum/preference/choiced/moth_antennae/icon_for(value) var/static/icon/moth_head @@ -17,7 +17,7 @@ moth_head.Blend(icon('icons/mob/human/human_face.dmi', "motheyes_l"), ICON_OVERLAY) moth_head.Blend(icon('icons/mob/human/human_face.dmi', "motheyes_r"), ICON_OVERLAY) - var/datum/sprite_accessory/antennae = GLOB.moth_antennae_list[value] + var/datum/sprite_accessory/antennae = SSaccessories.moth_antennae_list[value] var/icon/icon_with_antennae = new(moth_head) icon_with_antennae.Blend(icon(antennae.icon, "m_moth_antennae_[antennae.icon_state]_FRONT"), ICON_OVERLAY) @@ -38,7 +38,7 @@ relevant_mutant_bodypart = "moth_markings" /datum/preference/choiced/moth_markings/init_possible_values() - return assoc_to_keys_features(GLOB.moth_markings_list) + return assoc_to_keys_features(SSaccessories.moth_markings_list) /datum/preference/choiced/moth_markings/icon_for(value) var/static/list/body_parts = list( @@ -60,7 +60,7 @@ moth_body.Blend(icon('icons/mob/human/human_face.dmi', "motheyes_l"), ICON_OVERLAY) moth_body.Blend(icon('icons/mob/human/human_face.dmi', "motheyes_r"), ICON_OVERLAY) - var/datum/sprite_accessory/markings = GLOB.moth_markings_list[value] + var/datum/sprite_accessory/markings = SSaccessories.moth_markings_list[value] var/icon/icon_with_markings = new(moth_body) if (value != "None") @@ -89,10 +89,10 @@ should_generate_icons = TRUE /datum/preference/choiced/moth_wings/init_possible_values() - return assoc_to_keys_features(GLOB.moth_wings_list) + return assoc_to_keys_features(SSaccessories.moth_wings_list) /datum/preference/choiced/moth_wings/icon_for(value) - var/datum/sprite_accessory/moth_wings = GLOB.moth_wings_list[value] + var/datum/sprite_accessory/moth_wings = SSaccessories.moth_wings_list[value] var/icon/final_icon = icon(moth_wings.icon, "m_moth_wings_[moth_wings.icon_state]_BEHIND") final_icon.Blend(icon(moth_wings.icon, "m_moth_wings_[moth_wings.icon_state]_FRONT"), ICON_OVERLAY) return final_icon diff --git a/code/modules/client/preferences/species_features/pod.dm b/code/modules/client/preferences/species_features/pod.dm index 7f7746ea41d07..22092f0cba945 100644 --- a/code/modules/client/preferences/species_features/pod.dm +++ b/code/modules/client/preferences/species_features/pod.dm @@ -8,10 +8,10 @@ should_generate_icons = TRUE /datum/preference/choiced/pod_hair/init_possible_values() - return assoc_to_keys_features(GLOB.pod_hair_list) + return assoc_to_keys_features(SSaccessories.pod_hair_list) /datum/preference/choiced/pod_hair/icon_for(value) - var/datum/sprite_accessory/pod_hair = GLOB.pod_hair_list[value] + var/datum/sprite_accessory/pod_hair = SSaccessories.pod_hair_list[value] var/icon/icon_with_hair = icon('icons/mob/human/bodyparts_greyscale.dmi', "pod_head_m") @@ -26,7 +26,7 @@ return icon_with_hair /datum/preference/choiced/pod_hair/create_default_value() - return pick(assoc_to_keys_features(GLOB.pod_hair_list)) + return pick(assoc_to_keys_features(SSaccessories.pod_hair_list)) /datum/preference/choiced/pod_hair/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["pod_hair"] = value diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 0122cda397824..8156c87a1fb44 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -424,25 +424,6 @@ armor_type = /datum/armor/knight_greyscale material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix -/obj/item/clothing/head/helmet/skull - name = "skull helmet" - desc = "An intimidating tribal helmet, it doesn't look very comfortable." - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT - flags_cover = HEADCOVERSEYES - armor_type = /datum/armor/helmet_skull - icon_state = "skull" - inhand_icon_state = null - strip_delay = 100 - -/datum/armor/helmet_skull - melee = 35 - bullet = 25 - laser = 25 - energy = 35 - bomb = 25 - fire = 50 - acid = 50 - /obj/item/clothing/head/helmet/durathread name = "durathread helmet" desc = "A helmet made from durathread and leather." diff --git a/code/modules/clothing/head/wig.dm b/code/modules/clothing/head/wig.dm index 5ab2bcad2144c..ecd70742ba889 100644 --- a/code/modules/clothing/head/wig.dm +++ b/code/modules/clothing/head/wig.dm @@ -25,7 +25,7 @@ item_flags &= ~EXAMINE_SKIP /obj/item/clothing/head/wig/update_icon_state() - var/datum/sprite_accessory/hair/hair_style = GLOB.hairstyles_list[hairstyle] + var/datum/sprite_accessory/hair/hair_style = SSaccessories.hairstyles_list[hairstyle] if(hair_style) icon = hair_style.icon icon_state = hair_style.icon_state @@ -36,7 +36,7 @@ if(isinhands) return - var/datum/sprite_accessory/hair/hair = GLOB.hairstyles_list[hairstyle] + var/datum/sprite_accessory/hair/hair = SSaccessories.hairstyles_list[hairstyle] if(!hair) return @@ -49,7 +49,7 @@ hair_overlay.overlays += emissive_blocker(hair_overlay.icon, hair_overlay.icon_state, src, alpha = hair_overlay.alpha) /obj/item/clothing/head/wig/attack_self(mob/user) - var/new_style = tgui_input_list(user, "Select a hairstyle", "Wig Styling", GLOB.hairstyles_list - "Bald") + var/new_style = tgui_input_list(user, "Select a hairstyle", "Wig Styling", SSaccessories.hairstyles_list - "Bald") var/newcolor = adjustablecolor ? input(usr,"","Choose Color",color) as color|null : null if(!user.can_perform_action(src)) return @@ -92,7 +92,7 @@ update_appearance() /obj/item/clothing/head/wig/random/Initialize(mapload) - hairstyle = pick(GLOB.hairstyles_list - "Bald") //Don't want invisible wig + hairstyle = pick(SSaccessories.hairstyles_list - "Bald") //Don't want invisible wig add_atom_colour("#[random_short_color()]", FIXED_COLOUR_PRIORITY) . = ..() @@ -104,7 +104,7 @@ custom_price = PAYCHECK_COMMAND /obj/item/clothing/head/wig/natural/Initialize(mapload) - hairstyle = pick(GLOB.hairstyles_list - "Bald") + hairstyle = pick(SSaccessories.hairstyles_list - "Bald") . = ..() /obj/item/clothing/head/wig/natural/visual_equipped(mob/living/carbon/human/user, slot) diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index f8e4e40fe9312..891c37bc8d1a2 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -277,6 +277,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list( dye_color = DYE_CLOWN w_class = WEIGHT_CLASS_SMALL flags_cover = MASKCOVERSEYES + clothing_traits = list(TRAIT_PERCEIVED_AS_CLOWN) resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) dog_fashion = /datum/dog_fashion/head/clown diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 7367020ea04b9..7aca981aae10b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -317,25 +317,6 @@ acid = 80 wound = 20 -/obj/item/clothing/suit/armor/bone - name = "bone armor" - desc = "A tribal armor plate, crafted from animal bone." - icon_state = "bonearmor" - inhand_icon_state = null - blood_overlay_type = "armor" - armor_type = /datum/armor/armor_bone - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS - -/datum/armor/armor_bone - melee = 35 - bullet = 25 - laser = 25 - energy = 35 - bomb = 25 - fire = 50 - acid = 50 - wound = 10 - /obj/item/clothing/suit/armor/balloon_vest name = "balloon vest" desc = "A vest made entirely from balloons, resistant to any evil forces a mime could throw at you, including electricity and fire. Just a strike with something sharp, though..." diff --git a/code/modules/deathmatch/deathmatch_loadouts.dm b/code/modules/deathmatch/deathmatch_loadouts.dm index a3d047c7b997b..20a12b81247ed 100644 --- a/code/modules/deathmatch/deathmatch_loadouts.dm +++ b/code/modules/deathmatch/deathmatch_loadouts.dm @@ -524,3 +524,204 @@ granted_spells = list( /datum/action/cooldown/spell/conjure/simian, ) + +/datum/outfit/deathmatch_loadout/head_of_security + name = "Deathmatch: Head of Security" + display_name = "Head of Security" + desc = "Finally, nobody to stop the power from going to your head." + + head = /datum/outfit/job/hos::head + ears = /datum/outfit/job/hos::ears + uniform = /obj/item/clothing/under/rank/security/head_of_security/alt + shoes = /datum/outfit/job/hos::shoes + neck = /datum/outfit/job/hos::neck + glasses = /datum/outfit/job/hos::glasses + suit = /obj/item/clothing/suit/armor/hos/hos_formal + suit_store = /obj/item/gun/ballistic/shotgun/automatic/combat/compact + gloves = /obj/item/clothing/gloves/tackler/combat + belt = /obj/item/gun/energy/e_gun/hos + r_hand = /obj/item/melee/baton/security/loaded + l_hand = /obj/item/shield/riot/tele + l_pocket = /obj/item/grenade/flashbang + r_pocket = /obj/item/restraints/legcuffs/bola/energy + +/datum/outfit/deathmatch_loadout/captain + name = "Deathmatch: Captain" + display_name = "Captain" + desc = "Draw your sword and show the syndicate scum no quarter." + + head = /obj/item/clothing/head/hats/caphat/parade + ears = /obj/item/radio/headset/heads/captain/alt + uniform = /obj/item/clothing/under/rank/captain + suit = /obj/item/clothing/suit/armor/vest/capcarapace/captains_formal + suit_store = /obj/item/gun/energy/e_gun + shoes = /obj/item/clothing/shoes/laceup + neck = /obj/item/bedsheet/captain + glasses = /obj/item/clothing/glasses/sunglasses + gloves = /obj/item/clothing/gloves/captain + belt = /obj/item/storage/belt/sabre + l_hand = /obj/item/gun/energy/laser/captain + r_pocket = /obj/item/assembly/flash + l_pocket = /obj/item/melee/baton/telescopic + +/datum/outfit/deathmatch_loadout/traitor + name = "Deathmatch: Traitor" + display_name = "Traitor" + desc = "The classic; energy sword & energy bow, donning a reflector trenchcoat (stolen)." + + head = /obj/item/clothing/head/chameleon + uniform = /obj/item/clothing/under/chameleon + mask = /obj/item/clothing/mask/chameleon + suit = /obj/item/clothing/suit/hooded/ablative + shoes = /obj/item/clothing/shoes/chameleon/noslip + glasses = /obj/item/clothing/glasses/thermal/syndi + gloves = /obj/item/clothing/gloves/combat + suit_store = /obj/item/gun/energy/recharge/ebow + l_hand = /obj/item/melee/energy/sword + r_pocket = /obj/item/reagent_containers/hypospray/medipen/stimulants + l_pocket = /obj/item/soap/syndie + belt = /obj/item/gun/ballistic/revolver/syndicate + +/datum/outfit/deathmatch_loadout/nukie + name = "Deathmatch: Nuclear Operative" + display_name = "Nuclear Operative" + desc = "Gear afforded to Lone Operatives. Your mission is simple." + + uniform = /obj/item/clothing/under/syndicate/tacticool + back = /obj/item/mod/control/pre_equipped/nuclear + r_hand = /obj/item/gun/ballistic/shotgun/bulldog/unrestricted + belt = /obj/item/gun/ballistic/automatic/pistol/clandestine + r_pocket = /obj/item/reagent_containers/hypospray/medipen/stimulants + l_pocket = /obj/item/grenade/syndieminibomb + implants = list(/obj/item/implant/explosive) + + backpack_contents = list( + /obj/item/ammo_box/c10mm, + /obj/item/ammo_box/magazine/m12g = 2, + /obj/item/pen/edagger, + /obj/item/reagent_containers/hypospray/medipen/atropine, + ) + +/datum/outfit/deathmatch_loadout/pete + name = "Deathmatch: Cuban Pete" + display_name = "Disciple of Pete" + desc = "You took a lesson from Cuban Pete." + + back = /obj/item/storage/backpack/santabag + head = /obj/item/clothing/head/collectable/petehat + uniform = /obj/item/clothing/under/pants/camo + suit = /obj/item/clothing/suit/costume/poncho + belt = /obj/item/storage/belt/grenade/full + shoes = /obj/item/clothing/shoes/workboots + l_hand = /obj/item/reagent_containers/cup/glass/bottle/rum + r_hand = /obj/item/sbeacondrop/bomb + l_pocket = /obj/item/grenade/syndieminibomb + r_pocket = /obj/item/grenade/syndieminibomb + implants = list(/obj/item/implanter/explosive_macro) + backpack_contents = list( + /obj/item/assembly/signaler = 10, + ) + +/datum/outfit/deathmatch_loadout/tider + name = "Deathmatch: Tider" + display_name = "Tider" + desc = "A very high power level Assistant." + + back = /obj/item/melee/baton/security/cattleprod + r_hand = /obj/item/fireaxe + uniform = /obj/item/clothing/under/color/grey/ancient + mask = /obj/item/clothing/mask/gas + shoes = /obj/item/clothing/shoes/sneakers/black + gloves = /obj/item/clothing/gloves/cut + l_pocket = /obj/item/reagent_containers/hypospray/medipen/methamphetamine + r_pocket = /obj/item/stock_parts/cell/high + belt = /obj/item/storage/belt/utility/full + +/datum/outfit/deathmatch_loadout/abductor + name = "Deathmatch: Abductor" + display_name = "Abductor" + desc = "We come in peace." + + species_override = /datum/species/abductor + uniform = /obj/item/clothing/under/abductor + head = /obj/item/clothing/head/helmet/abductor + suit = /obj/item/clothing/suit/armor/abductor/vest + l_pocket = /obj/item/reagent_containers/hypospray/medipen/atropine + r_pocket = /obj/item/grenade/gluon + l_hand = /obj/item/gun/energy/alien + r_hand = /obj/item/gun/energy/alien + belt = /obj/item/gun/energy/shrink_ray + +/datum/outfit/deathmatch_loadout/battler/clown/upgraded + name = "Deathmatch: Clown (Syndicate Gear)" + display_name = "Clown" + desc = "They were bound to show up sooner or later." + + shoes = /obj/item/clothing/shoes/clown_shoes/combat + r_hand = /obj/item/pneumatic_cannon/pie/selfcharge + l_hand = /obj/item/bikehorn/golden + box = /obj/item/storage/box/hug/reverse_revolver + + backpack_contents = list( + /obj/item/paperplane/syndicate = 1, + /obj/item/restraints/legcuffs/bola/tactical = 1, + /obj/item/restraints/legcuffs/beartrap = 1, + /obj/item/food/grown/banana = 1, + /obj/item/food/pie/cream = 1, + /obj/item/dnainjector/clumsymut, + /obj/item/sbeacondrop/clownbomb, + ) + +/datum/outfit/deathmatch_loadout/mime + name = "Deathmatch: Mime" + display_name = "Mime" + desc = "..." + + uniform = /datum/outfit/job/mime::uniform + belt = /obj/item/food/baguette/combat + head = /datum/outfit/job/mime::head + shoes = /datum/outfit/job/mime::shoes + mask = /datum/outfit/job/mime::mask + back = /datum/outfit/job/mime::backpack + box = /datum/outfit/job/mime::box + l_pocket = /obj/item/toy/crayon/spraycan/mimecan + r_pocket = /obj/item/food/grown/banana/mime + neck = /datum/outfit/job/mime::neck + gloves = /datum/outfit/job/mime::gloves + + backpack_contents = list( + /obj/item/reagent_containers/cup/glass/bottle/bottleofnothing, + /obj/item/gun/ballistic/automatic/pistol, + /obj/item/suppressor, + /obj/item/ammo_box/c9mm, + /obj/item/food/croissant/throwing = 2, + ) + + granted_spells = list( + /datum/action/cooldown/spell/vow_of_silence, + /datum/action/cooldown/spell/conjure_item/invisible_box, + /datum/action/cooldown/spell/conjure/invisible_chair, + /datum/action/cooldown/spell/conjure/invisible_wall, + /datum/action/cooldown/spell/forcewall/mime, + /datum/action/cooldown/spell/pointed/projectile/finger_guns, + ) + +/datum/outfit/deathmatch_loadout/chef/upgraded + name = "Deathmatch: Master Chef" + display_name = "Chef" + desc = "Let him cook." + + belt = /obj/item/gun/magic/hook + uniform = /obj/item/clothing/under/costume/buttondown/slacks/service + suit = /obj/item/clothing/suit/toggle/chef + suit_store = /obj/item/knife/kitchen + head = /obj/item/clothing/head/utility/chefhat + mask = /obj/item/clothing/mask/fakemoustache/italian + gloves = /obj/item/clothing/gloves/the_sleeping_carp + back = /obj/item/storage/backpack + + backpack_contents = list( + /obj/item/pizzabox/bomb/armed = 3, + /obj/item/knife/butcher, + /obj/item/sharpener, + ) diff --git a/code/modules/deathmatch/deathmatch_lobby.dm b/code/modules/deathmatch/deathmatch_lobby.dm index b2330d0c7097f..a3f49be705cd3 100644 --- a/code/modules/deathmatch/deathmatch_lobby.dm +++ b/code/modules/deathmatch/deathmatch_lobby.dm @@ -488,12 +488,10 @@ return TRUE var/datum/deathmatch_modifier/chosen_modifier = GLOB.deathmatch_game.modifiers[modpath] if(modpath in modifiers) - chosen_modifier.unselect(src) - modifiers -= modpath + unselect_modifier(chosen_modifier) return TRUE if(chosen_modifier.selectable(src)) - chosen_modifier.on_select(src) - modifiers += modpath + select_modifier(chosen_modifier) return TRUE if ("admin") // Admin functions @@ -508,6 +506,15 @@ return FALSE +/// Selects the passed modifier. +/datum/deathmatch_lobby/proc/select_modifier(datum/deathmatch_modifier/modifier) + modifier.on_select(src) + modifiers += modifier.type + +/// Deselects the passed modifier. +/datum/deathmatch_lobby/proc/unselect_modifier(datum/deathmatch_modifier/modifier) + modifier.unselect(src) + modifiers -= modifier.type /datum/deathmatch_lobby/ui_close(mob/user) . = ..() diff --git a/code/modules/deathmatch/deathmatch_maps.dm b/code/modules/deathmatch/deathmatch_maps.dm index b2396915473c6..6a8a245abb795 100644 --- a/code/modules/deathmatch/deathmatch_maps.dm +++ b/code/modules/deathmatch/deathmatch_maps.dm @@ -185,5 +185,24 @@ key = "train" turf_reservation_type = /datum/turf_reservation/indestructible_plating +/datum/lazy_template/deathmatch/finaldestination + name = "Final Destination" + desc = "1v1v1v1, 1 Stock, Final Destination." + max_players = 8 + allowed_loadouts = list( + /datum/outfit/deathmatch_loadout/captain, + /datum/outfit/deathmatch_loadout/head_of_security, + /datum/outfit/deathmatch_loadout/traitor, + /datum/outfit/deathmatch_loadout/nukie, + /datum/outfit/deathmatch_loadout/tider, + /datum/outfit/deathmatch_loadout/abductor, + /datum/outfit/deathmatch_loadout/chef/upgraded, + /datum/outfit/deathmatch_loadout/battler/clown/upgraded, + /datum/outfit/deathmatch_loadout/mime, + /datum/outfit/deathmatch_loadout/pete, + ) + map_name = "finaldestination" + key = "finaldestination" + /datum/turf_reservation/indestructible_plating turf_type = /turf/open/indestructible/plating //a little hacky but i guess it has to be done diff --git a/code/modules/deathmatch/deathmatch_modifier.dm b/code/modules/deathmatch/deathmatch_modifier.dm index ec5c20cf919b1..dadca49d70a4f 100644 --- a/code/modules/deathmatch/deathmatch_modifier.dm +++ b/code/modules/deathmatch/deathmatch_modifier.dm @@ -1,14 +1,16 @@ ///Deathmatch modifiers are little options the host can choose to spice the match a bit. /datum/deathmatch_modifier - ///The name of the modifier + /// The name of the modifier var/name = "Unnamed Modifier" - ///A small description/tooltip shown in the UI + /// A small description/tooltip shown in the UI var/description = "What the heck does this do?" - ///The color of the button shown in the UI + /// The color of the button shown in the UI var/color = "blue" - ///A list of modifiers this is incompatible with. - var/list/blacklisted_modifiers - ///Is this trait exempted from the "Random Modifiers" modifier. + /// A lazylist of modifier typepaths this is incompatible with. + var/list/datum/deathmatch_modifier/blacklisted_modifiers + /// A lazylist of map typepaths this is incomptable with. + var/list/datum/lazy_template/deathmatch/blacklisted_maps + /// Is this trait exempted from the "Random Modifiers" modifier. var/random_exempted = FALSE ///Whether or not this modifier can be selected, for both host and player-selected modifiers. @@ -18,11 +20,20 @@ return FALSE if(length(lobby.modifiers & blacklisted_modifiers)) return FALSE + if (map_incompatible(lobby.map)) + return FALSE for(var/modpath in lobby.modifiers) if(src in GLOB.deathmatch_game.modifiers[modpath].blacklisted_modifiers) return FALSE return TRUE +/// Returns TRUE if map.type is in our blacklisted maps, FALSE otherwise. +/datum/deathmatch_modifier/proc/map_incompatible(datum/lazy_template/deathmatch/map) + if (map?.type in blacklisted_maps) + return TRUE + + return FALSE + ///Called when selecting the deathmatch modifier. /datum/deathmatch_modifier/proc/on_select(datum/deathmatch_lobby/lobby) return @@ -31,9 +42,12 @@ /datum/deathmatch_modifier/proc/unselect(datum/deathmatch_lobby/lobby) return -///Called when the host chooses to change map. +///Called when the host chooses to change map. Returns FALSE if the new map is incompatible, TRUE otherwise. /datum/deathmatch_modifier/proc/on_map_changed(datum/deathmatch_lobby/lobby) - return + if (map_incompatible(lobby.map)) + lobby.unselect_modifier(src) + return FALSE + return TRUE ///Called as the game is about to start. /datum/deathmatch_modifier/proc/on_start_game(datum/deathmatch_lobby/lobby) @@ -533,7 +547,7 @@ /datum/deathmatch_modifier/any_loadout/on_map_changed(datum/deathmatch_lobby/lobby) if(lobby.loadouts == GLOB.deathmatch_game.loadouts) //This arena already allows any loadout for some reason. - lobby.modifiers -= type + lobby.unselect_modifier(src) else lobby.loadouts = GLOB.deathmatch_game.loadouts @@ -554,3 +568,33 @@ return SSquirks.AssignQuirks(player, player.client) + +/datum/deathmatch_modifier/martial_artistry + name = "Random martial arts" + description = "Everyone learns a random martial art!" + blacklisted_maps = list(/datum/lazy_template/deathmatch/meatower) + // krav maga excluded because its too common and too simple, mushpunch excluded because its horrible and not even funny + var/static/list/weighted_martial_arts = list( + // common + /datum/martial_art/cqc = 30, + /datum/martial_art/the_sleeping_carp = 30, + // uncommon + /datum/martial_art/boxing/evil = 20, + // LEGENDARY + /datum/martial_art/plasma_fist = 5, + /datum/martial_art/wrestling = 5, // wrestling is kinda strong ngl + /datum/martial_art/psychotic_brawling = 5, // a complete meme. sometimes you just get hardstunned. sometimes you punch someone across the room + ) + +/datum/deathmatch_modifier/martial_artistry/apply(mob/living/carbon/player, datum/deathmatch_lobby/lobby) + . = ..() + + var/datum/martial_art/picked_art_path = pick_weight(weighted_martial_arts) + var/datum/martial_art/instantiated_art = new picked_art_path() + + if (istype(instantiated_art, /datum/martial_art/boxing)) + player.mind.adjust_experience(/datum/skill/athletics, SKILL_EXP_LEGENDARY) + + instantiated_art.teach(player) + + to_chat(player, span_revenboldnotice("Your martial art is [uppertext(instantiated_art.name)]!")) diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index c815a23ce5614..748956b3f273d 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -1,4 +1,4 @@ -#define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (2 MINUTES) //SKYRAT EDIT CHANGE +#define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (3 MINUTES) // SKYRAT EDIT CHANGE - ORIGINAL: #define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (10 SECONDS) //this singleton datum is used by the events controller to dictate how it selects events /datum/round_event_control @@ -102,17 +102,14 @@ triggering = TRUE // We sleep HERE, in pre-event setup (because there's no sense doing it in run_event() since the event is already running!) for the given amount of time to make an admin has enough time to cancel an event un-fitting of the present round. - // SKYRAT EDIT REMOVAL BEGIN - Event notification - /** if(alert_observers) - message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL | SOMETHING ELSE)") //SKYRAT EDIT CHANGE + // message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL) (SOMETHING ELSE)") // SKYRAT EDIT REMOVAL sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE) if(!can_spawn_event(players_amt)) - message_admins("Second pre-condition check for [name] failed, skipping...") + message_admins("Second pre-condition check for [name] failed, rerolling...") + SSevents.spawnEvent(excluded_event = src) return EVENT_INTERRUPTED - */ - // SKYRAT EDIT REMOVAL END - Event notification // SKYRAT EDIT ADDITION BEGIN - Event notification // BUBBER EDIT START - Only delay on roundstart @@ -128,18 +125,10 @@ if(triggering) message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME * 0.5)]: [name]. (\ CANCEL | \ - SOMETHING ELSE)") + SOMETHING ELSE") sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME * 0.5) - else - message_admins(" Roundstart event chosen: [name].") - // BUBBER EDIT END // SKYRAT EDIT ADDITION END - Event notification - if(!triggering) - return EVENT_CANCELLED //admin cancelled - triggering = FALSE - return EVENT_READY - /datum/round_event_control/Topic(href, href_list) ..() if(href_list["cancel"]) @@ -150,16 +139,15 @@ message_admins("[key_name_admin(usr)] cancelled event [name].") log_admin_private("[key_name(usr)] cancelled event [name].") SSblackbox.record_feedback("tally", "event_admin_cancelled", 1, typepath) - //SKYRAT EDIT ADDITION BEGIN - if(href_list["something_else"]) + if(href_list["different_event"]) if(!triggering) - to_chat(usr, span_admin("Too late! The event is running.")) + to_chat(usr, span_admin("Too late to change events now!")) return triggering = FALSE - SSevents.spawnEvent(TRUE) - message_admins("[key_name_admin(usr)] requested a new event be spawned instead of [name].") - log_admin_private("[key_name(usr)] requested a new event be spawned instead of [name].") - //SKYRAT EDIT ADDITION END + message_admins("[key_name_admin(usr)] chose to have event [name] rolled into a different event.") + log_admin_private("[key_name(usr)] rerolled event [name].") + SSblackbox.record_feedback("tally", "event_admin_rerolled", 1, typepath) + SSevents.spawnEvent(excluded_event = src) /* Runs the event diff --git a/code/modules/events/fake_virus.dm b/code/modules/events/fake_virus.dm index 93572d244f568..bfa40083149c9 100644 --- a/code/modules/events/fake_virus.dm +++ b/code/modules/events/fake_virus.dm @@ -36,4 +36,4 @@ if(prob(25))//1/4 odds to get a spooky message instead of coughing out loud addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), onecoughman, span_warning("[pick("Your head hurts.", "Your head pounds.")]")), rand(3 SECONDS, 15 SECONDS)) else - addtimer(CALLBACK(onecoughman, TYPE_PROC_REF(/mob, emote), pick("cough", "sniff", "sneeze")), rand(3 SECONDS, 15 SECONDS))//deliver the message with a slightly randomized time interval so there arent multiple people coughing at the exact same time + addtimer(CALLBACK(onecoughman, TYPE_PROC_REF(/mob, emote), pick("cough", "sniff")), rand(3 SECONDS, 15 SECONDS))//deliver the message with a slightly randomized time interval so there arent multiple people coughing at the exact same time diff --git a/code/modules/events/ghost_role/sentience.dm b/code/modules/events/ghost_role/sentience.dm index e60498a90d0ba..002c161f66c81 100644 --- a/code/modules/events/ghost_role/sentience.dm +++ b/code/modules/events/ghost_role/sentience.dm @@ -17,7 +17,6 @@ GLOBAL_LIST_INIT(high_priority_sentience, typecacheof(list( /mob/living/basic/spider/giant/sgt_araneus, /mob/living/simple_animal/bot/secbot/beepsky, /mob/living/simple_animal/hostile/retaliate/goose/vomit, - /mob/living/simple_animal/pet, ))) /datum/round_event_control/sentience diff --git a/code/modules/events/vent_clog.dm b/code/modules/events/vent_clog.dm index fbd9b746d0303..a263059fa7211 100644 --- a/code/modules/events/vent_clog.dm +++ b/code/modules/events/vent_clog.dm @@ -298,7 +298,7 @@ /mob/living/basic/mushroom, /mob/living/basic/viscerator, /mob/living/simple_animal/hostile/retaliate/goose, //Janitors HATE geese. - /mob/living/simple_animal/pet/gondola, + /mob/living/basic/pet/gondola, ) return pick(mob_list) diff --git a/code/modules/events/wizard/petsplosion.dm b/code/modules/events/wizard/petsplosion.dm index 282dae5d33c1e..111d3ac39ae82 100644 --- a/code/modules/events/wizard/petsplosion.dm +++ b/code/modules/events/wizard/petsplosion.dm @@ -18,7 +18,6 @@ GLOBAL_LIST_INIT(petsplosion_candidates, typecacheof(list( /mob/living/basic/snake, /mob/living/basic/spider/giant/sgt_araneus, /mob/living/simple_animal/hostile/retaliate/goose/vomit, - /mob/living/simple_animal/pet, ))) /datum/round_event_control/wizard/petsplosion //the horror diff --git a/code/modules/explorer_drone/loot.dm b/code/modules/explorer_drone/loot.dm index 727731239686f..901b87e101839 100644 --- a/code/modules/explorer_drone/loot.dm +++ b/code/modules/explorer_drone/loot.dm @@ -105,7 +105,7 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) /datum/adventure_loot_generator/pet/generate() var/obj/item/pet_carrier/carrier = new carrier_type() var/chosen_pet_type = pick(possible_pets) - var/mob/living/simple_animal/pet/pet = new chosen_pet_type() + var/mob/living/basic/pet/pet = new chosen_pet_type() carrier.add_occupant(pet) return carrier diff --git a/code/modules/fishing/sources/source_types.dm b/code/modules/fishing/sources/source_types.dm index cc20fbf7b10d3..3bcd24ba1eae8 100644 --- a/code/modules/fishing/sources/source_types.dm +++ b/code/modules/fishing/sources/source_types.dm @@ -7,6 +7,7 @@ /obj/item/fish/cardinal = 15, /obj/item/fish/greenchromis = 15, /obj/item/fish/lanternfish = 5, + /obj/item/fish/zipzap = 5, /obj/item/fish/clownfish/lube = 3, ) fish_counts = list( @@ -67,6 +68,7 @@ /obj/item/fish/gunner_jellyfish = 5, /obj/item/fish/needlefish = 5, /obj/item/fish/armorfish = 5, + /obj/item/fish/zipzap = 5, ) catalog_description = "Ocean dimension (Fishing portal generator)" fishing_difficulty = FISHING_DEFAULT_DIFFICULTY + 10 diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm index 3461c7c894bc8..41a4da93acdf5 100644 --- a/code/modules/food_and_drinks/machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/machinery/smartfridge.dm @@ -173,7 +173,7 @@ tool_tip_set = TRUE else if(held_item.tool_behaviour == TOOL_WRENCH) - context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Un" : ""]anchore" + context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Una" : "A"]nchor" tool_tip_set = TRUE return tool_tip_set ? CONTEXTUAL_SCREENTIP_SET : NONE diff --git a/code/modules/food_and_drinks/machinery/stove_component.dm b/code/modules/food_and_drinks/machinery/stove_component.dm index d46434ce111d6..fcbabafc2d12c 100644 --- a/code/modules/food_and_drinks/machinery/stove_component.dm +++ b/code/modules/food_and_drinks/machinery/stove_component.dm @@ -15,6 +15,9 @@ VAR_FINAL/obj/effect/abstract/particle_holder/soup_smoke /// Typepath of particles to use for the particle holder. VAR_FINAL/particle_type = /particles/smoke/steam/mild + /// Ref to our looping sound played when cooking + VAR_FINAL/datum/looping_sound/soup/soup_sound + /// The color of the flames around the burner. var/flame_color = "#006eff" /// Container's pixel x when placed on the stove @@ -36,6 +39,12 @@ spawn_container.forceMove(parent) add_container(spawn_container) + soup_sound = new(parent) + +/datum/component/stove/Destroy() + QDEL_NULL(soup_sound) + return ..() + /datum/component/stove/RegisterWithParent() RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND_SECONDARY, PROC_REF(on_attack_hand_secondary)) @@ -235,7 +244,7 @@ update_smoke_type() real_parent.update_appearance(UPDATE_OVERLAYS) -/datum/component/stove/proc/update_smoke_type(datum/source, new_temp, old_temp) +/datum/component/stove/proc/update_smoke_type(datum/source, ...) SIGNAL_HANDLER var/existing_temp = container?.reagents.chem_temp || 0 @@ -250,6 +259,7 @@ /datum/component/stove/proc/update_smoke() if(on && container?.reagents.total_volume > 0) + soup_sound.start() // Don't override existing particles, wasteful if(isnull(soup_smoke) || soup_smoke.particles.type != particle_type) QDEL_NULL(soup_smoke) @@ -261,3 +271,4 @@ return QDEL_NULL(soup_smoke) + soup_sound?.stop() diff --git a/code/modules/food_and_drinks/restaurant/customers/_customer.dm b/code/modules/food_and_drinks/restaurant/customers/_customer.dm index 3f13b526056e1..15e4659338d0c 100644 --- a/code/modules/food_and_drinks/restaurant/customers/_customer.dm +++ b/code/modules/food_and_drinks/restaurant/customers/_customer.dm @@ -306,7 +306,7 @@ /datum/customer_data/moth/proc/get_wings(mob/living/basic/robot_customer/customer) var/customer_ref = WEAKREF(customer) if (!LAZYACCESS(wings_chosen, customer_ref)) - LAZYSET(wings_chosen, customer_ref, pick(GLOB.sprite_accessories["wings"])) + LAZYSET(wings_chosen, customer_ref, SSaccessories.moth_wings_list[pick(SSaccessories.moth_wings_list)]) return wings_chosen[customer_ref] /datum/customer_data/moth/get_underlays(mob/living/basic/robot_customer/customer) diff --git a/code/modules/hydroponics/grown/replicapod.dm b/code/modules/hydroponics/grown/replicapod.dm index c1fd02bf9f064..6bbe433ce1f47 100644 --- a/code/modules/hydroponics/grown/replicapod.dm +++ b/code/modules/hydroponics/grown/replicapod.dm @@ -197,7 +197,7 @@ if(!features["mcolor"]) features["mcolor"] = "#59CE00" /*if(!features["pod_hair"]) - features["pod_hair"] = pick(GLOB.pod_hair_list)*/ //SKYRAT EDIT - Tricolor Pod Hair + features["pod_hair"] = pick(SSaccessories.pod_hair_list)*/ //SKYRAT EDIT - Tricolor Pod Hair for(var/V in quirks) new V(podman) diff --git a/code/modules/jobs/job_exp.dm b/code/modules/jobs/job_exp.dm index 2344b54696d4e..8bdb652e01da9 100644 --- a/code/modules/jobs/job_exp.dm +++ b/code/modules/jobs/job_exp.dm @@ -75,6 +75,7 @@ GLOBAL_PROTECT(exp_to_update) if(L.is_afk()) continue L.update_exp_list(mins) + L.update_living_minutes(mins) // BUBBER EDIT BEGIN - Voting timers /datum/controller/subsystem/blackbox/proc/update_exp_db() set waitfor = FALSE diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index dd269bc7e3736..008ddd6df0db5 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -54,3 +54,4 @@ name = "Cargo Technician (MODsuit)" back = /obj/item/mod/control/pre_equipped/loader + suit = null diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index 3719095f8d1ee..13a3496c609d3 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -41,6 +41,7 @@ belt = /obj/item/modular_computer/pda/janitor ears = /obj/item/radio/headset/headset_srv skillchips = list(/obj/item/skillchip/job/janitor) + backpack_contents = list(/obj/item/access_key) /datum/outfit/job/janitor/pre_equip(mob/living/carbon/human/human_equipper, visuals_only) . = ..() @@ -48,15 +49,6 @@ backpack_contents += list(/obj/item/gun/ballistic/revolver) r_pocket = /obj/item/ammo_box/a357 -//SKYRAT EDIT REMOVAL BEGIN - JANITOR KEY - (Moved to modular_skyrat/master_files/code/modules/jobs/job_types/janitor.dm) -/* - var/static/access_key_given = FALSE - if(!access_key_given && !visuals_only) - access_key_given = TRUE - backpack_contents += list(/obj/item/access_key) -*/ -//SKYRAT EDIT REMOVAL END - /datum/outfit/job/janitor/get_types_to_preload() . = ..() if(check_holidays(GARBAGEDAY)) diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm index 3c29a6a39450c..2d1e1cb4ae8cd 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm @@ -160,6 +160,8 @@ var/first_open = FALSE /// was a shovel used to close this grave var/dug_closed = FALSE + /// do we have a mood effect tied to accessing this type of grave? + var/affect_mood = FALSE /obj/structure/closet/crate/grave/add_context(atom/source, list/context, obj/item/held_item, mob/user) if(isnull(held_item)) @@ -180,6 +182,9 @@ . = ..() . += span_notice("It can be [EXAMINE_HINT((opened ? "closed" : "dug open"))] with a shovel.") +/obj/structure/closet/crate/grave/filled + affect_mood = TRUE + /obj/structure/closet/crate/grave/filled/PopulateContents() //GRAVEROBBING IS NOW A FEATURE ..() new /obj/effect/decal/remains/human(src) @@ -252,7 +257,7 @@ if(opened) dug_closed = TRUE close(user) - else if(open(user, force = TRUE)) + else if(open(user, force = TRUE) && affect_mood) if(HAS_MIND_TRAIT(user, TRAIT_MORBID)) user.add_mood_event("morbid_graverobbing", /datum/mood_event/morbid_graverobbing) else diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index 0b029bc3b63db..fa15060d282a9 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -145,7 +145,7 @@ if(6 to 10) new /obj/item/melee/skateboard/pro(src) if(11 to 15) - new /mob/living/simple_animal/bot/secbot/honkbot(src) + new /mob/living/basic/bot/honkbot(src) if(16 to 20) new /obj/item/stack/ore/diamond(src, 10) if(21 to 25) @@ -195,7 +195,7 @@ if(71 to 72) new /obj/item/toy/plush/snakeplushie(src) if(73 to 74) - new /mob/living/simple_animal/pet/gondola(src) + new /mob/living/basic/pet/gondola(src) if(75 to 76) new /obj/item/bikehorn/airhorn(src) if(77 to 78) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 5485ce72f22cd..ecaa17321c486 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -13,16 +13,6 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT hoodtype = /obj/item/clothing/head/hooded/explorer armor_type = /datum/armor/hooded_explorer - allowed = list( - /obj/item/flashlight, - /obj/item/gun/energy/recharge/kinetic_accelerator, - /obj/item/mining_scanner, - /obj/item/pickaxe, - /obj/item/resonator, - /obj/item/storage/bag/ore, - /obj/item/t_scanner/adv_mining_scanner, - /obj/item/tank/internals, - ) resistance_flags = FIRE_PROOF /datum/armor/hooded_explorer @@ -33,6 +23,7 @@ bomb = 50 fire = 50 acid = 50 + wound = 10 /obj/item/clothing/head/hooded/explorer name = "explorer hood" @@ -52,6 +43,7 @@ /obj/item/clothing/suit/hooded/explorer/Initialize(mapload) . = ..() AddComponent(/datum/component/armor_plate) + allowed = GLOB.mining_suit_allowed /obj/item/clothing/head/hooded/explorer/Initialize(mapload) . = ..() @@ -117,19 +109,28 @@ name = "goliath cloak" icon_state = "goliath_cloak" desc = "A staunch, practical cape made out of numerous monster materials, it is coveted amongst exiles & hermits." - allowed = list( - /obj/item/flashlight, - /obj/item/knife/combat/bone, - /obj/item/knife/combat/survival, - /obj/item/organ/internal/monster_core, - /obj/item/pickaxe, - /obj/item/spear, - /obj/item/tank/internals, - ) + body_parts_covered = CHEST|GROIN|LEGS|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|ARMS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF - armor_type = /datum/armor/cloak_goliath + armor_type = /datum/armor/hooded_goliath hoodtype = /obj/item/clothing/head/hooded/cloakhood/goliath - body_parts_covered = CHEST|GROIN|ARMS + +/obj/item/clothing/suit/hooded/cloak/goliath/Initialize(mapload) + . = ..() + allowed = GLOB.mining_suit_allowed + +/datum/armor/hooded_goliath + melee = 60 + bullet = 10 + laser = 10 + energy = 20 + bomb = 50 + fire = 50 + acid = 50 + wound = 10 /obj/item/clothing/suit/hooded/cloak/goliath/click_alt(mob/user) if(!iscarbon(user)) @@ -143,58 +144,80 @@ return CLICK_ACTION_BLOCKING if(slot_flags & ITEM_SLOT_OCLOTHING) slot_flags = ITEM_SLOT_NECK + cold_protection = null + heat_protection = null set_armor(/datum/armor/none) user.visible_message(span_notice("[user] adjusts their [src] for ceremonial use."), span_notice("You adjust your [src] for ceremonial use.")) else slot_flags = initial(slot_flags) + cold_protection = initial(cold_protection) + heat_protection = initial(heat_protection) set_armor(initial(armor_type)) user.visible_message(span_notice("[user] adjusts their [src] for defensive use."), span_notice("You adjust your [src] for defensive use.")) return CLICK_ACTION_SUCCESS -/datum/armor/cloak_goliath - melee = 35 - bullet = 10 - laser = 25 - energy = 35 - bomb = 25 - fire = 60 - acid = 60 - /obj/item/clothing/head/hooded/cloakhood/goliath name = "goliath cloak hood" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "golhood" desc = "A protective & concealing hood." - armor_type = /datum/armor/cloakhood_goliath + armor_type = /datum/armor/hooded_goliath + body_parts_covered = HEAD + cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT clothing_flags = SNUG_FIT flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR transparent_protection = HIDEMASK resistance_flags = FIRE_PROOF -/datum/armor/cloakhood_goliath - melee = 35 - bullet = 10 - laser = 25 - energy = 35 - bomb = 25 - fire = 60 - acid = 60 +/obj/item/clothing/head/hooded/cloakhood/goliath/Initialize(mapload) + . = ..() + +/obj/item/clothing/suit/armor/bone + name = "bone armor" + desc = "A tribal armor plate, crafted from animal bone." + icon_state = "bonearmor" + inhand_icon_state = null + blood_overlay_type = "armor" + armor_type = /datum/armor/hooded_explorer + body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS + cold_protection = CHEST|GROIN|LEGS|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + heat_protection = CHEST|GROIN|LEGS|FEET|ARMS + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + resistance_flags = FIRE_PROOF + +/obj/item/clothing/suit/armor/bone/Initialize(mapload) + . = ..() + AddComponent(/datum/component/armor_plate, upgrade_item = /obj/item/clothing/accessory/talisman) + allowed = GLOB.mining_suit_allowed + +/obj/item/clothing/head/helmet/skull + name = "skull helmet" + desc = "An intimidating tribal helmet, it doesn't look very comfortable." + icon_state = "skull" + inhand_icon_state = null + strip_delay = 100 + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDESNOUT + flags_cover = HEADCOVERSEYES + cold_protection = HEAD + min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT + heat_protection = HEAD + max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT + armor_type = /datum/armor/hooded_explorer + resistance_flags = FIRE_PROOF + +/obj/item/clothing/head/helmet/skull/Initialize(mapload) + . = ..() + AddComponent(/datum/component/armor_plate, upgrade_item = /obj/item/clothing/accessory/talisman) /obj/item/clothing/suit/hooded/cloak/drake name = "drake armour" icon_state = "dragon" desc = "A suit of armour fashioned from the remains of an ash drake." - allowed = list( - /obj/item/flashlight, - /obj/item/gun/energy/recharge/kinetic_accelerator, - /obj/item/mining_scanner, - /obj/item/pickaxe, - /obj/item/resonator, - /obj/item/spear, - /obj/item/t_scanner/adv_mining_scanner, - /obj/item/tank/internals, - ) armor_type = /datum/armor/cloak_drake hoodtype = /obj/item/clothing/head/hooded/cloakhood/drake body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS @@ -214,6 +237,11 @@ bio = 60 fire = 100 acid = 100 + wound = 10 + +/obj/item/clothing/suit/hooded/cloak/drake/Initialize(mapload) + . = ..() + allowed = GLOB.mining_suit_allowed /obj/item/clothing/head/hooded/cloakhood/drake name = "drake helm" @@ -221,7 +249,7 @@ worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "dragon" desc = "The skull of a dragon." - armor_type = /datum/armor/cloakhood_drake + armor_type = /datum/armor/cloak_drake clothing_flags = SNUG_FIT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -229,30 +257,10 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = FIRE_PROOF | ACID_PROOF -/datum/armor/cloakhood_drake - melee = 65 - bullet = 15 - laser = 40 - energy = 40 - bomb = 70 - bio = 60 - fire = 100 - acid = 100 - /obj/item/clothing/suit/hooded/cloak/godslayer name = "godslayer armour" icon_state = "godslayer" desc = "A suit of armour fashioned from the remnants of a knight's armor, and parts of a wendigo." - allowed = list( - /obj/item/flashlight, - /obj/item/gun/energy/recharge/kinetic_accelerator, - /obj/item/mining_scanner, - /obj/item/pickaxe, - /obj/item/resonator, - /obj/item/spear, - /obj/item/t_scanner/adv_mining_scanner, - /obj/item/tank/internals, - ) armor_type = /datum/armor/cloak_godslayer clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL hoodtype = /obj/item/clothing/head/hooded/cloakhood/godslayer @@ -280,6 +288,11 @@ bio = 50 fire = 100 acid = 100 + wound = 10 + +/obj/item/clothing/suit/hooded/cloak/godslayer/Initialize(mapload) + . = ..() + allowed = GLOB.mining_suit_allowed /obj/item/clothing/head/hooded/cloakhood/godslayer name = "godslayer helm" @@ -287,7 +300,7 @@ worn_icon = 'icons/mob/clothing/head/helmet.dmi' icon_state = "godslayer" desc = "The horns and skull of a wendigo, held together by the remaining icey energy of a demonic miner." - armor_type = /datum/armor/cloakhood_godslayer + armor_type = /datum/armor/cloak_godslayer clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | SNUG_FIT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -297,16 +310,6 @@ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF resistance_flags = FIRE_PROOF | ACID_PROOF | FREEZE_PROOF -/datum/armor/cloakhood_godslayer - melee = 50 - bullet = 25 - laser = 25 - energy = 25 - bomb = 50 - bio = 50 - fire = 100 - acid = 100 - /obj/item/clothing/suit/hooded/cloak/godslayer/examine(mob/user) . = ..() if(loc == user && !COOLDOWN_FINISHED(src, effect_cooldown)) @@ -348,6 +351,7 @@ bomb = 50 fire = 60 acid = 60 + wound = 10 /obj/item/clothing/head/hooded/explorer/syndicate name = "syndicate explorer hood" diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 4711a3c05cc0b..b3cd69ea04d3e 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -85,9 +85,8 @@ return ITEM_INTERACT_SUCCESS /obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) - if(!HAS_TRAIT(src, TRAIT_WIELDED) && !acts_as_if_wielded) // BUBBER EDIT CHANGE - Original: if(!HAS_TRAIT(src, TRAIT_WIELDED)) - to_chat(user, span_warning("[src] is too heavy to use with one hand! You fumble and drop everything.")) - user.drop_all_held_items() + if(!HAS_TRAIT(src, TRAIT_WIELDED)) + user.balloon_alert(user, "must be wielded!") return var/datum/status_effect/crusher_damage/crusher_damage_effect = target.has_status_effect(/datum/status_effect/crusher_damage) if(!crusher_damage_effect) diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index d0e5e08e15d52..fd738bbb9d4a8 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -261,10 +261,10 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - clothing_flags = THICKMATERIAL + clothing_flags = THICKMATERIAL|HEADINTERNALS resistance_flags = FIRE_PROOF|LAVA_PROOF|ACID_PROOF transparent_protection = HIDESUITSTORAGE|HIDEJUMPSUIT - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/recharge/kinetic_accelerator, /obj/item/pickaxe) + allowed = null greyscale_colors = "#4d4d4d#808080" greyscale_config = /datum/greyscale_config/heck_suit greyscale_config_worn = /datum/greyscale_config/heck_suit/worn @@ -284,6 +284,7 @@ . = ..() AddElement(/datum/element/radiation_protected_clothing) AddElement(/datum/element/gags_recolorable) + allowed = GLOB.mining_suit_allowed /obj/item/clothing/suit/hooded/hostile_environment/process(seconds_per_tick) var/mob/living/carbon/wearer = loc diff --git a/code/modules/mining/lavaland/tendril_loot.dm b/code/modules/mining/lavaland/tendril_loot.dm index 8e1660f473c99..d2233602c065f 100644 --- a/code/modules/mining/lavaland/tendril_loot.dm +++ b/code/modules/mining/lavaland/tendril_loot.dm @@ -566,7 +566,7 @@ var/list/name2type = list() for(var/obj/item/organ/external/wings/functional/possible_type as anything in wing_types) var/datum/sprite_accessory/accessory = initial(possible_type.sprite_accessory_override) //get the type - accessory = GLOB.sprite_accessories[initial(accessory.key)][initial(accessory.name)] //SKYRAT EDIT CHANGE - ORIGINAL: accessory = GLOB.wings_list[initial(accessory.name)] //get the singleton instance + accessory = SSaccessories.sprite_accessories["wings"][initial(accessory.name)] //get the singleton instance // SKYRAT EDIT - Original SSaccessories.wings_list[initial(accessory.name)] var/image/img = image(icon = accessory.icon, icon_state = "m_wingsopen_[accessory.icon_state]_BEHIND") //Process the HUD elements img.transform *= 0.5 img.pixel_x = -32 @@ -659,7 +659,10 @@ /obj/item/clothing/suit/hooded/berserker name = "berserker armor" - desc = "Voices echo from the armor, driving the user insane. Is not space-proof." + desc = "This hulking armor seems to possess some kind of dark force within; howling in rage, hungry for carnage. \ + The self-sealing stem bolts that allowed this suit to be spaceworthy have long since corroded. However, the entity \ + sealed within the suit seems to hunger for the fleeting lifeforce found in the remains left in the remains of drakes. \ + Feeding it drake remains seems to empower a suit piece, though turns the remains back to lifeless ash." icon_state = "berserker" icon = 'icons/obj/clothing/suits/armor.dmi' worn_icon = 'icons/mob/clothing/suits/armor.dmi' @@ -671,19 +674,9 @@ heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - resistance_flags = FIRE_PROOF - clothing_flags = THICKMATERIAL - allowed = list( - /obj/item/flashlight, - /obj/item/tank/internals, - /obj/item/pickaxe, - /obj/item/spear, - /obj/item/organ/internal/monster_core, - /obj/item/knife, - /obj/item/kinetic_crusher, - /obj/item/resonator, - /obj/item/melee/cleaving_saw, - ) + flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT + resistance_flags = FIRE_PROOF | ACID_PROOF + clothing_flags = THICKMATERIAL|HEADINTERNALS /datum/armor/hooded_berserker melee = 30 @@ -691,23 +684,35 @@ laser = 10 energy = 20 bomb = 50 + bio = 60 fire = 100 acid = 100 + wound = 10 + +/datum/armor/drake_empowerment + melee = 35 + laser = 30 + energy = 20 + bomb = 20 /obj/item/clothing/suit/hooded/berserker/Initialize(mapload) . = ..() AddComponent(/datum/component/anti_magic, ALL, inventory_flags = ITEM_SLOT_OCLOTHING) + AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/drake_remains, armor_mod = /datum/armor/drake_empowerment, upgrade_prefix = "empowered") + allowed = GLOB.mining_suit_allowed #define MAX_BERSERK_CHARGE 100 #define PROJECTILE_HIT_MULTIPLIER 1.5 #define DAMAGE_TO_CHARGE_SCALE 0.75 #define CHARGE_DRAINED_PER_SECOND 5 -#define BERSERK_MELEE_ARMOR_ADDED 50 #define BERSERK_ATTACK_SPEED_MODIFIER 0.25 /obj/item/clothing/head/hooded/berserker name = "berserker helmet" - desc = "Peering into the eyes of the helmet is enough to seal damnation." + desc = "This burdensome helmet seems to possess some kind of dark force within; howling in rage, hungry for carnage. \ + The self-sealing stem bolts that allowed this helmet to be spaceworthy have long since corroded. However, the entity \ + sealed within the suit seems to hunger for the fleeting lifeforce found in the remains left in the remains of drakes. \ + Feeding it drake remains seems to empower a suit piece, though turns the remains back to lifeless ash." icon_state = "berserker" icon = 'icons/obj/clothing/head/helmet.dmi' worn_icon = 'icons/mob/clothing/head/helmet.dmi' @@ -717,7 +722,8 @@ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - resistance_flags = FIRE_PROOF + flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS|HIDESNOUT + resistance_flags = FIRE_PROOF | ACID_PROOF clothing_flags = SNUG_FIT|THICKMATERIAL /// Current charge of berserk, goes from 0 to 100 var/berserk_charge = 0 @@ -727,6 +733,7 @@ /obj/item/clothing/head/hooded/berserker/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_NODROP, LOCKED_HELMET_TRAIT) + AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/drake_remains, armor_mod = /datum/armor/drake_empowerment, upgrade_prefix = "empowered") /obj/item/clothing/head/hooded/berserker/examine() . = ..() @@ -758,12 +765,12 @@ if(berserk_active) return TRUE -/// Starts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier +/// Starts berserk, reducing incoming brute by 50%, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier /obj/item/clothing/head/hooded/berserker/proc/berserk_mode(mob/living/carbon/human/user) to_chat(user, span_warning("You enter berserk mode.")) playsound(user, 'sound/magic/staff_healing.ogg', 50) user.add_movespeed_modifier(/datum/movespeed_modifier/berserk) - user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = BERSERK_MELEE_ARMOR_ADDED)) + user.physiology.brute_mod *= 0.5 user.next_move_modifier *= BERSERK_ATTACK_SPEED_MODIFIER user.add_atom_colour(COLOR_BUBBLEGUM_RED, TEMPORARY_COLOUR_PRIORITY) ADD_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT) @@ -781,7 +788,7 @@ to_chat(user, span_warning("You exit berserk mode.")) playsound(user, 'sound/magic/summonitems_generic.ogg', 50) user.remove_movespeed_modifier(/datum/movespeed_modifier/berserk) - user.physiology.armor = user.physiology.armor.generate_new_with_modifiers(list(MELEE = -BERSERK_MELEE_ARMOR_ADDED)) + user.physiology.brute_mod *= 2 user.next_move_modifier /= BERSERK_ATTACK_SPEED_MODIFIER user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, COLOR_BUBBLEGUM_RED) REMOVE_TRAIT(user, TRAIT_NOGUNS, BERSERK_TRAIT) @@ -792,9 +799,18 @@ #undef PROJECTILE_HIT_MULTIPLIER #undef DAMAGE_TO_CHARGE_SCALE #undef CHARGE_DRAINED_PER_SECOND -#undef BERSERK_MELEE_ARMOR_ADDED #undef BERSERK_ATTACK_SPEED_MODIFIER +/obj/item/drake_remains + name = "drake remains" + desc = "The gathered remains of a drake. It still crackles with heat, and smells distinctly of brimstone." + icon = 'icons/obj/clothing/head/helmet.dmi' + icon_state = "dragon" + +/obj/item/drake_remains/Initialize(mapload) + . = ..() + particles = new /particles/bonfire() + /obj/item/clothing/glasses/godeye name = "eye of god" desc = "A strange eye, said to have been torn from an omniscient creature that used to roam the wastes." diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 52d224c90e33b..bf717c4f0d916 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -224,7 +224,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) if(ghost_accs == GHOST_ACCS_FULL && (icon_state in GLOB.ghost_forms_with_accessories_list)) //check if this form supports accessories and if the client wants to show them if(facial_hairstyle) - var/datum/sprite_accessory/S = GLOB.facial_hairstyles_list[facial_hairstyle] + var/datum/sprite_accessory/S = SSaccessories.facial_hairstyles_list[facial_hairstyle] if(S) facial_hair_overlay = mutable_appearance(S.icon, "[S.icon_state]", -HAIR_LAYER) if(facial_hair_color) @@ -232,7 +232,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) facial_hair_overlay.alpha = 200 add_overlay(facial_hair_overlay) if(hairstyle) - var/datum/sprite_accessory/hair/S = GLOB.hairstyles_list[hairstyle] + var/datum/sprite_accessory/hair/S = SSaccessories.hairstyles_list[hairstyle] if(S) hair_overlay = mutable_appearance(S.icon, "[S.icon_state]", -HAIR_LAYER) if(hair_color) diff --git a/code/modules/mob/living/basic/bots/_bots.dm b/code/modules/mob/living/basic/bots/_bots.dm index d98369294e018..6febd66d270d9 100644 --- a/code/modules/mob/living/basic/bots/_bots.dm +++ b/code/modules/mob/living/basic/bots/_bots.dm @@ -14,32 +14,40 @@ GLOBAL_LIST_INIT(command_strings, list( gender = NEUTER mob_biotypes = MOB_ROBOTIC basic_mob_flags = DEL_ON_DEATH + density = FALSE + icon = 'icons/mob/silicon/aibots.dmi' icon_state = "medibot0" base_icon_state = "medibot" + damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) habitable_atmos = null hud_possible = list(DIAG_STAT_HUD, DIAG_BOT_HUD, DIAG_HUD, DIAG_BATT_HUD, DIAG_PATH_HUD = HUD_LIST_LIST) + maximum_survivable_temperature = INFINITY minimum_survivable_temperature = 0 has_unlimited_silicon_privilege = TRUE + sentience_type = SENTIENCE_ARTIFICIAL status_flags = NONE //no default canpush - faction = list(FACTION_MINING) ai_controller = /datum/ai_controller/basic_controller/bot - pass_flags = PASSFLAPS + pass_flags = PASSFLAPS | PASSMOB + verb_say = "states" verb_ask = "queries" verb_exclaim = "declares" verb_yell = "alarms" + initial_language_holder = /datum/language_holder/synthetic bubble_icon = "machine" + speech_span = SPAN_ROBOT - faction = list(FACTION_NEUTRAL, FACTION_SILICON, FACTION_TURRET) + faction = list(FACTION_SILICON) light_system = OVERLAY_LIGHT light_range = 3 light_power = 0.6 speed = 3 + req_one_access = list(ACCESS_ROBOTICS) interaction_flags_click = ALLOW_SILICON_REACH ///The Robot arm attached to this robot - has a 50% chance to drop on death. @@ -101,7 +109,7 @@ GLOBAL_LIST_INIT(command_strings, list( /mob/living/basic/bot/Initialize(mapload) . = ..() - AddElement(/datum/element/relay_attackers) + AddElement(/datum/element/ai_retaliate) RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(handle_loop_movement)) RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(after_attacked)) RegisterSignal(src, COMSIG_MOB_TRIED_ACCESS, PROC_REF(attempt_access)) diff --git a/code/modules/mob/living/basic/bots/bot_ai.dm b/code/modules/mob/living/basic/bots/bot_ai.dm index 1c30f83b2e64c..93d53d6e52183 100644 --- a/code/modules/mob/living/basic/bots/bot_ai.dm +++ b/code/modules/mob/living/basic/bots/bot_ai.dm @@ -23,11 +23,24 @@ BB_PREVIOUS_BEACON_TARGET, BB_BOT_SUMMON_TARGET, ) - ///how many times we tried to reach the target - var/current_pathing_attempts = 0 - ///if we cant reach it after this many attempts, add it to our ignore list - var/max_pathing_attempts = 25 - can_idle = FALSE // we want these to be running always + can_idle = FALSE + +/datum/targeting_strategy/basic/bot/can_attack(mob/living/living_mob, atom/the_target, vision_range) + var/datum/ai_controller/my_controller = living_mob.ai_controller + if(isnull(my_controller)) + return FALSE + if(!ishuman(the_target) || LAZYACCESS(my_controller.blackboard[BB_TEMPORARY_IGNORE_LIST], the_target)) + return FALSE + var/mob/living/living_target = the_target + if(isnull(living_target.mind)) + return FALSE + if(get_turf(living_mob) == get_turf(living_target)) + return ..() + var/list/path = get_path_to(living_mob, living_target, max_distance = 10, access = my_controller.get_access()) + if(!length(path) || QDELETED(living_mob)) + my_controller?.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, living_target, TRUE) + return FALSE + return ..() /datum/ai_controller/basic_controller/bot/TryPossessPawn(atom/new_pawn) . = ..() @@ -66,7 +79,7 @@ set_blackboard_key(key, target) return TRUE if(!bypass_add_to_blacklist) - set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, REF(target), TRUE) + set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, target, TRUE) return FALSE /datum/ai_controller/basic_controller/bot/proc/can_reach_target(target, distance = 10) @@ -236,3 +249,30 @@ /datum/ai_behavior/salute_authority/finish_action(datum/ai_controller/controller, succeeded, target_key) . = ..() controller.clear_blackboard_key(target_key) + +/datum/ai_behavior/bot_search + action_cooldown = 2 SECONDS + behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + +/datum/ai_behavior/bot_search/perform(seconds_per_tick, datum/ai_controller/basic_controller/bot/controller, target_key, looking_for, radius = 5, pathing_distance = 10, bypass_add_blacklist = FALSE) + if(!istype(controller)) + stack_trace("attempted to give [controller.pawn] the bot search behavior!") + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + + var/mob/living/living_pawn = controller.pawn + var/list/ignore_list = controller.blackboard[BB_TEMPORARY_IGNORE_LIST] + for(var/atom/potential_target as anything in oview(radius, controller.pawn)) + if(QDELETED(living_pawn)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + if(!is_type_in_typecache(potential_target, looking_for)) + continue + if(LAZYACCESS(ignore_list, potential_target)) + continue + if(!valid_target(controller, potential_target)) + continue + if(controller.set_if_can_reach(target_key, potential_target, distance = pathing_distance, bypass_add_to_blacklist = bypass_add_blacklist)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + +/datum/ai_behavior/bot_search/proc/valid_target(datum/ai_controller/basic_controller/bot/controller, atom/my_target) + return TRUE diff --git a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm index 7cfe7132e155e..cd30dd4057d0e 100644 --- a/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm +++ b/code/modules/mob/living/basic/bots/cleanbot/cleanbot.dm @@ -5,9 +5,6 @@ desc = "A little cleaning robot, he looks so excited!" icon = 'icons/mob/silicon/aibots.dmi' icon_state = "cleanbot0" - pass_flags = PASSMOB | PASSFLAPS - density = FALSE - anchored = FALSE health = 25 maxHealth = 25 light_color = "#99ccff" diff --git a/code/modules/mob/living/basic/bots/cleanbot/cleanbot_ai.dm b/code/modules/mob/living/basic/bots/cleanbot/cleanbot_ai.dm index a58a97c7274e0..1fbaa6db2a976 100644 --- a/code/modules/mob/living/basic/bots/cleanbot/cleanbot_ai.dm +++ b/code/modules/mob/living/basic/bots/cleanbot/cleanbot_ai.dm @@ -5,7 +5,6 @@ blackboard = list( BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_items, BB_PET_TARGETING_STRATEGY = /datum/targeting_strategy/basic/not_friends, - BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, BB_UNREACHABLE_LIST_COOLDOWN = 3 MINUTES, BB_SALUTE_MESSAGES = list( "salutes", @@ -77,11 +76,13 @@ for(var/atom/found_item in found) if(QDELETED(controller.pawn)) break - if(LAZYACCESS(ignore_list, REF(found_item))) + if(LAZYACCESS(ignore_list, found_item)) continue + if(get_turf(found_item) == get_turf(controller.pawn)) + return found_item var/list/path = get_path_to(controller.pawn, found_item, max_distance = BOT_CLEAN_PATH_LIMIT, access = controller.get_access()) if(!length(path)) - controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, REF(found_item), TRUE) + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, found_item, TRUE) continue return found_item @@ -104,7 +105,7 @@ /datum/ai_behavior/find_and_set/spray_target/search_tactic(datum/ai_controller/controller, locate_path, search_range) var/list/ignore_list = controller.blackboard[BB_TEMPORARY_IGNORE_LIST] for(var/mob/living/carbon/human/human_target in oview(search_range, controller.pawn)) - if(LAZYACCESS(ignore_list, REF(human_target))) + if(LAZYACCESS(ignore_list, human_target)) continue if(human_target.stat != CONSCIOUS || isnull(human_target.mind)) continue @@ -137,7 +138,7 @@ var/atom/target = controller.blackboard[target_key] if(!succeeded && !isnull(target)) controller.clear_blackboard_key(target_key) - controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, REF(target), TRUE) + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, target, TRUE) return if(QDELETED(target) || is_type_in_typecache(target, controller.blackboard[BB_HUNTABLE_TRASH])) return @@ -212,7 +213,7 @@ return if(isnull(parent.ai_controller)) return - if(LAZYACCESS(parent.ai_controller.blackboard[BB_TEMPORARY_IGNORE_LIST], REF(target))) + if(LAZYACCESS(parent.ai_controller.blackboard[BB_TEMPORARY_IGNORE_LIST], target)) return return ..() diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm new file mode 100644 index 0000000000000..7f869995c31a3 --- /dev/null +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot.dm @@ -0,0 +1,110 @@ +/mob/living/basic/bot/honkbot + name = "\improper Honkbot" + desc = "A little robot. It looks happy with its bike horn." + icon_state = "honkbot" + base_icon_state = "honkbot" + damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) + req_access = list(ACCESS_ROBOTICS, ACCESS_THEATRE, ACCESS_JANITOR) + radio_key = /obj/item/encryptionkey/headset_service + ai_controller = /datum/ai_controller/basic_controller/bot/honkbot + radio_channel = RADIO_CHANNEL_SERVICE + bot_type = HONK_BOT + bot_mode_flags = BOT_MODE_ON | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_AUTOPATROL | BOT_MODE_ROUNDSTART_POSSESSION + hackables = "sound control systems" + path_image_color = "#FF69B4" + data_hud_type = DATA_HUD_SECURITY_BASIC + additional_access = /datum/id_trim/job/clown + possessed_message = "You are a honkbot! Make sure the crew are having a great time!" + ///our voicelines + var/static/list/honkbot_sounds = list( + HONKBOT_VOICED_HONK_HAPPY = 'sound/items/bikehorn.ogg', + HONKBOT_VOICED_HONK_SAD = 'sound/misc/sadtrombone.ogg', + ) + ///Honkbot's flags + var/honkbot_flags = HONKBOT_CHECK_RECORDS | HONKBOT_HANDCUFF_TARGET | HONKBOT_MODE_SLIP + +/mob/living/basic/bot/honkbot/Initialize(mapload) + . = ..() + var/static/list/clown_friends = typecacheof(list( + /mob/living/carbon/human, + /mob/living/silicon/robot, + )) + ai_controller.set_blackboard_key(BB_CLOWNS_LIST, clown_friends) + var/static/list/slippery_items = typecacheof(list( + /obj/item/grown/bananapeel, + /obj/item/soap, + )) + ai_controller.set_blackboard_key(BB_SLIPPERY_ITEMS, slippery_items) + + var/datum/action/cooldown/mob_cooldown/bot/honk/bike_honk = new(src) + bike_honk.Grant(src) + bike_honk.post_honk_callback = CALLBACK(src, PROC_REF(set_attacking_state)) + ai_controller.set_blackboard_key(BB_HONK_ABILITY, bike_honk) + + AddComponent(/datum/component/slippery,\ + knockdown = 6 SECONDS,\ + paralyze = 3 SECONDS,\ + on_slip_callback = CALLBACK(src, PROC_REF(post_slip)),\ + can_slip_callback = CALLBACK(src, PROC_REF(pre_slip)),\ + ) + AddComponent(/datum/component/stun_n_cuff,\ + stun_sound = 'sound/items/AirHorn.ogg',\ + post_stun_callback = CALLBACK(src, PROC_REF(post_stun)),\ + post_arrest_callback = CALLBACK(src, PROC_REF(post_arrest)),\ + handcuff_type = /obj/item/restraints/handcuffs/cable/zipties/fake,\ + ) + +/mob/living/basic/bot/honkbot/generate_speak_list() + return honkbot_sounds + +/mob/living/basic/bot/honkbot/proc/pre_slip() + return (prob(70) && ai_controller?.blackboard_key_exists(BB_BASIC_MOB_CURRENT_TARGET)) + +/mob/living/basic/bot/honkbot/proc/post_slip() + INVOKE_ASYNC(src, TYPE_PROC_REF(/mob/living/basic/bot, speak), HONKBOT_VOICED_HONK_SAD) + set_attacking_state() + +/mob/living/basic/bot/honkbot/proc/set_attacking_state() + icon_state = "[base_icon_state]-c" + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 0.2 SECONDS) + +/mob/living/basic/bot/honkbot/proc/post_arrest(mob/living/carbon/current_target) + playsound(src, (bot_access_flags & BOT_COVER_EMAGGED ? SFX_HONKBOT_E : 'sound/items/bikehorn.ogg'), 50, FALSE) + icon_state = bot_access_flags & BOT_COVER_EMAGGED ? "[base_icon_state]-e" : "[base_icon_state]-c" + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 3 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE) + +/mob/living/basic/bot/honkbot/proc/post_stun(mob/living/carbon/current_target) + if(!istype(current_target)) + return + + current_target.set_stutter(40 SECONDS) + current_target.set_jitter_if_lower(100 SECONDS) + set_attacking_state() + if(HAS_TRAIT(current_target, TRAIT_DEAF)) + return + + var/obj/item/organ/internal/ears/target_ears = current_target.get_organ_slot(ORGAN_SLOT_EARS) + target_ears?.adjustEarDamage(0, 5) + +/mob/living/basic/bot/honkbot/ui_data(mob/user) + var/list/data = ..() + if(!(bot_access_flags & BOT_COVER_LOCKED) || issilicon(user) || isAdminGhostAI(user)) + data["custom_controls"]["slip_people"] = honkbot_flags & HONKBOT_MODE_SLIP + data["custom_controls"]["fake_cuff"] = honkbot_flags & HONKBOT_HANDCUFF_TARGET + data["custom_controls"]["check_ids"] = honkbot_flags & HONKBOT_CHECK_IDS + data["custom_controls"]["check_records"] = honkbot_flags & HONKBOT_CHECK_RECORDS + return data + +/mob/living/basic/bot/honkbot/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(. || !isliving(ui.user) || (bot_access_flags & BOT_COVER_LOCKED) && !(ui.user.has_unlimited_silicon_privilege)) + return + switch(action) + if("slip_people") + honkbot_flags ^= HONKBOT_MODE_SLIP + if("fake_cuff") + honkbot_flags ^= HONKBOT_HANDCUFF_TARGET + if("check_ids") + honkbot_flags ^= HONKBOT_CHECK_IDS + if("check_records") + honkbot_flags ^= HONKBOT_CHECK_RECORDS diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot_abilities.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot_abilities.dm new file mode 100644 index 0000000000000..4db55668dce7c --- /dev/null +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot_abilities.dm @@ -0,0 +1,19 @@ +/datum/action/cooldown/mob_cooldown/bot/honk + name = "Honk" + desc = "Spread cheer and joy all around!" + button_icon = 'icons/obj/art/horn.dmi' + button_icon_state = "bike_horn" + cooldown_time = 5 SECONDS + click_to_activate = FALSE + ///callback after we have honked + var/datum/callback/post_honk_callback + +/datum/action/cooldown/mob_cooldown/bot/honk/Activate() + playsound(owner, 'sound/items/bikehorn.ogg', 50, TRUE, -1) + post_honk_callback?.Invoke() + StartCooldown() + return TRUE + +/datum/action/cooldown/mob_cooldown/bot/honk/Destroy() + . = ..() + post_honk_callback = null diff --git a/code/modules/mob/living/basic/bots/honkbots/honkbot_ai.dm b/code/modules/mob/living/basic/bots/honkbots/honkbot_ai.dm new file mode 100644 index 0000000000000..f8d4f55150d1d --- /dev/null +++ b/code/modules/mob/living/basic/bots/honkbots/honkbot_ai.dm @@ -0,0 +1,248 @@ +/datum/ai_controller/basic_controller/bot/honkbot + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_UNREACHABLE_LIST_COOLDOWN = 1 MINUTES, + BB_ALWAYS_IGNORE_FACTION = TRUE, + ) + planning_subtrees = list( + /datum/ai_planning_subtree/respond_to_summon, + /datum/ai_planning_subtree/use_mob_ability/random_honk, + /datum/ai_planning_subtree/manage_unreachable_list, + /datum/ai_planning_subtree/find_wanted_targets, + /datum/ai_planning_subtree/troll_target, + /datum/ai_planning_subtree/slip_victims, + /datum/ai_planning_subtree/play_with_clowns, + /datum/ai_planning_subtree/find_patrol_beacon, + ) + reset_keys = list( + BB_BEACON_TARGET, + BB_PREVIOUS_BEACON_TARGET, + BB_BOT_SUMMON_TARGET, + ) + ai_traits = PAUSE_DURING_DO_AFTER + +/datum/ai_controller/basic_controller/bot/honkbot/TryPossessPawn(atom/new_pawn) + . = ..() + if(. & AI_CONTROLLER_INCOMPATIBLE) + return + RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_CLEARED(BB_SLIP_TARGET), PROC_REF(on_clear_target)) + RegisterSignal(new_pawn, COMSIG_ATOM_NO_LONGER_PULLING, PROC_REF(on_stop_pulling)) + +/datum/ai_controller/basic_controller/bot/honkbot/proc/on_clear_target(datum/source) + SIGNAL_HANDLER + + var/mob/living/living_pawn = pawn + living_pawn.stop_pulling() + +/datum/ai_controller/basic_controller/bot/honkbot/proc/on_stop_pulling(datum/source) + SIGNAL_HANDLER + + if(!blackboard_key_exists(BB_SLIP_TARGET)) + return + + var/atom/slip_target = blackboard[BB_SLIP_TARGET] + set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, slip_target, TRUE) + clear_blackboard_key(BB_SLIP_TARGET) + +/datum/ai_planning_subtree/find_wanted_targets + +/datum/ai_planning_subtree/find_wanted_targets/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + var/static/list/can_arrest = typecacheof(list(/mob/living/carbon/human)) + if(!controller.blackboard_key_exists(BB_BASIC_MOB_CURRENT_TARGET)) + controller.queue_behavior(/datum/ai_behavior/bot_search/wanted_targets, BB_BASIC_MOB_CURRENT_TARGET, can_arrest) + +/datum/ai_behavior/bot_search/wanted_targets + +/datum/ai_behavior/bot_search/wanted_targets/valid_target(datum/ai_controller/basic_controller/bot/controller, mob/living/my_target) + if(!ishuman(my_target)) + return FALSE + var/mob/living/carbon/human/human_target = my_target + if(human_target.handcuffed || human_target.stat != CONSCIOUS) + return FALSE + if(locate(human_target) in controller.blackboard[BB_BASIC_MOB_RETALIATE_LIST]) + return TRUE + var/mob/living/basic/bot/honkbot/my_bot = controller.pawn + var/honkbot_flags = my_bot.honkbot_flags + var/assess_flags = NONE + if(human_target.IsParalyzed() && !(honkbot_flags & HONKBOT_HANDCUFF_TARGET)) + return FALSE + if(my_bot.bot_access_flags & BOT_COVER_EMAGGED) + assess_flags |= JUDGE_EMAGGED + if(honkbot_flags & HONKBOT_CHECK_IDS) + assess_flags |= JUDGE_IDCHECK + if(honkbot_flags & HONKBOT_CHECK_RECORDS) + assess_flags |= JUDGE_RECORDCHECK + return (human_target.assess_threat(assess_flags) > 0) + +/datum/ai_planning_subtree/troll_target + +/datum/ai_planning_subtree/troll_target/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + var/mob/living/carbon/my_target = controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET] + if(QDELETED(my_target) || !istype(my_target) || my_target.handcuffed) + controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) + return + + var/mob/living/basic/bot/honkbot/my_bot = controller.pawn + if(my_target.IsParalyzed() && !(my_bot.honkbot_flags & HONKBOT_HANDCUFF_TARGET)) + controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET) + return + + controller.queue_behavior(/datum/ai_behavior/basic_melee_attack/interact_once/honkbot, BB_BASIC_MOB_CURRENT_TARGET, BB_TARGETING_STRATEGY) + return SUBTREE_RETURN_FINISH_PLANNING + +/datum/ai_behavior/basic_melee_attack/interact_once/honkbot + +/datum/ai_behavior/basic_melee_attack/interact_once/honkbot/finish_action(datum/ai_controller/controller, succeeded, target_key, targeting_strategy_key, hiding_location_key) + var/mob/living/carbon/human/human_target = controller.blackboard[target_key] + if(!isnull(human_target)) + controller.remove_from_blackboard_lazylist_key(BB_BASIC_MOB_RETALIATE_LIST, human_target) + return ..() + +/datum/ai_planning_subtree/play_with_clowns/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + var/mob/living/clown_target = controller.blackboard[BB_CLOWN_FRIEND] + if(QDELETED(clown_target)) + var/list/my_list = controller.blackboard[BB_CLOWNS_LIST] + controller.queue_behavior(/datum/ai_behavior/bot_search/clown_friends, BB_CLOWN_FRIEND, my_list) + return + controller.queue_behavior(/datum/ai_behavior/play_with_clown, BB_CLOWN_FRIEND) + return SUBTREE_RETURN_FINISH_PLANNING + +/datum/ai_behavior/bot_search/clown_friends + +/datum/ai_behavior/bot_search/clown_friends/valid_target(datum/ai_controller/basic_controller/bot/controller, mob/living/my_target) + if(HAS_TRAIT(my_target, TRAIT_PERCEIVED_AS_CLOWN)) + return TRUE + if(!istype(my_target, /mob/living/silicon/robot)) + return FALSE + var/mob/living/silicon/robot/robot_target = my_target + return istype(robot_target.model, /obj/item/robot_model/clown) + +/datum/ai_behavior/play_with_clown + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_REQUIRE_REACH | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + +/datum/ai_behavior/play_with_clown/setup(datum/ai_controller/controller, target_key) + . = ..() + var/atom/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/play_with_clown/perform(seconds_per_tick, datum/ai_controller/controller, target_key) + var/mob/living/living_target = controller.blackboard[target_key] + if(QDELETED(living_target)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + var/mob/living/living_pawn = controller.pawn + var/datum/action/honk_ability = controller.blackboard[BB_HONK_ABILITY] + honk_ability?.Trigger() + living_pawn.manual_emote("celebrates with [living_target]!") + living_pawn.emote("flip") + living_pawn.emote("beep") + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED + +/datum/ai_behavior/play_with_clown/finish_action(datum/ai_controller/controller, succeeded, target_key, targeting_strategy_key, hiding_location_key) + . = ..() + var/mob/living/living_target = controller.blackboard[target_key] + if(QDELETED(living_target)) + return + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, living_target, TRUE) + controller.clear_blackboard_key(target_key) + +/datum/ai_planning_subtree/slip_victims/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + var/mob/living/living_pawn = controller.pawn + if(!living_pawn.has_gravity()) + return + + var/atom/slippery_item = controller.blackboard[BB_SLIPPERY_TARGET] + if(QDELETED(slippery_item) || !can_see(controller.pawn, slippery_item, 5)) + controller.clear_blackboard_key(BB_SLIP_TARGET) + controller.clear_blackboard_key(BB_SLIPPERY_TARGET) + controller.queue_behavior(/datum/ai_behavior/bot_search, BB_SLIPPERY_TARGET, controller.blackboard[BB_SLIPPERY_ITEMS]) + return + + var/mob/living/living_target = controller.blackboard[BB_SLIP_TARGET] + + if(QDELETED(living_target)) + var/static/list/to_slip = typecacheof(list(/mob/living/carbon/human)) + controller.queue_behavior(/datum/ai_behavior/bot_search/slip_target, BB_SLIP_TARGET, to_slip) + return + + if(living_pawn.pulling == living_target) + controller.queue_behavior(/datum/ai_behavior/drag_to_slip, BB_SLIP_TARGET, BB_SLIPPERY_TARGET) + return SUBTREE_RETURN_FINISH_PLANNING + + controller.queue_behavior(/datum/ai_behavior/drag_target, BB_SLIP_TARGET) + return SUBTREE_RETURN_FINISH_PLANNING + +/datum/ai_behavior/bot_search/slip_target + +/datum/ai_behavior/bot_search/slip_target/valid_target(datum/ai_controller/basic_controller/bot/controller, mob/living/my_target) + return (!my_target.buckled && my_target.has_gravity()) + +/datum/ai_behavior/drag_to_slip + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + required_distance = 0 + +/datum/ai_behavior/drag_to_slip/setup(datum/ai_controller/controller, slip_target, slippery_target) + . = ..() + var/atom/target = controller.blackboard[slippery_target] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/drag_to_slip/perform(seconds_per_tick, datum/ai_controller/controller, slip_target, slippery_target) + var/mob/living/our_pawn = controller.pawn + var/atom/living_target = controller.blackboard[slip_target] + if(QDELETED(living_target)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + var/list/possible_dirs = GLOB.alldirs.Copy() + possible_dirs -= get_dir(our_pawn, living_target) + for(var/direction in possible_dirs) + var/turf/possible_turf = get_step(our_pawn, direction) + if(possible_turf.is_blocked_turf(source_atom = our_pawn)) + possible_dirs -= direction + step(our_pawn, pick(possible_dirs)) + our_pawn.stop_pulling() + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED + +/datum/ai_behavior/drag_to_slip/finish_action(datum/ai_controller/controller, success, slip_target, slippery_target) + . = ..() + if(success) + var/mob/living/living_pawn = controller.pawn + living_pawn.emote("flip") + var/atom/slipped_victim = controller.blackboard[slip_target] + if(!isnull(slipped_victim)) + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, slipped_victim, TRUE) + controller.clear_blackboard_key(slip_target) + controller.clear_blackboard_key(slippery_target) + +/datum/ai_behavior/drag_target + behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT | AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION | AI_BEHAVIOR_REQUIRE_REACH + +/datum/ai_behavior/drag_target/setup(datum/ai_controller/controller, target_key) + . = ..() + var/atom/target = controller.blackboard[target_key] + if(QDELETED(target)) + return FALSE + set_movement_target(controller, target) + +/datum/ai_behavior/drag_target/perform(seconds_per_tick, datum/ai_controller/controller, target_key) + var/atom/movable/target = controller.blackboard[target_key] + if(QDELETED(target) || target.anchored || target.pulledby) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + var/mob/living/our_mob = controller.pawn + our_mob.start_pulling(target) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED + +/datum/ai_behavior/drag_target/finish_action(datum/ai_controller/controller, succeeded, target_key) + . = ..() + if(!succeeded) + controller.clear_blackboard_key(target_key) + +/datum/ai_planning_subtree/use_mob_ability/random_honk + ability_key = BB_HONK_ABILITY + +/datum/ai_planning_subtree/use_mob_ability/random_honk/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick) + if(!SPT_PROB(5, seconds_per_tick)) + return + return ..() + diff --git a/code/modules/mob/living/basic/bots/hygienebot/hygienebot.dm b/code/modules/mob/living/basic/bots/hygienebot/hygienebot.dm index 8def16692bfc2..4dbd78dcac14a 100644 --- a/code/modules/mob/living/basic/bots/hygienebot/hygienebot.dm +++ b/code/modules/mob/living/basic/bots/hygienebot/hygienebot.dm @@ -6,7 +6,7 @@ icon = 'icons/mob/silicon/aibots.dmi' icon_state = "hygienebot" base_icon_state = "hygienebot" - pass_flags = PASSMOB | PASSFLAPS | PASSTABLE + pass_flags = parent_type::pass_flags | PASSTABLE layer = MOB_UPPER_LAYER density = FALSE anchored = FALSE diff --git a/code/modules/mob/living/basic/bots/medbot/medbot.dm b/code/modules/mob/living/basic/bots/medbot/medbot.dm index e76e723e1971f..269505fb8c877 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot.dm @@ -6,7 +6,6 @@ icon = 'icons/mob/silicon/aibots.dmi' icon_state = "medibot0" base_icon_state = "medibot" - density = FALSE health = 20 maxHealth = 20 speed = 2 diff --git a/code/modules/mob/living/basic/bots/medbot/medbot_ai.dm b/code/modules/mob/living/basic/bots/medbot/medbot_ai.dm index 0a4520ad17b26..f0b2f089cb6e7 100644 --- a/code/modules/mob/living/basic/bots/medbot/medbot_ai.dm +++ b/code/modules/mob/living/basic/bots/medbot/medbot_ai.dm @@ -56,7 +56,7 @@ search_range = (mode_flags & MEDBOT_STATIONARY_MODE) ? 1 : initial(search_range) var/list/ignore_keys = controller.blackboard[BB_TEMPORARY_IGNORE_LIST] for(var/mob/living/carbon/human/treatable_target in oview(search_range, controller.pawn)) - if(LAZYACCESS(ignore_keys, REF(treatable_target)) || treatable_target.stat == DEAD) + if(LAZYACCESS(ignore_keys, treatable_target) || treatable_target.stat == DEAD) continue if((access_flags & BOT_COVER_EMAGGED) && treatable_target.stat == CONSCIOUS) controller.set_if_can_reach(BB_PATIENT_TARGET, treatable_target, distance =BOT_PATIENT_PATH_LIMIT, bypass_add_to_blacklist = (search_range == 1)) @@ -107,18 +107,18 @@ return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED // only clear the target if they get healed -/datum/ai_behavior/tend_to_patient/finish_action(datum/ai_controller/controller, succeeded, target_key, is_stationary, healed_target = FALSE) +/datum/ai_behavior/tend_to_patient/finish_action(datum/ai_controller/controller, succeeded, target_key, threshold, damage_type_healer, access_flags, is_stationary) . = ..() var/atom/target = controller.blackboard[target_key] if(!succeeded) if(!isnull(target) && !is_stationary) - controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, REF(target), TRUE) + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, target, TRUE) controller.clear_blackboard_key(target_key) return - if(QDELETED(target) || !healed_target) + if(QDELETED(target) || !check_if_healed(target, threshold, damage_type_healer, access_flags)) return var/datum/action/cooldown/bot_announcement/announcement = controller.blackboard[BB_ANNOUNCE_ABILITY] diff --git a/code/modules/mob/living/basic/icemoon/wolf/wolf.dm b/code/modules/mob/living/basic/icemoon/wolf/wolf.dm index e452c15647448..b7a947f00e309 100644 --- a/code/modules/mob/living/basic/icemoon/wolf/wolf.dm +++ b/code/modules/mob/living/basic/icemoon/wolf/wolf.dm @@ -55,6 +55,7 @@ /mob/living/basic/mining/wolf/Initialize(mapload) . = ..() + ADD_TRAIT(src, TRAIT_WOUND_LICKER, INNATE_TRAIT) AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) AddElement(/datum/element/ai_flee_while_injured) AddElement(/datum/element/ai_retaliate) diff --git a/code/modules/mob/living/basic/lavaland/legion/legion.dm b/code/modules/mob/living/basic/lavaland/legion/legion.dm index 3a18a0703e649..1abd916461bb8 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion.dm @@ -35,9 +35,14 @@ /mob/living/basic/mining/legion/Initialize(mapload) . = ..() - AddElement(/datum/element/death_drops, get_loot_list()) AddElement(/datum/element/content_barfer) + var/list/drops = get_loot_list() + if (length(drops)) + AddElement(/datum/element/death_drops, string_list(drops)) + assign_abilities() +/// Give the Legion its spells +/mob/living/basic/mining/legion/proc/assign_abilities() var/datum/action/cooldown/mob_cooldown/skull_launcher/skull_launcher = new(src) skull_launcher.Grant(src) skull_launcher.spawn_type = brood_type @@ -64,10 +69,11 @@ return ..() /// Put a corpse in this guy -/mob/living/basic/mining/legion/proc/consume(mob/living/consumed) +/mob/living/basic/mining/legion/proc/consume(mob/living/carbon/human/consumed) new /obj/effect/gibspawner/generic(consumed.loc) gender = consumed.gender - name = consumed.real_name + if (!ismonkey(consumed) || consumed == GLOB.the_one_and_only_punpun) + name = consumed.real_name consumed.investigate_log("has been killed by hivelord infestation.", INVESTIGATE_DEATHS) consumed.death() consumed.extinguish_mob() diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm index e2f4923e7f95f..e578067a44576 100644 --- a/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm +++ b/code/modules/mob/living/basic/lavaland/legion/legion_brood.dm @@ -64,7 +64,7 @@ return ..() /// Turn the targeted mob into one of us -/mob/living/basic/legion_brood/proc/infest(mob/living/target) +/mob/living/basic/legion_brood/proc/infest(mob/living/carbon/human/target) visible_message(span_warning("[name] burrows into the flesh of [target]!")) var/spawn_type = get_legion_type(target) var/mob/living/basic/mining/legion/new_legion = new spawn_type(loc) @@ -73,7 +73,9 @@ qdel(src) /// Returns the kind of legion we make out of the target -/mob/living/basic/legion_brood/proc/get_legion_type(mob/living/target) +/mob/living/basic/legion_brood/proc/get_legion_type(mob/living/carbon/human/target) + if (ismonkey(target)) + return /mob/living/basic/mining/legion/monkey if (HAS_TRAIT(target, TRAIT_DWARF)) return /mob/living/basic/mining/legion/dwarf return /mob/living/basic/mining/legion @@ -106,4 +108,6 @@ ADD_TRAIT(src, TRAIT_SNOWSTORM_IMMUNE, INNATE_TRAIT) /mob/living/basic/legion_brood/snow/get_legion_type(mob/living/target) + if (ismonkey(target)) + return /mob/living/basic/mining/legion/monkey/snow return /mob/living/basic/mining/legion/snow diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_monkey.dm b/code/modules/mob/living/basic/lavaland/legion/legion_monkey.dm new file mode 100644 index 0000000000000..5345adc88da3c --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/legion_monkey.dm @@ -0,0 +1,63 @@ +/// Weak mob spawned if a legion infests a monkey +/mob/living/basic/mining/legion/monkey + name = "rabble" + desc = "You can see what was once a monkey under the shifting mass of corruption. It doesn't have enough biomass to reproduce." + icon_state = "legion_monkey" + pass_flags = PASSTABLE + speed = 5 + maxHealth = 40 + health = 40 + melee_damage_lower = 10 + melee_damage_upper = 10 + attack_verb_continuous = "mauls" + attack_verb_simple = "maul" + attack_vis_effect = ATTACK_EFFECT_BITE + attack_sound = 'sound/weapons/bite.ogg' + speak_emote = list("chimpers") + corpse_type = /obj/effect/mob_spawn/corpse/human/monkey + ai_controller = /datum/ai_controller/basic_controller/legion_monkey + +/mob/living/basic/mining/legion/monkey/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + AddComponent(/datum/component/basic_mob_attack_telegraph) + AddComponent(/datum/component/regenerator, outline_colour = COLOR_SOFT_RED) + +/mob/living/basic/mining/legion/monkey/assign_abilities() + return + +/mob/living/basic/mining/legion/monkey/get_loot_list() + return + +/// Icebox variant +/mob/living/basic/mining/legion/monkey/snow + name = "snow rabble" + desc = "You can see what was once a monkey under the densely packed snow. It doesn't look friendly." + icon = 'icons/mob/simple/icemoon/icemoon_monsters.dmi' + icon_state = "snow_monkey" + +/mob/living/basic/mining/legion/monkey/snow/Initialize(mapload) + . = ..() + AddComponent(/datum/component/appearance_on_aggro, aggro_state = "snow_monkey_alive") // Surprise! I was real! + +/// Opportunistically hops in and out of vents, if it can find one and is not biting someone. +/datum/ai_controller/basic_controller/legion_monkey + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + BB_TARGET_MINIMUM_STAT = HARD_CRIT, + BB_VENTCRAWL_COOLDOWN = 20 SECONDS, + BB_TIME_TO_GIVE_UP_ON_VENT_PATHING = 30 SECONDS, + ) + + ai_traits = STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk/less_walking + + // We understand that vents are nice little hidey holes through epigenetic inheritance, so we'll use them. + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/legion, + /datum/ai_planning_subtree/simple_find_target, + /datum/ai_planning_subtree/attack_obstacle_in_path, + /datum/ai_planning_subtree/basic_melee_attack_subtree, + /datum/ai_planning_subtree/opportunistic_ventcrawler, + ) diff --git a/code/modules/mob/living/basic/pets/cat/cat.dm b/code/modules/mob/living/basic/pets/cat/cat.dm index 3c2612d9a62d7..400bd9ac9f173 100644 --- a/code/modules/mob/living/basic/pets/cat/cat.dm +++ b/code/modules/mob/living/basic/pets/cat/cat.dm @@ -58,7 +58,7 @@ AddElement(/datum/element/footstep, footstep_type = FOOTSTEP_MOB_CLAW) add_cell_sample() add_verb(src, /mob/living/proc/toggle_resting) - add_traits(list(TRAIT_CATLIKE_GRACE, TRAIT_VENTCRAWLER_ALWAYS), INNATE_TRAIT) + add_traits(list(TRAIT_CATLIKE_GRACE, TRAIT_VENTCRAWLER_ALWAYS, TRAIT_WOUND_LICKER), INNATE_TRAIT) ai_controller.set_blackboard_key(BB_HUNTABLE_PREY, typecacheof(huntable_items)) if(can_breed) add_breeding_component() diff --git a/code/modules/mob/living/basic/pets/dog/_dog.dm b/code/modules/mob/living/basic/pets/dog/_dog.dm index f513795e7f685..5cd970575ec6f 100644 --- a/code/modules/mob/living/basic/pets/dog/_dog.dm +++ b/code/modules/mob/living/basic/pets/dog/_dog.dm @@ -47,6 +47,7 @@ /mob/living/basic/pet/dog/Initialize(mapload) . = ..() + ADD_TRAIT(src, TRAIT_WOUND_LICKER, INNATE_TRAIT) AddElement(/datum/element/pet_bonus, "woofs happily!") AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) AddElement(/datum/element/unfriend_attacker, untamed_reaction = "%SOURCE% fixes %TARGET% with a look of betrayal.") diff --git a/code/modules/mob/living/basic/pets/dog/corgi.dm b/code/modules/mob/living/basic/pets/dog/corgi.dm index 2011992da5612..7e13c792d2830 100644 --- a/code/modules/mob/living/basic/pets/dog/corgi.dm +++ b/code/modules/mob/living/basic/pets/dog/corgi.dm @@ -472,7 +472,7 @@ unique_pet = TRUE held_state = "narsian" /// Mobs we will consume in the name of Nar'Sie - var/static/list/edible_types = list(/mob/living/simple_animal/pet, /mob/living/basic/pet) + var/static/list/edible_types = list(/mob/living/basic/pet) /mob/living/basic/pet/dog/corgi/narsie/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/basic/pets/gondolas/gondola.dm b/code/modules/mob/living/basic/pets/gondolas/gondola.dm new file mode 100644 index 0000000000000..9e17d1e08a5e2 --- /dev/null +++ b/code/modules/mob/living/basic/pets/gondolas/gondola.dm @@ -0,0 +1,83 @@ +#define GONDOLA_HEIGHT pick(list("gondola_body_long", "gondola_body_medium", "gondola_body_short")) +#define GONDOLA_COLOR pick(list("A87855", "915E48", "683E2C")) +#define GONDOLA_MOUSTACHE pick(list("gondola_moustache_large", "gondola_moustache_small")) +#define GONDOLA_EYES pick(list("gondola_eyes_close", "gondola_eyes_far")) + +/mob/living/basic/pet/gondola + name = "gondola" + real_name = "gondola" + desc = "Gondola is the silent walker. \ + Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling \ + facial expression shows his utter and complete acceptance of the world as it is. \ + Its hide is extremely valuable." + icon = 'icons/mob/simple/gondolas.dmi' + icon_state = "gondola" + icon_living = "gondola" + + maxHealth = 200 + health = 200 + faction = list(FACTION_GONDOLA) + response_help_continuous = "pets" + response_help_simple = "pet" + response_disarm_continuous = "bops" + response_disarm_simple = "bop" + response_harm_continuous = "kicks" + response_harm_simple = "kick" + ai_controller = /datum/ai_controller/basic_controller/gondola + + //Gondolas aren't affected by cold. + unsuitable_atmos_damage = 0 + basic_mob_flags = DEL_ON_DEATH + + ///List of loot drops on death, since it deletes itself on death (like trooper). + var/list/loot = list( + /obj/effect/decal/cleanable/blood/gibs = 1, + /obj/item/stack/sheet/animalhide/gondola = 1, + /obj/item/food/meat/slab/gondola = 1, + ) + +/mob/living/basic/pet/gondola/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_MUTE, INNATE_TRAIT) + AddElement(/datum/element/pet_bonus, "smiles!") + if(LAZYLEN(loot)) + loot = string_list(loot) + AddElement(/datum/element/death_drops, loot) + create_gondola() + +/mob/living/basic/pet/gondola/proc/create_gondola() + icon_state = null + icon_living = null + var/height = GONDOLA_HEIGHT + var/mutable_appearance/body_overlay = mutable_appearance(icon, height) + var/mutable_appearance/eyes_overlay = mutable_appearance(icon, GONDOLA_EYES) + var/mutable_appearance/moustache_overlay = mutable_appearance(icon, GONDOLA_MOUSTACHE) + body_overlay.color = ("#[GONDOLA_COLOR]") + + //Offset the face to match the Gondola's height. + switch(height) + if("gondola_body_medium") + eyes_overlay.pixel_y = -4 + moustache_overlay.pixel_y = -4 + if("gondola_body_short") + eyes_overlay.pixel_y = -8 + moustache_overlay.pixel_y = -8 + + cut_overlays(TRUE) + add_overlay(body_overlay) + add_overlay(eyes_overlay) + add_overlay(moustache_overlay) + +/datum/ai_controller/basic_controller/gondola + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + + ai_traits = STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk/less_walking + +#undef GONDOLA_HEIGHT +#undef GONDOLA_COLOR +#undef GONDOLA_MOUSTACHE +#undef GONDOLA_EYES diff --git a/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm b/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm new file mode 100644 index 0000000000000..da051f18b5716 --- /dev/null +++ b/code/modules/mob/living/basic/pets/gondolas/gondolapod.dm @@ -0,0 +1,104 @@ +/mob/living/basic/pet/gondola/gondolapod + name = "gondola" + real_name = "gondola" + desc = "The silent walker. This one seems to be part of a delivery agency." + icon = 'icons/obj/supplypods.dmi' + icon_state = "gondola" + icon_living = "gondola" + SET_BASE_PIXEL(-16, -5) //2x2 sprite + layer = TABLE_LAYER //so that deliveries dont appear underneath it + + loot = list( + /obj/effect/decal/cleanable/blood/gibs = 1, + /obj/item/stack/sheet/animalhide/gondola = 2, + /obj/item/food/meat/slab/gondola = 2, + ) + + ///Boolean on whether the pod is currently open, and should appear such. + var/opened = FALSE + ///The supply pod attached to the gondola, that actually holds the contents of our delivery. + var/obj/structure/closet/supplypod/centcompod/linked_pod + ///Static list of actions the gondola is given on creation, and taken away when it successfully delivers. + var/static/list/gondola_delivering_actions = list( + /datum/action/innate/deliver_gondola_package, + /datum/action/innate/check_gondola_contents, + ) + +/mob/living/basic/pet/gondola/gondolapod/Initialize(mapload, pod) + linked_pod = pod || new(src) + name = linked_pod.name + desc = linked_pod.desc + if(!linked_pod.stay_after_drop || !linked_pod.opened) + grant_actions_by_list(gondola_delivering_actions) + return ..() + +/mob/living/basic/pet/gondola/gondolapod/death() + QDEL_NULL(linked_pod) //Will cause the open() proc for the linked supplypod to be called with the "broken" parameter set to true, meaning that it will dump its contents on death + return ..() + +/mob/living/basic/pet/gondola/gondolapod/create_gondola() + return + +/mob/living/basic/pet/gondola/gondolapod/update_overlays() + . = ..() + if(opened) + . += "[icon_state]_open" + +/mob/living/basic/pet/gondola/gondolapod/examine(mob/user) + . = ..() + if (contents.len) + . += span_notice("It looks like it hasn't made its delivery yet.") + else + . += span_notice("It looks like it has already made its delivery.") + +/mob/living/basic/pet/gondola/gondolapod/setOpened() + opened = TRUE + layer = initial(layer) + update_appearance() + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, setClosed)), 5 SECONDS) + +/mob/living/basic/pet/gondola/gondolapod/setClosed() + opened = FALSE + layer = LOW_MOB_LAYER + update_appearance() + +///Opens the gondola pod and delivers its package, one-time use as it removes all delivery-related actions. +/datum/action/innate/deliver_gondola_package + name = "Deliver" + desc = "Open your pod and release any contents stored within." + button_icon = 'icons/hud/screen_gen.dmi' + button_icon_state = "arrow" + check_flags = AB_CHECK_PHASED + +/datum/action/innate/deliver_gondola_package/Trigger(trigger_flags) + . = ..() + if(!.) + return + + var/mob/living/basic/pet/gondola/gondolapod/gondola_owner = owner + gondola_owner.linked_pod.open_pod(gondola_owner, forced = TRUE) + for(var/datum/action/actions as anything in gondola_owner.actions) + if(actions.type in gondola_owner.gondola_delivering_actions) + actions.Remove(gondola_owner) + return TRUE + +///Checks the contents of the gondola and lets them know what they're holding. +/datum/action/innate/check_gondola_contents + name = "Check contents" + desc = "See how many items you are currently holding in your pod." + button_icon = 'icons/hud/implants.dmi' + button_icon_state = "storage" + check_flags = AB_CHECK_PHASED + +/datum/action/innate/check_gondola_contents/Trigger(trigger_flags) + . = ..() + if(!.) + return + + var/mob/living/basic/pet/gondola/gondolapod/gondola_owner = owner + var/total = gondola_owner.contents.len + if (total) + to_chat(gondola_owner, span_notice("You detect [total] object\s within your incredibly vast belly.")) + else + to_chat(gondola_owner, span_notice("A closer look inside yourself reveals... nothing.")) + return TRUE diff --git a/code/modules/mob/living/basic/space_fauna/ghost.dm b/code/modules/mob/living/basic/space_fauna/ghost.dm index 7545f9cfea394..728c5ead9f4a8 100644 --- a/code/modules/mob/living/basic/space_fauna/ghost.dm +++ b/code/modules/mob/living/basic/space_fauna/ghost.dm @@ -71,7 +71,7 @@ ghost_facial_hair_color = ghost_hair_color if(!isnull(ghost_hairstyle) && ghost_hairstyle != "Bald") //Bald hairstyle and the Shaved facial hairstyle lack an associated sprite and will not properly generate hair, and just cause runtimes. - var/datum/sprite_accessory/hair/hair_style = GLOB.hairstyles_list[ghost_hairstyle] //We use the hairstyle name to get the sprite accessory, which we copy the icon_state from. + var/datum/sprite_accessory/hair/hair_style = SSaccessories.hairstyles_list[ghost_hairstyle] //We use the hairstyle name to get the sprite accessory, which we copy the icon_state from. ghost_hair = mutable_appearance('icons/mob/human/human_face.dmi', "[hair_style.icon_state]", -HAIR_LAYER) ghost_hair.alpha = 200 ghost_hair.color = ghost_hair_color @@ -79,7 +79,7 @@ add_overlay(ghost_hair) if(!isnull(ghost_facial_hairstyle) && ghost_facial_hairstyle != "Shaved") - var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hairstyles_list[ghost_facial_hairstyle] + var/datum/sprite_accessory/facial_hair_style = SSaccessories.facial_hairstyles_list[ghost_facial_hairstyle] ghost_facial_hair = mutable_appearance('icons/mob/human/human_face.dmi', "[facial_hair_style.icon_state]", -HAIR_LAYER) ghost_facial_hair.alpha = 200 ghost_facial_hair.color = ghost_facial_hair_color diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm index 99a3b202f51f3..b9a3b24f14688 100644 --- a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm @@ -187,8 +187,9 @@ datahud.show_to(src) AddComponent(/datum/component/healing_touch,\ - heal_brute = 25,\ - heal_burn = 25,\ + heal_brute = 10,\ + heal_burn = 10,\ + heal_time = 2.5 SECONDS,\ interaction_key = DOAFTER_SOURCE_SPIDER,\ valid_targets_typecache = typecacheof(list(/mob/living/basic/spider/giant)),\ action_text = "%SOURCE% begins wrapping the wounds of %TARGET%.",\ @@ -322,7 +323,7 @@ melee_damage_lower = 5 melee_damage_upper = 10 unsuitable_atmos_damage = 0 - minimum_survivable_temperature = 0 + minimum_survivable_temperature = 75 maximum_survivable_temperature = 700 unsuitable_cold_damage = 0 wound_bonus = 25 @@ -334,7 +335,7 @@ speed = 5 player_speed_modifier = -4 sight = SEE_TURFS - menu_description = "Atmospherically resistant with the ability to destroy walls and limbs, and to send warnings to the nest." + menu_description = "Has the ability to destroy walls and limbs, and to send warnings to the nest." /mob/living/basic/spider/giant/breacher/Initialize(mapload) . = ..() diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm index 528ec595ced45..9aeb31a4f554a 100644 --- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm +++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm @@ -33,7 +33,7 @@ switch(stage) if(3, 4) if(SPT_PROB(1, seconds_per_tick)) - owner.emote("sneeze") + owner.sneeze() if(SPT_PROB(1, seconds_per_tick)) owner.emote("cough") if(SPT_PROB(1, seconds_per_tick)) @@ -42,7 +42,7 @@ to_chat(owner, span_danger("Mucous runs down the back of your throat.")) if(5) if(SPT_PROB(1, seconds_per_tick)) - owner.emote("sneeze") + owner.sneeze() if(SPT_PROB(1, seconds_per_tick)) owner.emote("cough") if(SPT_PROB(2, seconds_per_tick)) diff --git a/code/modules/mob/living/carbon/human/_species.dm b/code/modules/mob/living/carbon/human/_species.dm index ce9461b828fe5..dd7f12688f2ca 100644 --- a/code/modules/mob/living/carbon/human/_species.dm +++ b/code/modules/mob/living/carbon/human/_species.dm @@ -2171,7 +2171,7 @@ GLOBAL_LIST_EMPTY(features_by_species) if(issynthetic(target)) var/list/chassis = target.dna.mutant_bodyparts[MUTANT_SYNTH_CHASSIS] if(chassis) - var/list/chassis_accessory = GLOB.sprite_accessories[MUTANT_SYNTH_CHASSIS] + var/list/chassis_accessory = SSaccessories.sprite_accessories[MUTANT_SYNTH_CHASSIS] var/datum/sprite_accessory/synth_chassis/body_choice if(chassis_accessory) body_choice = chassis_accessory[chassis[MUTANT_INDEX_NAME]] diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index d5f831638224c..c8e0ad4d0b364 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -104,18 +104,18 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) /* SKYRAT EDIT START - Customization - ORIGINAL: target.dna.features["mcolor"] = COLOR_VIBRANT_LIME target.dna.features["ethcolor"] = COLOR_WHITE - target.dna.features["body_markings"] = get_consistent_feature_entry(GLOB.body_markings_list) - target.dna.features["ears"] = get_consistent_feature_entry(GLOB.ears_list) - target.dna.features["frills"] = get_consistent_feature_entry(GLOB.frills_list) - target.dna.features["horns"] = get_consistent_feature_entry(GLOB.horns_list) - target.dna.features["moth_antennae"] = get_consistent_feature_entry(GLOB.moth_antennae_list) - target.dna.features["moth_markings"] = get_consistent_feature_entry(GLOB.moth_markings_list) - target.dna.features["moth_wings"] = get_consistent_feature_entry(GLOB.moth_wings_list) - target.dna.features["snout"] = get_consistent_feature_entry(GLOB.snouts_list) - target.dna.features["spines"] = get_consistent_feature_entry(GLOB.spines_list) - target.dna.features["tail_cat"] = get_consistent_feature_entry(GLOB.tails_list_human) // it's a lie - target.dna.features["tail_lizard"] = get_consistent_feature_entry(GLOB.tails_list_lizard) - target.dna.features["pod_hair"] = get_consistent_feature_entry(GLOB.pod_hair_list) + target.dna.features["body_markings"] = get_consistent_feature_entry(SSaccessories.body_markings_list) + target.dna.features["ears"] = get_consistent_feature_entry(SSaccessories.ears_list) + target.dna.features["frills"] = get_consistent_feature_entry(SSaccessories.frills_list) + target.dna.features["horns"] = get_consistent_feature_entry(SSaccessories.horns_list) + target.dna.features["moth_antennae"] = get_consistent_feature_entry(SSaccessories.moth_antennae_list) + target.dna.features["moth_markings"] = get_consistent_feature_entry(SSaccessories.moth_markings_list) + target.dna.features["moth_wings"] = get_consistent_feature_entry(SSaccessories.moth_wings_list) + target.dna.features["snout"] = get_consistent_feature_entry(SSaccessories.snouts_list) + target.dna.features["spines"] = get_consistent_feature_entry(SSaccessories.spines_list) + target.dna.features["tail_cat"] = get_consistent_feature_entry(SSaccessories.tails_list_human) // it's a lie + target.dna.features["tail_lizard"] = get_consistent_feature_entry(SSaccessories.tails_list_lizard) + target.dna.features["pod_hair"] = get_consistent_feature_entry(SSaccessories.pod_hair_list) */ // ORIGINAL END - SKYRAT EDIT START target.dna.features["mcolor"] = COLOR_VIBRANT_LIME target.dna.features["ethcolor"] = COLOR_WHITE diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index d22e9e2db0a52..492db87053753 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -482,7 +482,7 @@ //SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION for(var/genital in GLOB.possible_genitals) if(dna.species.mutant_bodyparts[genital]) - var/datum/sprite_accessory/genital/G = GLOB.sprite_accessories[genital][dna.species.mutant_bodyparts[genital][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/genital/G = SSaccessories.sprite_accessories[genital][dna.species.mutant_bodyparts[genital][MUTANT_INDEX_NAME]] if(G) if(!(G.is_hidden(src))) . += "[t_He] [t_has] exposed genitals... \[Look closer...\]" diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index 02f1ff9678f18..8da4c609019e1 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -306,6 +306,8 @@ clone.fully_replace_character_name(null, dna.real_name) copy_clothing_prefs(clone) clone.age = age + clone.voice = voice + clone.pitch = pitch dna.transfer_identity(clone, transfer_SE = TRUE, transfer_species = TRUE) clone.dress_up_as_job(SSjob.GetJob(job)) diff --git a/code/modules/mob/living/carbon/human/monkey.dm b/code/modules/mob/living/carbon/human/monkey.dm index 7a2e7bb74747d..e63b35ab42af4 100644 --- a/code/modules/mob/living/carbon/human/monkey.dm +++ b/code/modules/mob/living/carbon/human/monkey.dm @@ -4,6 +4,7 @@ ai_controller = /datum/ai_controller/monkey /mob/living/carbon/human/species/monkey/Initialize(mapload, cubespawned = FALSE, mob/spawner) + ADD_TRAIT(src, TRAIT_BORN_MONKEY, INNATE_TRAIT) if (cubespawned) var/cap = CONFIG_GET(number/monkeycap) if (LAZYLEN(SSmobs.cubemonkeys) > cap) 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 439dd8b42e929..86fdb99062662 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -62,7 +62,7 @@ /* /datum/species/lizard/randomize_features(mob/living/carbon/human/human_mob) var/list/features = ..() - features["body_markings"] = pick(GLOB.body_markings_list) + features["body_markings"] = pick(SSaccessories.body_markings_list) return features */ //SKYRAT EDIT REMOVAL END diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 4c0430352a833..c560ebda78278 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -61,7 +61,7 @@ /datum/species/moth/randomize_features() var/list/features = ..() - features["moth_markings"] = pick(GLOB.moth_wings_list) // SKYRAT EDIT CHANGE - ORIGINAL: features["moth_markings"] = pick(GLOB.moth_markings_list) + features["moth_markings"] = pick(SSaccessories.moth_wings_list) // SKYRAT EDIT CHANGE - ORIGINAL: features["moth_markings"] = pick(SSaccessories.moth_markings_list) return features /datum/species/moth/get_scream_sound(mob/living/carbon/human) diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 61383bc55c11e..9c1649d0eddaf 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -81,7 +81,7 @@ feature_key = "caps" /datum/bodypart_overlay/mutant/mushroom_cap/get_global_feature_list() - return GLOB.caps_list + return SSaccessories.caps_list /datum/bodypart_overlay/mutant/mushroom_cap/can_draw_on_bodypart(mob/living/carbon/human/human) if((human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR)) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 7f8edb978e3cc..f142ca68abd0a 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -2417,8 +2417,14 @@ GLOBAL_LIST_EMPTY(fire_appearances) . = usable_legs usable_legs = new_value + update_usable_leg_status() - if(new_value > .) // Gained leg usage. +/** + * Proc that updates the status of the mob's legs without setting its leg value to something else. + */ +/mob/living/proc/update_usable_leg_status() + + if(usable_legs > 0) // Gained leg usage. REMOVE_TRAIT(src, TRAIT_FLOORED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, LACKING_LOCOMOTION_APPENDAGES_TRAIT) else if(!(movement_type & (FLYING | FLOATING))) //Lost leg usage, not flying. @@ -2431,6 +2437,13 @@ GLOBAL_LIST_EMPTY(fire_appearances) var/limbless_slowdown = (default_num_legs - usable_legs) * 3 if(!usable_legs && usable_hands < default_num_hands) limbless_slowdown += (default_num_hands - usable_hands) * 3 + var/list/slowdown_mods = list() + SEND_SIGNAL(src, COMSIG_LIVING_LIMBLESS_SLOWDOWN, limbless_slowdown, slowdown_mods) + for(var/num in slowdown_mods) + limbless_slowdown *= num + if(limbless_slowdown == 0) + remove_movespeed_modifier(/datum/movespeed_modifier/limbless) + return add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/limbless, multiplicative_slowdown = limbless_slowdown) else remove_movespeed_modifier(/datum/movespeed_modifier/limbless) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 8e7ff5ff45d63..4d897d8eedeb9 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -42,7 +42,7 @@ var/obj/machinery/ai_voicechanger/ai_voicechanger = null // reference to machine that holds the voicechanger var/malfhacking = FALSE // More or less a copy of the above var, so that malf AIs can hack and still get new cyborgs -- NeoFite /// List of hacked APCs - var/list/hacked_apcs = list() + var/list/hacked_apcs = list() var/malf_cooldown = 0 //Cooldown var for malf modules, stores a worldtime + cooldown var/obj/machinery/power/apc/malfhack @@ -333,7 +333,7 @@ else if(!connected_robot.cell || connected_robot.cell.charge <= 0) robot_status = "DEPOWERED" //Name, Health, Battery, Model, Area, and Status! Everything an AI wants to know about its borgies! - . += "[connected_robot.name] | S.Integrity: [connected_robot.health]% | Cell: [connected_robot.cell ? "[connected_robot.cell.charge]/[connected_robot.cell.maxcharge]" : "Empty"] | \ + . += "[connected_robot.name] | S.Integrity: [connected_robot.health]% | Cell: [connected_robot.cell ? "[display_energy(connected_robot.cell.charge)]/[display_energy(connected_robot.cell.maxcharge)]" : "Empty"] | \ Model: [connected_robot.designation] | Loc: [get_area_name(connected_robot, TRUE)] | Status: [robot_status]" . += "AI shell beacons detected: [LAZYLEN(GLOB.available_ai_shells)]" //Count of total AI shells diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 4f63fd6d7e39d..b4fa84b586b44 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -970,7 +970,9 @@ SIGNAL_HANDLER if(model) - model.respawn_consumable(src, cell.use(cell.charge * 0.005)) + if(cell.charge) + if(model.respawn_consumable(src, cell.charge * 0.005)) + cell.use(cell.charge * 0.005) if(sendmats) model.restock_consumable() if(repairs) diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index d2826d293d9e6..678917054270e 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -82,6 +82,8 @@ for(var/module in get_usable_modules()) if(!(module in cyborg.held_items)) . += module + if(!cyborg.emagged) + . += emag_modules /obj/item/robot_model/proc/add_module(obj/item/added_module, nonstandard, requires_rebuild) if(isstack(added_module)) @@ -121,41 +123,52 @@ var/active_module = cyborg.module_active cyborg.drop_all_held_items() modules = list() - for(var/obj/item/module in basic_modules) + for(var/obj/item/module as anything in basic_modules) add_module(module, FALSE, FALSE) if(cyborg.emagged) - for(var/obj/item/module in emag_modules) + for(var/obj/item/module as anything in emag_modules) add_module(module, FALSE, FALSE) - for(var/obj/item/module in added_modules) + for(var/obj/item/module as anything in added_modules) add_module(module, FALSE, FALSE) - for(var/module in held_modules) - if(module) - cyborg.equip_module_to_slot(module, held_modules.Find(module)) + for(var/obj/item/module as anything in held_modules & modules) + cyborg.equip_module_to_slot(module, held_modules.Find(module)) if(active_module) cyborg.select_module(held_modules.Find(active_module)) if(cyborg.hud_used) cyborg.hud_used.update_robot_modules_display() + +///Restocks things that don't take mats, generally at a power cost. Returns True if anything was restocked/replaced, and False otherwise. /obj/item/robot_model/proc/respawn_consumable(mob/living/silicon/robot/cyborg, coeff = 1) SHOULD_CALL_PARENT(TRUE) + ///If anything was actually replaced/refilled/recharged. If not, we won't draw power. + . = FALSE + for(var/datum/robot_energy_storage/storage_datum in storages) if(storage_datum.renewable == FALSE) continue - storage_datum.energy = min(storage_datum.max_energy, storage_datum.energy + coeff * storage_datum.recharge_rate) + if(storage_datum.energy < storage_datum.max_energy) + . = TRUE + storage_datum.energy = min(storage_datum.max_energy, storage_datum.energy + coeff * storage_datum.recharge_rate) for(var/obj/item/module in get_usable_modules()) if(istype(module, /obj/item/assembly/flash)) var/obj/item/assembly/flash/flash = module + if(flash.burnt_out) + . = TRUE flash.times_used = 0 flash.burnt_out = FALSE flash.update_appearance() else if(istype(module, /obj/item/melee/baton/security)) var/obj/item/melee/baton/security/baton = module - baton.cell?.charge = baton.cell.maxcharge + if(baton.cell?.charge < baton.cell.maxcharge) + . = TRUE //if sec borgs ever make a mainstream return, we should probably do this differntly. + baton.cell?.charge = baton.cell.maxcharge else if(istype(module, /obj/item/gun/energy)) var/obj/item/gun/energy/gun = module if(!gun.chambered) + . = TRUE gun.recharge_newshot() //try to reload a new shot. /// SKYRAT EDIT START - Cargo borgs else if(istype(module, /obj/item/hand_labeler/cyborg)) @@ -163,7 +176,9 @@ labeler.labels_left = 30 /// SKYRAT EDIT END - cyborg.toner = cyborg.tonermax + if(cyborg.toner < cyborg.tonermax) + . = TRUE + cyborg.toner = cyborg.tonermax /** * Refills consumables that require materials, rather than being given for free. @@ -375,6 +390,7 @@ if(!soap) return if(soap.uses < initial(soap.uses)) + . = TRUE soap.uses += ROUND_UP(initial(soap.uses) / 100) * coeff /obj/item/robot_model/engineering @@ -657,20 +673,29 @@ ..() var/obj/item/lightreplacer/light_replacer = locate(/obj/item/lightreplacer) in basic_modules if(light_replacer) - light_replacer.Charge(cyborg, coeff) + if(light_replacer.uses < light_replacer.max_uses) + . = TRUE + light_replacer.Charge(cyborg, coeff) var/obj/item/reagent_containers/spray/cyborg_drying/drying_agent = locate(/obj/item/reagent_containers/spray/cyborg_drying) in basic_modules if(drying_agent) - drying_agent.reagents.add_reagent(/datum/reagent/drying_agent, 5 * coeff) + var/datum/reagents/anti_water = drying_agent.reagents + if(anti_water.total_volume < anti_water.maximum_volume) + . = TRUE + drying_agent.reagents.add_reagent(/datum/reagent/drying_agent, 5 * coeff) var/obj/item/reagent_containers/spray/cyborg_lube/lube = locate(/obj/item/reagent_containers/spray/cyborg_lube) in emag_modules if(lube) - lube.reagents.add_reagent(/datum/reagent/lube, 2 * coeff) + var/datum/reagents/anti_friction = lube.reagents + if(anti_friction.total_volume < anti_friction.maximum_volume) + . = TRUE + lube.reagents.add_reagent(/datum/reagent/lube, 2 * coeff) var/obj/item/soap/nanotrasen/cyborg/soap = locate(/obj/item/soap/nanotrasen/cyborg) in basic_modules if(!soap) return if(soap.uses < initial(soap.uses)) + . = TRUE soap.uses += ROUND_UP(initial(soap.uses) / 100) * coeff /obj/item/robot_model/medical @@ -787,6 +812,7 @@ var/obj/item/gun/energy/e_gun/advtaser/cyborg/taser = locate(/obj/item/gun/energy/e_gun/advtaser/cyborg) in basic_modules if(taser) if(taser.cell.charge < taser.cell.maxcharge) + . = TRUE var/obj/item/ammo_casing/energy/shot = taser.ammo_type[taser.select] taser.cell.give(shot.e_cost * coeff) taser.update_appearance() @@ -857,7 +883,10 @@ ..() var/obj/item/reagent_containers/enzyme = locate(/obj/item/reagent_containers/condiment/enzyme) in basic_modules if(enzyme) - enzyme.reagents.add_reagent(/datum/reagent/consumable/enzyme, 2 * coeff) + var/datum/reagents/spicyketchup = enzyme.reagents + if(spicyketchup.total_volume < spicyketchup.maximum_volume) + . = TRUE + enzyme.reagents.add_reagent(/datum/reagent/consumable/enzyme, 2 * coeff) /obj/item/robot_model/syndicate name = "Syndicate Assault" diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index a05a1c5eeb9ea..4dd5a6fc3181f 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -327,11 +327,9 @@ if(!can_finish_build(attacking_item, user)) return to_chat(user, span_notice("You add the [attacking_item] to [src]! Honk!")) - var/mob/living/simple_animal/bot/secbot/honkbot/new_honkbot = new(drop_location()) + var/mob/living/basic/bot/honkbot/new_honkbot = new(drop_location()) new_honkbot.name = created_name - new_honkbot.limiting_spam = TRUE // only long enough to hear the first ping. playsound(new_honkbot, 'sound/machines/ping.ogg', 50, TRUE, -1) - new_honkbot.baton_type = attacking_item.type qdel(attacking_item) qdel(src) diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm deleted file mode 100644 index 711995833172f..0000000000000 --- a/code/modules/mob/living/simple_animal/bot/honkbot.dm +++ /dev/null @@ -1,156 +0,0 @@ -/mob/living/simple_animal/bot/secbot/honkbot - name = "\improper Honkbot" - desc = "A little robot. It looks happy with its bike horn." - icon_state = "honkbot" - light_color = "#e084f7" - light_power = 1 - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0) - combat_mode = FALSE - - req_one_access = list(ACCESS_ROBOTICS, ACCESS_THEATRE) - radio_key = /obj/item/encryptionkey/headset_service //doesn't have security key - radio_channel = RADIO_CHANNEL_SERVICE //Doesn't even use the radio anyway. - bot_type = HONK_BOT - bot_mode_flags = BOT_MODE_ON | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_AUTOPATROL | BOT_MODE_ROUNDSTART_POSSESSION - hackables = "sound control systems" - path_image_color = "#FF69B4" - data_hud_type = DATA_HUD_SECURITY_BASIC //show jobs - - baton_type = /obj/item/bikehorn - cuff_type = /obj/item/restraints/handcuffs/cable/zipties/fake/used - security_mode_flags = SECBOT_CHECK_WEAPONS | SECBOT_HANDCUFF_TARGET - possessed_message = "You are a honkbot! Make sure the crew are having a great time!" - - automated_announcements = list( - HONKBOT_VOICED_HONK_HAPPY = 'sound/items/bikehorn.ogg', - HONKBOT_VOICED_HONK_SAD = 'sound/misc/sadtrombone.ogg', - ) - - ///Keeping track of how much we honk to prevent spamming it - var/limiting_spam = FALSE - ///Sound played when HONKing someone - var/honksound = 'sound/items/bikehorn.ogg' - ///Cooldown between honks - var/cooldowntime = 30 - ///Cooldown between ear-breaking horn sounds - var/cooldowntimehorn = 10 - -/mob/living/simple_animal/bot/secbot/honkbot/Initialize(mapload) - . = ..() - - // Doing this hurts my soul, but simplebot access reworks are for another day. - var/datum/id_trim/job/clown_trim = SSid_access.trim_singletons_by_path[/datum/id_trim/job/clown] - //We're doing set_access instead to overwrite the sec access they get. - access_card.set_access(clown_trim.access + clown_trim.wildcard_access) - prev_access = access_card.access.Copy() - -/mob/living/simple_animal/bot/secbot/honkbot/on_entered(datum/source, atom/movable/AM) - if(prob(70)) //only a chance to slip - return - return ..() - -/mob/living/simple_animal/bot/secbot/honkbot/knockOver(mob/living/carbon/tripped_target) - . = ..() - INVOKE_ASYNC(src, TYPE_PROC_REF(/mob/living/simple_animal/bot, speak), HONKBOT_VOICED_HONK_SAD) - icon_state = "[initial(icon_state)]-c" - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 0.2 SECONDS) - -/mob/living/simple_animal/bot/secbot/honkbot/threat_react(threatlevel) - speak(HONKBOT_VOICED_HONK_HAPPY) - -/mob/living/simple_animal/bot/secbot/honkbot/bot_reset() - ..() - limiting_spam = FALSE - -/mob/living/simple_animal/bot/secbot/honkbot/stun_attack(mob/living/carbon/current_target, harm = FALSE) // airhorn stun - if(limiting_spam) - return - - var/judgement_criteria = judgement_criteria() - playsound(src, 'sound/items/AirHorn.ogg', 100, TRUE, -1) //HEEEEEEEEEEEENK!! - icon_state = "[initial(icon_state)]-c" - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 0.2 SECONDS) - if(!ishuman(current_target)) - current_target.Paralyze(8 SECONDS) - current_target.set_stutter(40 SECONDS) - addtimer(CALLBACK(src, PROC_REF(limiting_spam_false)), cooldowntime) - return - - current_target.set_stutter(40 SECONDS) - var/obj/item/organ/internal/ears/target_ears = current_target.get_organ_slot(ORGAN_SLOT_EARS) - if(target_ears && !HAS_TRAIT(current_target, TRAIT_DEAF)) - target_ears.adjustEarDamage(0, 5) //far less damage than the H.O.N.K. - current_target.set_jitter_if_lower(100 SECONDS) - current_target.Paralyze(6 SECONDS) - if(client) //prevent spam from players - limiting_spam = TRUE - - if(bot_cover_flags & BOT_COVER_EMAGGED) // you really don't want to hit an emagged honkbot - threatlevel = 6 // will never let you go - else - //HONK once, then leave - if(ishuman(current_target)) - var/mob/living/carbon/human/human_target = current_target - threatlevel = human_target.assess_threat(judgement_criteria) - threatlevel -= 6 - addtimer(CALLBACK(src, PROC_REF(limiting_spam_false)), cooldowntime) - - log_combat(src, current_target, "honked") - - current_target.visible_message( - span_danger("[src] honks [current_target]!"), \ - span_userdanger("[src] honks you!"), \ - ) - - target_lastloc = target.loc - mode = BOT_PREP_ARREST - -/mob/living/simple_animal/bot/secbot/honkbot/retaliate(mob/living/carbon/human/attacking_human) - . = ..() - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE, -1) - icon_state = "[initial(icon_state)]-c" - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 0.2 SECONDS) - -/mob/living/simple_animal/bot/secbot/honkbot/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers) - . = ..() - if(!.) - return FALSE - if(!limiting_spam) - bike_horn() - -/mob/living/simple_animal/bot/secbot/honkbot/handle_automated_action() - . = ..() - if(!.) - return - if(!limiting_spam && prob(30)) - bike_horn() - -/mob/living/simple_animal/bot/secbot/honkbot/start_handcuffing(mob/living/carbon/current_target) - . = ..() - if(bot_cover_flags & BOT_COVER_EMAGGED) //emagged honkbots will spam short and memorable sounds. - if(!limiting_spam) - playsound(src, SFX_HONKBOT_E, 50, FALSE) - icon_state = "honkbot-e" - else if(!limiting_spam) - playsound(src, honksound, 50, TRUE, -1) - icon_state = "[initial(icon_state)]-c" - - limiting_spam = TRUE // prevent spam - addtimer(CALLBACK(src, PROC_REF(limiting_spam_false)), cooldowntimehorn) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 3 SECONDS, TIMER_OVERRIDE|TIMER_UNIQUE) - -//Honkbots don't care for NAP violations -/mob/living/simple_animal/bot/secbot/honkbot/check_nap_violations() - return TRUE - -/mob/living/simple_animal/bot/secbot/honkbot/proc/limiting_spam_false() //used for addtimer - limiting_spam = FALSE - -/mob/living/simple_animal/bot/secbot/honkbot/proc/bike_horn() // horn attack - if(limiting_spam) - return - playsound(loc, honksound, 50, TRUE, -1) - limiting_spam = TRUE // prevent spam - icon_state = "[initial(icon_state)]-c" - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_appearance)), 0.2 SECONDS) - addtimer(CALLBACK(src, PROC_REF(limiting_spam_false)), cooldowntimehorn) diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm deleted file mode 100644 index a914178d08a59..0000000000000 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ /dev/null @@ -1,69 +0,0 @@ -#define GONDOLA_HEIGHT pick("gondola_body_long", "gondola_body_medium", "gondola_body_short") -#define GONDOLA_COLOR pick("A87855", "915E48", "683E2C") -#define GONDOLA_MOUSTACHE pick("gondola_moustache_large", "gondola_moustache_small") -#define GONDOLA_EYES pick("gondola_eyes_close", "gondola_eyes_far") - -//Gondolas - -/mob/living/simple_animal/pet/gondola - name = "gondola" - real_name = "gondola" - desc = "Gondola is the silent walker. Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling facial expression shows his utter and complete acceptance of the world as it is. Its hide is extremely valuable." - response_help_continuous = "pets" - response_help_simple = "pet" - response_disarm_continuous = "bops" - response_disarm_simple = "bop" - response_harm_continuous = "kicks" - response_harm_simple = "kick" - faction = list(FACTION_GONDOLA) - turns_per_move = 10 - icon = 'icons/mob/simple/gondolas.dmi' - icon_state = "gondola" - icon_living = "gondola" - loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/food/meat/slab/gondola = 1) - //Gondolas aren't affected by cold. - atmos_requirements = null - minbodytemp = 0 - maxbodytemp = 1500 - maxHealth = 200 - health = 200 - del_on_death = TRUE - - //Gondolas don't make footstep sounds - -/mob/living/simple_animal/pet/gondola/Initialize(mapload) - . = ..() - AddElement(/datum/element/pet_bonus, "smiles!") - if (!(istype(src, /mob/living/simple_animal/pet/gondola/gondolapod))) - CreateGondola() - -/mob/living/simple_animal/pet/gondola/proc/CreateGondola() - icon_state = null - icon_living = null - var/height = GONDOLA_HEIGHT - var/mutable_appearance/body_overlay = mutable_appearance(icon, height) - var/mutable_appearance/eyes_overlay = mutable_appearance(icon, GONDOLA_EYES) - var/mutable_appearance/moustache_overlay = mutable_appearance(icon, GONDOLA_MOUSTACHE) - body_overlay.color = ("#[GONDOLA_COLOR]") - - //Offset the face to match the Gondola's height. - switch(height) - if("gondola_body_medium") - eyes_overlay.pixel_y = -4 - moustache_overlay.pixel_y = -4 - if("gondola_body_short") - eyes_overlay.pixel_y = -8 - moustache_overlay.pixel_y = -8 - - cut_overlays(TRUE) - add_overlay(body_overlay) - add_overlay(eyes_overlay) - add_overlay(moustache_overlay) - -/mob/living/simple_animal/pet/gondola/can_speak(allow_mimes = FALSE) - return FALSE // Gondolas are the silent walker. - -#undef GONDOLA_HEIGHT -#undef GONDOLA_COLOR -#undef GONDOLA_MOUSTACHE -#undef GONDOLA_EYES diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm deleted file mode 100644 index 084ce1577e4a8..0000000000000 --- a/code/modules/mob/living/simple_animal/friendly/pet.dm +++ /dev/null @@ -1,140 +0,0 @@ -/mob/living/simple_animal/pet - icon = 'icons/mob/simple/pets.dmi' - mob_size = MOB_SIZE_SMALL - mob_biotypes = MOB_ORGANIC|MOB_BEAST - blood_volume = BLOOD_VOLUME_NORMAL - - /// if the mob is protected from being renamed by collars. - var/unique_pet = FALSE - /// If the mob has collar sprites, this is the base of the icon states. - var/collar_icon_state - /// We have a seperate _rest collar icon state when the pet is resting. - var/has_collar_resting_icon_state = FALSE - - /// Our collar - var/obj/item/clothing/neck/petcollar/collar - -/mob/living/simple_animal/pet/Initialize(mapload) - . = ..() - - /// Can set the collar var beforehand to start the pet with a collar. - if(collar) - collar = new(src) - - update_icon(UPDATE_OVERLAYS) - -/mob/living/simple_animal/pet/Destroy() - . = ..() - - QDEL_NULL(collar) - QDEL_NULL(access_card) - -/mob/living/simple_animal/pet/attackby(obj/item/thing, mob/user, params) - if(istype(thing, /obj/item/clothing/neck/petcollar) && !collar) - add_collar(thing, user) - return TRUE - - if(istype(thing, /obj/item/newspaper) && !stat) - user.visible_message(span_notice("[user] baps [name] on the nose with the rolled up [thing].")) - dance_rotate(src) - return TRUE - - return ..() - -/mob/living/simple_animal/pet/update_overlays() - . = ..() - - if(!collar || !collar_icon_state) - return - - // Determine which status tag to add to the middle of the icon state. - var/dead_tag = stat == DEAD ? "_dead" : null - var/rest_tag = has_collar_resting_icon_state && resting ? "_rest" : null - var/stat_tag = dead_tag || rest_tag || "" - - . += mutable_appearance(icon, "[collar_icon_state][stat_tag]collar") - . += mutable_appearance(icon, "[collar_icon_state][stat_tag]tag") - -/mob/living/simple_animal/pet/gib() - . = ..() - - if(access_card) - access_card.forceMove(drop_location()) - access_card = null - - remove_collar(drop_location(), update_visuals = FALSE) - -/mob/living/simple_animal/pet/revive(full_heal_flags = NONE, excess_healing = 0, force_grab_ghost = FALSE) - . = ..() - if(!.) - return - - update_icon(UPDATE_OVERLAYS) - -/mob/living/simple_animal/pet/death(gibbed) - . = ..() - add_memory_in_range(src, 7, /datum/memory/pet_died, deuteragonist = src) //Protagonist is the person memorizing it - -/mob/living/simple_animal/pet/Exited(atom/movable/gone, direction) - . = ..() - - if(gone != collar) - return - - collar = null - - if(QDELETED(src)) - return - - update_icon(UPDATE_OVERLAYS) - -/mob/living/simple_animal/pet/update_stat() - . = ..() - - update_icon(UPDATE_OVERLAYS) - -/mob/living/simple_animal/pet/set_resting(new_resting, silent, instant) - . = ..() - - if(!has_collar_resting_icon_state) - return - - update_icon(UPDATE_OVERLAYS) - -/** - * Add a collar to the pet. - * - * Arguments: - * * new_collar - the collar. - * * user - the user that did it. - */ -/mob/living/simple_animal/pet/proc/add_collar(obj/item/clothing/neck/petcollar/new_collar, mob/user) - if(QDELETED(new_collar) || collar) - return - if(!user.transferItemToLoc(new_collar, src)) - return - - collar = new_collar - if(collar_icon_state) - update_icon(UPDATE_OVERLAYS) - - to_chat(user, span_notice("You put [new_collar] around [src]'s neck.")) - if(new_collar.tagname && !unique_pet) - fully_replace_character_name(null, "\proper [new_collar.tagname]") - -/** - * Remove the collar from the pet. - */ -/mob/living/simple_animal/pet/proc/remove_collar(atom/new_loc, update_visuals = TRUE) - if(!collar) - return - - var/obj/old_collar = collar - - collar.forceMove(new_loc) - collar = null - - if(collar_icon_state && update_visuals) - update_icon(UPDATE_OVERLAYS) - - return old_collar diff --git a/code/modules/mob/living/sneeze.dm b/code/modules/mob/living/sneeze.dm new file mode 100644 index 0000000000000..b2cf76c25a6b0 --- /dev/null +++ b/code/modules/mob/living/sneeze.dm @@ -0,0 +1,75 @@ +/// How many degrees, up and down, can our sneeze deviate from our facing direction? +#define SNEEZE_CONE 60 + +/// Launch a sneeze that can infect with a disease +/mob/living/proc/infectious_sneeze(datum/disease/disease, force, range = 4, count = 4, charge_time = 0.5 SECONDS, obj/projectile/sneezoid = /obj/projectile/sneeze) + sneeze(range, count, charge_time, sneezoid, on_sneeze_hit_callback = CALLBACK(src, PROC_REF(try_sneeze_infect), disease.Copy(), force)) + +/// Try and infect following a sneeze hit. force to always infect +/mob/living/proc/try_sneeze_infect(datum/disease/disease, force, mob/living/target) + target.contract_airborne_disease(disease) + +/// Inhale and start the sneeze timer. on_sneeze_callback can be used to do custom sneezes, on_sneeze_hit_callback for special effects, but probably usually making it infect +/mob/living/proc/sneeze(range = 4, count = 3, charge_time = 0.5 SECONDS, obj/projectile/sneezoid = /obj/projectile/sneeze, on_sneeze_callback = null, on_sneeze_hit_callback = null) + if(charge_time) + emote("inhale") + + clear_fullscreen("sneezer", 0) + var/atom/movable/screen/fullscreen/cursor_catcher/catcher = overlay_fullscreen("sneezer", /atom/movable/screen/fullscreen/cursor_catcher, FALSE) + if(client) + catcher.assign_to_mob(src) + var/callback = on_sneeze_callback || CALLBACK(src, PROC_REF(launch_sneeze), range, count, sneezoid, on_sneeze_hit_callback, catcher) + addtimer(callback, charge_time) + +/// Shoot the sneeze projectile +/mob/living/proc/launch_sneeze(range, count, obj/projectile/sneezoid, datum/callback/on_sneeze_hit_callback, atom/movable/screen/fullscreen/cursor_catcher/catcher) + emote("sneeze") + + var/angle = dir2angle(dir) + + if(catcher && catcher.given_turf) + catcher.calculate_params() + /// Take the target and subtract self for relative grid position. Then take the pixel x on the tile and divide by the tiles pixel size, and add 0.5 so it's fired from the center + var/sneeze_x = catcher.given_turf.x - x + catcher.given_x / world.icon_size - 0.5 + var/sneeze_y = catcher.given_turf.y - y + catcher.given_y / world.icon_size - 0.5 + angle = ATAN2(sneeze_y, sneeze_x) + + // Check if we're within the sneeze cone, otherwise just sneeze straight + if(abs(closer_angle_difference(angle, dir2angle(dir) - SNEEZE_CONE)) + abs(closer_angle_difference(angle, dir2angle(dir) + SNEEZE_CONE)) > 2 * SNEEZE_CONE) + angle = dir2angle(dir) + + clear_fullscreen("sneezer", 0) + + for(var/i in 0 to count) + var/obj/projectile/sneezium = new sneezoid(get_turf(src), on_sneeze_hit_callback) + sneezium.range = range + sneezium.firer = src + sneezium.fire(angle) + +/// Sneeze projectile launched by sneezing. gross +/obj/projectile/sneeze + name = "sneeze" + icon_state = "sneeze" + + suppressed = SUPPRESSED_VERY + range = 4 + speed = 4 + spread = 40 + damage_type = BRUTE + damage = 0 + + /// Call this when we hit something + var/datum/callback/sneezie_callback + +/obj/projectile/sneeze/Initialize(mapload, callback) + . = ..() + + sneezie_callback = callback + +/obj/projectile/sneeze/on_hit(atom/target, blocked, pierce_hit) + . = ..() + + if(isliving(target)) + sneezie_callback?.Invoke(target) //you've been sneezered + +#undef SNEEZE_CONE diff --git a/code/modules/mob_spawn/ghost_roles/spider_roles.dm b/code/modules/mob_spawn/ghost_roles/spider_roles.dm index 102a73d6f92f4..0ee4435a9e461 100644 --- a/code/modules/mob_spawn/ghost_roles/spider_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/spider_roles.dm @@ -155,7 +155,7 @@ cluster_type = /obj/structure/spider/eggcluster/abnormal potentialspawns = list( /mob/living/basic/spider/growing/spiderling/tank, - /mob/living/basic/spider/growing/spiderling/breacher, + /mob/living/basic/spider/growing/spiderling/viper, ) flash_window = TRUE @@ -166,7 +166,7 @@ cluster_type = /obj/structure/spider/eggcluster/enriched potentialspawns = list( /mob/living/basic/spider/growing/spiderling/tarantula, - /mob/living/basic/spider/growing/spiderling/viper, + /mob/living/basic/spider/growing/spiderling/breacher, /mob/living/basic/spider/growing/spiderling/midwife, ) flash_window = TRUE diff --git a/code/modules/mod/adding_new_mod.md b/code/modules/mod/adding_new_mod.md index b0bf12486c14a..8252822cf6c25 100644 --- a/code/modules/mod/adding_new_mod.md +++ b/code/modules/mod/adding_new_mod.md @@ -82,16 +82,15 @@ So, now that we have our theme, we want to add a skin to it (or another theme of armor_type = /datum/armor/modtheme_psychological complexity_max = DEFAULT_MAX_COMPLEXITY - 7 charge_drain = DEFAULT_CHARGE_DRAIN * 0.5 - skins = list( + variants = list( "psychological" = list( - HELMET_LAYER = null, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( ), ), ) @@ -101,8 +100,7 @@ We now have a psychological skin, this will apply the psychological icons to eve For example, if our helmet's icon covers the full head (like the research skin), we want to do something like this. ```dm - HELMET_LAYER = null, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, @@ -113,8 +111,8 @@ For example, if our helmet's icon covers the full head (like the research skin), Otherwise, with an open helmet that becomes closed (like the engineering skin), we'd do this. ```dm - HELMET_LAYER = NECK_LAYER, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( + UNSEALED_LAYER = NECK_LAYER UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, @@ -137,47 +135,46 @@ There are specific cases of helmets that semi-cover the head, like the cosmohonk armor_type = /datum/armor/modtheme_psychological complexity_max = DEFAULT_MAX_COMPLEXITY - 7 charge_drain = DEFAULT_CHARGE_DRAIN * 0.5 - skins = list( + variants = list( "psychological" = list( - HELMET_LAYER = NECK_LAYER, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( + UNSEALED_LAYER = NECK_LAYER UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), "psychotherapeutic" = list( - HELMET_LAYER = null, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), @@ -207,7 +204,7 @@ As we want this effect to be on demand, we probably want this to be an usable mo - Usable: You can use these for a one time effect. - Active: You can only have one selected at a time. It gives you a special click effect. -As we have an usable module, we want to set a cooldown time. All modules are also incompatible with themselves, have a specific power cost and complexity varying on how powerful they are, so let's update our definition, and also add a new variable for how much brain damage we'll heal. +As we have an usable module, we want to set a cooldown time. All modules are also incompatible with themselves, have a specific power cost and complexity varying on how powerful they are, and are equippable to certain slots, so let's update our definition, and also add a new variable for how much brain damage we'll heal. ```dm /obj/item/mod/module/neuron_healer @@ -220,25 +217,20 @@ As we have an usable module, we want to set a cooldown time. All modules are als use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/neuron_healer) cooldown_time = 15 SECONDS + required_slot = list(ITEM_SLOT_HEAD) var/brain_damage_healed = 25 ``` -Now, we want to override the on_use proc for our new effect. We want to make sure the use checks passed from parent. You can read about most procs and variables by reading [this](modules/_module.dm) +Now, we want to override the on_use proc for our new effect. You can read about most procs and variables by reading [this](modules/_module.dm) ```dm /obj/item/mod/module/neuron_healer/on_use() - . = ..() - if(!.) - return ``` After this, we want to put our special code, a basic effect of healing all mobs nearby for their brain damage and creating a beam to them. ```dm /obj/item/mod/module/neuron_healer/on_use() - . = ..() - if(!.) - return for(var/mob/living/carbon/carbon_mob in range(5, src)) if(carbon_mob == mod.wearer) continue @@ -272,47 +264,46 @@ Now we want to add it to the psychological theme, which is very simple, finishin complexity_max = DEFAULT_MAX_COMPLEXITY - 7 charge_drain = DEFAULT_CHARGE_DRAIN * 0.5 inbuilt_modules = list(/obj/item/mod/module/neuron_healer/advanced) - skins = list( + variants = list( "psychological" = list( - HELMET_LAYER = NECK_LAYER, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( + UNSEALED_LAYER = NECK_LAYER UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), "psychotherapeutic" = list( - HELMET_LAYER = null, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, ), diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm index 303d556843ec7..3b0795be789ff 100644 --- a/code/modules/mod/mod_activation.dm +++ b/code/modules/mod/mod_activation.dm @@ -6,7 +6,8 @@ return var/list/display_names = list() var/list/items = list() - for(var/obj/item/part as anything in mod_parts) + var/list/parts = get_parts() + for(var/obj/item/part as anything in parts) display_names[part.name] = REF(part) var/image/part_image = image(icon = part.icon, icon_state = part.icon_state) if(part.loc != src) @@ -16,17 +17,17 @@ if(!pick) return var/part_reference = display_names[pick] - var/obj/item/part = locate(part_reference) in mod_parts + var/obj/item/part = locate(part_reference) in parts if(!istype(part) || user.incapacitated()) return if(activating) // SKYRAT EDIT - RETRACTABLE EVERYTHING balloon_alert(user, "deactivate the suit first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return - var/parts_to_check = mod_parts - part + var/parts_to_check = parts - part if(part.loc == src) deploy(user, part) - on_mod_deployed(user) + SEND_SIGNAL(src, COMSIG_MOD_DEPLOYED, user) for(var/obj/item/checking_part as anything in parts_to_check) if(checking_part.loc != src) continue @@ -34,7 +35,7 @@ break else retract(user, part) - on_mod_retracted(user) + SEND_SIGNAL(src, COMSIG_MOD_RETRACTED, user) for(var/obj/item/checking_part as anything in parts_to_check) if(checking_part.loc == src) continue @@ -48,28 +49,29 @@ playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE var/deploy = TRUE - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(part.loc == src) continue deploy = FALSE break - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(deploy && part.loc == src) deploy(null, part) else if(!deploy && part.loc != src) retract(null, part) - wearer.visible_message(span_notice("[wearer]'s [src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), - span_notice("[src] [deploy ? "deploys" : "retracts"] its' parts with a mechanical hiss."), + wearer.visible_message(span_notice("[wearer]'s [src] [deploy ? "deploys" : "retracts"] its parts with a mechanical hiss."), + span_notice("[src] [deploy ? "deploys" : "retracts"] its parts with a mechanical hiss."), span_hear("You hear a mechanical hiss.")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) if(deploy) - on_mod_deployed(user) + SEND_SIGNAL(src, COMSIG_MOD_DEPLOYED, user) else - on_mod_retracted(user) + SEND_SIGNAL(src, COMSIG_MOD_RETRACTED, user) return TRUE /// Deploys a part of the suit onto the user. /obj/item/mod/control/proc/deploy(mob/user, obj/item/part) + var/datum/mod_part/part_datum = get_part_datum(part) if(!wearer) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE // pAI is trying to deploy it from your hands @@ -78,10 +80,10 @@ return FALSE balloon_alert(user, "[part.name] already deployed!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - if(part in overslotting_parts) + if(part_datum.can_overslot) var/obj/item/overslot = wearer.get_item_by_slot(part.slot_flags) if(overslot) - overslotting_parts[part] = overslot + part_datum.overslotting = overslot wearer.transferItemToLoc(overslot, part, force = TRUE) RegisterSignal(part, COMSIG_ATOM_EXITED, PROC_REF(on_overslot_exit)) if(wearer.equip_to_slot_if_possible(part, part.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) @@ -92,6 +94,7 @@ span_notice("[part] deploy[part.p_s()] with a mechanical hiss."), span_hear("You hear a mechanical hiss.")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + SEND_SIGNAL(src, COMSIG_MOD_PART_DEPLOYED, user, part) return TRUE else if(!user) @@ -102,6 +105,7 @@ /// Retract a part of the suit from the user. /obj/item/mod/control/proc/retract(mob/user, obj/item/part) + var/datum/mod_part/part_datum = get_part_datum(part) if(part.loc == src) if(!user) return FALSE @@ -109,17 +113,18 @@ playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) REMOVE_TRAIT(part, TRAIT_NODROP, MOD_TRAIT) wearer.transferItemToLoc(part, src, force = TRUE) - if(overslotting_parts[part]) + if(part_datum.overslotting) UnregisterSignal(part, COMSIG_ATOM_EXITED) - var/obj/item/overslot = overslotting_parts[part] - if(!wearer.equip_to_slot_if_possible(overslot, overslot.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) + var/obj/item/overslot = part_datum.overslotting + if(!QDELING(wearer) && !wearer.equip_to_slot_if_possible(overslot, overslot.slot_flags, qdel_on_fail = FALSE, disable_warning = TRUE)) wearer.dropItemToGround(overslot, force = TRUE, silent = TRUE) - overslotting_parts[part] = null + part_datum.overslotting = null // SKYRAT EDIT START - Avoiding exploits with the modules staying active when any of the parts are retracted. for(var/obj/item/mod/module/module as anything in modules) if(module.active) - module.on_deactivation(display_message = !!user) + module.deactivate(display_message = !!user) // SKYRAT EDIT END + SEND_SIGNAL(src, COMSIG_MOD_PART_RETRACTED, user, part) if(!user) return wearer.visible_message(span_notice("[wearer]'s [part.name] retract[part.p_s()] back into [src] with a mechanical hiss."), @@ -127,7 +132,7 @@ span_hear("You hear a mechanical hiss.")) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) -/// Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on +/// Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on. /obj/item/mod/control/proc/toggle_activate(mob/user, force_deactivate = FALSE) if(!wearer) if(!force_deactivate) @@ -137,7 +142,7 @@ if(!force_deactivate && (SEND_SIGNAL(src, COMSIG_MOD_ACTIVATE, user) & MOD_CANCEL_ACTIVATE)) playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return FALSE - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(!force_deactivate && part.loc == src) balloon_alert(user, "deploy all parts first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) @@ -162,34 +167,21 @@ for(var/obj/item/mod/module/module as anything in modules) if(!module.active || (module.allow_flags & MODULE_ALLOW_INACTIVE)) continue - module.on_deactivation(display_message = FALSE) - mod_link.end_call() + module.deactivate(display_message = FALSE) activating = TRUE + mod_link.end_call() to_chat(wearer, span_notice("MODsuit [active ? "shutting down" : "starting up"].")) - - if (ai_assistant) - to_chat(ai_assistant, span_notice("MODsuit [active ? "shutting down" : "starting up"].")) - if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) - to_chat(wearer, span_notice("[boots] [active ? "relax their grip on your legs" : "seal around your feet"].")) - playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - seal_part(boots, seal = !active) - if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) - to_chat(wearer, span_notice("[gauntlets] [active ? "become loose around your fingers" : "tighten around your fingers and wrists"].")) - playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - seal_part(gauntlets, seal = !active) - if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) - to_chat(wearer, span_notice("[chestplate] [active ? "releases your chest" : "cinches tightly against your chest"].")) - playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - seal_part(chestplate, seal = !active) - if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) - to_chat(wearer, span_notice("[helmet] hisses [active ? "open" : "closed"].")) - playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - seal_part(helmet, seal = !active) - if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(has_wearer)), hidden = TRUE)) + for(var/obj/item/part as anything in get_parts()) + var/datum/mod_part/part_datum = get_part_datum(part) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(get_wearer)), hidden = TRUE)) + to_chat(wearer, span_notice("[part] [active ? part_datum.unsealed_message : part_datum.sealed_message].")) + playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + seal_part(part, is_sealed = !active) + if(do_after(wearer, activation_step_time, wearer, MOD_ACTIVATION_STEP_FLAGS, extra_checks = CALLBACK(src, PROC_REF(get_wearer)), hidden = TRUE)) to_chat(wearer, span_notice("Systems [active ? "shut down. Parts unsealed. Goodbye" : "started up. Parts sealed. Welcome"], [wearer].")) if(ai_assistant) to_chat(ai_assistant, span_notice("SYSTEMS [active ? "DEACTIVATED. GOODBYE" : "ACTIVATED. WELCOME"]: \"[ai_assistant]\"")) - finish_activation(on = !active) + finish_activation(is_on = !active) if(active) playsound(src, 'sound/machines/synth_yes.ogg', 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE, frequency = 6000) if(!malfunctioning) @@ -200,16 +192,18 @@ SEND_SIGNAL(src, COMSIG_MOD_TOGGLED, user) return TRUE -///Seals or unseals the given part -/obj/item/mod/control/proc/seal_part(obj/item/clothing/part, seal) - if(seal) +///Seals or unseals the given part. +/obj/item/mod/control/proc/seal_part(obj/item/clothing/part, is_sealed) + var/datum/mod_part/part_datum = get_part_datum(part) + part_datum.sealed = is_sealed + if(part_datum.sealed) part.icon_state = "[skin]-[part.base_icon_state]-sealed" part.clothing_flags |= part.visor_flags part.flags_inv |= part.visor_flags_inv part.flags_cover |= part.visor_flags_cover part.heat_protection = initial(part.heat_protection) part.cold_protection = initial(part.cold_protection) - part.alternate_worn_layer = null + part.alternate_worn_layer = part_datum.sealed_layer else part.icon_state = "[skin]-[part.base_icon_state]" part.flags_cover &= ~part.visor_flags_cover @@ -217,15 +211,17 @@ part.clothing_flags &= ~part.visor_flags part.heat_protection = NONE part.cold_protection = NONE - part.alternate_worn_layer = mod_parts[part] + part.alternate_worn_layer = part_datum.unsealed_layer wearer.update_clothing(part.slot_flags) wearer.update_obscured_slots(part.visor_flags_inv) if((part.clothing_flags & (MASKINTERNALS|HEADINTERNALS)) && wearer.invalid_internals()) wearer.cutoff_internals() /// Finishes the suit's activation -/obj/item/mod/control/proc/finish_activation(on) - active = on +/obj/item/mod/control/proc/finish_activation(is_on) + var/datum/mod_part/part_datum = get_part_datum(src) + part_datum.sealed = is_on + active = is_on if(active) for(var/obj/item/mod/module/module as anything in modules) module.on_suit_activation() @@ -240,22 +236,13 @@ /// Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits. /obj/item/mod/control/proc/quick_activation() var/seal = TRUE - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(!deploy(null, part)) seal = FALSE if(!seal) return - for(var/obj/item/part as anything in mod_parts) - seal_part(part, seal = TRUE) - finish_activation(on = TRUE) - -/obj/item/mod/control/proc/has_wearer() - return wearer - -/obj/item/mod/control/proc/on_mod_deployed(mob/user) - SEND_SIGNAL(src, COMSIG_MOD_DEPLOYED, user) - -/obj/item/mod/control/proc/on_mod_retracted(mob/user) - SEND_SIGNAL(src, COMSIG_MOD_RETRACTED, user) + for(var/obj/item/part as anything in get_parts()) + seal_part(part, is_sealed = TRUE) + finish_activation(is_on = TRUE) #undef MOD_ACTIVATION_STEP_FLAGS diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index aaee4713413d4..cde7f08cbc3e6 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -65,20 +65,10 @@ var/activation_step_time = MOD_ACTIVATION_STEP_TIME /// Extended description of the theme. var/extended_desc - /// MOD helmet. - var/obj/item/clothing/head/mod/helmet - /// MOD chestplate. - var/obj/item/clothing/suit/mod/chestplate - /// MOD gauntlets. - var/obj/item/clothing/gloves/mod/gauntlets - /// MOD boots. - var/obj/item/clothing/shoes/mod/boots /// MOD core. var/obj/item/mod/core/core - /// Associated list of parts (helmet, chestplate, gauntlets, boots) to their unsealed worn layer. + /// List of MODsuit part datums. var/list/mod_parts = list() - /// Associated list of parts that can overslot to their overslot (overslot means the part can cover another layer of clothing). - var/list/overslotting_parts = list() /// Modules the MOD currently possesses. var/list/modules = list() /// Currently used module. @@ -103,43 +93,14 @@ if(new_theme) theme = new_theme theme = GLOB.mod_themes[theme] - slot_flags = theme.slot_flags - extended_desc = theme.extended_desc - slowdown_inactive = theme.slowdown_inactive - slowdown_active = theme.slowdown_active - activation_step_time = theme.activation_step_time - complexity_max = theme.complexity_max - ui_theme = theme.ui_theme - charge_drain = theme.charge_drain + theme.set_up_parts(src, new_skin) + for(var/obj/item/part as anything in get_parts()) + RegisterSignal(part, COMSIG_ATOM_DESTRUCTION, PROC_REF(on_part_destruction)) + RegisterSignal(part, COMSIG_QDELETING, PROC_REF(on_part_deletion)) set_wires(new /datum/wires/mod(src)) if(length(req_access)) locked = TRUE new_core?.install(src) - helmet = new /obj/item/clothing/head/mod(src) - mod_parts += helmet - chestplate = new /obj/item/clothing/suit/mod(src) - chestplate.allowed += theme.allowed_suit_storage - mod_parts += chestplate - gauntlets = new /obj/item/clothing/gloves/mod(src) - mod_parts += gauntlets - boots = new /obj/item/clothing/shoes/mod(src) - mod_parts += boots - var/list/all_parts = mod_parts + src - for(var/obj/item/part as anything in all_parts) - part.name = "[theme.name] [part.name]" - part.desc = "[part.desc] [theme.desc]" - part.set_armor(theme.armor_type) - part.resistance_flags = theme.resistance_flags - part.flags_1 |= theme.atom_flags //flags like initialization or admin spawning are here, so we cant set, have to add - part.heat_protection = NONE - part.cold_protection = NONE - part.max_heat_protection_temperature = theme.max_heat_protection_temperature - part.min_cold_protection_temperature = theme.min_cold_protection_temperature - part.siemens_coefficient = theme.siemens_coefficient - for(var/obj/item/part as anything in mod_parts) - RegisterSignal(part, COMSIG_ATOM_DESTRUCTION, PROC_REF(on_part_destruction)) - RegisterSignal(part, COMSIG_QDELETING, PROC_REF(on_part_deletion)) - set_mod_skin(new_skin || theme.default_skin) update_speed() RegisterSignal(src, COMSIG_ATOM_EXITED, PROC_REF(on_exit)) RegisterSignal(src, COMSIG_SPEED_POTION_APPLIED, PROC_REF(on_potion)) @@ -152,46 +113,23 @@ STOP_PROCESSING(SSobj, src) for(var/obj/item/mod/module/module as anything in modules) uninstall(module, deleting = TRUE) - for(var/obj/item/part as anything in mod_parts) - overslotting_parts -= part - var/atom/deleting_atom - if(!QDELETED(helmet)) - deleting_atom = helmet - helmet = null - mod_parts -= deleting_atom - qdel(deleting_atom) - if(!QDELETED(chestplate)) - deleting_atom = chestplate - chestplate = null - mod_parts -= deleting_atom - qdel(deleting_atom) - if(!QDELETED(gauntlets)) - deleting_atom = gauntlets - gauntlets = null - mod_parts -= deleting_atom - qdel(deleting_atom) - if(!QDELETED(boots)) - deleting_atom = boots - boots = null - mod_parts -= deleting_atom - qdel(deleting_atom) if(core) QDEL_NULL(core) QDEL_NULL(wires) QDEL_NULL(mod_link) + for(var/datum/mod_part/part_datum as anything in get_part_datums(all = TRUE)) + part_datum.part_item = null + part_datum.overslotting = null return ..() /obj/item/mod/control/atom_destruction(damage_flag) + if(wearer) + wearer.visible_message(span_danger("[src] fall[p_s()] apart, completely destroyed!"), vision_distance = COMBAT_MESSAGE_RANGE) + clean_up() for(var/obj/item/mod/module/module as anything in modules) for(var/obj/item/item in module) item.forceMove(drop_location()) uninstall(module) - for(var/obj/item/part as anything in mod_parts) - if(!overslotting_parts[part]) - continue - var/obj/item/overslot = overslotting_parts[part] - overslot.forceMove(drop_location()) - overslotting_parts[part] = null if(ai_assistant) if(ispAI(ai_assistant)) INVOKE_ASYNC(src, PROC_REF(remove_pai), /* user = */ null, /* forced = */ TRUE) // async to appease spaceman DMM because the branch we don't run has a do_after @@ -248,11 +186,10 @@ subtract_charge((charge_drain + malfunctioning_charge_drain) * seconds_per_tick) for(var/obj/item/mod/module/module as anything in modules) if(malfunctioning && module.active && SPT_PROB(5, seconds_per_tick)) - module.on_deactivation(display_message = TRUE) + module.deactivate(display_message = TRUE) module.on_process(seconds_per_tick) -/obj/item/mod/control/equipped(mob/user, slot) - ..() +/obj/item/mod/control/visual_equipped(mob/user, slot, initial = FALSE) //needs to be visual because we wanna show it in select equipment if(slot & slot_flags) set_wearer(user) else if(wearer) @@ -284,7 +221,7 @@ /obj/item/mod/control/allow_attack_hand_drop(mob/user) if(user != wearer) return ..() - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(part.loc != src) balloon_alert(user, "retract parts first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) @@ -293,7 +230,7 @@ /obj/item/mod/control/MouseDrop(atom/over_object) if(usr != wearer || !istype(over_object, /atom/movable/screen/inventory/hand)) return ..() - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(part.loc != src) balloon_alert(wearer, "retract parts first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, FALSE, SILENCED_SOUND_EXTRARANGE) @@ -446,16 +383,12 @@ to_chat(wearer, span_notice("[severity > 1 ? "Light" : "Strong"] electromagnetic pulse detected!")) if(. & EMP_PROTECT_CONTENTS) return - selected_module?.on_deactivation(display_message = TRUE) + selected_module?.deactivate(display_message = TRUE) wearer.apply_damage(5 / severity, BURN, spread_damage=TRUE) to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly.")) if(wearer.stat < UNCONSCIOUS && prob(10)) wearer.emote("scream") -/obj/item/mod/control/visual_equipped(mob/user, slot, initial = FALSE) - if(slot & slot_flags) - set_wearer(user) - /obj/item/mod/control/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) . = ..() quick_activation() @@ -463,7 +396,7 @@ /obj/item/mod/control/doStrip(mob/stripper, mob/owner) if(active && !toggle_activate(stripper, force_deactivate = TRUE)) return - for(var/obj/item/part as anything in mod_parts) + for(var/obj/item/part as anything in get_parts()) if(part.loc == src) continue retract(null, part) @@ -473,14 +406,44 @@ icon_state = "[skin]-[base_icon_state][active ? "-sealed" : ""]" return ..() +/obj/item/mod/control/proc/get_parts(all = FALSE) + . = list() + for(var/key in mod_parts) + var/datum/mod_part/part = mod_parts[key] + if(!all && part.part_item == src) + continue + . += part.part_item + +/obj/item/mod/control/proc/get_part_datums(all = FALSE) + . = list() + for(var/key in mod_parts) + var/datum/mod_part/part = mod_parts[key] + if(!all && part.part_item == src) + continue + . += part + +/obj/item/mod/control/proc/get_part_datum(obj/item/part) + RETURN_TYPE(/datum/mod_part) + var/datum/mod_part/potential_part = mod_parts["[part.slot_flags]"] + if(potential_part?.part_item == part) + return potential_part + for(var/datum/mod_part/mod_part in get_part_datums()) + if(mod_part.part_item == part) + return mod_part + CRASH("get_part_datum called with incorrect item [part] passed.") + +/obj/item/mod/control/proc/get_part_from_slot(slot) + slot = "[slot]" + for(var/part_slot in mod_parts) + if(slot != part_slot) + continue + var/datum/mod_part/part = mod_parts[part_slot] + return part.part_item + /obj/item/mod/control/proc/set_wearer(mob/living/carbon/human/user) - if (wearer == user) - // This should also not happen. - // This path is hit when equipping an outfit with visualsOnly, but only sometimes, and this eventually gets called twice. - // I'm not sure this proc should ever be being called by visualsOnly, but it is, - // and this was an emergency patch. - return - else if (!isnull(wearer)) + if(wearer == user) + CRASH("set_wearer() was called with the new wearer being the current wearer: [wearer]") + else if(!isnull(wearer)) stack_trace("set_wearer() was called with a new wearer without unset_wearer() being called") wearer = user @@ -500,17 +463,20 @@ wearer = null /obj/item/mod/control/proc/clean_up() + if(QDELING(src)) + unset_wearer() + return if(active || activating) for(var/obj/item/mod/module/module as anything in modules) if(!module.active) continue - module.on_deactivation(display_message = FALSE) - for(var/obj/item/part as anything in mod_parts) - seal_part(part, seal = FALSE) - for(var/obj/item/part as anything in mod_parts) + module.deactivate(display_message = FALSE) + for(var/obj/item/part as anything in get_parts()) + seal_part(part, is_sealed = FALSE) + for(var/obj/item/part as anything in get_parts()) retract(null, part) if(active) - finish_activation(on = FALSE) + finish_activation(is_on = FALSE) mod_link?.end_call() var/mob/old_wearer = wearer unset_wearer() @@ -519,8 +485,7 @@ /obj/item/mod/control/proc/on_species_gain(datum/source, datum/species/new_species, datum/species/old_species) SIGNAL_HANDLER - var/list/all_parts = mod_parts + src - for(var/obj/item/part in all_parts) + for(var/obj/item/part in get_parts(all = TRUE)) if(!(new_species.no_equip_flags & part.slot_flags) || is_type_in_list(new_species, part.species_exception)) continue forceMove(drop_location()) @@ -578,6 +543,11 @@ balloon_alert(user, "[new_module] would make [src] too complex!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return + if(!new_module.has_required_parts(mod_parts)) + if(user) + balloon_alert(user, "[new_module] incompatible with [src]'s parts!") + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return new_module.forceMove(src) modules += new_module complexity += new_module.complexity @@ -600,7 +570,7 @@ if(active) old_module.on_suit_deactivation(deleting = deleting) if(old_module.active) - old_module.on_deactivation(display_message = !deleting, deleting = deleting) + old_module.deactivate(display_message = !deleting, deleting = deleting) old_module.UnregisterSignal(src, COMSIG_ITEM_GET_WORN_OVERLAYS) old_module.on_uninstall(deleting = deleting) QDEL_LIST_ASSOC_VAL(old_module.pinned_to) @@ -656,9 +626,8 @@ wearer.update_spacesuit_hud_icon(state_to_use || "0") /obj/item/mod/control/proc/update_speed() - var/list/all_parts = mod_parts + src - for(var/obj/item/part as anything in all_parts) - part.slowdown = (active ? slowdown_active : slowdown_inactive) / length(all_parts) + for(var/obj/item/part as anything in get_parts(all = TRUE)) + part.slowdown = (active ? slowdown_active : slowdown_inactive) / length(mod_parts) wearer?.update_equipment_speed_mods() /obj/item/mod/control/proc/power_off() @@ -666,54 +635,10 @@ toggle_activate(wearer, force_deactivate = TRUE) /obj/item/mod/control/proc/set_mod_color(new_color) - var/list/all_parts = mod_parts + src - for(var/obj/item/part as anything in all_parts) + for(var/obj/item/part as anything in get_parts(all = TRUE)) part.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) part.add_atom_colour(new_color, FIXED_COLOUR_PRIORITY) wearer?.regenerate_icons() - -/obj/item/mod/control/proc/set_mod_skin(new_skin) - if(active) - CRASH("[src] tried to set skin while active!") - skin = new_skin - var/list/used_skin = theme.skins[new_skin] - if(used_skin[CONTROL_LAYER]) - alternate_worn_layer = used_skin[CONTROL_LAYER] - var/list/skin_updating = mod_parts + src - for(var/obj/item/part as anything in skin_updating) - part.icon = used_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' - part.worn_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' - part.icon_state = "[skin]-[part.base_icon_state]" - for(var/obj/item/clothing/part as anything in mod_parts) - var/used_category - if(part == helmet) - used_category = HELMET_FLAGS - if(part == chestplate) - used_category = CHESTPLATE_FLAGS - if(part == gauntlets) - used_category = GAUNTLETS_FLAGS - if(part == boots) - used_category = BOOTS_FLAGS - var/list/category = used_skin[used_category] - part.clothing_flags = category[UNSEALED_CLOTHING] || NONE - part.visor_flags = category[SEALED_CLOTHING] || NONE - part.flags_inv = category[UNSEALED_INVISIBILITY] || NONE - part.visor_flags_inv = category[SEALED_INVISIBILITY] || NONE - part.flags_cover = category[UNSEALED_COVER] || NONE - part.visor_flags_cover = category[SEALED_COVER] || NONE - part.alternate_worn_layer = category[UNSEALED_LAYER] - mod_parts[part] = part.alternate_worn_layer - /* SKYRAT EDIT START - All MODsuit parts can be worn as overslots. - if(!category[CAN_OVERSLOT]) - if(overslotting_parts[part]) - var/obj/item/overslot = overslotting_parts[part] - overslot.forceMove(drop_location()) - overslotting_parts -= part - continue - */ // SKYRAT EDIT END - overslotting_parts |= part - wearer?.regenerate_icons() - /obj/item/mod/control/proc/on_exit(datum/source, atom/movable/part, direction) SIGNAL_HANDLER @@ -727,7 +652,9 @@ if(part in modules) uninstall(part) return - if(part in mod_parts) + if(part in get_parts()) + if(isnull(part.loc)) + return if(!wearer) part.forceMove(src) return @@ -738,27 +665,25 @@ /obj/item/mod/control/proc/on_part_destruction(obj/item/part, damage_flag) SIGNAL_HANDLER - if(overslotting_parts[part]) - var/obj/item/overslot = overslotting_parts[part] - overslot.forceMove(drop_location()) - overslotting_parts[part] = null - if(QDELETED(src)) + if(QDELING(src)) return atom_destruction(damage_flag) -/obj/item/mod/control/proc/on_part_deletion(obj/item/part) //the part doesnt count as being qdeleted, so our destroying does an infinite loop, fix later +/obj/item/mod/control/proc/on_part_deletion(obj/item/part) SIGNAL_HANDLER - if(QDELETED(src)) + if(QDELING(src)) return + part.moveToNullspace() qdel(src) -/obj/item/mod/control/proc/on_overslot_exit(datum/source, atom/movable/overslot, direction) +/obj/item/mod/control/proc/on_overslot_exit(obj/item/part, atom/movable/overslot, direction) SIGNAL_HANDLER - if(overslot != overslotting_parts[source]) + var/datum/mod_part/part_datum = get_part_datum(part) + if(overslot != part_datum.overslotting) return - overslotting_parts[source] = null + part_datum.overslotting = null /obj/item/mod/control/proc/on_potion(atom/movable/source, obj/item/slimepotion/speed/speed_potion, mob/living/user) SIGNAL_HANDLER diff --git a/code/modules/mod/mod_paint.dm b/code/modules/mod/mod_paint.dm index 240c0897b33a1..fca758c3f5e12 100644 --- a/code/modules/mod/mod_paint.dm +++ b/code/modules/mod/mod_paint.dm @@ -140,19 +140,19 @@ SStgui.close_uis(src) /obj/item/mod/paint/proc/paint_skin(obj/item/mod/control/mod, mob/user) - if(length(mod.theme.skins) <= 1) + if(length(mod.theme.variants) <= 1) balloon_alert(user, "no alternate skins!") return var/list/skins = list() - for(var/mod_skin_name in mod.theme.skins) - var/list/mod_skin = mod.theme.skins[mod_skin_name] + for(var/mod_skin_name in mod.theme.variants) + var/list/mod_skin = mod.theme.variants[mod_skin_name] skins[mod_skin_name] = image(icon = mod_skin[MOD_ICON_OVERRIDE] || mod.icon, icon_state = "[mod_skin_name]-control") var/pick = show_radial_menu(user, mod, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), mod, user), require_near = TRUE) if(!pick) balloon_alert(user, "no skin picked!") return - mod.set_mod_skin(pick) - + mod.theme.set_skin(mod, pick) + /obj/item/mod/paint/proc/check_menu(obj/item/mod/control/mod, mob/user) if(user.incapacitated() || !user.is_holding(src) || !mod || mod.active || mod.activating) return FALSE @@ -171,7 +171,6 @@ icon = 'icons/obj/clothing/modsuit/mod_construction.dmi' icon_state = "skinapplier" var/skin = "civilian" - var/compatible_theme = /datum/mod_theme /obj/item/mod/skin_applier/Initialize(mapload) . = ..() @@ -184,14 +183,13 @@ if(mod.active || mod.activating) balloon_alert(user, "suit is active!") return TRUE - if(!istype(mod.theme, compatible_theme)) + if(!(skin in mod.theme.variants)) balloon_alert(user, "incompatible theme!") return TRUE - mod.set_mod_skin(skin) + mod.theme.set_skin(mod, skin) balloon_alert(user, "skin applied") qdel(src) return TRUE /obj/item/mod/skin_applier/honkerative skin = "honkerative" - compatible_theme = /datum/mod_theme/syndicate diff --git a/code/modules/mod/mod_part.dm b/code/modules/mod/mod_part.dm new file mode 100644 index 0000000000000..88f8024628dc5 --- /dev/null +++ b/code/modules/mod/mod_part.dm @@ -0,0 +1,22 @@ +/// Datum to handle interactions between a MODsuit and its parts. +/datum/mod_part + /// The actual item we handle. + var/obj/item/part_item = null + /// Are we sealed? + var/sealed = FALSE + /// Message to user when unsealed. + var/unsealed_message + /// Message to user when sealed. + var/sealed_message + /// The layer the item will render on when unsealed. + var/unsealed_layer + /// The layer the item will render on when sealed. + var/sealed_layer + /// Can our part overslot over others? + var/can_overslot = FALSE + /// What are we overslotting over? + var/obj/item/overslotting = null + +/datum/mod_part/Destroy() + part_item = null + return ..() diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index a408be23b1fad..ab2c76fc40f5b 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -49,58 +49,159 @@ var/list/inbuilt_modules = list() /// Allowed items in the chestplate's suit storage. var/list/allowed_suit_storage = list() - /// List of skins with their appropriate clothing flags. - var/list/skins = list( + /// List of variants and items created by them, with the flags we set. + var/list/variants = list( "standard" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, - SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), "civilian" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) +#ifdef UNIT_TESTS +/* BUBBER EDIT - Comments this check out until TG fixes it +/datum/mod_theme/New() + var/list/skin_parts = list() + for(var/variant in variants) + skin_parts += list(assoc_to_keys(variants[variant])) + for(var/skin in skin_parts) + for(var/compared_skin in skin_parts) + if(skin ~! compared_skin) + stack_trace("[type] variants [skin] and [compared_skin] aren't made of the same parts.") + skin_parts -= skin +*/ +#endif + +/// Create parts of the suit and modify them using the theme's variables. +/datum/mod_theme/proc/set_up_parts(obj/item/mod/control/mod, skin) + var/list/parts = list(mod) + mod.slot_flags = slot_flags + mod.extended_desc = extended_desc + mod.slowdown_inactive = slowdown_inactive + mod.slowdown_active = slowdown_active + mod.activation_step_time = activation_step_time + mod.complexity_max = complexity_max + mod.ui_theme = ui_theme + mod.charge_drain = charge_drain + var/datum/mod_part/control_part_datum = new() + control_part_datum.part_item = mod + mod.mod_parts["[mod.slot_flags]"] = control_part_datum + for(var/path in variants[default_skin]) + if(!ispath(path)) + continue + var/obj/item/mod_part = new path(mod) + if(mod_part.slot_flags == ITEM_SLOT_OCLOTHING && isclothing(mod_part)) + var/obj/item/clothing/chestplate = mod_part + chestplate.allowed |= allowed_suit_storage + var/datum/mod_part/part_datum = new() + part_datum.part_item = mod_part + mod.mod_parts["[mod_part.slot_flags]"] = part_datum + parts += mod_part + for(var/obj/item/part as anything in parts) + part.name = "[name] [part.name]" + part.desc = "[part.desc] [desc]" + part.set_armor(armor_type) + part.resistance_flags = resistance_flags + part.flags_1 |= atom_flags //flags like initialization or admin spawning are here, so we cant set, have to add + part.heat_protection = NONE + part.cold_protection = NONE + part.max_heat_protection_temperature = max_heat_protection_temperature + part.min_cold_protection_temperature = min_cold_protection_temperature + part.siemens_coefficient = siemens_coefficient + set_skin(mod, skin || default_skin) + +/datum/mod_theme/proc/set_skin(obj/item/mod/control/mod, skin) + mod.skin = skin + var/list/used_skin = variants[skin] + var/list/parts = mod.get_parts() + for(var/obj/item/clothing/part as anything in parts) + var/list/category = used_skin[part.type] + var/datum/mod_part/part_datum = mod.get_part_datum(part) + part_datum.unsealed_layer = category[UNSEALED_LAYER] + part_datum.sealed_layer = category[SEALED_LAYER] + part_datum.unsealed_message = category[UNSEALED_MESSAGE] || "No unseal message set! Tell a coder!" + part_datum.sealed_message = category[SEALED_MESSAGE] || "No seal message set! Tell a coder!" + part_datum.can_overslot = TRUE //SKYRAT EDIT CHANGE, overslottable everything - Original: part_datum.can_overslot = category[CAN_OVERSLOT] || FALSE + part.clothing_flags = category[UNSEALED_CLOTHING] || NONE + part.visor_flags = category[SEALED_CLOTHING] || NONE + part.flags_inv = category[UNSEALED_INVISIBILITY] || NONE + part.visor_flags_inv = category[SEALED_INVISIBILITY] || NONE + part.flags_cover = category[UNSEALED_COVER] || NONE + part.visor_flags_cover = category[SEALED_COVER] || NONE + if(mod.get_part_datum(part).sealed) + part.clothing_flags |= part.visor_flags + part.flags_inv |= part.visor_flags_inv + part.flags_cover |= part.visor_flags_cover + part.alternate_worn_layer = part_datum.sealed_layer + else + part.alternate_worn_layer = part_datum.unsealed_layer + if(!part_datum.can_overslot && part_datum.overslotting) + var/obj/item/overslot = part_datum.overslotting + overslot.forceMove(mod.drop_location()) + for(var/obj/item/part as anything in parts + mod) + part.icon = used_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' + part.worn_icon = used_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' + part.icon_state = "[skin]-[part.base_icon_state][mod.get_part_datum(part).sealed ? "-sealed" : ""]" + mod.wearer?.update_clothing(part.slot_flags) + /datum/armor/mod_theme melee = 10 bullet = 5 @@ -108,7 +209,7 @@ energy = 5 bio = 100 fire = 25 - acid =25 + acid = 25 wound = 5 /datum/mod_theme/engineering @@ -131,30 +232,38 @@ /obj/item/fireaxe/metal_h2_axe, /obj/item/storage/bag/construction, ) - skins = list( + variants = list( "engineering" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -190,9 +299,9 @@ /obj/item/pipe_dispenser, /obj/item/t_scanner, ) - skins = list( + variants = list( "atmospheric" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, @@ -200,21 +309,29 @@ SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR, UNSEALED_COVER = HEADCOVERSMOUTH, SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -255,30 +372,38 @@ /obj/item/storage/bag/construction, /obj/item/t_scanner, ) - skins = list( + variants = list( "advanced" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -321,72 +446,80 @@ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT complexity_max = DEFAULT_MAX_COMPLEXITY - 2 charge_drain = DEFAULT_CHARGE_DRAIN * 2 - allowed_suit_storage = list( - /obj/item/resonator, - /obj/item/mining_scanner, - /obj/item/t_scanner/adv_mining_scanner, - /obj/item/pickaxe, - /obj/item/kinetic_crusher, - /obj/item/stack/ore/plasma, - /obj/item/storage/bag/ore, - /obj/item/gun/energy/recharge/kinetic_accelerator, - ) inbuilt_modules = list(/obj/item/mod/module/ash_accretion, /obj/item/mod/module/sphere_transform) - skins = list( + variants = list( "mining" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), "asteroid" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) +/datum/mod_theme/loader/New() + .=..() + allowed_suit_storage = GLOB.mining_suit_allowed + /datum/armor/mod_theme_mining - melee = 15 + melee = 20 bullet = 5 laser = 5 energy = 5 @@ -423,25 +556,32 @@ /obj/item/storage/bag/mail, ) inbuilt_modules = list(/obj/item/mod/module/hydraulic, /obj/item/mod/module/clamp/loader, /obj/item/mod/module/magnet) - skins = list( + variants = list( "loader" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( SEALED_CLOTHING = THICKMATERIAL, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( SEALED_CLOTHING = THICKMATERIAL, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -486,55 +626,71 @@ /obj/item/storage/bag/chemistry, /obj/item/storage/bag/bio, ) - skins = list( + variants = list( "medical" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), "corpsman" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -583,30 +739,38 @@ /obj/item/storage/bag/bio, /obj/item/melee/baton/telescopic, ) - skins = list( + variants = list( "rescue" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -649,29 +813,36 @@ /obj/item/storage/bag/bio, /obj/item/melee/baton/telescopic, ) - skins = list( + variants = list( "research" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -707,31 +878,38 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "security" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH, SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -769,29 +947,36 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "safeguard" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -833,30 +1018,38 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "magnate" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -893,30 +1086,38 @@ /obj/item/instrument, /obj/item/toy/balloon_animal, ) - skins = list( + variants = list( "cosmohonk" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -960,55 +1161,71 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "syndicate" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), "honkerative" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1051,30 +1268,37 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "elite" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1118,28 +1342,35 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "infiltrator" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_INVISIBILITY = HIDEJUMPSUIT, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( SEALED_CLOTHING = THICKMATERIAL, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( SEALED_CLOTHING = THICKMATERIAL, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1173,7 +1404,7 @@ charge_drain = DEFAULT_CHARGE_DRAIN * 2 slowdown_inactive = 0.0 slowdown_active = -0.5 - inbuilt_modules = list(/obj/item/mod/module/quick_carry/advanced, /obj/item/mod/module/organ_thrower) + inbuilt_modules = list(/obj/item/mod/module/quick_carry/advanced) allowed_suit_storage = list( /obj/item/assembly/flash, /obj/item/healthanalyzer, @@ -1195,30 +1426,38 @@ /obj/item/storage/bag/chemistry, /obj/item/storage/pill_bottle, ) - skins = list( + variants = list( "interdyne" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1259,29 +1498,36 @@ /obj/item/highfrequencyblade/wizard, /obj/item/gun/magic, ) - skins = list( + variants = list( "enchanted" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL|CASTING_CLOTHES, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL|CASTING_CLOTHES, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1320,30 +1566,37 @@ /obj/item/melee/baton, /obj/item/restraints/handcuffs, ) - skins = list( + variants = list( "ninja" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1385,29 +1638,36 @@ /obj/item/pipe_dispenser, /obj/item/construction/rcd, ) - skins = list( + variants = list( "prototype" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1423,6 +1683,73 @@ acid = 75 wound = 5 +/datum/mod_theme/glitch + name = "glitch" + desc = "A modsuit outfitted for elite Cyber Authority units to track, capture, and eliminate organic intruders." + extended_desc = "The Cyber Authority function as a digital police force, patrolling the digital realm and enforcing the law. Cyber Tac units are \ + the elite of the elite, outfitted with lethal weaponry and fast mobility specially designed to quell organic uprisings." + default_skin = "glitch" + armor_type = /datum/armor/mod_theme_glitch + resistance_flags = FIRE_PROOF|ACID_PROOF + atom_flags = PREVENT_CONTENTS_EXPLOSION_1 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + complexity_max = DEFAULT_MAX_COMPLEXITY + 3 + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.5 + ui_theme = "terminal" + inbuilt_modules = list(/obj/item/mod/module/armor_booster) + allowed_suit_storage = list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/assembly/flash, + ) + variants = list( + "glitch" = list( + /obj/item/clothing/head/mod = list( + UNSEALED_CLOTHING = SNUG_FIT, + SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, + UNSEALED_INVISIBILITY = HIDEFACIALHAIR, + SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, + SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, + ), + /obj/item/clothing/suit/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, + ), + /obj/item/clothing/gloves/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, + ), + /obj/item/clothing/shoes/mod = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, + ), + ), + ) + +/datum/armor/mod_theme_glitch + melee = 15 + bullet = 20 + laser = 35 + bomb = 65 + bio = 100 + fire = 100 + acid = 100 + wound = 100 + /datum/mod_theme/responsory name = "responsory" desc = "A high-speed rescue suit by Nanotrasen, intended for its emergency response teams." @@ -1444,54 +1771,69 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "responsory" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), "inquisitory" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1543,30 +1885,37 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "apocryphal" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1605,30 +1954,37 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "corporate" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1661,30 +2017,38 @@ allowed_suit_storage = list( /obj/item/restraints/handcuffs, ) - skins = list( + variants = list( "chrono" = list( - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1719,31 +2083,38 @@ allowed_suit_storage = list( /obj/item/gun, ) - skins = list( + variants = list( "debug" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH, SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1779,26 +2150,33 @@ allowed_suit_storage = list( /obj/item/gun, ) - skins = list( + variants = list( "debug" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -1813,54 +2191,3 @@ fire = 100 acid = 100 wound = 100 - -/datum/mod_theme/timeline - name = "chrono" - desc = "A suit beyond our time, beyond time itself. Used to traverse timelines and \"correct their course\"." - extended_desc = "A suit whose tech goes beyond this era's understanding. The internal mechanisms are all but \ - completely alien, but the purpose is quite simple. The suit protects the user from the many incredibly lethal \ - and sometimes hilariously painful side effects of jumping timelines, while providing inbuilt equipment for \ - making timeline adjustments to correct a bad course." - default_skin = "timeline" - armor_type = /datum/armor/mod_theme_timeline - resistance_flags = FIRE_PROOF|ACID_PROOF - max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - complexity_max = 15 - slowdown_inactive = 0 - slowdown_active = 0 - skins = list( - "timeline" = list( - HELMET_LAYER = null, - HELMET_FLAGS = list( - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, - SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE, - UNSEALED_COVER = HEADCOVERSMOUTH, - SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - ), - ), - ) - -/datum/armor/mod_theme_timeline - melee = 60 - bullet = 60 - laser = 60 - energy = 60 - bomb = 30 - bio = 90 - fire = 100 - acid = 100 diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 2789763e12cd2..8843a811756d7 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -212,7 +212,7 @@ /obj/item/mod/module/storage, /obj/item/mod/module/waddle, /obj/item/mod/module/bikehorn, - /obj/item/mod/module/balloon_advanced, + /obj/item/mod/module/balloon/advanced, ) /obj/item/mod/control/pre_equipped/traitor @@ -352,6 +352,7 @@ starting_frequency = MODLINK_FREQ_SYNDICATE applied_cell = /obj/item/stock_parts/cell/super applied_modules = list( + /obj/item/mod/module/organ_thrower, /obj/item/mod/module/defibrillator/combat, /obj/item/mod/module/flashlight, /obj/item/mod/module/health_analyzer, @@ -413,6 +414,23 @@ /obj/item/mod/module/anomaly_locked/kinesis/prototype, ) +/obj/item/mod/control/pre_equipped/glitch + theme = /datum/mod_theme/glitch + starting_frequency = null + applied_cell = /obj/item/stock_parts/cell/bluespace + applied_modules = list( + /obj/item/mod/module/storage, + /obj/item/mod/module/magnetic_harness, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/jump_jet, + /obj/item/mod/module/flashlight, + ) + default_pins = list( + /obj/item/mod/module/armor_booster, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/jump_jet, + ) + /obj/item/mod/control/pre_equipped/responsory theme = /datum/mod_theme/responsory starting_frequency = MODLINK_FREQ_CENTCOM diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm index 2f1e6faa0f429..f994b91060fea 100644 --- a/code/modules/mod/mod_ui.dm +++ b/code/modules/mod/mod_ui.dm @@ -53,7 +53,7 @@ "cooldown" = round(COOLDOWN_TIMELEFT(module, cooldown_timer), 1 SECONDS), "id" = module.tgui_id, "ref" = REF(module), - "configuration_data" = module.get_configuration(user) + "configuration_data" = module.get_configuration(user), )) data["module_custom_status"] = module_custom_status data["module_info"] = module_info @@ -64,10 +64,13 @@ data["ui_theme"] = ui_theme data["control"] = name data["complexity_max"] = complexity_max - data["helmet"] = helmet?.name - data["chestplate"] = chestplate?.name - data["gauntlets"] = gauntlets?.name - data["boots"] = boots?.name + var/part_info = list() + for(var/obj/item/part as anything in get_parts()) + part_info += list(list( + "slot" = english_list(parse_slot_flags(part.slot_flags)), + "name" = part.name, + )) + data["parts"] = part_info return data /obj/item/mod/control/ui_state(mob/user) diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index 7856233a21992..7a3128b2d2dc5 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -43,6 +43,8 @@ var/list/pinned_to = list() /// flags that let the module ability be used in odd circumstances var/allow_flags = NONE + /// A list of slots required in the suit to work. Formatted like list(x|y, z, ...) where either x or y are required and z is required. + var/list/required_slots = list() /// Timer for the cooldown COOLDOWN_DECLARE(cooldown_timer) @@ -65,28 +67,61 @@ /obj/item/mod/module/examine(mob/user) . = ..() + if(length(required_slots)) + var/list/slot_strings = list() + for(var/slot in required_slots) + var/list/slot_list = parse_slot_flags(slot) + slot_strings += (length(slot_list) == 1 ? "" : "one of ") + english_list(slot_list, and_text = " or ") + . += span_notice("Requires the MOD unit to have the following slots: [english_list(slot_strings)]") if(HAS_TRAIT(user, TRAIT_DIAGNOSTIC_HUD)) . += span_notice("Complexity level: [complexity]") +/// Looks through the MODsuit's parts to see if it has the parts required to support this module +/obj/item/mod/module/proc/has_required_parts(list/parts, need_extended = FALSE) + if(!length(required_slots)) + return TRUE + var/total_slot_flags = NONE + for(var/part_slot in parts) + if(need_extended) + var/datum/mod_part/part_datum = parts[part_slot] + if(part_datum.part_item.loc == mod) + continue + total_slot_flags |= text2num(part_slot) + var/list/needed_slots = required_slots.Copy() + for(var/needed_slot in needed_slots) + if(!(needed_slot & total_slot_flags)) + break + needed_slots -= needed_slot + return !length(needed_slots) /// Called when the module is selected from the TGUI, radial or the action button /obj/item/mod/module/proc/on_select() + if(!mod.wearer) + if(ismob(mod.loc)) + balloon_alert(mod.loc, "not equipped!") + return if(((!mod.active || mod.activating) && !(allow_flags & MODULE_ALLOW_INACTIVE)) || module_type == MODULE_PASSIVE) if(mod.wearer) balloon_alert(mod.wearer, "not active!") return // SKYRAT EDIT START - DEPLOYABLE EVERYTHING OVER EVERYTHING - if((mod.wearer.wear_suit != mod.chestplate) && !(allow_flags & MODULE_ALLOW_INACTIVE)) - balloon_alert(mod.wearer, "chestplate retracted!") + var/can_activate = TRUE + if(!(allow_flags & MODULE_ALLOW_INACTIVE)) + for(var/obj/item/part in mod.get_parts()) + if(part.loc == mod) + can_activate = FALSE + break + if(!can_activate) + balloon_alert(mod.wearer, "not fully deployed!") return // SKYRAT EDIT END if(module_type != MODULE_USABLE) if(active) - on_deactivation() + deactivate() else - on_activation() + activate() else - on_use() + used() SEND_SIGNAL(mod, COMSIG_MOD_MODULE_SELECTED, src) /// Apply a cooldown until this item can be used again @@ -97,7 +132,7 @@ SEND_SIGNAL(src, COMSIG_MODULE_COOLDOWN_STARTED, applied_cooldown) /// Called when the module is activated -/obj/item/mod/module/proc/on_activation() +/obj/item/mod/module/proc/activate() if(!COOLDOWN_FINISHED(src, cooldown_timer)) balloon_alert(mod.wearer, "on cooldown!") return FALSE @@ -119,7 +154,7 @@ if(SEND_SIGNAL(src, COMSIG_MODULE_TRIGGERED, mod.wearer) & MOD_ABORT_USE) return FALSE if(module_type == MODULE_ACTIVE) - if(mod.selected_module && !mod.selected_module.on_deactivation(display_message = FALSE)) + if(mod.selected_module && !mod.selected_module.deactivate(display_message = FALSE)) return FALSE mod.selected_module = src if(device) @@ -139,10 +174,11 @@ mod.wearer.update_clothing(mod.slot_flags) start_cooldown() SEND_SIGNAL(src, COMSIG_MODULE_ACTIVATED) + on_activation() return TRUE /// Called when the module is deactivated -/obj/item/mod/module/proc/on_deactivation(display_message = TRUE, deleting = FALSE) +/obj/item/mod/module/proc/deactivate(display_message = TRUE, deleting = FALSE) active = FALSE if(module_type == MODULE_ACTIVE) mod.selected_module = null @@ -157,10 +193,11 @@ used_signal = null mod.wearer.update_clothing(mod.slot_flags) SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED, mod.wearer) + on_deactivation(display_message = TRUE, deleting = FALSE) return TRUE /// Called when the module is used -/obj/item/mod/module/proc/on_use() +/obj/item/mod/module/proc/used() if(!COOLDOWN_FINISHED(src, cooldown_timer)) balloon_alert(mod.wearer, "on cooldown!") return FALSE @@ -177,6 +214,7 @@ addtimer(CALLBACK(mod.wearer, TYPE_PROC_REF(/mob, update_clothing), mod.slot_flags), cooldown_time+1) //need to run it a bit after the cooldown starts to avoid conflicts mod.wearer.update_clothing(mod.slot_flags) SEND_SIGNAL(src, COMSIG_MODULE_USED) + on_use() return TRUE /// Called when an activated module without a device is used @@ -184,7 +222,7 @@ if(!(allow_flags & MODULE_ALLOW_INCAPACITATED) && mod.wearer.incapacitated(IGNORE_GRAB)) return FALSE mod.wearer.face_atom(target) - if(!on_use()) + if(!used()) return FALSE return TRUE @@ -198,22 +236,34 @@ /obj/item/mod/module/proc/on_process(seconds_per_tick) if(active) if(!drain_power(active_power_cost * seconds_per_tick)) - on_deactivation() + deactivate() return FALSE on_active_process(seconds_per_tick) else drain_power(idle_power_cost * seconds_per_tick) return TRUE +/// Called from the module's activate() +/obj/item/mod/module/proc/on_activation() + return + +/// Called from the module's deactivate() +/obj/item/mod/module/proc/on_deactivation(display_message = TRUE, deleting = FALSE) + return + +/// Called from the module's used() +/obj/item/mod/module/proc/on_use() + return + /// Called on the MODsuit's process if it is an active module /obj/item/mod/module/proc/on_active_process(seconds_per_tick) return -/// Called from MODsuit's install() proc, so when the module is installed. +/// Called from MODsuit's install() proc, so when the module is installed /obj/item/mod/module/proc/on_install() return -/// Called from MODsuit's uninstall() proc, so when the module is uninstalled. +/// Called from MODsuit's uninstall() proc, so when the module is uninstalled /obj/item/mod/module/proc/on_uninstall(deleting = FALSE) return @@ -271,7 +321,7 @@ if(part.loc == mod.wearer) return if(part == device) - on_deactivation(display_message = FALSE) + deactivate(display_message = FALSE) /// Called when the device gets deleted on active modules /obj/item/mod/module/proc/on_device_deletion(datum/source) @@ -338,7 +388,7 @@ if(user.get_active_held_item() != device) return - on_deactivation() + deactivate() return COMSIG_KB_ACTIVATED ///Anomaly Locked - Causes the module to not function without an anomaly. diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index 4f4fa44ff966c..81a266f8ff41a 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -15,6 +15,7 @@ overlay_state_inactive = "module_kinesis" overlay_state_active = "module_kinesis_on" accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/grav) + required_slots = list(ITEM_SLOT_GLOVES) /// Range of the knesis grab. var/grab_range = 5 /// Time between us hitting objects with kinesis. @@ -63,9 +64,6 @@ grab_atom(target) /obj/item/mod/module/anomaly_locked/kinesis/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return clear_grab(playsound = !deleting) /obj/item/mod/module/anomaly_locked/kinesis/process(seconds_per_tick) diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm index 1681496036887..64790eacb3bec 100644 --- a/code/modules/mod/modules/module_pathfinder.dm +++ b/code/modules/mod/modules/module_pathfinder.dm @@ -13,6 +13,7 @@ complexity = 1 use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 incompatible_modules = list(/obj/item/mod/module/pathfinder) + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// The pathfinding implant. var/obj/item/implant/mod/implant diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index bd96c5aec5ff4..8d8d777592466 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -23,11 +23,9 @@ /// Speed that we actually added. var/actual_speed_added = 0 /// Armor values added to the suit parts. - var/list/armor_mod = /datum/armor/mod_module_armor_boost + var/datum/armor/armor_mod = /datum/armor/mod_module_armor_boost /// List of parts of the suit that are spaceproofed, for giving them back the pressure protection. var/list/spaceproofed = list() - /// List of traits added when the mod is activated - var/list/traits_to_add = list(TRAIT_HEAD_INJURY_BLOCKED) /obj/item/mod/module/armor_booster/no_speedbost speed_added = 0 @@ -39,25 +37,27 @@ energy = 15 /obj/item/mod/module/armor_booster/on_suit_activation() - mod.helmet.flash_protect = FLASH_PROTECTION_WELDER + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + head_cover.flash_protect = FLASH_PROTECTION_WELDER /obj/item/mod/module/armor_booster/on_suit_deactivation(deleting = FALSE) if(deleting) return - mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + head_cover.flash_protect = initial(head_cover.flash_protect) /obj/item/mod/module/armor_booster/on_activation() - . = ..() - if(!.) - return playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) balloon_alert(mod.wearer, "armor boosted, EVA lost") actual_speed_added = max(0, min(mod.slowdown_active, speed_added)) mod.slowdown -= actual_speed_added mod.wearer.update_equipment_speed_mods() - mod.wearer.add_traits(traits_to_add, MOD_TRAIT) - var/list/parts = mod.mod_parts + mod - for(var/obj/item/part as anything in parts) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + ADD_TRAIT(mod.wearer, TRAIT_HEAD_INJURY_BLOCKED, MOD_TRAIT) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().add_other_armor(armor_mod)) if(!remove_pressure_protection || !isclothing(part)) continue @@ -67,17 +67,15 @@ spaceproofed[clothing_part] = TRUE /obj/item/mod/module/armor_booster/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return if(!deleting) playsound(src, 'sound/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) balloon_alert(mod.wearer, "armor retracts, EVA ready") mod.slowdown += actual_speed_added mod.wearer.update_equipment_speed_mods() - mod.wearer.remove_traits(traits_to_add, MOD_TRAIT) - var/list/parts = mod.mod_parts + mod - for(var/obj/item/part as anything in parts) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + REMOVE_TRAIT(mod.wearer, TRAIT_HEAD_INJURY_BLOCKED, MOD_TRAIT) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().subtract_other_armor(armor_mod)) if(!remove_pressure_protection || !isclothing(part)) continue @@ -103,6 +101,7 @@ idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/energy_shield) + required_slots = list(ITEM_SLOT_BACK) /// Max charges of the shield. var/max_charges = 1 /// The time it takes for the first charge to recover. @@ -167,6 +166,7 @@ shield_icon_file = 'icons/effects/magic.dmi' shield_icon = "mageshield" recharge_path = /obj/item/wizard_armour_charge + required_slots = list() ///Magic Nullifier - Protects you from magic. /obj/item/mod/module/anti_magic @@ -179,6 +179,7 @@ icon_state = "magic_nullifier" removable = FALSE incompatible_modules = list(/obj/item/mod/module/anti_magic) + required_slots = list(ITEM_SLOT_BACK) /obj/item/mod/module/anti_magic/on_suit_activation() mod.wearer.add_traits(list(TRAIT_ANTIMAGIC, TRAIT_HOLY), MOD_TRAIT) @@ -193,6 +194,7 @@ The field will neutralize all magic that comes into contact with the user. \ It will not protect the caster from social ridicule." icon_state = "magic_neutralizer" + required_slots = list() /obj/item/mod/module/anti_magic/wizard/on_suit_activation() mod.wearer.add_traits(list(TRAIT_ANTIMAGIC, TRAIT_ANTIMAGIC_NO_SELFBLOCK), MOD_TRAIT) @@ -254,6 +256,7 @@ complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 incompatible_modules = list(/obj/item/mod/module/noslip) + required_slots = list(ITEM_SLOT_FEET) /obj/item/mod/module/noslip/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_NO_SLIP_WATER, MOD_TRAIT) @@ -298,6 +301,7 @@ cooldown_time = 2.5 SECONDS overlay_state_inactive = "module_flamethrower" overlay_state_active = "module_flamethrower_on" + required_slots = list(ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING) /obj/item/mod/module/flamethrower/on_select_use(atom/target) . = ..() @@ -320,6 +324,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/power_kick) cooldown_time = 5 SECONDS + required_slots = list(ITEM_SLOT_FEET) /// Damage on kick. var/damage = 20 /// The wound bonus of the kick. @@ -399,13 +404,13 @@ return_look() possible_disguises = null -/obj/item/mod/module/chameleon/on_use() +/obj/item/mod/module/chameleon/used() if(mod.active || mod.activating) balloon_alert(mod.wearer, "suit active!") - return - . = ..() - if(!.) - return + return FALSE + return ..() + +/obj/item/mod/module/chameleon/on_use() if(current_disguise) return_look() return @@ -433,10 +438,9 @@ mod.name = "[mod.theme.name] [initial(mod.name)]" mod.desc = "[initial(mod.desc)] [mod.theme.desc]" mod.icon_state = "[mod.skin]-[initial(mod.icon_state)]" - var/list/mod_skin = mod.theme.skins[mod.skin] + var/list/mod_skin = mod.theme.variants[mod.skin] mod.icon = mod_skin[MOD_ICON_OVERRIDE] || 'icons/obj/clothing/modsuit/mod_clothing.dmi' mod.worn_icon = mod_skin[MOD_WORN_ICON_OVERRIDE] || 'icons/mob/clothing/modsuit/mod_clothing.dmi' - mod.alternate_worn_layer = mod_skin[CONTROL_LAYER] mod.lefthand_file = initial(mod.lefthand_file) mod.righthand_file = initial(mod.righthand_file) mod.worn_icon_state = null @@ -481,6 +485,7 @@ complexity = 0 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 removable = FALSE + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) var/datum/proximity_monitor/advanced/demoraliser/demoralizer /obj/item/mod/module/demoralizer/on_suit_activation() @@ -500,6 +505,7 @@ removable = FALSE idle_power_cost = DEFAULT_CHARGE_DRAIN * 0 incompatible_modules = list(/obj/item/mod/module/infiltrator, /obj/item/mod/module/armor_booster, /obj/item/mod/module/welding, /obj/item/mod/module/headprotector) + required_slots = list(ITEM_SLOT_FEET, ITEM_SLOT_HEAD, ITEM_SLOT_OCLOTHING) /// List of traits added when the suit is activated var/list/traits_to_add = list(TRAIT_SILENT_FOOTSTEPS, TRAIT_UNKNOWN, TRAIT_HEAD_INJURY_BLOCKED) @@ -510,18 +516,22 @@ mod.item_flags &= ~EXAMINE_SKIP /obj/item/mod/module/infiltrator/on_suit_activation() - mod.wearer.add_traits(traits_to_add, MOD_TRAIT) - mod.helmet.flash_protect = FLASH_PROTECTION_WELDER + mod.wearer.add_traits(list(TRAIT_SILENT_FOOTSTEPS, TRAIT_UNKNOWN), MOD_TRAIT) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(head_cover)) + head_cover.flash_protect = FLASH_PROTECTION_WELDER /obj/item/mod/module/infiltrator/on_suit_deactivation(deleting = FALSE) mod.wearer.remove_traits(traits_to_add, MOD_TRAIT) if(deleting) return - mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(head_cover)) + head_cover.flash_protect = initial(head_cover.flash_protect) ///Medbeam - Medbeam but built into a modsuit /obj/item/mod/module/medbeam - name = "MOD Medbeam Module" + name = "MOD medical beamgun module" desc = "A wrist mounted variant of the medbeam gun, allowing the user to heal their allies without the risk of dropping it." icon_state = "chronogun" module_type = MODULE_ACTIVE @@ -531,6 +541,7 @@ incompatible_modules = list(/obj/item/mod/module/medbeam) removable = TRUE cooldown_time = 0.5 + required_slots = list(ITEM_SLOT_BACK) /obj/item/gun/medbeam/mod name = "MOD medbeam" diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index 1ddcab0818073..cb830b2128e7e 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -10,14 +10,19 @@ complexity = 1 incompatible_modules = list(/obj/item/mod/module/welding, /obj/item/mod/module/armor_booster) overlay_state_inactive = "module_welding" + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /obj/item/mod/module/welding/on_suit_activation() - mod.helmet.flash_protect = FLASH_PROTECTION_WELDER + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + head_cover.flash_protect = FLASH_PROTECTION_WELDER /obj/item/mod/module/welding/on_suit_deactivation(deleting = FALSE) if(deleting) return - mod.helmet.flash_protect = initial(mod.helmet.flash_protect) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + head_cover.flash_protect = initial(head_cover.flash_protect) ///T-Ray Scan - Scans the terrain for undertile objects. /obj/item/mod/module/t_ray @@ -31,6 +36,7 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/t_ray) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /// T-ray scan range. var/range = 4 @@ -50,23 +56,18 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/magboot, /obj/item/mod/module/atrocinator) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_FEET) /// Slowdown added onto the suit. var/slowdown_active = 0.5 /// A list of traits to add to the wearer when we're active (see: Magboots) var/list/active_traits = list(TRAIT_NO_SLIP_WATER, TRAIT_NO_SLIP_ICE, TRAIT_NO_SLIP_SLIDE, TRAIT_NEGATES_GRAVITY) /obj/item/mod/module/magboot/on_activation() - . = ..() - if(!.) - return mod.wearer.add_traits(active_traits, MOD_TRAIT) mod.slowdown += slowdown_active mod.wearer.update_equipment_speed_mods() /obj/item/mod/module/magboot/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return mod.wearer.remove_traits(active_traits, MOD_TRAIT) mod.slowdown -= slowdown_active mod.wearer.update_equipment_speed_mods() @@ -89,8 +90,9 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/tether) cooldown_time = 1.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) -/obj/item/mod/module/tether/on_use() +/obj/item/mod/module/tether/used() if(mod.wearer.has_gravity(get_turf(src))) balloon_alert(mod.wearer, "too much gravity!") playsound(src, 'sound/weapons/gun/general/dry_fire.ogg', 25, TRUE) @@ -153,14 +155,14 @@ AddComponent(/datum/component/geiger_sound) ADD_TRAIT(mod.wearer, TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, MOD_TRAIT) RegisterSignal(mod.wearer, COMSIG_IN_RANGE_OF_IRRADIATION, PROC_REF(on_pre_potential_irradiation)) - for(var/obj/item/part in mod.mod_parts) + for(var/obj/item/part in mod.get_parts(all = TRUE)) ADD_TRAIT(part, TRAIT_RADIATION_PROTECTED_CLOTHING, MOD_TRAIT) /obj/item/mod/module/rad_protection/on_suit_deactivation(deleting = FALSE) qdel(GetComponent(/datum/component/geiger_sound)) REMOVE_TRAIT(mod.wearer, TRAIT_BYPASS_EARLY_IRRADIATED_CHECK, MOD_TRAIT) UnregisterSignal(mod.wearer, COMSIG_IN_RANGE_OF_IRRADIATION) - for(var/obj/item/part in mod.mod_parts) + for(var/obj/item/part in mod.get_parts(all = TRUE)) REMOVE_TRAIT(part, TRAIT_RADIATION_PROTECTED_CLOTHING, MOD_TRAIT) /obj/item/mod/module/rad_protection/add_ui_data() @@ -190,6 +192,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/constructor, /obj/item/mod/module/quick_carry) cooldown_time = 11 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/mod/module/constructor/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_QUICK_BUILD, MOD_TRAIT) @@ -198,15 +201,12 @@ REMOVE_TRAIT(mod.wearer, TRAIT_QUICK_BUILD, MOD_TRAIT) /obj/item/mod/module/constructor/on_use() - . = ..() - if(!.) - return rcd_scan(src, fade_time = 10 SECONDS) drain_power(use_energy_cost) ///Safety-First Head Protection - Protects your brain matter from sudden impacts. /obj/item/mod/module/headprotector - name = "MOD Safety-First Head Protection module" + name = "MOD safety-first head protection module" desc = "A series of dampening plates are installed along the back and upper areas of \ the helmet. These plates absorb abrupt kinetic shocks delivered to the skull. \ The bulk of this module prevents it from being installed in any suit that is capable \ @@ -215,6 +215,7 @@ icon_state = "welding" complexity = 1 incompatible_modules = list(/obj/item/mod/module/armor_booster, /obj/item/mod/module/infiltrator) + required_slots = list(ITEM_SLOT_HEAD) /obj/item/mod/module/constructor/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_HEAD_INJURY_BLOCKED, MOD_TRAIT) @@ -233,6 +234,7 @@ device = /obj/item/reagent_containers/spray/mister incompatible_modules = list(/obj/item/mod/module/mister) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_BACK) /// Volume of our reagent holder. var/volume = 500 diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 2aec3e361c4b4..87cab74b24f76 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -8,6 +8,7 @@ icon_state = "storage" complexity = 3 incompatible_modules = list(/obj/item/mod/module/storage, /obj/item/mod/module/plate_compression) + required_slots = list(ITEM_SLOT_BACK) /// Max weight class of items in the storage. var/max_w_class = WEIGHT_CLASS_NORMAL /// Max combined weight of all items in the storage. @@ -28,16 +29,20 @@ modstorage.set_real_location(src) modstorage.allow_big_nesting = big_nesting atom_storage.locked = STORAGE_NOT_LOCKED - RegisterSignal(mod.chestplate, COMSIG_ITEM_PRE_UNEQUIP, PROC_REF(on_chestplate_unequip)) + var/obj/item/clothing/suit = mod.get_part_from_slot(ITEM_SLOT_OCLOTHING) + if(istype(suit)) + RegisterSignal(suit, COMSIG_ITEM_PRE_UNEQUIP, PROC_REF(on_suit_unequip)) /obj/item/mod/module/storage/on_uninstall(deleting = FALSE) atom_storage.locked = STORAGE_FULLY_LOCKED QDEL_NULL(mod.atom_storage) if(!deleting) atom_storage.remove_all(mod.drop_location()) - UnregisterSignal(mod.chestplate, COMSIG_ITEM_PRE_UNEQUIP) + var/obj/item/clothing/suit = mod.get_part_from_slot(ITEM_SLOT_OCLOTHING) + if(istype(suit)) + UnregisterSignal(suit, COMSIG_ITEM_PRE_UNEQUIP) -/obj/item/mod/module/storage/proc/on_chestplate_unequip(obj/item/source, force, atom/newloc, no_move, invdrop, silent) +/obj/item/mod/module/storage/proc/on_suit_unequip(obj/item/source, force, atom/newloc, no_move, invdrop, silent) if(QDELETED(source) || !mod.wearer || newloc == mod.wearer || !mod.wearer.s_store) return if(!atom_storage?.attempt_insert(mod.wearer.s_store, mod.wearer, override = TRUE)) @@ -68,14 +73,14 @@ /obj/item/mod/module/storage/belt name = "MOD case storage module" desc = "Some concessions had to be made when creating a compressed modular suit core. \ - As a result, Roseus Galactic equipped their suit with a slimline storage case. \ - If you find this equipped to a standard modular suit, then someone has almost certainly shortchanged you on a proper storage module." + As a result, Roseus Galactic equipped their suit with a slimline storage case. \ + If you find this equipped to a standard modular suit, then someone has almost certainly shortchanged you on a proper storage module." icon_state = "storage_case" complexity = 0 max_w_class = WEIGHT_CLASS_SMALL - removable = FALSE max_combined_w_class = 21 max_items = 7 + required_slots = list(ITEM_SLOT_BELT) /obj/item/mod/module/storage/bluespace name = "MOD bluespace storage module" @@ -102,6 +107,7 @@ cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_jetpack" overlay_state_active = "module_jetpack_on" + required_slots = list(ITEM_SLOT_BACK) /// Do we give the wearer a speed buff. var/full_speed = FALSE /// Do we have stabilizers? If yes the user won't move from inertia. @@ -138,14 +144,10 @@ ) /obj/item/mod/module/jetpack/on_activation() - . = ..() - if(!.) - return if(full_speed) mod.wearer.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) /obj/item/mod/module/jetpack/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() if(full_speed) mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/fullspeed) @@ -188,6 +190,7 @@ cooldown_time = 30 SECONDS use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/jump_jet) + required_slots = list(ITEM_SLOT_BACK) /obj/item/mod/module/jump_jet/on_use() . = ..() @@ -228,6 +231,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.1 incompatible_modules = list(/obj/item/mod/module/status_readout) tgui_id = "status_readout" + required_slots = list(ITEM_SLOT_BACK) /// Does this show damage types, body temp, satiety var/display_detailed_vitals = TRUE /// Does this show DNA data @@ -305,22 +309,41 @@ complexity = 1 incompatible_modules = list(/obj/item/mod/module/mouthhole) overlay_state_inactive = "module_apparatus" + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK) /// Former flags of the helmet. - var/former_flags = NONE + var/former_helmet_flags = NONE /// Former visor flags of the helmet. - var/former_visor_flags = NONE + var/former_visor_helmet_flags = NONE + /// Former flags of the mask. + var/former_mask_flags = NONE + /// Former visor flags of the mask. + var/former_visor_mask_flags = NONE /obj/item/mod/module/mouthhole/on_install() - former_flags = mod.helmet.flags_cover - former_visor_flags = mod.helmet.visor_flags_cover - mod.helmet.flags_cover &= ~(HEADCOVERSMOUTH|PEPPERPROOF) - mod.helmet.visor_flags_cover &= ~(HEADCOVERSMOUTH|PEPPERPROOF) + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(helmet)) + former_helmet_flags = helmet.flags_cover + former_visor_helmet_flags = helmet.visor_flags_cover + helmet.flags_cover &= ~(HEADCOVERSMOUTH|PEPPERPROOF) + helmet.visor_flags_cover &= ~(HEADCOVERSMOUTH|PEPPERPROOF) + var/obj/item/clothing/mask = mod.get_part_from_slot(ITEM_SLOT_MASK) + if(istype(mask)) + former_mask_flags = mask.flags_cover + former_visor_mask_flags = mask.visor_flags_cover + mask.flags_cover &= ~(MASKCOVERSMOUTH |PEPPERPROOF) + mask.visor_flags_cover &= ~(MASKCOVERSMOUTH |PEPPERPROOF) /obj/item/mod/module/mouthhole/on_uninstall(deleting = FALSE) if(deleting) return - mod.helmet.flags_cover |= former_flags - mod.helmet.visor_flags_cover |= former_visor_flags + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(helmet)) + helmet.flags_cover |= former_helmet_flags + helmet.visor_flags_cover |= former_visor_helmet_flags + var/obj/item/clothing/mask = mod.get_part_from_slot(ITEM_SLOT_MASK) + if(istype(mask)) + mask.flags_cover |= former_mask_flags + mask.visor_flags_cover |= former_visor_mask_flags ///EMP Shield - Protects the suit from EMPs. /obj/item/mod/module/emp_shield @@ -332,6 +355,7 @@ complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/emp_shield) + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /obj/item/mod/module/emp_shield/on_install() mod.AddElement(/datum/element/empprotection, EMP_PROTECT_ALL) @@ -349,7 +373,7 @@ /obj/item/mod/module/emp_shield/advanced/on_suit_activation() mod.wearer.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) -/obj/item/mod/module/emp_shield/advanced/on_suit_deactivation(deleting) +/obj/item/mod/module/emp_shield/advanced/on_suit_deactivation(deleting = FALSE) mod.wearer.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) ///Flashlight - Gives the suit a customizable flashlight. @@ -370,6 +394,7 @@ light_range = 4 light_power = 1 light_on = FALSE + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK) /// Charge drain per range amount. var/base_power = DEFAULT_CHARGE_DRAIN * 0.1 /// Minimum range we can set. @@ -384,17 +409,11 @@ UnregisterSignal(mod.wearer, COMSIG_HIT_BY_SABOTEUR) /obj/item/mod/module/flashlight/on_activation() - . = ..() - if(!.) - return set_light_flags(light_flags | LIGHT_ATTACHED) set_light_on(active) active_power_cost = base_power * light_range /obj/item/mod/module/flashlight/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return set_light_flags(light_flags & ~LIGHT_ATTACHED) set_light_on(active) @@ -464,15 +483,13 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/dispenser) cooldown_time = 5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /// Path we dispense. var/dispense_type = /obj/item/food/burger/plain /// Time it takes for us to dispense. var/dispense_time = 0 SECONDS /obj/item/mod/module/dispenser/on_use() - . = ..() - if(!.) - return if(dispense_time && !do_after(mod.wearer, dispense_time, target = mod)) balloon_alert(mod.wearer, "interrupted!") return FALSE @@ -494,6 +511,7 @@ complexity = 1 use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/longfall) + required_slots = list(ITEM_SLOT_FEET) /obj/item/mod/module/longfall/on_suit_activation() RegisterSignal(mod.wearer, COMSIG_LIVING_Z_IMPACT, PROC_REF(z_impact_react)) @@ -532,6 +550,7 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/thermal_regulator) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// The temperature we are regulating to. var/temperature_setting = BODYTEMP_NORMAL /// Minimum temperature we can set. @@ -579,9 +598,6 @@ UnregisterSignal(mod, COMSIG_ATOM_EMAG_ACT) /obj/item/mod/module/dna_lock/on_use() - . = ..() - if(!.) - return dna = mod.wearer.dna.unique_enzymes balloon_alert(mod.wearer, "dna updated") drain_power(use_energy_cost) @@ -640,6 +656,7 @@ idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/plasma_stabilizer) overlay_state_inactive = "module_plasma" + required_slots = list(ITEM_SLOT_HEAD) /obj/item/mod/module/plasma_stabilizer/generate_worn_overlay() if(locate(/obj/item/mod/module/infiltrator) in mod.modules) @@ -663,6 +680,7 @@ This is a must-have for Nanotrasen Captains, enabling them to show off their authoritative hat even while in their MODsuit." icon_state = "hat_holder" incompatible_modules = list(/obj/item/mod/module/hat_stabilizer) + required_slots = list(ITEM_SLOT_HEAD) /*Intentionally left inheriting 0 complexity and removable = TRUE; even though it comes inbuilt into the Magnate/Corporate MODS and spawns in maints, I like the idea of stealing them*/ /// Currently "stored" hat. No armor or function will be inherited, only the icon and cover flags. @@ -672,18 +690,24 @@ var/former_visor_flags /obj/item/mod/module/hat_stabilizer/on_suit_activation() - RegisterSignal(mod.helmet, COMSIG_ATOM_EXAMINE, PROC_REF(add_examine)) - RegisterSignal(mod.helmet, COMSIG_ATOM_ATTACKBY, PROC_REF(place_hat)) - RegisterSignal(mod.helmet, COMSIG_ATOM_ATTACK_HAND_SECONDARY, PROC_REF(remove_hat)) + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(!istype(helmet)) + return + RegisterSignal(helmet, COMSIG_ATOM_EXAMINE, PROC_REF(add_examine)) + RegisterSignal(helmet, COMSIG_ATOM_ATTACKBY, PROC_REF(place_hat)) + RegisterSignal(helmet, COMSIG_ATOM_ATTACK_HAND_SECONDARY, PROC_REF(remove_hat)) /obj/item/mod/module/hat_stabilizer/on_suit_deactivation(deleting = FALSE) if(deleting) return if(attached_hat) //knock off the helmet if its on their head. Or, technically, auto-rightclick it for them; that way it saves us code, AND gives them the bubble remove_hat(src, mod.wearer) - UnregisterSignal(mod.helmet, COMSIG_ATOM_EXAMINE) - UnregisterSignal(mod.helmet, COMSIG_ATOM_ATTACKBY) - UnregisterSignal(mod.helmet, COMSIG_ATOM_ATTACK_HAND_SECONDARY) + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(!istype(helmet)) + return + UnregisterSignal(helmet, COMSIG_ATOM_EXAMINE) + UnregisterSignal(helmet, COMSIG_ATOM_ATTACKBY) + UnregisterSignal(helmet, COMSIG_ATOM_ATTACK_HAND_SECONDARY) /obj/item/mod/module/hat_stabilizer/proc/add_examine(datum/source, mob/user, list/base_examine) SIGNAL_HANDLER @@ -708,10 +732,12 @@ return if(mod.wearer.transferItemToLoc(hitting_item, src, force = FALSE, silent = TRUE)) attached_hat = hat - former_flags = mod.helmet.flags_cover - former_visor_flags = mod.helmet.visor_flags_cover - mod.helmet.flags_cover |= attached_hat.flags_cover - mod.helmet.visor_flags_cover |= attached_hat.visor_flags_cover + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(helmet)) + former_flags = helmet.flags_cover + former_visor_flags = helmet.visor_flags_cover + helmet.flags_cover |= attached_hat.flags_cover + helmet.visor_flags_cover |= attached_hat.visor_flags_cover balloon_alert(user, "hat attached, right-click to remove") mod.wearer.update_clothing(mod.slot_flags) @@ -731,10 +757,21 @@ else balloon_alert_to_viewers("the hat falls to the floor!") attached_hat = null - mod.helmet.flags_cover = former_flags - mod.helmet.visor_flags_cover = former_visor_flags + var/obj/item/clothing/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(istype(helmet)) + helmet.flags_cover = former_flags + helmet.visor_flags_cover = former_visor_flags mod.wearer.update_clothing(mod.slot_flags) +/obj/item/mod/module/hat_stabilizer/syndicate + name = "MOD elite hat stabilizer module" + desc = "A simple set of deployable stands, directly atop one's head; \ + these will deploy under a hat to keep it from falling off, allowing them to be worn atop the sealed helmet. \ + You still need to take the hat off your head while the helmet deploys, though. This is a must-have for \ + Syndicate Operatives and Agents alike, enabling them to continue to style on the opposition even while in their MODsuit." + complexity = 0 + removable = FALSE + ///Sign Language Translator - allows people to sign over comms using the modsuit's gloves. /obj/item/mod/module/signlang_radio name = "MOD glove translator module" @@ -745,6 +782,7 @@ complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/signlang_radio) + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/mod/module/signlang_radio/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_CAN_SIGN_ON_COMMS, MOD_TRAIT) @@ -759,6 +797,7 @@ icon_state = "joint_torsion" complexity = 1 incompatible_modules = list(/obj/item/mod/module/joint_torsion) + required_slots = list(ITEM_SLOT_FEET) var/power_per_step = DEFAULT_CHARGE_DRAIN * 0.3 /obj/item/mod/module/joint_torsion/on_suit_activation() @@ -788,15 +827,6 @@ return mod.core.add_charge(power_per_step) -/obj/item/mod/module/hat_stabilizer/syndicate - name = "MOD elite hat stabilizer module" - desc = "A simple set of deployable stands, directly atop one's head; \ - these will deploy under a hat to keep it from falling off, allowing them to be worn atop the sealed helmet. \ - You still need to take the hat off your head while the helmet deploys, though. This is a must-have for \ - Syndicate Operatives and Agents alike, enabling them to continue to style on the opposition even while in their MODsuit." - complexity = 0 - removable = FALSE - /// Module that shoves garbage inside its material container when the user crosses it, and eject the recycled material with MMB. /obj/item/mod/module/recycler name = "MOD recycler module" @@ -810,6 +840,7 @@ incompatible_modules = list(/obj/item/mod/module/recycler) overlay_state_inactive = "module_recycler" overlay_state_active = "module_recycler" + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// A multiplier of the amount of material extracted from the item var/efficiency = 1 /// Items that will be collected diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index 45b77bb7bd9c8..531bc5b32fd0a 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -10,6 +10,7 @@ icon_state = "springlock" complexity = 3 // it is inside every part of your suit, so incompatible_modules = list(/obj/item/mod/module/springlock) + var/set_off = FALSE /obj/item/mod/module/springlock/on_install() mod.activation_step_time *= 0.5 @@ -27,12 +28,13 @@ /obj/item/mod/module/springlock/proc/on_wearer_exposed(atom/source, list/reagents, datum/reagents/source_reagents, methods, volume_modifier, show_message) SIGNAL_HANDLER - if(!(methods & (VAPOR|PATCH|TOUCH))) + if(!(methods & (VAPOR|PATCH|TOUCH)) || set_off || mod.wearer.stat == DEAD) return //remove non-touch reagent exposure to_chat(mod.wearer, span_danger("[src] makes an ominous click sound...")) playsound(src, 'sound/items/modsuit/springlock.ogg', 75, TRUE) addtimer(CALLBACK(src, PROC_REF(snap_shut)), rand(3 SECONDS, 5 SECONDS)) RegisterSignal(mod, COMSIG_MOD_ACTIVATE, PROC_REF(on_activate_spring_block)) + set_off = TRUE ///Signal fired when wearer attempts to activate/deactivate suits /obj/item/mod/module/springlock/proc/on_activate_spring_block(datum/source, user) @@ -55,6 +57,8 @@ mod.wearer.investigate_log("has been killed by [src].", INVESTIGATE_DEATHS) mod.wearer.death() //just in case, for some reason, they're still alive flash_color(mod.wearer, flash_color = "#FF0000", flash_time = 10 SECONDS) + set_off = FALSE + /* SKYRAT EDIT: See skyrat_modular/modules/jukebox ///Rave Visor - Gives you a rainbow visor and plays jukebox music to you. /obj/item/mod/module/visor/rave @@ -63,6 +67,7 @@ icon_state = "rave_visor" complexity = 1 overlay_state_inactive = "module_rave" + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK) /// The client colors applied to the wearer. var/datum/client_colour/rave_screen /// The current element in the rainbow_order list we are on. @@ -90,17 +95,11 @@ return ..() /obj/item/mod/module/visor/rave/on_activation() - . = ..() - if(!.) - return rave_screen = mod.wearer.add_client_colour(/datum/client_colour/rave) rave_screen.update_colour(rainbow_order[rave_number]) music_player.start_music(mod.wearer) /obj/item/mod/module/visor/rave/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return QDEL_NULL(rave_screen) if(isnull(music_player.active_song_sound)) return @@ -151,11 +150,9 @@ SKYRAT EDIT END */ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/tanner) cooldown_time = 30 SECONDS + required_slots = list(ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING) /obj/item/mod/module/tanner/on_use() - . = ..() - if(!.) - return playsound(src, 'sound/machines/microwave/microwave-end.ogg', 50, TRUE) var/datum/reagents/holder = new() holder.add_reagent(/datum/reagent/spraytan, 10) @@ -174,16 +171,17 @@ SKYRAT EDIT END */ use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/balloon) cooldown_time = 15 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_MASK) + var/balloon_path = /obj/item/toy/balloon + var/blowing_time = 10 SECONDS + var/oxygen_damage = 20 /obj/item/mod/module/balloon/on_use() - . = ..() - if(!.) - return - if(!do_after(mod.wearer, 10 SECONDS, target = mod)) + if(!do_after(mod.wearer, blowing_time, target = mod)) return FALSE - mod.wearer.adjustOxyLoss(20) + mod.wearer.adjustOxyLoss(oxygen_damage) playsound(src, 'sound/items/modsuit/inflate_bloon.ogg', 50, TRUE) - var/obj/item/toy/balloon/balloon = new(get_turf(src)) + var/obj/item/balloon = new balloon_path(get_turf(src)) mod.wearer.put_in_hands(balloon) drain_power(use_energy_cost) @@ -198,13 +196,11 @@ SKYRAT EDIT END */ use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/paper_dispenser) cooldown_time = 5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /// The total number of sheets created by this MOD. The more sheets, them more likely they set on fire. var/num_sheets_dispensed = 0 /obj/item/mod/module/paper_dispenser/on_use() - . = ..() - if(!.) - return if(!do_after(mod.wearer, 1 SECONDS, target = mod)) return FALSE @@ -243,6 +239,7 @@ SKYRAT EDIT END */ device = /obj/item/stamp/mod incompatible_modules = list(/obj/item/mod/module/stamp) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/stamp/mod name = "MOD electronic stamp" @@ -267,15 +264,13 @@ SKYRAT EDIT END */ incompatible_modules = list(/obj/item/mod/module/atrocinator, /obj/item/mod/module/magboot, /obj/item/mod/module/anomaly_locked/antigrav) cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_atrocinator" + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// How many steps the user has taken since turning the suit on, used for footsteps. var/step_count = 0 /// If you use the module on a planetary turf, you fly up. To the sky. var/you_fucked_up = FALSE /obj/item/mod/module/atrocinator/on_activation() - . = ..() - if(!.) - return playsound(src, 'sound/effects/curseattack.ogg', 50) mod.wearer.AddElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY) RegisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED, PROC_REF(check_upstairs)) @@ -284,14 +279,14 @@ SKYRAT EDIT END */ passtable_on(mod.wearer, MOD_TRAIT) check_upstairs() //todo at some point flip your screen around -/obj/item/mod/module/atrocinator/on_deactivation(display_message = TRUE, deleting = FALSE) +/obj/item/mod/module/atrocinator/deactivate(display_message = TRUE, deleting = FALSE) if(you_fucked_up && !deleting) to_chat(mod.wearer, span_danger("It's too late.")) return FALSE - . = ..() - if(!.) - return - if(deleting) + return ..() + +/obj/item/mod/module/atrocinator/on_deactivation(display_message = TRUE, deleting = FALSE) + if(!deleting) playsound(src, 'sound/effects/curseattack.ogg', 50) qdel(mod.wearer.RemoveElement(/datum/element/forced_gravity, NEGATIVE_GRAVITY)) UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 0e04de51c86cf..3cf1d34a63a83 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -9,8 +9,7 @@ name = "MOD health analyzer module" desc = "A module installed into the glove of the suit. This is a high-tech biological scanning suite, \ allowing the user indepth information on the vitals and injuries of others even at a distance, \ - all with the flick of the wrist. Data is displayed in a convenient package on HUD in the helmet, \ - but it's up to you to do something with it." + all with the flick of the wrist. Data is displayed in a convenient package, but it's up to you to do something with it." icon_state = "health" module_type = MODULE_ACTIVE complexity = 1 @@ -18,6 +17,7 @@ incompatible_modules = list(/obj/item/mod/module/health_analyzer) cooldown_time = 0.5 SECONDS tgui_id = "health_analyzer" + required_slots = list(ITEM_SLOT_GLOVES) /// Scanning mode, changes how we scan something. var/mode = HEALTH_SCAN @@ -74,6 +74,7 @@ complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/quick_carry, /obj/item/mod/module/constructor) + required_slots = list(ITEM_SLOT_GLOVES) var/quick_carry_trait = TRAIT_QUICK_CARRY /obj/item/mod/module/quick_carry/on_suit_activation() @@ -105,6 +106,7 @@ device = /obj/item/reagent_containers/syringe/mod incompatible_modules = list(/obj/item/mod/module/injector) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/reagent_containers/syringe/mod name = "MOD injector syringe" @@ -131,6 +133,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/organ_thrower, /obj/item/mod/module/microwave_beam) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /// How many organs the module can hold. var/max_organs = 5 /// A list of all our organs. @@ -247,6 +250,7 @@ overlay_state_active = "module_defibrillator_active" incompatible_modules = list(/obj/item/mod/module/defibrillator) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) var/defib_cooldown = 5 SECONDS /obj/item/mod/module/defibrillator/Initialize(mapload) @@ -308,6 +312,7 @@ incompatible_modules = list(/obj/item/mod/module/thread_ripper) cooldown_time = 1.5 SECONDS overlay_state_inactive = "module_threadripper" + required_slots = list(ITEM_SLOT_GLOVES) /// An associated list of ripped clothing and the body part covering slots they covered before var/list/ripped_clothing = list() @@ -357,7 +362,7 @@ playsound(src, 'sound/items/zip.ogg', 25, TRUE) balloon_alert(mod.wearer, "clothing mended") -/obj/item/mod/module/thread_ripper/on_suit_deactivation(deleting) +/obj/item/mod/module/thread_ripper/on_suit_deactivation(deleting = FALSE) if(!length(ripped_clothing)) return for(var/obj/item/clothing as anything in ripped_clothing) diff --git a/code/modules/mod/modules/modules_ninja.dm b/code/modules/mod/modules/modules_ninja.dm index d52a5e1fb4c43..a868eb6205659 100644 --- a/code/modules/mod/modules/modules_ninja.dm +++ b/code/modules/mod/modules/modules_ninja.dm @@ -13,15 +13,13 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 incompatible_modules = list(/obj/item/mod/module/stealth) cooldown_time = 5 SECONDS + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// Whether or not the cloak turns off on bumping. var/bumpoff = TRUE /// The alpha applied when the cloak is on. var/stealth_alpha = 50 /obj/item/mod/module/stealth/on_activation() - . = ..() - if(!.) - return if(bumpoff) RegisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP, PROC_REF(unstealth)) RegisterSignal(mod.wearer, COMSIG_LIVING_UNARMED_ATTACK, PROC_REF(on_unarmed_attack)) @@ -31,9 +29,6 @@ drain_power(use_energy_cost) /obj/item/mod/module/stealth/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return if(bumpoff) UnregisterSignal(mod.wearer, COMSIG_LIVING_MOB_BUMP) UnregisterSignal(mod.wearer, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_MOB_ITEM_ATTACK, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_BULLET_ACT, COMSIG_ATOM_HITBY, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW, COMSIG_CARBON_CUFF_ATTEMPTED)) @@ -45,7 +40,7 @@ to_chat(mod.wearer, span_warning("[src] gets discharged from contact!")) do_sparks(2, TRUE, src) drain_power(use_energy_cost) - on_deactivation(display_message = TRUE, deleting = FALSE) + deactivate() /obj/item/mod/module/stealth/proc/on_unarmed_attack(datum/source, atom/target) SIGNAL_HANDLER @@ -99,6 +94,7 @@ removable = FALSE complexity = 0 overlay_state_inactive = null + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /obj/item/mod/module/welding/camera_vision/on_suit_activation() . = ..() @@ -133,6 +129,7 @@ icon_state = "hacker" removable = FALSE incompatible_modules = list(/obj/item/mod/module/hacker) + required_slots = list(ITEM_SLOT_GLOVES) /// Whether or not the communication console hack was used to summon another antagonist. var/communication_console_hack_success = FALSE /// How many times the module has been used to force open doors. @@ -173,6 +170,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/weapon_recall) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES, ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// The item linked to the module that will get recalled. var/obj/item/linked_weapon /// The accepted typepath we can link to. @@ -185,9 +183,6 @@ REMOVE_TRAIT(mod.wearer, TRAIT_NOGUNS, MOD_TRAIT) /obj/item/mod/module/weapon_recall/on_use() - . = ..() - if(!.) - return if(!linked_weapon) var/obj/item/weapon_to_link = mod.wearer.is_holding_item_of_type(accepted_type) if(!weapon_to_link) @@ -288,9 +283,6 @@ cooldown_time = 8 SECONDS /obj/item/mod/module/emp_shield/pulse/on_use() - . = ..() - if(!.) - return playsound(src, 'sound/effects/empulse.ogg', 60, TRUE) empulse(src, heavy_range = 4, light_range = 6) drain_power(use_energy_cost) @@ -320,6 +312,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 6 incompatible_modules = list(/obj/item/mod/module/energy_net) cooldown_time = 5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /// List of all energy nets this module made. var/list/energy_nets = list() @@ -404,6 +397,7 @@ allow_flags = MODULE_ALLOW_INCAPACITATED incompatible_modules = list(/obj/item/mod/module/adrenaline_boost) cooldown_time = 12 SECONDS + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// What reagent we need to refill? var/reagent_required = /datum/reagent/uranium/radium /// How much of a reagent we need to refill the boost. @@ -414,13 +408,13 @@ create_reagents(reagent_required_amount) reagents.add_reagent(reagent_required, reagent_required_amount) -/obj/item/mod/module/adrenaline_boost/on_use() +/obj/item/mod/module/adrenaline_boost/used() if(!reagents.has_reagent(reagent_required, reagent_required_amount)) balloon_alert(mod.wearer, "no charge!") - return - . = ..() - if(!.) - return + return FALSE + return ..() + +/obj/item/mod/module/adrenaline_boost/on_use() if(IS_SPACE_NINJA(mod.wearer)) mod.wearer.say(pick_list_replacements(NINJA_FILE, "lines"), forced = type) to_chat(mod.wearer, span_notice("You have used the adrenaline boost.")) @@ -438,7 +432,7 @@ /obj/item/mod/module/adrenaline_boost/on_install() RegisterSignal(mod, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) -/obj/item/mod/module/adrenaline_boost/on_uninstall(deleting) +/obj/item/mod/module/adrenaline_boost/on_uninstall(deleting = FALSE) UnregisterSignal(mod, COMSIG_ATOM_ATTACKBY) /obj/item/mod/module/adrenaline_boost/attackby(obj/item/attacking_item, mob/user, params) diff --git a/code/modules/mod/modules/modules_science.dm b/code/modules/mod/modules/modules_science.dm index a5a56975f6c53..9f2c54b8effc3 100644 --- a/code/modules/mod/modules/modules_science.dm +++ b/code/modules/mod/modules/modules_science.dm @@ -12,17 +12,12 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 incompatible_modules = list(/obj/item/mod/module/reagent_scanner) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /obj/item/mod/module/reagent_scanner/on_activation() - . = ..() - if(!.) - return ADD_TRAIT(mod.wearer, TRAIT_REAGENT_SCANNER, MOD_TRAIT) /obj/item/mod/module/reagent_scanner/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return REMOVE_TRAIT(mod.wearer, TRAIT_REAGENT_SCANNER, MOD_TRAIT) /obj/item/mod/module/reagent_scanner/advanced @@ -32,16 +27,10 @@ var/explosion_detection_dist = 21 /obj/item/mod/module/reagent_scanner/advanced/on_activation() - . = ..() - if(!.) - return ADD_TRAIT(mod.wearer, TRAIT_RESEARCH_SCANNER, MOD_TRAIT) RegisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION, PROC_REF(sense_explosion)) /obj/item/mod/module/reagent_scanner/advanced/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return REMOVE_TRAIT(mod.wearer, TRAIT_RESEARCH_SCANNER, MOD_TRAIT) UnregisterSignal(SSdcs, COMSIG_GLOB_EXPLOSION) @@ -66,20 +55,15 @@ incompatible_modules = list(/obj/item/mod/module/anomaly_locked, /obj/item/mod/module/atrocinator) cooldown_time = 0.5 SECONDS accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/grav) + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /obj/item/mod/module/anomaly_locked/antigrav/on_activation() - . = ..() - if(!.) - return if(mod.wearer.has_gravity()) new /obj/effect/temp_visual/mook_dust(get_turf(src)) mod.wearer.AddElement(/datum/element/forced_gravity, 0) playsound(src, 'sound/effects/gravhit.ogg', 50) /obj/item/mod/module/anomaly_locked/antigrav/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return mod.wearer.RemoveElement(/datum/element/forced_gravity, 0) if(deleting) return @@ -103,6 +87,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 cooldown_time = 5 SECONDS accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/bluespace) + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// Time it takes to teleport var/teleport_time = 3 SECONDS diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index e35db603f5ebe..2c4a672874b68 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -8,6 +8,7 @@ complexity = 2 use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/magnetic_harness) + required_slots = list(ITEM_SLOT_OCLOTHING) /// Time before we activate the magnet. var/magnet_delay = 0.8 SECONDS /// The typecache of all guns we allow. @@ -21,13 +22,19 @@ guns_typecache = typecacheof(list(/obj/item/gun/ballistic, /obj/item/gun/energy, /obj/item/gun/grenadelauncher, /obj/item/gun/chem, /obj/item/gun/syringe, /obj/item/gun/microfusion)) //SKYRAT EDIT - MICROFUSION /obj/item/mod/module/magnetic_harness/on_install() - already_allowed_guns = guns_typecache & mod.chestplate.allowed - mod.chestplate.allowed |= guns_typecache + var/obj/item/clothing/suit = mod.get_part_from_slot(ITEM_SLOT_OCLOTHING) + if(!istype(suit)) + return + already_allowed_guns = guns_typecache & suit.allowed + suit.allowed |= guns_typecache /obj/item/mod/module/magnetic_harness/on_uninstall(deleting = FALSE) if(deleting) return - mod.chestplate.allowed -= (guns_typecache - already_allowed_guns) + var/obj/item/clothing/suit = mod.get_part_from_slot(ITEM_SLOT_OCLOTHING) + if(!istype(suit)) + return + suit.allowed -= (guns_typecache - already_allowed_guns) /obj/item/mod/module/magnetic_harness/on_suit_activation() RegisterSignal(mod.wearer, COMSIG_MOB_UNEQUIPPED_ITEM, PROC_REF(check_dropped_item)) @@ -65,6 +72,7 @@ cooldown_time = 5 SECONDS overlay_state_inactive = "module_pepper" overlay_state_use = "module_pepper_used" + required_slots = list(ITEM_SLOT_OCLOTHING) /obj/item/mod/module/pepper_shoulders/on_suit_activation() RegisterSignal(mod.wearer, COMSIG_LIVING_CHECK_BLOCK, PROC_REF(on_check_block)) @@ -73,9 +81,6 @@ UnregisterSignal(mod.wearer, COMSIG_LIVING_CHECK_BLOCK) /obj/item/mod/module/pepper_shoulders/on_use() - . = ..() - if(!.) - return playsound(src, 'sound/effects/spray.ogg', 30, TRUE, -6) var/datum/reagents/capsaicin_holder = new(10) capsaicin_holder.add_reagent(/datum/reagent/consumable/condensedcapsaicin, 10) @@ -92,7 +97,7 @@ if(!check_power(use_energy_cost)) return mod.wearer.visible_message(span_warning("[src] reacts to the attack with a smoke of pepper spray!"), span_notice("Your [src] releases a cloud of pepper spray!")) - on_use() + used() ///Holster - Instantly holsters any not huge gun. /obj/item/mod/module/holster @@ -107,13 +112,11 @@ incompatible_modules = list(/obj/item/mod/module/holster) cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE + required_slots = list(ITEM_SLOT_OCLOTHING|ITEM_SLOT_GLOVES|ITEM_SLOT_FEET) /// Gun we have holstered. var/obj/item/gun/holstered /obj/item/mod/module/holster/on_use() - . = ..() - if(!.) - return if(!holstered) var/obj/item/gun/holding = mod.wearer.get_active_held_item() if(!holding) @@ -155,19 +158,14 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/megaphone) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /// List of spans we add to the speaker. var/list/voicespan = list(SPAN_COMMAND) /obj/item/mod/module/megaphone/on_activation() - . = ..() - if(!.) - return RegisterSignal(mod.wearer, COMSIG_MOB_SAY, PROC_REF(handle_speech)) /obj/item/mod/module/megaphone/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return UnregisterSignal(mod.wearer, COMSIG_MOB_SAY) /obj/item/mod/module/megaphone/proc/handle_speech(datum/source, list/speech_args) @@ -190,6 +188,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/criminalcapture) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// Time to capture a prisoner. var/capture_time = 2.5 SECONDS /// Time to dematerialize a bodybag. @@ -203,10 +202,7 @@ idle_power_cost = linked_bodybag ? (DEFAULT_CHARGE_DRAIN * 3) : 0 return ..() -/obj/item/mod/module/criminalcapture/on_deactivation(display_message, deleting) - . = ..() - if(!.) - return +/obj/item/mod/module/criminalcapture/on_deactivation(display_message = TRUE, deleting = FALSE) if(!linked_bodybag) return packup() @@ -273,9 +269,6 @@ dispense_type = /obj/item/grenade/mirage /obj/item/mod/module/dispenser/mirage/on_use() - . = ..() - if(!.) - return var/obj/item/grenade/mirage/grenade = . grenade.arm_grenade(mod.wearer) @@ -310,6 +303,7 @@ active_power_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/projectile_dampener) cooldown_time = 1.5 SECONDS + required_slots = list(ITEM_SLOT_BACK|ITEM_SLOT_BELT) /// Radius of the dampening field. var/field_radius = 2 /// Damage multiplier on projectiles. @@ -328,9 +322,6 @@ projectile_effect = image('icons/effects/fields.dmi', "projectile_dampen_effect") /obj/item/mod/module/projectile_dampener/on_activation() - . = ..() - if(!.) - return if(istype(dampening_field)) QDEL_NULL(dampening_field) dampening_field = new(mod.wearer, field_radius, TRUE, src) @@ -370,6 +361,7 @@ complexity = 2 incompatible_modules = list(/obj/item/mod/module/active_sonar) cooldown_time = 15 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /// Time between us displaying radial scans var/scan_cooldown_time = 0.5 SECONDS /// The current slice we're going to scan @@ -454,9 +446,6 @@ COOLDOWN_START(src, scan_cooldown, scan_cooldown_time) /obj/item/mod/module/active_sonar/on_use() - . = ..() - if(!.) - return balloon_alert(mod.wearer, "readying sonar...") playsound(mod.wearer, 'sound/mecha/skyfall_power_up.ogg', vol = 20, vary = TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) if(!do_after(mod.wearer, 1.1 SECONDS, target = mod)) @@ -486,6 +475,7 @@ module_type = MODULE_PASSIVE complexity = 3 incompatible_modules = list(/obj/item/mod/module/shooting_assistant) + required_slots = list(ITEM_SLOT_GLOVES) var/selected_mode = SHOOTING_ASSISTANT_OFF ///Association list, the assoc values are the balloon alerts shown to the user when the mode is set. var/static/list/available_modes = list( @@ -585,6 +575,7 @@ icon_state = "bulwark" complexity = 3 incompatible_modules = list(/obj/item/mod/module/shove_blocker) + required_slots = list(ITEM_SLOT_OCLOTHING) /obj/item/mod/module/shove_blocker/on_suit_activation() mod.wearer.add_traits(list(TRAIT_BRAWLING_KNOCKDOWN_BLOCKED, TRAIT_NO_STAGGER, TRAIT_NO_THROW_HITPUSH), MOD_TRAIT) @@ -603,6 +594,7 @@ desc = "Enhanced gauntlent grip pads that help with placing individuals in restraints more quickly. Doesn't look like they'll come off." removable = FALSE complexity = 0 + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/mod/module/quick_cuff/on_suit_activation() . = ..() diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm index be71c62180298..044137f0f2d07 100644 --- a/code/modules/mod/modules/modules_service.dm +++ b/code/modules/mod/modules/modules_service.dm @@ -13,36 +13,17 @@ cooldown_time = 1 SECONDS /obj/item/mod/module/bikehorn/on_use() - . = ..() - if(!.) - return playsound(src, 'sound/items/bikehorn.ogg', 100, FALSE) drain_power(use_energy_cost) ///Advanced Balloon Blower - Blows a long balloon. -/obj/item/mod/module/balloon_advanced +/obj/item/mod/module/balloon/advanced name = "MOD advanced balloon blower module" desc = "A relatively new piece of technology developed by finest clown engineers to make long balloons and balloon animals \ - at party-appropriate rate." - icon_state = "bloon" - module_type = MODULE_USABLE - complexity = 1 - use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 - incompatible_modules = list(/obj/item/mod/module/balloon_advanced) - cooldown_time = 15 SECONDS - -/obj/item/mod/module/balloon_advanced/on_use() - . = ..() - if(!.) - return - if(!do_after(mod.wearer, 15 SECONDS, target = mod)) - return FALSE - mod.wearer.adjustOxyLoss(20) - playsound(src, 'sound/items/modsuit/inflate_bloon.ogg', 50, TRUE) - var/obj/item/toy/balloon/long/l_balloon = new(get_turf(src)) - mod.wearer.put_in_hands(l_balloon) - drain_power(use_energy_cost) - + at party-appropriate rate." + cooldown_time = 20 SECONDS + balloon_path = /obj/item/toy/balloon/long + blowing_time = 15 SECONDS ///Microwave Beam - Microwaves items instantly. /obj/item/mod/module/microwave_beam @@ -56,6 +37,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/microwave_beam, /obj/item/mod/module/organ_thrower) cooldown_time = 10 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/mod/module/microwave_beam/on_select_use(atom/target) . = ..() @@ -84,7 +66,7 @@ /obj/item/mod/module/waddle name = "MOD waddle module" desc = "Some of the most primitive technology in use by Honk Co. This module works off an automatic intention system, \ - utilizing its' sensitivity to the pilot's often-limited brainwaves to directly read their next step, \ + utilizing its sensitivity to the pilot's often-limited brainwaves to directly read their next step, \ affecting the boots they're installed in. Employing a twin-linked gravitonic drive to create \ miniaturized etheric blasts of space-time beneath the user's feet, this enables them to... \ to waddle around, bouncing to and fro with a pep in their step." @@ -92,16 +74,20 @@ complexity = 1 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 incompatible_modules = list(/obj/item/mod/module/waddle) + required_slots = list(ITEM_SLOT_FEET) /obj/item/mod/module/waddle/on_suit_activation() - mod.boots.AddComponent(/datum/component/squeak, list('sound/effects/footstep/clownstep1.ogg'=1,'sound/effects/footstep/clownstep2.ogg'=1), 50, falloff_exponent = 20) //die off quick please + var/obj/item/shoes = mod.get_part_from_slot(ITEM_SLOT_FEET) + if(shoes) + shoes.AddComponent(/datum/component/squeak, list('sound/effects/footstep/clownstep1.ogg'=1,'sound/effects/footstep/clownstep2.ogg'=1), 50, falloff_exponent = 20) //die off quick please mod.wearer.AddElementTrait(TRAIT_WADDLING, MOD_TRAIT, /datum/element/waddling) if(is_clown_job(mod.wearer.mind?.assigned_role)) mod.wearer.add_mood_event("clownshoes", /datum/mood_event/clownshoes) /obj/item/mod/module/waddle/on_suit_deactivation(deleting = FALSE) - if(!deleting) - qdel(mod.boots.GetComponent(/datum/component/squeak)) + var/obj/item/shoes = mod.get_part_from_slot(ITEM_SLOT_FEET) + if(shoes && !deleting) + qdel(shoes.GetComponent(/datum/component/squeak)) REMOVE_TRAIT(mod.wearer, TRAIT_WADDLING, MOD_TRAIT) if(is_clown_job(mod.wearer.mind?.assigned_role)) mod.wearer.clear_mood_event("clownshoes") diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index e57a4c9e65c65..8564dabb9ef9b 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -19,9 +19,6 @@ AddComponent(/datum/component/gps/item, "MOD0", state = GLOB.deep_inventory_state, overlay_state = FALSE) /obj/item/mod/module/gps/on_use() - . = ..() - if(!.) - return attack_self(mod.wearer) ///Hydraulic Clamp - Lets you pick up and drop crates. @@ -38,6 +35,7 @@ cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_clamp" overlay_state_active = "module_clamp_on" + required_slots = list(ITEM_SLOT_GLOVES, ITEM_SLOT_BACK) /// Time it takes to load a crate. var/load_time = 3 SECONDS /// The max amount of crates you can carry. @@ -110,6 +108,7 @@ load_time = 1 SECONDS max_crates = 5 use_mod_colors = TRUE + required_slots = list(ITEM_SLOT_BACK) ///Drill - Lets you dig through rock and basalt. /obj/item/mod/module/drill @@ -123,17 +122,12 @@ incompatible_modules = list(/obj/item/mod/module/drill) cooldown_time = 0.5 SECONDS overlay_state_active = "module_drill" + required_slots = list(ITEM_SLOT_GLOVES) /obj/item/mod/module/drill/on_activation() - . = ..() - if(!.) - return RegisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP, PROC_REF(bump_mine)) /obj/item/mod/module/drill/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return UnregisterSignal(mod.wearer, COMSIG_MOVABLE_BUMP) /obj/item/mod/module/drill/on_select_use(atom/target) @@ -180,6 +174,7 @@ incompatible_modules = list(/obj/item/mod/module/orebag) cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE + required_slots = list(ITEM_SLOT_BACK) /// The ores stored in the bag. var/list/ores = list() @@ -208,9 +203,6 @@ ores += ore /obj/item/mod/module/orebag/on_use() - . = ..() - if(!.) - return for(var/obj/item/ore as anything in ores) ore.forceMove(drop_location()) ores -= ore @@ -228,6 +220,7 @@ overlay_state_inactive = "module_hydraulic" overlay_state_active = "module_hydraulic_active" use_mod_colors = TRUE + required_slots = list(ITEM_SLOT_BACK) /// Time it takes to launch var/launch_time = 2 SECONDS /// User overlay @@ -316,6 +309,7 @@ cooldown_time = 1.5 SECONDS overlay_state_active = "module_magnet" use_mod_colors = TRUE + required_slots = list(ITEM_SLOT_BACK) /obj/item/mod/module/magnet/on_select_use(atom/target) . = ..() @@ -340,9 +334,6 @@ callback = CALLBACK(src, PROC_REF(check_locker), locker)) /obj/item/mod/module/magnet/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return if(istype(mod.wearer.pulling, /obj/structure/closet)) mod.wearer.stop_pulling() @@ -370,6 +361,7 @@ incompatible_modules = list(/obj/item/mod/module/ash_accretion) overlay_state_inactive = "module_ash" use_mod_colors = TRUE + required_slots = list(ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING) /// How many tiles we can travel to max out the armor. var/max_traveled_tiles = 10 /// How many tiles we traveled through. @@ -423,9 +415,8 @@ UnregisterSignal(mod.wearer, COMSIG_MOVABLE_MOVED) if(!traveled_tiles) return - var/list/parts = mod.mod_parts + mod var/datum/armor/to_remove = get_armor_by_type(armor_mod) - for(var/obj/item/part as anything in parts) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().subtract_other_armor(to_remove.generate_new_with_multipliers(list(ARMOR_ALL = traveled_tiles)))) if(traveled_tiles == max_traveled_tiles) mod.slowdown += speed_added @@ -445,8 +436,7 @@ if(traveled_tiles >= max_traveled_tiles) return traveled_tiles++ - var/list/parts = mod.mod_parts + mod - for(var/obj/item/part as anything in parts) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().add_other_armor(armor_mod)) if(traveled_tiles >= max_traveled_tiles) balloon_alert(mod.wearer, "fully ash covered") @@ -465,8 +455,7 @@ mod.slowdown += actual_speed_added mod.wearer.update_equipment_speed_mods() traveled_tiles-- - var/list/parts = mod.mod_parts + mod - for(var/obj/item/part as anything in parts) + for(var/obj/item/part as anything in mod.get_parts(all = TRUE)) part.set_armor(part.get_armor().subtract_other_armor(armor_mod)) if(traveled_tiles <= 0) balloon_alert(mod.wearer, "ran out of ash!") @@ -482,6 +471,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/sphere_transform) cooldown_time = 1.25 SECONDS + required_slots = list(ITEM_SLOT_OCLOTHING|ITEM_SLOT_ICLOTHING, ITEM_SLOT_HEAD|ITEM_SLOT_MASK) /// Time it takes us to complete the animation. var/animate_time = 0.25 SECONDS /// List of traits to add/remove from our subject as needed. @@ -492,13 +482,13 @@ TRAIT_NO_SLIP_ALL, ) -/obj/item/mod/module/sphere_transform/on_activation() +/obj/item/mod/module/sphere_transform/activate() if(!mod.wearer.has_gravity()) balloon_alert(mod.wearer, "no gravity!") return FALSE - . = ..() - if(!.) - return + return ..() + +/obj/item/mod/module/sphere_transform/on_activation() playsound(src, 'sound/items/modsuit/ballin.ogg', 100, TRUE) mod.wearer.add_filter("mod_ball", 1, alpha_mask_filter(icon = icon('icons/mob/clothing/modsuit/mod_modules.dmi', "ball_mask"), flags = MASK_INVERSE)) mod.wearer.add_filter("mod_blur", 2, angular_blur_filter(size = 15)) @@ -513,9 +503,6 @@ RegisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE, PROC_REF(on_statchange)) /obj/item/mod/module/sphere_transform/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return if(!deleting) playsound(src, 'sound/items/modsuit/ballin.ogg', 100, TRUE, frequency = -1) mod.wearer.base_pixel_y += 4 @@ -528,7 +515,7 @@ mod.wearer.remove_movespeed_modifier(/datum/movespeed_modifier/sphere) UnregisterSignal(mod.wearer, COMSIG_MOB_STATCHANGE) -/obj/item/mod/module/sphere_transform/on_use() +/obj/item/mod/module/sphere_transform/used() if(!lavaland_equipment_pressure_check(get_turf(src))) balloon_alert(mod.wearer, "too much pressure!") playsound(src, 'sound/weapons/gun/general/dry_fire.ogg', 25, TRUE) @@ -550,14 +537,14 @@ animate(mod.wearer) //stop the animation mod.wearer.SpinAnimation(1.5) //start it back again if(!mod.wearer.has_gravity()) - on_deactivation() //deactivate in no grav + deactivate() //deactivate in no grav /obj/item/mod/module/sphere_transform/proc/on_statchange(datum/source) SIGNAL_HANDLER if(!mod.wearer.stat) return - on_deactivation() + deactivate() /obj/projectile/bullet/mining_bomb name = "mining bomb" diff --git a/code/modules/mod/modules/modules_timeline.dm b/code/modules/mod/modules/modules_timeline.dm index 4e4d751065c71..522ddf57501d1 100644 --- a/code/modules/mod/modules/modules_timeline.dm +++ b/code/modules/mod/modules/modules_timeline.dm @@ -28,9 +28,6 @@ UnregisterSignal(mod, COMSIG_MOD_MODULE_REMOVAL) /obj/item/mod/module/eradication_lock/on_use() - . = ..() - if(!.) - return true_owner_ckey = mod.wearer.ckey balloon_alert(mod.wearer, "user remembered") drain_power(use_energy_cost) @@ -65,11 +62,9 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/rewinder) cooldown_time = 20 SECONDS + required_slots = list(ITEM_SLOT_BACK) /obj/item/mod/module/rewinder/on_use() - . = ..() - if(!.) - return balloon_alert(mod.wearer, "anchor point set") playsound(src, 'sound/items/modsuit/time_anchor_set.ogg', 50, TRUE) //stops all mods from triggering during rewinding @@ -109,16 +104,17 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/timestopper) cooldown_time = 60 SECONDS + required_slots = list(ITEM_SLOT_BACK) ///The current timestop in progress. var/obj/effect/timestop/channelled/timestop -/obj/item/mod/module/timestopper/on_use() - . = ..() - if(!.) - return +/obj/item/mod/module/timestopper/used() if(timestop) mod.balloon_alert(mod.wearer, "already freezing time!") - return + return FALSE + return ..() + +/obj/item/mod/module/timestopper/on_use() //stops all mods from triggering during timestop- including timestop itself for(var/obj/item/mod/module/module as anything in mod.modules) RegisterSignal(module, COMSIG_MODULE_TRIGGERED, PROC_REF(on_module_triggered)) @@ -157,18 +153,18 @@ incompatible_modules = list(/obj/item/mod/module/timeline_jumper) cooldown_time = 5 SECONDS allow_flags = MODULE_ALLOW_PHASEOUT + required_slots = list(ITEM_SLOT_BACK) ///The dummy for phasing from this module, the wearer is phased out while this exists. var/obj/effect/dummy/phased_mob/chrono/phased_mob -/obj/item/mod/module/timeline_jumper/on_use() - . = ..() - if(!.) - return +/obj/item/mod/module/timeline_jumper/used() var/area/noteleport_check = get_area(mod.wearer) if(noteleport_check && noteleport_check.area_flags & NOTELEPORT) to_chat(mod.wearer, span_danger("Some dull, universal force is between you and the [phased_mob ? "current timeline" : "stream between timelines"].")) return FALSE + return ..() +/obj/item/mod/module/timeline_jumper/on_use() if(!phased_mob) //phasing out mod.visible_message(span_warning("[mod.wearer] leaps out of the timeline!")) @@ -210,6 +206,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/tem) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_BACK) ///Reference to the chrono field being controlled by this module var/obj/structure/chrono_field/field = null ///Where the chronofield maker was when the field went up diff --git a/code/modules/mod/modules/modules_visor.dm b/code/modules/mod/modules/modules_visor.dm index e8656fe92331a..4527fa631a65c 100644 --- a/code/modules/mod/modules/modules_visor.dm +++ b/code/modules/mod/modules/modules_visor.dm @@ -9,15 +9,13 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/visor) cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_HEAD|ITEM_SLOT_EYES|ITEM_SLOT_MASK) /// The HUD type given by the visor. var/hud_type /// The traits given by the visor. var/list/visor_traits = list() /obj/item/mod/module/visor/on_activation() - . = ..() - if(!.) - return if(hud_type) var/datum/atom_hud/hud = GLOB.huds[hud_type] hud.show_to(mod.wearer) @@ -26,9 +24,6 @@ mod.wearer.update_sight() /obj/item/mod/module/visor/on_deactivation(display_message = TRUE, deleting = FALSE) - . = ..() - if(!.) - return if(hud_type) var/datum/atom_hud/hud = GLOB.huds[hud_type] hud.hide_from(mod.wearer) diff --git a/code/modules/pai/software.dm b/code/modules/pai/software.dm index 9876df5a2646a..ab69e69388ccd 100644 --- a/code/modules/pai/software.dm +++ b/code/modules/pai/software.dm @@ -131,12 +131,17 @@ /** * Changes the image displayed on the pAI. * - * @param {mob} user - The user who is changing the image. - * * @returns {boolean} - TRUE if the image was changed, FALSE otherwise. */ /mob/living/silicon/pai/proc/change_image() - var/new_image = tgui_input_list(src, "Select your new display image", "Display Image", possible_overlays) + var/list/possible_choices = list() + for(var/face_option in possible_overlays) + var/datum/radial_menu_choice/choice = new + choice.name = face_option + choice.image = image(icon = card.icon, icon_state = "pai-[face_option]") + possible_choices[face_option] += choice + var/atom/anchor = get_atom_on_turf(src) + var/new_image = show_radial_menu(src, anchor, possible_choices, custom_check = CALLBACK(src, PROC_REF(check_menu), anchor), radius = 40, require_near = TRUE) if(isnull(new_image)) return FALSE card.emotion_icon = new_image diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 1a0ce1dc37b80..1eae74d242cef 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -88,6 +88,11 @@ icon_state = "stamp-clown" dye_color = DYE_CLOWN +/obj/item/stamp/clown/Initialize(mapload) + . = ..() + + AddElement(/datum/element/swabable, CELL_LINE_TABLE_CLOWN, CELL_VIRUS_TABLE_GENERIC, rand(2,3), 0) + /obj/item/stamp/mime name = "mime's rubber stamp" icon_state = "stamp-mime" diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm index e3f9486bee999..2e8eaee9d6dec 100644 --- a/code/modules/plumbing/plumbers/_plumb_machinery.dm +++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm @@ -11,6 +11,8 @@ processing_flags = START_PROCESSING_MANUALLY active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 2.75 resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF + interaction_flags_machine = parent_type::interaction_flags_machine | INTERACT_MACHINE_OFFLINE + ///Plumbing machinery is always gonna need reagents, so we might aswell put it here var/buffer = 50 ///Flags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm @@ -21,11 +23,42 @@ set_anchored(bolt) create_reagents(buffer, reagent_flags) AddComponent(/datum/component/simple_rotation) - interaction_flags_machine |= INTERACT_MACHINE_OFFLINE + register_context() + +/obj/machinery/plumbing/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = NONE + if(isnull(held_item)) + return + + if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Un" : ""]Anchor" + return CONTEXTUAL_SCREENTIP_SET + else if(held_item.tool_behaviour == TOOL_WELDER && !anchored) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" + return CONTEXTUAL_SCREENTIP_SET + else if(istype(held_item, /obj/item/plunger)) + context[SCREENTIP_CONTEXT_LMB] = "Flush" + return CONTEXTUAL_SCREENTIP_SET /obj/machinery/plumbing/examine(mob/user) . = ..() - . += span_notice("The maximum volume display reads: [reagents.maximum_volume] units.") + if(isobserver(user) || !in_range(src, user)) + return + + . += span_notice("The maximum volume display reads: [reagents.maximum_volume]u capacity. Contains:") + if(reagents.total_volume) + for(var/datum/reagent/reg as anything in reagents.reagent_list) + . += span_notice("[round(reg.volume, CHEMICAL_VOLUME_ROUNDING)]u of [reg.name]") + else + . += span_notice("Nothing.") + + if(anchored) + . += span_notice("It's [EXAMINE_HINT("anchored")] in place.") + else + . += span_warning("Needs to be [EXAMINE_HINT("anchored")] to start operations.") + . += span_notice("It can be [EXAMINE_HINT("welded")] apart.") + + . += span_notice("An [EXAMINE_HINT("plunger")] can be used to flush out reagents.") /obj/machinery/plumbing/wrench_act(mob/living/user, obj/item/tool) if(user.combat_mode) @@ -39,6 +72,23 @@ end_processing() return ITEM_INTERACT_SUCCESS +/obj/machinery/plumbing/welder_act(mob/living/user, obj/item/I) + if(user.combat_mode) + return NONE + + if(anchored) + balloon_alert(user, "unanchor first!") + return ITEM_INTERACT_BLOCKING + + if(I.tool_start_check(user, amount = 1)) + to_chat(user, span_notice("You start slicing the [name] apart.")) + if(I.use_tool(src, user, 1.5 SECONDS, volume = 50)) + deconstruct(TRUE) + to_chat(user, span_notice("You slice the [name] apart.")) + return ITEM_INTERACT_SUCCESS + + return ITEM_INTERACT_BLOCKING + /obj/machinery/plumbing/plunger_act(obj/item/plunger/P, mob/living/user, reinforced) user.balloon_alert_to_viewers("furiously plunging...") if(do_after(user, 3 SECONDS, target = src)) @@ -46,17 +96,6 @@ reagents.expose(get_turf(src), TOUCH) //splash on the floor reagents.clear_reagents() -/obj/machinery/plumbing/welder_act(mob/living/user, obj/item/I) - . = ..() - if(anchored) - to_chat(user, span_warning("The [name] needs to be unbolted to do that!")) - if(I.tool_start_check(user, amount=1)) - to_chat(user, span_notice("You start slicing the [name] apart.")) - if(I.use_tool(src, user, (1.5 SECONDS), volume=50)) - deconstruct(TRUE) - to_chat(user, span_notice("You slice the [name] apart.")) - return TRUE - ///We can empty beakers in here and everything /obj/machinery/plumbing/input name = "input gate" diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index f75ec94f21c22..bd0a69e6d5e86 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -7,6 +7,9 @@ reagent_flags = TRANSPARENT | DRAINABLE buffer = 400 + /// Are we grinding or juicing + var/grinding = TRUE + /obj/machinery/plumbing/grinder_chemical/Initialize(mapload, bolt, layer) . = ..() AddComponent(/datum/component/plumbing/simple_supply, bolt, layer) @@ -15,17 +18,74 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/machinery/plumbing/grinder_chemical/attackby(obj/item/weapon, mob/user, params) - if(istype(weapon, /obj/item/storage/bag)) - to_chat(user, span_notice("You dump items from [weapon] into the grinder.")) - for(var/obj/item/obj_item in weapon.contents) - grind(obj_item) - else - to_chat(user, span_notice("You attempt to grind [weapon].")) - grind(weapon) +/obj/machinery/plumbing/grinder_chemical/examine(mob/user) + . = ..() + + . += span_notice("Use empty hand to change operation mode. Currently [grinding ? "Grinding" : "Juicing"]") + +/** + * Check if the user can interact with the grinder + * Arguments + * + * * mob/user - the player we are checking for + */ +/obj/machinery/plumbing/grinder_chemical/proc/check_interactable(mob/user) + PRIVATE_PROC(TRUE) + return can_interact(user) + +/obj/machinery/plumbing/grinder_chemical/attack_hand(mob/living/user, list/modifiers) + if(user.combat_mode || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) + return FALSE + + var/list/options = list() + + var/static/radial_grind = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_grind") + options["grind"] = radial_grind + + var/static/radial_juice = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_juice") + options["juice"] = radial_juice + + var/choice = show_radial_menu( + user, + src, + options, + custom_check = CALLBACK(src, PROC_REF(check_interactable), user), + ) + if(!choice) + return FALSE + + grinding = (choice == "grind") return TRUE +/obj/machinery/plumbing/grinder_chemical/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = NONE + if(user.combat_mode || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) + return ITEM_INTERACT_SKIP_TO_ATTACK + + if(istype(tool, /obj/item/construction/plumbing)) + return tool.interact_with_atom(src, user, modifiers) + else if(istype(tool, /obj/item/plunger)) + return + else if(istype(tool, /obj/item/storage/bag)) + if(!anchored) + to_chat(user, span_warning("Anchor first to start [grinding ? "grind" : "juice"].")) + return ITEM_INTERACT_BLOCKING + + to_chat(user, span_notice("You dump items from [tool] into the grinder.")) + for(var/obj/item/obj_item in tool.contents) + grind(obj_item) + return ITEM_INTERACT_SUCCESS + else if(!tool.tool_behaviour) + var/action = "[grinding ? "grind" : "juice"]" + if(!anchored) + to_chat(user, span_warning("Anchor first to star [action].")) + return ITEM_INTERACT_BLOCKING + + to_chat(user, span_notice("You attempt to [action] [tool].")) + grind(tool) + return ITEM_INTERACT_SUCCESS + /obj/machinery/plumbing/grinder_chemical/CanAllowThrough(atom/movable/mover, border_dir) . = ..() if(!anchored) @@ -37,7 +97,7 @@ /obj/machinery/plumbing/grinder_chemical/proc/on_entered(datum/source, atom/movable/AM) SIGNAL_HANDLER - grind(AM) + INVOKE_ASYNC(src, PROC_REF(grind), AM) /** * Grinds/Juices the atom @@ -45,7 +105,9 @@ * * [AM][atom] - the atom to grind or juice */ /obj/machinery/plumbing/grinder_chemical/proc/grind(atom/AM) - if(!is_operational) + PRIVATE_PROC(TRUE) + + if(!is_operational || !anchored) return if(reagents.holder_full()) return @@ -53,11 +115,15 @@ return var/obj/item/I = AM + if((I.item_flags & ABSTRACT) || (I.flags_1 & HOLOGRAM_1)) + return + var/result - if(I.grind_results) - result = I.grind(reagents, usr) - else + if(!grinding) result = I.juice(reagents, usr) + else if(length(I.grind_results) || I.reagents?.total_volume) + result = I.grind(reagents, usr) + + use_energy(active_power_usage) if(result) - use_energy(active_power_usage) qdel(I) diff --git a/code/modules/plumbing/plumbers/vatgrower.dm b/code/modules/plumbing/plumbers/vatgrower.dm index 7327a648dadce..1dcfb08e0cce0 100644 --- a/code/modules/plumbing/plumbers/vatgrower.dm +++ b/code/modules/plumbing/plumbers/vatgrower.dm @@ -11,9 +11,9 @@ var/resampler_active = FALSE ///Add that sexy demnand component -/obj/machinery/plumbing/growing_vat/Initialize(mapload, bolt) +/obj/machinery/plumbing/growing_vat/Initialize(mapload, bolt, layer) . = ..() - AddComponent(/datum/component/plumbing/simple_demand, bolt) + AddComponent(/datum/component/plumbing/simple_demand, bolt, layer) /obj/machinery/plumbing/growing_vat/create_reagents(max_vol, flags) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index d55fc0a33c585..495c1e3331772 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -360,34 +360,42 @@ description = "Coffee and ice, refreshing and cool." color = "#102838" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 taste_description = "bitter coldness" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED metabolized_traits = list(TRAIT_STIMULATED) +/datum/reagent/consumable/icecoffee/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-40 * REM * seconds_per_tick) affected_mob.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) - affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) /datum/reagent/consumable/hot_ice_coffee name = "Hot Ice Coffee" description = "Coffee with pulsing ice shards" color = "#102838" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 taste_description = "bitter coldness and a hint of smoke" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED metabolized_traits = list(TRAIT_STIMULATED) +/datum/reagent/consumable/hot_ice_coffee/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + /datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) affected_mob.AdjustSleeping(-60 * REM * seconds_per_tick) affected_mob.adjust_bodytemperature(-7 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, affected_mob.get_body_temp_normal()) - affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) if(affected_mob.adjustToxLoss(1 * REM * seconds_per_tick, updating_health = FALSE, required_biotype = affected_biotype)) return UPDATE_MOB_HEALTH @@ -703,12 +711,17 @@ name = "Soy Latte" description = "A nice and tasty beverage while you are reading your hippie books." color = "#cc6404" // rgb: 204,100,4 + overdose_threshold = 80 quality = DRINK_NICE taste_description = "creamy coffee" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY metabolized_traits = list(TRAIT_STIMULATED) +/datum/reagent/consumable/soy_latte/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) @@ -716,7 +729,6 @@ var/need_mob_update need_mob_update = affected_mob.SetSleeping(0) affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) - affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) need_mob_update += affected_mob.heal_bodypart_damage(brute = 1 * REM * seconds_per_tick, burn = 0, updating_health = FALSE) if(need_mob_update) @@ -726,12 +738,17 @@ name = "Cafe Latte" description = "A nice, strong and tasty beverage while you are reading." color = "#cc6404" // rgb: 204,100,4 + overdose_threshold = 80 quality = DRINK_NICE taste_description = "bitter cream" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_EASY metabolized_traits = list(TRAIT_STIMULATED) +/datum/reagent/consumable/cafe_latte/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) @@ -739,7 +756,6 @@ var/need_mob_update need_mob_update = affected_mob.SetSleeping(0) affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) - affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) need_mob_update += affected_mob.heal_bodypart_damage(brute = 1 * REM * seconds_per_tick, burn = 0, updating_health = FALSE) if(need_mob_update) @@ -853,12 +869,29 @@ name = "Pumpkin Latte" description = "A mix of pumpkin juice and coffee." color = "#F4A460" + overdose_threshold = 80 quality = DRINK_VERYGOOD nutriment_factor = 3 taste_description = "creamy pumpkin" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED metabolized_traits = list(TRAIT_STIMULATED) +/datum/reagent/consumable/pumpkin_latte/overdose_process(mob/living/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.set_jitter_if_lower(10 SECONDS * REM * seconds_per_tick) + +/datum/reagent/consumable/pumpkin_latte/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) + . = ..() + affected_mob.adjust_dizzy(-10 SECONDS * REM * seconds_per_tick) + affected_mob.adjust_drowsiness(-6 SECONDS * REM * seconds_per_tick) + var/need_mob_update + need_mob_update = affected_mob.SetSleeping(0) + affected_mob.adjust_bodytemperature(5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * seconds_per_tick, 0, affected_mob.get_body_temp_normal()) + if(affected_mob.getBruteLoss() && SPT_PROB(10, seconds_per_tick)) + need_mob_update += affected_mob.heal_bodypart_damage(brute = 1 * REM * seconds_per_tick, burn = 0, updating_health = FALSE) + if(need_mob_update) + return UPDATE_MOB_HEALTH + /datum/reagent/consumable/gibbfloats name = "Gibb Floats" description = "Ice cream on top of a Dr. Gibb glass." @@ -1035,7 +1068,7 @@ affected_mob.update_transform(newsize/current_size) current_size = newsize if(SPT_PROB(23, seconds_per_tick)) - affected_mob.emote("sneeze") + affected_mob.sneeze() /datum/reagent/consumable/red_queen/on_mob_end_metabolize(mob/living/affected_mob) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 27a487bd4d4da..a05be2abedb48 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1086,6 +1086,18 @@ ph = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED +/datum/reagent/medicine/mutadone/on_mob_metabolize(mob/living/affected_mob) + . = ..() + if (!ishuman(affected_mob)) + return + var/mob/living/carbon/human/human_mob = affected_mob + if (ismonkey(human_mob)) + if (!HAS_TRAIT(human_mob, TRAIT_BORN_MONKEY)) + human_mob.dna.remove_mutation(/datum/mutation/human/race) + else if (HAS_TRAIT(human_mob, TRAIT_BORN_MONKEY)) + human_mob.monkeyize() + + /datum/reagent/medicine/mutadone/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() affected_mob.remove_status_effect(/datum/status_effect/jitter) @@ -1544,7 +1556,7 @@ /datum/reagent/medicine/metafactor/overdose_process(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() if(SPT_PROB(13, seconds_per_tick)) - affected_mob.vomit(VOMIT_CATEGORY_DEFAULT) + affected_mob.vomit(VOMIT_CATEGORY_KNOCKDOWN) /datum/reagent/medicine/silibinin name = "Silibinin" diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 8c5a513f69eb5..93a50f8d9e348 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2230,10 +2230,10 @@ var/mob/living/carbon/human/exposed_human = exposed_mob if(!HAS_TRAIT(exposed_human, TRAIT_SHAVED)) - var/datum/sprite_accessory/facial_hair/picked_beard = pick(GLOB.facial_hairstyles_list) + var/datum/sprite_accessory/facial_hair/picked_beard = pick(SSaccessories.facial_hairstyles_list) exposed_human.set_facial_hairstyle(picked_beard, update = FALSE) if(!HAS_TRAIT(exposed_human, TRAIT_BALD)) - var/datum/sprite_accessory/hair/picked_hair = pick(GLOB.hairstyles_list) + var/datum/sprite_accessory/hair/picked_hair = pick(SSaccessories.hairstyles_list) exposed_human.set_hairstyle(picked_hair, update = TRUE) to_chat(exposed_human, span_notice("Hair starts sprouting from your [HAS_TRAIT(exposed_human, TRAIT_BALD) ? "face" : "scalp"].")) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index bcdee284bd78b..15508aa98eecd 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -604,7 +604,7 @@ if(2) affected_mob.emote("cough") if(3) - affected_mob.emote("sneeze") + affected_mob.sneeze() if(4) if(prob(75)) to_chat(affected_mob, span_danger("You scratch at an itch.")) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 8d5f561e83b16..3cad52e69b38b 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1263,7 +1263,7 @@ name = "Diamond Drill" id = "borg_upgrade_diamonddrill" build_type = MECHFAB - build_path = /obj/item/borg/upgrade/ddrill + build_path = /obj/item/borg/upgrade/diamond_drill materials = list( /datum/material/iron=SHEET_MATERIAL_AMOUNT*5, /datum/material/glass =SHEET_MATERIAL_AMOUNT*3, diff --git a/code/modules/surgery/bodyparts/head_hair_and_lips.dm b/code/modules/surgery/bodyparts/head_hair_and_lips.dm index b5db462294f98..a386554b59703 100644 --- a/code/modules/surgery/bodyparts/head_hair_and_lips.dm +++ b/code/modules/surgery/bodyparts/head_hair_and_lips.dm @@ -84,7 +84,7 @@ var/image/facial_hair_overlay if(!facial_hair_hidden && facial_hairstyle && (head_flags & HEAD_FACIAL_HAIR)) - sprite_accessory = GLOB.facial_hairstyles_list[facial_hairstyle] + sprite_accessory = SSaccessories.facial_hairstyles_list[facial_hairstyle] if(sprite_accessory) //Overlay facial_hair_overlay = image(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER, image_dir) @@ -99,12 +99,12 @@ var/facial_hair_gradient_style = LAZYACCESS(gradient_styles, GRADIENT_FACIAL_HAIR_KEY) if(facial_hair_gradient_style) var/facial_hair_gradient_color = LAZYACCESS(gradient_colors, GRADIENT_FACIAL_HAIR_KEY) - var/image/facial_hair_gradient_overlay = get_gradient_overlay(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER, GLOB.facial_hair_gradients_list[facial_hair_gradient_style], facial_hair_gradient_color, image_dir) + var/image/facial_hair_gradient_overlay = get_gradient_overlay(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER, SSaccessories.facial_hair_gradients_list[facial_hair_gradient_style], facial_hair_gradient_color, image_dir) . += facial_hair_gradient_overlay var/image/hair_overlay if(!(show_debrained && (head_flags & HEAD_DEBRAIN)) && !hair_hidden && hairstyle && (head_flags & HEAD_HAIR)) - var/datum/sprite_accessory/hair/hair_sprite_accessory = GLOB.hairstyles_list[hairstyle] + var/datum/sprite_accessory/hair/hair_sprite_accessory = SSaccessories.hairstyles_list[hairstyle] if(hair_sprite_accessory) //Overlay hair_overlay = image(hair_sprite_accessory.icon, hair_sprite_accessory.icon_state, -HAIR_LAYER, image_dir) @@ -125,7 +125,7 @@ var/hair_gradient_style = LAZYACCESS(gradient_styles, GRADIENT_HAIR_KEY) if(hair_gradient_style) var/hair_gradient_color = LAZYACCESS(gradient_colors, GRADIENT_HAIR_KEY) - var/image/hair_gradient_overlay = get_gradient_overlay(hair_sprite_accessory.icon, hair_sprite_accessory.icon_state, -HAIR_LAYER, GLOB.hair_gradients_list[hair_gradient_style], hair_gradient_color, image_dir) + var/image/hair_gradient_overlay = get_gradient_overlay(hair_sprite_accessory.icon, hair_sprite_accessory.icon_state, -HAIR_LAYER, SSaccessories.hair_gradients_list[hair_gradient_style], hair_gradient_color, image_dir) hair_gradient_overlay.pixel_y = hair_sprite_accessory.y_offset // SKYRAT EDIT ADDITION - Species hair offset if(LAZYFIND(owner?.dna?.species?.offset_features, OFFSET_HAIR)) diff --git a/code/modules/surgery/organs/external/_external_organ.dm b/code/modules/surgery/organs/external/_external_organ.dm index a29d69af19ed7..b81942a380cc1 100644 --- a/code/modules/surgery/organs/external/_external_organ.dm +++ b/code/modules/surgery/organs/external/_external_organ.dm @@ -198,7 +198,7 @@ return TRUE /datum/bodypart_overlay/mutant/horns/get_global_feature_list() - return GLOB.sprite_accessories["horns"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.horns_list + return SSaccessories.sprite_accessories["horns"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.horns_list ///The frills of a lizard (like weird fin ears) /obj/item/organ/external/frills @@ -225,7 +225,7 @@ return FALSE /datum/bodypart_overlay/mutant/frills/get_global_feature_list() - return GLOB.sprite_accessories["frills"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.frills_list + return SSaccessories.sprite_accessories["frills"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.frills_list ///Guess what part of the lizard this is? /obj/item/organ/external/snout @@ -254,7 +254,7 @@ return FALSE /datum/bodypart_overlay/mutant/snout/get_global_feature_list() - return GLOB.sprite_accessories["snout"] // SKYRAT EDIT - Customization - ORIGINAL : return GLOB.snouts_list + return SSaccessories.sprite_accessories["snout"] // SKYRAT EDIT - Customization - ORIGINAL : return SSaccessories.snouts_list ///A moth's antennae /obj/item/organ/external/antennae @@ -331,7 +331,7 @@ burn_datum = fetch_sprite_datum(burn_datum) //turn the path into the singleton instance /datum/bodypart_overlay/mutant/antennae/get_global_feature_list() - return GLOB.sprite_accessories["moth_antennae"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.moth_antennae_list + return SSaccessories.sprite_accessories["moth_antennae"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.moth_antennae_list /datum/bodypart_overlay/mutant/antennae/get_base_icon_state() return burnt ? burn_datum.icon_state : sprite_datum.icon_state @@ -363,7 +363,7 @@ var/color_inverse_base = 255 /datum/bodypart_overlay/mutant/pod_hair/get_global_feature_list() - return GLOB.pod_hair_list + return SSaccessories.pod_hair_list /datum/bodypart_overlay/mutant/pod_hair/color_image(image/overlay, draw_layer, obj/item/bodypart/limb) if(draw_layer != bitflag_to_layer(color_swapped_layer)) diff --git a/code/modules/surgery/organs/external/spines.dm b/code/modules/surgery/organs/external/spines.dm index 099bc2912831f..ade081030d0c4 100644 --- a/code/modules/surgery/organs/external/spines.dm +++ b/code/modules/surgery/organs/external/spines.dm @@ -32,7 +32,7 @@ feature_key = "spines" /datum/bodypart_overlay/mutant/spines/get_global_feature_list() - return GLOB.sprite_accessories["spines"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.spines_list + return SSaccessories.sprite_accessories["spines"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.spines_list /datum/bodypart_overlay/mutant/spines/can_draw_on_bodypart(mob/living/carbon/human/human) . = ..() diff --git a/code/modules/surgery/organs/external/tails.dm b/code/modules/surgery/organs/external/tails.dm index d9dfbf7b9dd94..a70db9c950fef 100644 --- a/code/modules/surgery/organs/external/tails.dm +++ b/code/modules/surgery/organs/external/tails.dm @@ -144,7 +144,7 @@ // SKYRAT EDIT ADDITION - CUSTOMIZATION /datum/bodypart_overlay/mutant/tail/get_global_feature_list() - return GLOB.sprite_accessories["tail"] + return SSaccessories.sprite_accessories["tail"] // SKYRAT EDIT ADDITION END /datum/bodypart_overlay/mutant/tail/can_draw_on_bodypart(mob/living/carbon/human/human) @@ -160,6 +160,9 @@ wag_flags = WAG_ABLE +/datum/bodypart_overlay/mutant/tail/get_global_feature_list() + return SSaccessories.sprite_accessories["tail"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.tails_list_human + /obj/item/organ/external/tail/cat/get_butt_sprite() return BUTT_SPRITE_CAT @@ -177,7 +180,7 @@ feature_key = "tail" // SKYRAT EDIT - Customization - ORIGINAL: feature_key = "tail_monkey" /datum/bodypart_overlay/mutant/tail/monkey/get_global_feature_list() - return GLOB.tails_list_monkey + return SSaccessories.tails_list_monkey /obj/item/organ/external/tail/lizard name = "lizard tail" @@ -194,7 +197,7 @@ feature_key = "tail" // SKYRAT EDIT - Customization - ORIGINAL: feature_key = "tail_lizard" /datum/bodypart_overlay/mutant/tail/lizard/get_global_feature_list() - return GLOB.sprite_accessories["tail"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.tails_list_lizard + return SSaccessories.sprite_accessories["tail"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.tails_list_lizard /obj/item/organ/external/tail/lizard/fake name = "fabricated lizard tail" @@ -210,7 +213,7 @@ var/tail_spine_key = NONE /datum/bodypart_overlay/mutant/tail_spines/get_global_feature_list() - return GLOB.sprite_accessories["tailspines"] // SKYRAT EDIT CHANGE - ORIGINAL: return GLOB.tail_spines_list + return SSaccessories.sprite_accessories["tailspines"] // SKYRAT EDIT CHANGE - ORIGINAL: return SSaccessories.tail_spines_list /datum/bodypart_overlay/mutant/tail_spines/get_base_icon_state() return (!isnull(tail_spine_key) ? "[tail_spine_key]_" : "") + (wagging ? "wagging_" : "") + sprite_datum.icon_state // Select the wagging state if appropriate diff --git a/code/modules/surgery/organs/external/wings/functional_wings.dm b/code/modules/surgery/organs/external/wings/functional_wings.dm index 8b178978da138..c2310ba8e5af1 100644 --- a/code/modules/surgery/organs/external/wings/functional_wings.dm +++ b/code/modules/surgery/organs/external/wings/functional_wings.dm @@ -8,7 +8,7 @@ /datum/action/innate/flight/Activate() var/mob/living/carbon/human/human = owner var/obj/item/organ/external/wings/functional/wings = human.get_organ_slot(ORGAN_SLOT_EXTERNAL_WINGS) - if(wings && wings.can_fly(human)) + if(wings?.can_fly(human)) wings.toggle_flight(human) if(!(human.movement_type & FLYING)) to_chat(human, span_notice("You settle gently back onto the ground...")) @@ -29,23 +29,26 @@ // grind_results = list(/datum/reagent/flightpotion = 5) food_reagents = list(/datum/reagent/flightpotion = 5) +/obj/item/organ/external/wings/functional/Destroy() + QDEL_NULL(fly) + return ..() + /obj/item/organ/external/wings/functional/Insert(mob/living/carbon/receiver, special, movement_flags) . = ..() - if(. && isnull(fly)) + if(!.) + return + if(QDELETED(fly)) fly = new - fly.Grant(receiver) + fly.Grant(receiver) /obj/item/organ/external/wings/functional/Remove(mob/living/carbon/organ_owner, special, movement_flags) . = ..() - - fly.Remove(organ_owner) - + fly?.Remove(organ_owner) if(wings_open) toggle_flight(organ_owner) /obj/item/organ/external/wings/functional/on_life(seconds_per_tick, times_fired) . = ..() - handle_flight(owner) ///Called on_life(). Handle flight code and check if we're still flying @@ -143,14 +146,14 @@ /datum/bodypart_overlay/mutant/wings/functional/get_global_feature_list() /* SKYRAT EDIT - CUSTOMIZATION - ORIGINAL: if(wings_open) - return GLOB.wings_open_list + return SSaccessories.wings_open_list else - return GLOB.wings_list + return SSaccessories.wings_list */ // ORIGINAL END - SKYRAT EDIT START - CUSTOMIZATION - TODO: Add support for wings_open if(wings_open) - return GLOB.sprite_accessories["wings_open"] + return SSaccessories.sprite_accessories["wings_open"] - return GLOB.sprite_accessories["wings"] + return SSaccessories.sprite_accessories["wings"] // SKYRAT EDIT END ///Update our wingsprite to the open wings variant diff --git a/code/modules/surgery/organs/external/wings/moth_wings.dm b/code/modules/surgery/organs/external/wings/moth_wings.dm index a8365a30fae37..3ddf98ee17be1 100644 --- a/code/modules/surgery/organs/external/wings/moth_wings.dm +++ b/code/modules/surgery/organs/external/wings/moth_wings.dm @@ -87,7 +87,7 @@ burn_datum = fetch_sprite_datum(burn_datum) /datum/bodypart_overlay/mutant/wings/moth/get_global_feature_list() - return GLOB.sprite_accessories["wings"] // SKYRAT EDIT - Customization - ORIGINAL: return GLOB.moth_wings_list + return SSaccessories.sprite_accessories["wings"] // SKYRAT EDIT - Customization - ORIGINAL: return SSaccessories.moth_wings_list /datum/bodypart_overlay/mutant/wings/moth/can_draw_on_bodypart(mob/living/carbon/human/human) if(!(human.wear_suit?.flags_inv & HIDEMUTWINGS)) diff --git a/code/modules/surgery/organs/internal/stomach/_stomach.dm b/code/modules/surgery/organs/internal/stomach/_stomach.dm index 92609c3bf49ef..5229bb9316db1 100644 --- a/code/modules/surgery/organs/internal/stomach/_stomach.dm +++ b/code/modules/surgery/organs/internal/stomach/_stomach.dm @@ -217,7 +217,7 @@ if(SPT_PROB(pukeprob, seconds_per_tick)) //iT hAndLeS mOrE ThaN PukInG disgusted.adjust_confusion(2.5 SECONDS) disgusted.adjust_stutter(2 SECONDS) - disgusted.vomit(VOMIT_CATEGORY_DEFAULT, distance = 0) + disgusted.vomit(VOMIT_CATEGORY_KNOCKDOWN, distance = 0) disgusted.set_dizzy_if_lower(10 SECONDS) if(disgust >= DISGUST_LEVEL_DISGUSTED) if(SPT_PROB(13, seconds_per_tick)) diff --git a/code/modules/surgery/organs/internal/tongue/_tongue.dm b/code/modules/surgery/organs/internal/tongue/_tongue.dm index c01b59381246e..a47639fe0e673 100644 --- a/code/modules/surgery/organs/internal/tongue/_tongue.dm +++ b/code/modules/surgery/organs/internal/tongue/_tongue.dm @@ -617,6 +617,7 @@ GLOBAL_LIST_INIT(english_to_zombie, list()) say_mod = "meows" liked_foodtypes = SEAFOOD | ORANGES | BUGS | GORE disliked_foodtypes = GROSS | CLOTH | RAW + organ_traits = list(TRAIT_WOUND_LICKER) /obj/item/organ/internal/tongue/jelly name = "jelly tongue" diff --git a/code/modules/transport/tram/tram_signals.dm b/code/modules/transport/tram/tram_signals.dm index eb64866603043..db8aa17ddcb3e 100644 --- a/code/modules/transport/tram/tram_signals.dm +++ b/code/modules/transport/tram/tram_signals.dm @@ -17,7 +17,7 @@ interaction_flags_machine = INTERACT_MACHINE_OPEN circuit = /obj/item/circuitboard/machine/crossing_signal // pointless if it only takes 2 seconds to cross but updates every 2 seconds - subsystem_type = /datum/controller/subsystem/processing/fastprocess + subsystem_type = /datum/controller/subsystem/processing/transport light_color = LIGHT_COLOR_BABY_BLUE /// green, amber, or red for tram, blue if it's emag, tram missing, etc. var/signal_state = XING_STATE_MALF @@ -40,8 +40,8 @@ * Red: decent chance of getting hit, but if you're quick it's a decent gamble. * Amber: slow people may be in danger. */ - var/amber_distance_threshold = AMBER_THRESHOLD_NORMAL - var/red_distance_threshold = RED_THRESHOLD_NORMAL + var/amber_distance_threshold = XING_THRESHOLD_AMBER + var/red_distance_threshold = XING_THRESHOLD_RED /** Crossing signal subtypes * @@ -203,34 +203,18 @@ sensor_ref = null if(operating_status < TRANSPORT_REMOTE_WARNING) operating_status = TRANSPORT_REMOTE_WARNING - degraded_response() update_appearance() /obj/machinery/transport/crossing_signal/proc/wake_sensor() - if(operating_status > TRANSPORT_REMOTE_WARNING) - degraded_response() - return - var/obj/machinery/transport/guideway_sensor/linked_sensor = sensor_ref?.resolve() if(isnull(linked_sensor)) operating_status = TRANSPORT_REMOTE_WARNING - degraded_response() else if(linked_sensor.trigger_sensor()) operating_status = TRANSPORT_SYSTEM_NORMAL - normal_response() else operating_status = TRANSPORT_REMOTE_WARNING - degraded_response() - -/obj/machinery/transport/crossing_signal/proc/normal_response() - amber_distance_threshold = AMBER_THRESHOLD_NORMAL - red_distance_threshold = RED_THRESHOLD_NORMAL - -/obj/machinery/transport/crossing_signal/proc/degraded_response() - amber_distance_threshold = AMBER_THRESHOLD_DEGRADED - red_distance_threshold = RED_THRESHOLD_DEGRADED /obj/machinery/transport/crossing_signal/proc/clear_uplink() inbound = null @@ -316,20 +300,23 @@ end_processing() /obj/machinery/transport/crossing_signal/process() - + // idle aspect is green or blue depending on the signal status + // degraded signal operating conditions of any type show blue + var/idle_aspect = operating_status == TRANSPORT_SYSTEM_NORMAL ? XING_STATE_GREEN : XING_STATE_MALF var/datum/transport_controller/linear/tram/tram = transport_ref?.resolve() - // Check for stopped states. - if(!tram || !tram.controller_operational || !is_operational || !inbound || !outbound) + // Check for stopped states. Will kill the process since tram starting up will restart process. + if(!tram || !tram.controller_operational || !tram.controller_active || !is_operational || !inbound || !outbound) // Tram missing, we lost power, or something isn't right - // Throw the error message (blue) - set_signal_state(XING_STATE_MALF, force = !is_operational) + // Set idle and stop processing, since the tram won't be moving + set_signal_state(idle_aspect, force = !is_operational) return PROCESS_KILL var/obj/structure/transport/linear/tram_part = tram.return_closest_platform_to(src) + // The structure is gone, so we're done here. if(QDELETED(tram_part)) - set_signal_state(XING_STATE_MALF, force = !is_operational) + set_signal_state(idle_aspect, force = !is_operational) return PROCESS_KILL // Everything will be based on position and travel direction @@ -347,41 +334,32 @@ tram_velocity_sign = tram.travel_direction & EAST ? 1 : -1 // How far away are we? negative if already passed. - var/approach_distance = tram_velocity_sign * (signal_pos - (tram_pos + (DEFAULT_TRAM_LENGTH * 0.5))) - - // Check for stopped state. - // Will kill the process since tram starting up will restart process. - if(!tram.controller_active) - set_signal_state(XING_STATE_GREEN) - return PROCESS_KILL + var/approach_distance = tram_velocity_sign * (signal_pos - (tram_pos + DEFAULT_TRAM_MIDPOINT)) // Check if tram is driving away from us. - if(approach_distance < 0) + if(approach_distance < -abs(DEFAULT_TRAM_MIDPOINT)) // driving away. Green. In fact, in order to reverse, it'll have to stop, so let's go ahead and kill. - set_signal_state(XING_STATE_GREEN) + set_signal_state(idle_aspect) return PROCESS_KILL // Check the tram's terminus station. // INBOUND 1 < 2 < 3 // OUTBOUND 1 > 2 > 3 if(tram.travel_direction & WEST && inbound < tram.destination_platform.platform_code) - set_signal_state(XING_STATE_GREEN) + set_signal_state(idle_aspect) return PROCESS_KILL if(tram.travel_direction & EAST && outbound > tram.destination_platform.platform_code) - set_signal_state(XING_STATE_GREEN) + set_signal_state(idle_aspect) return PROCESS_KILL // Finally the interesting part where it's ACTUALLY approaching if(approach_distance <= red_distance_threshold) - if(operating_status != TRANSPORT_SYSTEM_NORMAL) - set_signal_state(XING_STATE_MALF) - else - set_signal_state(XING_STATE_RED) + set_signal_state(XING_STATE_RED) return - if(approach_distance <= amber_distance_threshold) + if(approach_distance <= amber_distance_threshold && operating_status == TRANSPORT_SYSTEM_NORMAL) set_signal_state(XING_STATE_AMBER) return - set_signal_state(XING_STATE_GREEN) + set_signal_state(idle_aspect) /** * Set the signal state and update appearance. diff --git a/code/modules/unit_tests/mecha_damage.dm b/code/modules/unit_tests/mecha_damage.dm index 695f7c4b53d3c..ab3c9be49664e 100644 --- a/code/modules/unit_tests/mecha_damage.dm +++ b/code/modules/unit_tests/mecha_damage.dm @@ -25,7 +25,7 @@ // Get a sample "melee" weapon. // The energy axe is chosen here due to having a high base force, to make sure we get over the equipment DT. var/obj/item/dummy_melee = allocate(/obj/item/melee/energy/axe) - var/expected_melee_damage = round(dummy_melee.force * (1 - expected_melee_armor / 100), DAMAGE_PRECISION) + var/expected_melee_damage = round(dummy_melee.force * (1 - expected_melee_armor / 100) * dummy_melee.demolition_mod, DAMAGE_PRECISION) // Get a sample laser weapon. // The captain's laser gun here is chosen primarily because it deals more damage than normal lasers. diff --git a/code/modules/unit_tests/mob_faction.dm b/code/modules/unit_tests/mob_faction.dm index 359ec40f66ffe..554a1adda9d23 100644 --- a/code/modules/unit_tests/mob_faction.dm +++ b/code/modules/unit_tests/mob_faction.dm @@ -9,7 +9,6 @@ /mob/oranges_ear ) ignored += typesof(/mob/camera/imaginary_friend) - ignored += typesof(/mob/living/simple_animal/pet/gondola/gondolapod) ignored += typesof(/mob/living/silicon/robot/model) ignored += typesof(/mob/camera/ai_eye/remote/base_construction) ignored += typesof(/mob/camera/ai_eye/remote/shuttle_docker) diff --git a/code/modules/unit_tests/modsuit.dm b/code/modules/unit_tests/modsuit.dm index 0dfc9815117d4..33aedb9ce49be 100644 --- a/code/modules/unit_tests/modsuit.dm +++ b/code/modules/unit_tests/modsuit.dm @@ -7,10 +7,6 @@ for(var/modpath in paths) var/obj/item/mod/control/pre_equipped/mod = new modpath() TEST_ASSERT(mod.theme, "[modpath] spawned without a theme.") - TEST_ASSERT(mod.helmet, "[modpath] spawned without a helmet.") - TEST_ASSERT(mod.chestplate, "[modpath] spawned without a chestplate.") - TEST_ASSERT(mod.gauntlets, "[modpath] spawned without gauntlets.") - TEST_ASSERT(mod.boots, "[modpath] spawned without boots.") var/list/modules = list() var/complexity_max = mod.complexity_max var/complexity = 0 @@ -18,6 +14,7 @@ module = new module() complexity += module.complexity TEST_ASSERT(complexity <= complexity_max, "[modpath] starting modules reach above max complexity.") + TEST_ASSERT(module.has_required_parts(mod.mod_parts), "[modpath] initial module [module.type] is not supported by its parts.") for(var/obj/item/mod/module/module_to_check as anything in modules) TEST_ASSERT(!is_type_in_list(module, module_to_check.incompatible_modules), "[modpath] initial module [module.type] is incompatible with initial module [module_to_check.type]") TEST_ASSERT(!is_type_in_list(module_to_check, module.incompatible_modules), "[modpath] initial module [module.type] is incompatible with initial module [module_to_check.type]") diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index e10cd2636cf2d..7dcf31edefaf3 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -20,7 +20,6 @@ /mob/living/simple_animal/bot/secbot/genesky, /mob/living/simple_animal/bot/secbot/grievous, /mob/living/simple_animal/bot/secbot/grievous/toy, - /mob/living/simple_animal/bot/secbot/honkbot, /mob/living/simple_animal/bot/secbot/pingsky, /mob/living/simple_animal/bot/vibebot, /mob/living/simple_animal/hostile, @@ -74,10 +73,6 @@ /mob/living/simple_animal/hostile/retaliate/goose/vomit, /mob/living/simple_animal/hostile/vatbeast, /mob/living/simple_animal/hostile/zombie, - /mob/living/simple_animal/pet, - /mob/living/simple_animal/pet/gondola, - /mob/living/simple_animal/pet/gondola/gondolapod, - /mob/living/simple_animal/pet/gondola/virtual_domain, /mob/living/simple_animal/soulscythe, // MODULAR SKYRAT ENTRIES @@ -151,8 +146,6 @@ /mob/living/simple_animal/hostile/vox/ranged/space/laser, /mob/living/simple_animal/hostile/zombie/cheesezombie, /mob/living/simple_animal/hostile/zombie/nocorpse, - /mob/living/simple_animal/pet/gondola/funky, - /mob/living/simple_animal/pet/poppy, // DO NOT ADD NEW ENTRIES TO THIS LIST // READ THE COMMENT ABOVE diff --git a/code/modules/unit_tests/strange_reagent.dm b/code/modules/unit_tests/strange_reagent.dm index ac8ad5cb6df3b..e5e385b86fd6d 100644 --- a/code/modules/unit_tests/strange_reagent.dm +++ b/code/modules/unit_tests/strange_reagent.dm @@ -15,7 +15,6 @@ /mob/living/simple_animal, /mob/living/basic, )) - types_to_check -= /mob/living/simple_animal/pet/gondola/gondolapod // need a pod, which we don't have types_to_check -= typesof(/mob/living/simple_animal/hostile/megafauna) // no types_to_check -= typesof(/mob/living/basic/mouse) // qdel themselves on death; why dont they use DEL_ON_DEATH you might ask. I-unno types_to_check -= typesof(/mob/living/basic/slime) // if they roll the 50% chance to spawn as an adult, they can just at random split and qdel themselves diff --git a/code/modules/unit_tests/suit_storage_icons.dm b/code/modules/unit_tests/suit_storage_icons.dm index 12305e7abfc0b..7cc987bb46801 100644 --- a/code/modules/unit_tests/suit_storage_icons.dm +++ b/code/modules/unit_tests/suit_storage_icons.dm @@ -14,9 +14,9 @@ for(var/path in clothing_path::allowed) //find all usable suit storage stuff. wearable_item_paths |= path - for(var/obj/item/mod/control/mod_path in subtypesof(/obj/item/mod/control)) - for(var/path in mod_path::chestplate::allowed) - wearable_item_paths |= path + for(var/datum/mod_theme/mod_theme as anything in GLOB.mod_themes) + mod_theme = GLOB.mod_themes[mod_theme] + wearable_item_paths |= mod_theme.allowed_suit_storage var/list/already_warned_icons = list() var/count = 1 //to be removed once the test goes live / into CI failure mode. diff --git a/code/modules/unit_tests/unit_test.dm b/code/modules/unit_tests/unit_test.dm index 46fbafe2d2f97..34dd7dfeaf4cf 100644 --- a/code/modules/unit_tests/unit_test.dm +++ b/code/modules/unit_tests/unit_test.dm @@ -276,8 +276,6 @@ GLOBAL_VAR_INIT(focused_tests, focused_tests()) returnable_list += typesof(/obj/effect/baseturf_helper) //No tauma to pass in returnable_list += typesof(/mob/camera/imaginary_friend) - //No pod to gondola - returnable_list += typesof(/mob/living/simple_animal/pet/gondola/gondolapod) //No heart to give returnable_list += typesof(/obj/structure/ethereal_crystal) //No linked console diff --git a/code/modules/uplink/uplink_items/nukeops.dm b/code/modules/uplink/uplink_items/nukeops.dm index 185c3f44681a0..558124ad4a718 100644 --- a/code/modules/uplink/uplink_items/nukeops.dm +++ b/code/modules/uplink/uplink_items/nukeops.dm @@ -557,14 +557,14 @@ /datum/uplink_item/mech/gygax name = "Dark Gygax Exosuit" desc = "A lightweight exosuit, painted in a dark scheme. Its speed and equipment selection make it excellent \ - for hit-and-run style attacks. Features a scattershot shotgun, armor boosters against melee and ranged attacks, ion thrusters and a Tesla energy array." + for hit-and-run style attacks. Features a scattershot shotgun, armor boosters against melee and ranged attacks, and ion thrusters." item = /obj/vehicle/sealed/mecha/gygax/dark/loaded cost = 60 /datum/uplink_item/mech/mauler name = "Mauler Exosuit" desc = "A massive and incredibly deadly military-grade exosuit. Features long-range targeting, thrust vectoring \ - and deployable smoke. Comes equipped with an LMG, scattershot carbine, missile rack, an antiprojectile armor booster and a Tesla energy array." + and deployable smoke. Comes equipped with an LMG, scattershot carbine, missile rack, and an antiprojectile armor booster." item = /obj/vehicle/sealed/mecha/marauder/mauler/loaded cost = 100 diff --git a/code/modules/vehicles/mecha/combat/gygax.dm b/code/modules/vehicles/mecha/combat/gygax.dm index 82fd77f22890d..0284f10d23d43 100644 --- a/code/modules/vehicles/mecha/combat/gygax.dm +++ b/code/modules/vehicles/mecha/combat/gygax.dm @@ -34,7 +34,7 @@ acid = 100 /obj/vehicle/sealed/mecha/gygax/dark - desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications." + desc = "A lightweight exosuit, painted in a dark scheme. This model's armor has been upgraded with a cutting-edge armor composite, resulting in greater protection and performance at the cost of modularity." name = "\improper Dark Gygax" ui_theme = "syndicate" icon_state = "darkgygax" @@ -53,21 +53,21 @@ MECHA_R_ARM = 1, MECHA_UTILITY = 4, MECHA_POWER = 1, - MECHA_ARMOR = 3, + MECHA_ARMOR = 0, ) equip_by_category = list( MECHA_L_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot, MECHA_R_ARM = null, MECHA_UTILITY = list(/obj/item/mecha_parts/mecha_equipment/radio, /obj/item/mecha_parts/mecha_equipment/air_tank/full, /obj/item/mecha_parts/mecha_equipment/thrusters/ion), MECHA_POWER = list(), - MECHA_ARMOR = list(/obj/item/mecha_parts/mecha_equipment/armor/anticcw_armor_booster, /obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster), + MECHA_ARMOR = list(), ) destruction_sleep_duration = 20 /datum/armor/gygax_dark - melee = 40 - bullet = 40 - laser = 50 + melee = 70 + bullet = 50 + laser = 55 energy = 35 bomb = 20 fire = 100 diff --git a/code/modules/vehicles/mecha/combat/marauder.dm b/code/modules/vehicles/mecha/combat/marauder.dm index 750223a85d7ad..3cc73214fcac1 100644 --- a/code/modules/vehicles/mecha/combat/marauder.dm +++ b/code/modules/vehicles/mecha/combat/marauder.dm @@ -1,5 +1,5 @@ /obj/vehicle/sealed/mecha/marauder - desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations." + desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations. Its bleeding edge armour ensures maximum usability and protection at the cost of some modularity." name = "\improper Marauder" icon_state = "marauder" base_icon_state = "marauder" @@ -20,16 +20,16 @@ MECHA_R_ARM = 1, MECHA_UTILITY = 5, MECHA_POWER = 1, - MECHA_ARMOR = 3, + MECHA_ARMOR = 0, ) bumpsmash = TRUE /datum/armor/mecha_marauder - melee = 50 - bullet = 55 - laser = 40 + melee = 70 + bullet = 60 + laser = 60 energy = 30 - bomb = 30 + bomb = 50 fire = 100 acid = 100 @@ -44,7 +44,7 @@ MECHA_R_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack, MECHA_UTILITY = list(/obj/item/mecha_parts/mecha_equipment/radio, /obj/item/mecha_parts/mecha_equipment/air_tank/full, /obj/item/mecha_parts/mecha_equipment/thrusters/ion), MECHA_POWER = list(), - MECHA_ARMOR = list(/obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster), + MECHA_ARMOR = list(), ) /obj/vehicle/sealed/mecha/marauder/loaded/populate_parts() @@ -92,6 +92,7 @@ accesses = list(ACCESS_CENT_SPECOPS) movedelay = 3 max_integrity = 550 + armor_type = /datum/armor/mecha_seraph wreckage = /obj/structure/mecha_wreckage/seraph force = 55 max_equip_by_category = list( @@ -99,22 +100,33 @@ MECHA_R_ARM = 1, MECHA_UTILITY = 5, MECHA_POWER = 1, - MECHA_ARMOR = 3, + MECHA_ARMOR = 0, ) equip_by_category = list( MECHA_L_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse, MECHA_R_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack, MECHA_UTILITY = list(/obj/item/mecha_parts/mecha_equipment/radio, /obj/item/mecha_parts/mecha_equipment/air_tank/full, /obj/item/mecha_parts/mecha_equipment/thrusters/ion), MECHA_POWER = list(), - MECHA_ARMOR = list(/obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster), + MECHA_ARMOR = list(), ) +/datum/armor/mecha_seraph + melee = 80 + bullet = 65 + laser = 65 + energy = 50 + bomb = 50 + fire = 100 + acid = 100 + + /obj/vehicle/sealed/mecha/marauder/mauler - desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model." + desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model, its hardened exterior prevents the use of add-on armor packages." name = "\improper Mauler" ui_theme = "syndicate" icon_state = "mauler" base_icon_state = "mauler" + armor_type = /datum/armor/mecha_mauler accesses = list(ACCESS_SYNDICATE) wreckage = /obj/structure/mecha_wreckage/mauler mecha_flags = ID_LOCK_ON | CAN_STRAFE | IS_ENCLOSED | HAS_LIGHTS | MMI_COMPATIBLE @@ -123,7 +135,7 @@ MECHA_R_ARM = 1, MECHA_UTILITY = 4, MECHA_POWER = 1, - MECHA_ARMOR = 4, + MECHA_ARMOR = 0, ) equip_by_category = list( MECHA_L_ARM = null, @@ -134,13 +146,22 @@ ) destruction_sleep_duration = 20 +/datum/armor/mecha_mauler + melee = 80 + bullet = 60 + laser = 50 + energy = 30 + bomb = 50 + fire = 100 + acid = 100 + /obj/vehicle/sealed/mecha/marauder/mauler/loaded equip_by_category = list( MECHA_L_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg, MECHA_R_ARM = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack, MECHA_UTILITY = list(/obj/item/mecha_parts/mecha_equipment/radio, /obj/item/mecha_parts/mecha_equipment/air_tank/full, /obj/item/mecha_parts/mecha_equipment/thrusters/ion), MECHA_POWER = list(), - MECHA_ARMOR = list(/obj/item/mecha_parts/mecha_equipment/armor/antiproj_armor_booster), + MECHA_ARMOR = list(), ) /obj/vehicle/sealed/mecha/marauder/mauler/loaded/Initialize(mapload) diff --git a/code/modules/vending/medical.dm b/code/modules/vending/medical.dm index ad1c63e7e796f..71171e5783773 100644 --- a/code/modules/vending/medical.dm +++ b/code/modules/vending/medical.dm @@ -17,6 +17,7 @@ /obj/item/stack/medical/ointment = 2, /obj/item/stack/medical/suture = 2, /obj/item/stack/medical/bone_gel = 4, + /obj/item/cane/crutch = 2, /obj/item/cane/white = 2, /obj/item/clothing/glasses/eyepatch/medical = 2, /obj/item/storage/box/bandages = 2, @@ -62,6 +63,7 @@ /obj/item/stack/medical/ointment = 0, /obj/item/stack/medical/suture = 1, /obj/item/stack/medical/bone_gel = 1, + /obj/item/cane/crutch = 2, /obj/item/cane/white = 2, /obj/item/clothing/glasses/eyepatch/medical = 2, ) diff --git a/code/modules/wiremod/shell/module.dm b/code/modules/wiremod/shell/module.dm index 9061bac3e300e..14092f5d2c83c 100644 --- a/code/modules/wiremod/shell/module.dm +++ b/code/modules/wiremod/shell/module.dm @@ -271,7 +271,7 @@ SIGNAL_HANDLER var/string_list = list() var/is_deployed = TRUE - for(var/obj/item/part as anything in attached_module.mod.mod_parts) + for(var/obj/item/part as anything in attached_module.mod.get_parts()) if(part.loc == attached_module.mod) is_deployed = FALSE else diff --git a/dependencies.sh b/dependencies.sh index 1eb3b8a34e2ee..f96bc7545e0e6 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -8,7 +8,7 @@ export BYOND_MAJOR=515 export BYOND_MINOR=1637 #rust_g git tag -export RUST_G_VERSION=3.1.0 +export RUST_G_VERSION=3.3.0 #node version export NODE_VERSION=14 diff --git a/html/changelogs/AutoChangeLog-pr-1619.yml b/html/changelogs/AutoChangeLog-pr-1619.yml new file mode 100644 index 0000000000000..774b73919e585 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1619.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - spellcheck: "Removed a reference to Skyrat, and a spelling mistake in the Credits." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27938.yml b/html/changelogs/AutoChangeLog-pr-27938.yml deleted file mode 100644 index ba7b289db9bf8..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27938.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Jane" -delete-after: True -changes: - - image: "Central Command has cut funding to the Mining department, resulting in leather sleeves for the Shaft Miner Explorer Suit rather than the metal plates of before." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27939.yml b/html/changelogs/AutoChangeLog-pr-27939.yml deleted file mode 100644 index c621b47fb4ded..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27939.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "positive viruses are no longer hidden." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27941.yml b/html/changelogs/AutoChangeLog-pr-27941.yml deleted file mode 100644 index 97184a189b219..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27941.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "grungussuss" -delete-after: True -changes: - - qol: "lathes will now print cables coils in packs of 5" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27942.yml b/html/changelogs/AutoChangeLog-pr-27942.yml deleted file mode 100644 index 30009dab8d5ba..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27942.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "Imaginary friend brain trauma works again." - - bugfix: "Imaginary friends can be heard by their hosts from more than a tile away again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27943.yml b/html/changelogs/AutoChangeLog-pr-27943.yml deleted file mode 100644 index 8469071787c5e..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27943.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - spellcheck: "Photo descriptions containing living entities no longer have a pile of unnecessary periods. .. Which they used to have between describing different entities. .. Also removed that additional space they had too sometimes.." - - qol: "Photo descriptions containing living entities have these sub-descriptions split into newlines for ease of reading." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27944.yml b/html/changelogs/AutoChangeLog-pr-27944.yml deleted file mode 100644 index 3eaca27591900..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27944.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "grungussuss" -delete-after: True -changes: - - bugfix: "added missing context tips for atmos canisters" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27945.yml b/html/changelogs/AutoChangeLog-pr-27945.yml deleted file mode 100644 index 7ff6ea2cf2484..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27945.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "GoldenAlpharex" -delete-after: True -changes: - - qol: "Fermenting (wooden) barrels can now be emptied when opened by right-clicking with an empty hand!" - - qol: "Fermenting (wooden) barrels can now be anchored/unanchored using wrenches!" - - qol: "Fermenting (wooden) barrels now have contextual helpers, to show what you need to do at a glance to interact with them." - - code_imp: "Documented a few of the fermenting barrel's variables." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27946.yml b/html/changelogs/AutoChangeLog-pr-27946.yml deleted file mode 100644 index 437a103024a08..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27946.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - balance: "you may not decap people with a plasma cutter" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27947.yml b/html/changelogs/AutoChangeLog-pr-27947.yml deleted file mode 100644 index ef091b725dd6c..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27947.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - balance: "When an AI is alive, on main power, and not SSD its bolts cannot be raised or lowered externally." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27949.yml b/html/changelogs/AutoChangeLog-pr-27949.yml deleted file mode 100644 index 9b5b46c7ad6a8..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27949.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "The NTSS Independence cryogenics thermomachine is now properly hooked up to the cryo loop." - - qol: "The NTSS Independence's medical bay has received improvements. The medibot and the sleeper are upgraded, and advanced surgery equipment has been added." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27950.yml b/html/changelogs/AutoChangeLog-pr-27950.yml deleted file mode 100644 index f11a12bfe25da..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27950.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Melbert" -delete-after: True -changes: - - balance: "Wearing a mask can now prevent you from being spread airborne diseases. Prior, it only stopped you from spreading it yourself." - - balance: "Wearing a mask no longer 100% guarantees you don't spread viruses to others people - it now scales on the masks BIO armor. Get a sterile mask from Medical for max safety." - - balance: "Wearing a mask to stop you from spreading to other people is doubly effective than wearing a mask to prevent spread to yourself - Mask up for the greater good!" - - balance: "Passive airborne virus spread attempts are now done every time you breathe (every eight seconds), rather than every two seconds. The chance of spread is the same, though - it has been scaled up to accommodate." - - code_imp: "Cleaned up a fair bid of airborne-transmission-code. Report any oddities." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27951.yml b/html/changelogs/AutoChangeLog-pr-27951.yml deleted file mode 100644 index 710a2fed8bb6f..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27951.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - balance: "Attack with a pillow now consumes 5 stamina regardless of wielded or not." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27952.yml b/html/changelogs/AutoChangeLog-pr-27952.yml deleted file mode 100644 index 77face68055da..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27952.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "you are now able to cancel the look up/down verbs from anywhere" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27953.yml b/html/changelogs/AutoChangeLog-pr-27953.yml deleted file mode 100644 index 84fe481ced550..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27953.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "ambush spider (should instantly agressive grab) and other giant spiders can now agressively grab" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27954.yml b/html/changelogs/AutoChangeLog-pr-27954.yml deleted file mode 100644 index a1bc0709fb796..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27954.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - rscadd: "You can now flush toilets. You can also put fish in the toilet. And flush them." - - bugfix: "Urinals can no longer be used to delete items." - - bugfix: "Urinals no longer grant infinite urinal cakes." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27955.yml b/html/changelogs/AutoChangeLog-pr-27955.yml deleted file mode 100644 index e6a37f883a7fa..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27955.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Vekter" -delete-after: True -changes: - - rscadd: "Adds an ion law possibility that changes the human status of station pets." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27956.yml b/html/changelogs/AutoChangeLog-pr-27956.yml deleted file mode 100644 index 142f13c089704..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27956.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "xXPawnStarrXx" -delete-after: True -changes: - - rscadd: "Added the Kahraman machines to cargo." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27957.yml b/html/changelogs/AutoChangeLog-pr-27957.yml deleted file mode 100644 index d45182d03e720..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27957.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "Cryo tube respects `NO_DEBRIS_AFTER_DECONSTRUCTION` for the occupants visual contents flags & traits & won't allow hologram/abstract item interactions" - - code_imp: "Cryo has improved attack chain & uses defines for reagent volume rounding" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27958.yml b/html/changelogs/AutoChangeLog-pr-27958.yml deleted file mode 100644 index 7a4fb36efacfd..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27958.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - refactor: "ghetto chem separator has been reworked from scratch. See PR 83275 for details" - - qol: "adds examines & screentips for ghetto chem separator" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27960.yml b/html/changelogs/AutoChangeLog-pr-27960.yml deleted file mode 100644 index 90e61b54db034..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27960.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "Fixed the biogenerator's tabs" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27963.yml b/html/changelogs/AutoChangeLog-pr-27963.yml deleted file mode 100644 index ce5da0331d4cc..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27963.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LT3" -delete-after: True -changes: - - bugfix: "Fixed bug where players could be invisibly attached to the tram forever" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27965.yml b/html/changelogs/AutoChangeLog-pr-27965.yml deleted file mode 100644 index 94f8f9918251e..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27965.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - qol: "Sign language users can now sign in cuffs, but to a very limited degree. They also have more descriptive emotes for questions, exclamations, and a combination of the two." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27966.yml b/html/changelogs/AutoChangeLog-pr-27966.yml deleted file mode 100644 index ea761d607d8dc..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27966.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "Orbit UI icons are no longer scrollable.." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27967.yml b/html/changelogs/AutoChangeLog-pr-27967.yml deleted file mode 100644 index 7dcc462dc1dd3..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27967.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SkyratBot" -delete-after: True -changes: - - bugfix: "COMSIG_ATOM_POST_DIR_CHANGE is now a functional signal" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-27968.yml b/html/changelogs/AutoChangeLog-pr-27968.yml deleted file mode 100644 index 816912d4a0df8..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-27968.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "theselfish" -delete-after: True -changes: - - bugfix: "Blast Helmet's toggled OBJ sprite now exists." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28012.yml b/html/changelogs/AutoChangeLog-pr-28012.yml new file mode 100644 index 0000000000000..71b31ab52349e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28012.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - rscadd: "Janitorial keyrings are now part of every janitor's toolkit instead of just the first one." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28036.yml b/html/changelogs/AutoChangeLog-pr-28036.yml new file mode 100644 index 0000000000000..cdb9d09ec7f02 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28036.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Borg emag module jank when no longer emagged" + - bugfix: "Borg piercing hypospray fail message" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28037.yml b/html/changelogs/AutoChangeLog-pr-28037.yml new file mode 100644 index 0000000000000..f01baf153a10f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28037.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - bugfix: "Ghost Cafe no longer has a security camera." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28039.yml b/html/changelogs/AutoChangeLog-pr-28039.yml new file mode 100644 index 0000000000000..262c93db0ef15 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28039.yml @@ -0,0 +1,4 @@ +author: "MichiRecRoom" +delete-after: True +changes: + - qol: "Personal AI's face display selection is now a radial menu. As a bonus, now you can see what the faces look like before selecting them." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28043.yml b/html/changelogs/AutoChangeLog-pr-28043.yml new file mode 100644 index 0000000000000..05864da778b5e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28043.yml @@ -0,0 +1,5 @@ +author: "SkyratBot" +delete-after: True +changes: + - rscadd: "final destination deathmatch map, loadouts" + - bugfix: "indestructible light tile emits light" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28044.yml b/html/changelogs/AutoChangeLog-pr-28044.yml new file mode 100644 index 0000000000000..ebe5630b197cd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28044.yml @@ -0,0 +1,6 @@ +author: "SkyratBot" +delete-after: True +changes: + - balance: "You can now dodge sneezes" + - balance: "Infectious simple diseases that use sneezes now infect with sneezes and have lowered airborn transmission" + - balance: "Damageless attacks, projectiles, hugs etc no longer drain shields" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28045.yml b/html/changelogs/AutoChangeLog-pr-28045.yml new file mode 100644 index 0000000000000..0bbc484dd59f9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28045.yml @@ -0,0 +1,4 @@ +author: "Rhials" +delete-after: True +changes: + - bugfix: "Only filled graves will impact your mood." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28047.yml b/html/changelogs/AutoChangeLog-pr-28047.yml new file mode 100644 index 0000000000000..a8d16b6ed3f02 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28047.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - rscadd: "New deathmatch modifier: \"Random martial arts\"" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28049.yml b/html/changelogs/AutoChangeLog-pr-28049.yml new file mode 100644 index 0000000000000..d868fcb56b813 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28049.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Fixed borg chargers (especially unpowered ones) constantly draining a borg's cell." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28050.yml b/html/changelogs/AutoChangeLog-pr-28050.yml new file mode 100644 index 0000000000000..5b272befcea4e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28050.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - spellcheck: "Corrected wrench contextual screentip typo for smart fridge" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28052.yml b/html/changelogs/AutoChangeLog-pr-28052.yml new file mode 100644 index 0000000000000..badb6cad3e0dc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28052.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - spellcheck: "Intern announcer no longer has a weird space before the introduction message." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28055.yml b/html/changelogs/AutoChangeLog-pr-28055.yml new file mode 100644 index 0000000000000..910f9f975af0c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28055.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Fixes admin borg panel upgrade functions" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28057.yml b/html/changelogs/AutoChangeLog-pr-28057.yml new file mode 100644 index 0000000000000..e806c2fa683c1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28057.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - qol: "Plexagon Access Management now tells you that you need an ID Trim before applying a Template, rather than silently failing." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28060.yml b/html/changelogs/AutoChangeLog-pr-28060.yml new file mode 100644 index 0000000000000..5d5a52b579fee --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28060.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - admin: "The auto-mute system yells at you harder when you send a bunch of identical messages." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28061.yml b/html/changelogs/AutoChangeLog-pr-28061.yml new file mode 100644 index 0000000000000..7e333a147b8d3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28061.yml @@ -0,0 +1,4 @@ +author: "Goat" +delete-after: True +changes: + - bugfix: "mobs no longer move during cutscenes" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28062.yml b/html/changelogs/AutoChangeLog-pr-28062.yml new file mode 100644 index 0000000000000..7291414a60a3b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28062.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - bugfix: "Fixed Silicons not being able to (un)lock Air Alarms." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28063.yml b/html/changelogs/AutoChangeLog-pr-28063.yml new file mode 100644 index 0000000000000..491628682fc98 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28063.yml @@ -0,0 +1,4 @@ +author: "SkyratBot" +delete-after: True +changes: + - sound: "added operating sounds for wrench, wirecutter and crowbar" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-28066.yml b/html/changelogs/AutoChangeLog-pr-28066.yml new file mode 100644 index 0000000000000..5e509afdadbae --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-28066.yml @@ -0,0 +1,4 @@ +author: "Rhials" +delete-after: True +changes: + - rscadd: "Adds some more station-trait dependent pulsar star reports. Keep an eye on that roundstart command report!" \ No newline at end of file diff --git a/html/changelogs/archive/2024-06.yml b/html/changelogs/archive/2024-06.yml index ac89adc35f3d6..842873235b452 100644 --- a/html/changelogs/archive/2024-06.yml +++ b/html/changelogs/archive/2024-06.yml @@ -37,3 +37,265 @@ - code_imp: Can now use kink toys on cyborgs xXPawnStarrXx: - bugfix: fixed an erroneous path +2024-06-03: + GoldenAlpharex: + - qol: Fermenting (wooden) barrels can now be emptied when opened by right-clicking + with an empty hand! + - qol: Fermenting (wooden) barrels can now be anchored/unanchored using wrenches! + - qol: Fermenting (wooden) barrels now have contextual helpers, to show what you + need to do at a glance to interact with them. + - code_imp: Documented a few of the fermenting barrel's variables. + Jane: + - image: Central Command has cut funding to the Mining department, resulting in + leather sleeves for the Shaft Miner Explorer Suit rather than the metal plates + of before. + LT3: + - bugfix: Fixed bug where players could be invisibly attached to the tram forever + Melbert: + - balance: Wearing a mask can now prevent you from being spread airborne diseases. + Prior, it only stopped you from spreading it yourself. + - balance: Wearing a mask no longer 100% guarantees you don't spread viruses to + others people - it now scales on the masks BIO armor. Get a sterile mask from + Medical for max safety. + - balance: Wearing a mask to stop you from spreading to other people is doubly effective + than wearing a mask to prevent spread to yourself - Mask up for the greater + good! + - balance: Passive airborne virus spread attempts are now done every time you breathe + (every eight seconds), rather than every two seconds. The chance of spread is + the same, though - it has been scaled up to accommodate. + - code_imp: Cleaned up a fair bid of airborne-transmission-code. Report any oddities. + - balance: Re-ups the cost of the new ling adrenal ability + - bugfix: Patches an exploit with new ling adrenal ability + SkyratBot: + - bugfix: Imaginary friend brain trauma works again. + - bugfix: Imaginary friends can be heard by their hosts from more than a tile away + again. + - bugfix: Cryo tube respects `NO_DEBRIS_AFTER_DECONSTRUCTION` for the occupants + visual contents flags & traits & won't allow hologram/abstract item interactions + - code_imp: Cryo has improved attack chain & uses defines for reagent volume rounding + - rscadd: Added crutches! Wooden ones can be made with wood. Medical ones can be + bought from the medvendor. + - rscadd: Crutches will reduce slowdown from missing a leg by 60%, and they will + remove the limping from fractured bones. (canes do that now too) They're also + a fairly decent bludgeon. However, they do nothing if both legs are cut off. + - refactor: Gondolas (including gondola pods) are now basic mobs. + - bugfix: Fixed some borg modules just being constantly eaten up by borgs even when + they shouldn't allow duplicates + - refactor: Borg module code now has better handling for adding/removing items, + and to prevent duplicate module usage (Unless one wishes to override the behaviour. + - qol: Sign language users can now sign in cuffs, but to a very limited degree. + They also have more descriptive emotes for questions, exclamations, and a combination + of the two. + - bugfix: Fixed the biogenerator's tabs + - balance: When an AI is alive, on main power, and not SSD its bolts cannot be raised + or lowered externally. + - rscadd: You can now flush toilets. You can also put fish in the toilet. And flush + them. + - bugfix: Urinals can no longer be used to delete items. + - bugfix: Urinals no longer grant infinite urinal cakes. + - bugfix: Made the anxious zipzap accessible. + - spellcheck: Photo descriptions containing living entities no longer have a pile + of unnecessary periods. .. Which they used to have between describing different + entities. .. Also removed that additional space they had too sometimes.. + - qol: Photo descriptions containing living entities have these sub-descriptions + split into newlines for ease of reading. + - balance: The various mining related suits now have consistent suit storage. Try + putting a knife into your explorer suit's suit storage today! + - balance: Bone armor work similarly to explorer suits, with similar armor values + and options to upgrade their parts. However, they use bone talismans instead + of goliath hides to upgrade. Magic? Just believing really strongly that the + drake is hitting you slightly less hard because of the talismans? You be the + judge. + - balance: Goliath cloaks come fully upgraded. However... + - balance: The recipes for bone armor and goliath cloaks are slightly different. + Particularly goliath cloaks, which need a lot more dead goliaths to make. Sorry. + - balance: Mining MODsuits achieve at maximum ash accretion the same amount of melee + armor as an upgraded explorer suit. + - balance: These various suits also consistently have wound armor. + - bugfix: Berserker armor properly hides underclothing and hair. + - balance: Berserker armor pieces can absorb drake armor to gain their enhanced + protection. Become the warrior of Khorne you've always wanted to be. + - balance: Berserker rage now halves brute damage rather than just adding Melee + Armor to you and your squishy body. + - qol: Berserker and H.E.C.K. helmets can be used for internals. + - bugfix: ambush spider (should instantly agressive grab) and other giant spiders + can now agressively grab + - bugfix: positive viruses are no longer hidden. + - bugfix: Orbit UI icons are no longer scrollable.. + - balance: 'Floor diseases cures are now common chemicals: Milk, Chlorine, Space + Cleaner' + - balance: Attack with a pillow now consumes 5 stamina regardless of wielded or + not. + - bugfix: COMSIG_ATOM_POST_DIR_CHANGE is now a functional signal + - balance: you may not decap people with a plasma cutter + - bugfix: The NTSS Independence cryogenics thermomachine is now properly hooked + up to the cryo loop. + - qol: The NTSS Independence's medical bay has received improvements. The medibot + and the sleeper are upgraded, and advanced surgery equipment has been added. + - bugfix: you are now able to cancel the look up/down verbs from anywhere + - refactor: ghetto chem separator has been reworked from scratch. See PR 83275 for + details + - qol: adds examines & screentips for ghetto chem separator + Vekter: + - rscadd: Adds an ion law possibility that changes the human status of station pets. + grungussuss: + - qol: lathes will now print cables coils in packs of 5 + - bugfix: added missing context tips for atmos canisters + theselfish: + - bugfix: Blast Helmet's toggled OBJ sprite now exists. + xXPawnStarrXx: + - rscadd: Added the Kahraman machines to cargo. +2024-06-05: + Goat: + - bugfix: meta's cargo lobby and mining maintenance APCs is now connected to the + power line + Jane: + - balance: Spider Breachers and Vipers have swapped castes. Breachers come from + Enriched Eggs while Vipers come from Abnormals! Breachers can no longer survive + in spaced rooms/temperatures. The Nurse wraps wounds faster, but with less damage + healed per wrap. + Melbert: + - sound: Boiling soup now makes a sound. + PapaMichael: + - spellcheck: Nukie uplinks no longer claim to have nonexistent "Tesla Energy Relays" + SkyratBot: + - qol: Failing to hit someone with a proto-kinetic crusher one-handedly no longer + force drops everything in your hands. + - bugfix: Status displays should now no longer sporadically randomly break when + in the custom message mode + - qol: AI's jump to AI Core button works while on backup power (likely when needed + most). + - bugfix: fixes touching a crutch permanently crippling you + - bugfix: fixes crutches giving permanent speedboosts even when dropped + - qol: The memories for Smoker and Alcoholic now actually mention the preferred + brand. + - bugfix: A tiny fan was added to Tramstation's disposal room under the blast doors. + No more accidental depressurizations. + - bugfix: fixed being able to confirm cargo orders from cargo request console (and, + probably, from PDAs) + - spellcheck: Changed grammar in cat_house.dm + Tera: + - bugfix: Fix artistic module not installable + - qol: Made artistic module accessible at round start for any borg module +2024-06-07: + GoldenAlpharex: + - rscadd: Added Biomes capabilities to the Cave Generator, to allow for procedurally-placed + biomes to be introduced in cave generation. This feature is not currently used + on any map, but the tools are all there for anyone with the motivation to add + biomes to any cave-generating area, like Lavaland and Ice Box. + - code_imp: Biomes can now affect features (which are usually structures), on top + of flora and fauna. + LT3: + - balance: Doubled number of assignable wildcard slots on grey ID cards + - balance: Doubled number of assignable wildcard slots on silver ID cards + - balance: Doubled number of assignable wildcard slots on agent/chameleon ID cards + - qol: Icebox's service hall has a disposal unit again + Majkl-J: + - rscadd: Scrubbing tools and cellulose now clean puddles + - qol: The mop is now faster at cleaning puddles, making it not as fiddly to use + - bugfix: fixes runtime with empty liquid pools + - bugfix: fixes liquid pools staying after floor updates to space + - code_imp: Minor improvements of overall liquid code, with more comments and less + single letter vars + NullDagaf: + - rscadd: watchers can now drop a new trophy + Rhials: + - balance: cultist shades can no longer contribute to rune invocation until they've + been out of their soulstone for a minute. Put them in a shell for God's sake! + - code_imp: sweeps up cultist antag datum code into its own subfolder. + - code_imp: cult shades now have their own antag datum. + - bugfix: constructs now properly clear the cultist antag datum and transfer the + mind slightly earlier. + - admin: Admins can now reroll random events into something else. + SkyratBot: + - bugfix: RLD glowsticks actually glow again. + - image: New icons for berserker, godslayer and adamantine armor. Removes the old + icons. + - qol: Disgust vomit knocks you down rather than stunning you. + - rscdel: Mitogen Metabolism Factor knocks you down rather than stunning you. + - balance: Mutadone restores your originally monkey status, rather than always turning + monkeys into humans + - bugfix: Metastation's vault is now connected to the power grid + - bugfix: curator whip will no longer disarm when parried + - qol: 'Swabbing the clown''s stamp also gives clown cells. + + :cl:' + - bugfix: COMSIG_ATOM_POST_DIR_CHANGE should ACTUALLY work now + - balance: Corrosive slime left behind after a slime fails to eat you can be scraped + off with your hands, or shaken off in some other way, by clicking on the debuff. + This is slower and less effective than washing it off using water. + - refactor: honkbots are now basic mobs, please report any bugs + - rscadd: honkbots will try to slip people on banana peels + - qol: Coffee types are overall more consistent, causing jittering only from the + overdose effect. + - bugfix: Pumpkin lattes will actually work like coffee. + - bugfix: Pre-Loaded Syndicate Intellicard AI's no longer appear in PDA messenger. + - bugfix: Drake empowerment for berserker armor now uses valuable drake remains, + made from ashdrake hides and bones. + - rscadd: Drake armor is made use drake remains to construct. (This is a net neutral + to the previous recipe) + - bugfix: Fixes paradox clones using a different voice from the owner. + - bugfix: When implanting functional wings into a new body, they will actually be + able to use said wings now. + - qol: Cyborgs on AI statpanel now have jules energy format. + - bugfix: autolathes don't hang when printing items in areas without apc or if it + runs out of materials mid printing + - bugfix: Using the 'ESC' key on your keyboard to unbind a key in the keybindings + preferences menu should now work as expected. This should also be fixed for + people in a variety of other spots too. + - balance: cult stun gets weaker when they get red eyes and later more when they + have halos + - code_imp: crab17 telegraph now uses animated spinning telegraph circle instead + of sniper scope button + - rscadd: A unique kind of mob is created when a Monkey is infested by a Legion. + SpaceLoveSs13: + - image: Mech sprites are now back to what they used to be + grungussuss: + - sound: frog sounds will no longer explode your ears +2024-06-08: + LT3: + - bugfix: Fixed timing issue where tram crossing signals would be out of sync with + the moving tram + - bugfix: Tram crossing signals consistently show green when safe, blue when broken + - bugfix: Tram crossing signals show red instead of yellow when degraded + Melbert: + - bugfix: Fix some modifiers to do after speed (sanity, midas gun) stacking when + they shouldn't + ShizCalev: + - bugfix: Syndicate AI can no longer be selected via the station law upload console. + - bugfix: Non-syndicate borgs can no longer accidentally be slaved to syndicate + AI by pulsing their AI wires. + - bugfix: Syndicate borgs can no longer be slaved to the station AI by pulsing their + AI wires. + - bugfix: Syndicate operatives onboard the station can no longer end up with an + objective to destroy their own syndicate AI. + SkyratBot: + - bugfix: some missing modsuit (un)sealing messages should no longer be missing + - bugfix: MOD circuit adapter core deployed parts output should work again + - bugfix: Modsuit painter works again + - qol: more examines & screentips for plumbing machinery + - qol: plumbing grinder has a grind/juice mode which be toggled by hand + - code_imp: improved attack chain for RPLD & plumbing grinder + - bugfix: You can deconstruct the plumbing grinder with the RPLD + - bugfix: You can attack the plumbing grinder with any item in combat mode without + getting that item consumed + - bugfix: You cannot grind abstract/ hologram items in the plumbing grinder + - bugfix: growing vat now uses the correct layer selected on rapid plumbing device + - qol: you now don't need to weld a closet to install/uninstall electronics/card + readers. + - bugfix: 'Tool-based flashes (read: from welders) are no longer incorrectly locked + at flash level 1. Wear proper PPE!' + - rscadd: You may choose a color preference for your blindfold with the blindness + quirk. + - bugfix: Fixes the brig cell timer adjustment not working correctly on live timers. + - refactor: modsuits have been refactored if you see bugs report them + - bugfix: admin cargo tech modsuit outfit now works correctly + - bugfix: Bubblegum can no longer melee you while using his charge abilities. + - balance: Antag/Centcom mechs now have top notch un-upgradeable armor out of the + box. You can't add armor to centcom or nukie mechs anymore, but their default + armor rating is a lot higher. + - bugfix: The armor plate component only adds the prefix once. + projectkepler-ru: + - rscadd: Security's funding has been increased for NTSS Blueshift, and they have + received an additional mecha equipment for their trouble + - bugfix: the blueshift brig locker not being set correctly diff --git a/icons/mob/clothing/head/helmet.dmi b/icons/mob/clothing/head/helmet.dmi index ad489609d983b..8b29c935f5ea7 100644 Binary files a/icons/mob/clothing/head/helmet.dmi and b/icons/mob/clothing/head/helmet.dmi differ diff --git a/icons/mob/clothing/suits/armor.dmi b/icons/mob/clothing/suits/armor.dmi index 744609ac7793d..eb7a525e4b78f 100644 Binary files a/icons/mob/clothing/suits/armor.dmi and b/icons/mob/clothing/suits/armor.dmi differ diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi index d1ac470b093ff..dc9cb6e9866c5 100644 Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi index 8c18a06de3a24..c694a765520d3 100644 Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ diff --git a/icons/mob/mech_construction.dmi b/icons/mob/mech_construction.dmi index f26dbe17fd036..b7b54e3f70e85 100644 Binary files a/icons/mob/mech_construction.dmi and b/icons/mob/mech_construction.dmi differ diff --git a/icons/mob/mecha.dmi b/icons/mob/mecha.dmi index e4888cbf462e8..f6dcbdec2b7ee 100644 Binary files a/icons/mob/mecha.dmi and b/icons/mob/mecha.dmi differ diff --git a/icons/mob/simple/icemoon/icemoon_monsters.dmi b/icons/mob/simple/icemoon/icemoon_monsters.dmi index 6b05cf64580a3..3e53c0a971228 100644 Binary files a/icons/mob/simple/icemoon/icemoon_monsters.dmi and b/icons/mob/simple/icemoon/icemoon_monsters.dmi differ diff --git a/icons/mob/simple/lavaland/lavaland_monsters.dmi b/icons/mob/simple/lavaland/lavaland_monsters.dmi index ffcfb04cbeb5d..3c1d6e9ff6f90 100644 Binary files a/icons/mob/simple/lavaland/lavaland_monsters.dmi and b/icons/mob/simple/lavaland/lavaland_monsters.dmi differ diff --git a/icons/obj/clothing/head/helmet.dmi b/icons/obj/clothing/head/helmet.dmi index 47dd36c382ef9..4d43b542051fc 100644 Binary files a/icons/obj/clothing/head/helmet.dmi and b/icons/obj/clothing/head/helmet.dmi differ diff --git a/icons/obj/clothing/suits/armor.dmi b/icons/obj/clothing/suits/armor.dmi index 39317e1368535..0484cf060d033 100644 Binary files a/icons/obj/clothing/suits/armor.dmi and b/icons/obj/clothing/suits/armor.dmi differ diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index b4617915e86ed..c1fcad67b2b64 100644 Binary files a/icons/obj/stack_objects.dmi and b/icons/obj/stack_objects.dmi differ diff --git a/icons/obj/weapons/guns/projectiles.dmi b/icons/obj/weapons/guns/projectiles.dmi index b4056f661b8d3..120a4c12cd3d9 100644 Binary files a/icons/obj/weapons/guns/projectiles.dmi and b/icons/obj/weapons/guns/projectiles.dmi differ diff --git a/icons/obj/weapons/staff.dmi b/icons/obj/weapons/staff.dmi index da97e484df966..2d1460cf7e982 100644 Binary files a/icons/obj/weapons/staff.dmi and b/icons/obj/weapons/staff.dmi differ diff --git a/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm b/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm new file mode 100644 index 0000000000000..39a80eaa57415 --- /dev/null +++ b/modular_skyrat/master_files/code/datums/status_effects/debuffs/debuffs.dm @@ -0,0 +1,36 @@ +/datum/status_effect/crusher_mark + id = "crusher_mark" + duration = 300 //if you leave for 30 seconds you lose the mark, deal with it + status_type = STATUS_EFFECT_MULTIPLE + alert_type = null + var/mutable_appearance/marked_underlay + var/datum/component/kinetic_crusher/hammer_synced + +/datum/status_effect/crusher_mark/on_creation(mob/living/new_owner, obj/item/kinetic_crusher/new_hammer_synced) + hammer_synced = new_hammer_synced + return ..() + +/datum/status_effect/crusher_mark/on_apply() + if(owner.mob_size >= MOB_SIZE_LARGE) + marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2") + marked_underlay.pixel_x = -owner.pixel_x + marked_underlay.pixel_y = -owner.pixel_y + + var/obj/item/crusher_trophy/watcher_eye/eye = locate() in hammer_synced.stored_trophies + if(eye) //we must do this here as adding (and deleting!) to atom.underlays works by value, not reference + marked_underlay.icon_state = "shield-grey" + marked_underlay.color = eye.used_color + + owner.underlays += marked_underlay + return TRUE + return FALSE + +/datum/status_effect/crusher_mark/Destroy() + hammer_synced = null + owner?.underlays -= marked_underlay + QDEL_NULL(marked_underlay) + return ..() + +//we will only clear ourselves if the crusher is the one that owns us. +/datum/status_effect/crusher_mark/before_remove(datum/component/kinetic_crusher/attacking_hammer) + return (attacking_hammer == hammer_synced) diff --git a/modular_skyrat/master_files/code/game/objects/items/dyekit.dm b/modular_skyrat/master_files/code/game/objects/items/dyekit.dm index b324b8286fe1f..37645e35828f5 100644 --- a/modular_skyrat/master_files/code/game/objects/items/dyekit.dm +++ b/modular_skyrat/master_files/code/game/objects/items/dyekit.dm @@ -43,7 +43,7 @@ if(!beard_or_hair || !user.can_perform_action(src, NEED_DEXTERITY)) return - var/list/choices = beard_or_hair == "Hair" ? GLOB.hair_gradients_list : GLOB.facial_hair_gradients_list + var/list/choices = beard_or_hair == "Hair" ? SSaccessories.hair_gradients_list : SSaccessories.facial_hair_gradients_list var/new_grad_style = tgui_input_list(usr, "Choose a color pattern:", "Dye Spray", choices) if(!new_grad_style || !user.can_perform_action(src, NEED_DEXTERITY)) return diff --git a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm index 234ad65a91692..f67f5d45b7763 100644 --- a/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm +++ b/modular_skyrat/master_files/code/modules/antagonists/traitor/objectives/kill_pet.dm @@ -16,7 +16,7 @@ // Non-heads like the warden, these are automatically medium-risk at minimum // They are also the only two modular additions so far JOB_ROBOTICIST = /mob/living/basic/pet/dog/corgi/borgi, - JOB_STATION_ENGINEER = /mob/living/simple_animal/pet/poppy, + JOB_STATION_ENGINEER = /mob/living/basic/pet/poppy, ) // This variable is for the emag E-N objective. The obj details are below the next block @@ -29,7 +29,7 @@ return FALSE // Dust Poppy the safety inspector - if(istype(target_pet, /mob/living/simple_animal/pet/poppy)) + if(istype(target_pet, /mob/living/basic/pet/poppy)) name = "Dust the engineering department's esteemed safety inspector and beloved pet, Poppy" description = "A couple of troublemakers in the engineering department have spilled the milk, make them and their colleagues pay for the consequences by throwing Poppy the Safety Inspector into the supermatter engine " telecrystal_reward = 4 diff --git a/modular_skyrat/master_files/code/modules/client/preferences.dm b/modular_skyrat/master_files/code/modules/client/preferences.dm index 52a2284019235..da1f0e282de66 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences.dm @@ -66,7 +66,7 @@ /datum/preferences/proc/print_bodypart_change_line(key) var/acc_name = mutant_bodyparts[key][MUTANT_INDEX_NAME] var/shown_colors = 0 - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][acc_name] + var/datum/sprite_accessory/SA = SSaccessories.sprite_accessories[key][acc_name] var/dat = "" if(SA.color_src == USE_MATRIXED_COLORS) shown_colors = 3 @@ -85,7 +85,7 @@ /datum/preferences/proc/reset_colors() for(var/key in mutant_bodyparts) - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/SA = SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] if(SA.always_color_customizable) continue mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) @@ -120,13 +120,13 @@ // Remove all "extra" accessories for(var/key in mutant_bodyparts) - if(!GLOB.sprite_accessories[key]) // That accessory no longer exists, remove it + if(!SSaccessories.sprite_accessories[key]) // That accessory no longer exists, remove it mutant_bodyparts -= key continue if(!GLOB.default_mutant_bodyparts[pref_species.name][key]) mutant_bodyparts -= key continue - if(!GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]]) // The individual accessory no longer exists + if(!SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]]) // The individual accessory no longer exists mutant_bodyparts[key][MUTANT_INDEX_NAME] = GLOB.default_mutant_bodyparts[pref_species.name[key][MUTANTPART_NAME]] validate_color_keys_for_part(key) // Validate the color count of each accessory that wasnt removed @@ -137,7 +137,7 @@ if(target_bodyparts[key][MUTANTPART_CAN_RANDOMIZE]) SA = random_accessory_of_key_for_species(key, pref_species) else - SA = GLOB.sprite_accessories[key][target_bodyparts[key][MUTANTPART_NAME]] + SA = SSaccessories.sprite_accessories[key][target_bodyparts[key][MUTANTPART_NAME]] var/final_list = list() final_list[MUTANT_INDEX_NAME] = SA.name final_list[MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) @@ -147,7 +147,7 @@ reset_colors() /datum/preferences/proc/validate_color_keys_for_part(key) - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/SA = SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] var/list/colorlist = mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] if(SA.color_src == USE_MATRIXED_COLORS && colorlist.len != 3) mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) diff --git a/modular_skyrat/master_files/code/modules/client/preferences/_preference.dm b/modular_skyrat/master_files/code/modules/client/preferences/_preference.dm index 19cec000446a3..83872abb64fb0 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/_preference.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/_preference.dm @@ -159,11 +159,11 @@ /datum/preference/choiced/mutant_choice/init_possible_values() if(!initial(generate_icons)) - return assoc_to_keys_features(GLOB.sprite_accessories[relevant_mutant_bodypart]) + return assoc_to_keys_features(SSaccessories.sprite_accessories[relevant_mutant_bodypart]) var/list/list_of_accessories = list() - for(var/sprite_accessory_name as anything in GLOB.sprite_accessories[relevant_mutant_bodypart]) - var/datum/sprite_accessory/sprite_accessory = GLOB.sprite_accessories[relevant_mutant_bodypart][sprite_accessory_name] + for(var/sprite_accessory_name as anything in SSaccessories.sprite_accessories[relevant_mutant_bodypart]) + var/datum/sprite_accessory/sprite_accessory = SSaccessories.sprite_accessories[relevant_mutant_bodypart][sprite_accessory_name] list_of_accessories += list("[sprite_accessory.name]" = generate_icon(sprite_accessory)) return list_of_accessories diff --git a/modular_skyrat/master_files/code/modules/client/preferences/clothing.dm b/modular_skyrat/master_files/code/modules/client/preferences/clothing.dm index f542e867fc6f2..827ec90b6ac2e 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/clothing.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/clothing.dm @@ -44,7 +44,7 @@ should_generate_icons = TRUE /datum/preference/choiced/bra/init_possible_values() - return assoc_to_keys_features(GLOB.bra_list) + return assoc_to_keys_features(SSaccessories.bra_list) /datum/preference/choiced/bra/icon_for(value) var/static/icon/body @@ -58,7 +58,7 @@ var/icon/icon_with_bra = icon(body) if (value != "Nude") - var/datum/sprite_accessory/accessory = GLOB.bra_list[value] + var/datum/sprite_accessory/accessory = SSaccessories.bra_list[value] icon_with_bra.Blend(icon(accessory.icon, accessory.icon_state), ICON_OVERLAY) icon_with_bra.Crop(10, 11, 22, 23) // SKYRAT EDIT CHANGE : ORIGINAL - icon_with_undershirt.Crop(9, 9, 23, 23) diff --git a/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm b/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm index 3612f27243ccb..9f7926b9795ee 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm @@ -71,7 +71,7 @@ return initial(default_accessory_type.name) /datum/preference/choiced/genital/init_possible_values() - return assoc_to_keys_features(GLOB.sprite_accessories[relevant_mutant_bodypart]) + return assoc_to_keys_features(SSaccessories.sprite_accessories[relevant_mutant_bodypart]) /datum/preference/toggle/genital_skin_tone category = PREFERENCE_CATEGORY_SECONDARY_FEATURES @@ -83,7 +83,7 @@ /datum/preference/toggle/genital_skin_tone/is_accessible(datum/preferences/preferences) var/passed_initial_check = ..(preferences) var/part_name = preferences.read_preference(genital_pref_type) - var/datum/sprite_accessory/genital/accessory = GLOB.sprite_accessories[relevant_mutant_bodypart]?[part_name] + var/datum/sprite_accessory/genital/accessory = SSaccessories.sprite_accessories[relevant_mutant_bodypart]?[part_name] if(!accessory?.factual || !accessory.has_skintone_shading) return FALSE var/allowed = preferences.read_preference(/datum/preference/toggle/allow_mismatched_parts) diff --git a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm index 36ebdea648665..906a27fe61ade 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm @@ -834,8 +834,8 @@ var/icon/pod_head = icon('icons/mob/human/bodyparts_greyscale.dmi', "pod_head_m") pod_head.Blend(COLOR_GREEN, ICON_MULTIPLY) - for (var/pod_name in GLOB.pod_hair_list) - var/datum/sprite_accessory/pod_hair/pod_hair = GLOB.pod_hair_list[pod_name] + for (var/pod_name in SSaccessories.pod_hair_list) + var/datum/sprite_accessory/pod_hair/pod_hair = SSaccessories.pod_hair_list[pod_name] if(pod_hair.locked) continue diff --git a/modular_skyrat/master_files/code/modules/client/preferences/scream.dm b/modular_skyrat/master_files/code/modules/client/preferences/scream.dm index 1c1413318aaeb..93d7361a1687a 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/scream.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/scream.dm @@ -4,10 +4,10 @@ savefile_key = "character_scream" /datum/preference/choiced/scream/init_possible_values() - return assoc_to_keys(GLOB.scream_types) + return assoc_to_keys(SSaccessories.scream_types) /datum/preference/choiced/scream/apply_to_human(mob/living/carbon/human/target, value) - var/scream_id = GLOB.scream_types[value] + var/scream_id = SSaccessories.scream_types[value] if(scream_id) var/datum/scream_type/scream_type = new scream_id target.selected_scream = scream_type diff --git a/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm index cc88bc9fe566d..0dd2daddc1076 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm @@ -11,7 +11,7 @@ /datum/preference/choiced/digitigrade_legs/init_possible_values() - return assoc_to_keys_features(GLOB.sprite_accessories["legs"]) + return assoc_to_keys_features(SSaccessories.sprite_accessories["legs"]) /datum/preference/choiced/digitigrade_legs/is_accessible(datum/preferences/preferences) return ..() && is_usable(preferences) diff --git a/modular_skyrat/master_files/code/modules/jobs/job_types/janitor.dm b/modular_skyrat/master_files/code/modules/jobs/job_types/janitor.dm deleted file mode 100644 index 37f057751422b..0000000000000 --- a/modular_skyrat/master_files/code/modules/jobs/job_types/janitor.dm +++ /dev/null @@ -1,12 +0,0 @@ -#define MAX_ACCESS_KEYS 3 - -/datum/outfit/job/janitor/pre_equip(mob/living/carbon/human/human_equipper, visuals_only) - . = ..() - - var/access_keys = 0 - for(var/obj/item/access_key/jani_gear in GLOB.janitor_devices) - access_keys++ - if(access_keys < MAX_ACCESS_KEYS && !visuals_only) - backpack_contents += list(/obj/item/access_key) - -#undef MAX_ACCESS_KEYS diff --git a/modular_skyrat/master_files/code/modules/mining/equipment/explorer_gear.dm b/modular_skyrat/master_files/code/modules/mining/equipment/explorer_gear.dm index 74fa8759d5be6..bb16710618700 100644 --- a/modular_skyrat/master_files/code/modules/mining/equipment/explorer_gear.dm +++ b/modular_skyrat/master_files/code/modules/mining/equipment/explorer_gear.dm @@ -54,7 +54,7 @@ /obj/item/clothing/suit/hifl_suit/Initialize(mapload) . = ..() - AddComponent(/datum/component/armor_plate, _maxamount = 1, _upgrade_item = /obj/item/stack/sheet/animalhide/ashdrake) //how dare i assume we have sane argument names + AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/stack/sheet/animalhide/ashdrake) //how dare i assume we have sane argument names AddComponent(/datum/component/toggle_attached_clothing, \ deployable_type = /obj/item/clothing/mask/hifl, \ equipped_slot = ITEM_SLOT_MASK, \ @@ -104,4 +104,4 @@ /obj/item/clothing/mask/hifl/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_NODROP, type) //closest thing to "facehugger protection" you can have on masks, but jank as FUCK - AddComponent(/datum/component/armor_plate, _maxamount = 1, _upgrade_item = /obj/item/stack/sheet/animalhide/ashdrake) + AddComponent(/datum/component/armor_plate, maxamount = 1, upgrade_item = /obj/item/stack/sheet/animalhide/ashdrake) diff --git a/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm index e1e34e082807f..4b8f3ae158075 100644 --- a/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm +++ b/modular_skyrat/master_files/code/modules/mining/equipment/kinetic_crusher.dm @@ -194,3 +194,33 @@ var/datum/component/two_handed/two_handed = crusher.GetComponent(/datum/component/two_handed) two_handed?.force_wielded *= 0.5 + + +/obj/item/crusher_trophy/watcher_eye + name = "watcher eye" + desc = "An eye ripped out from some unfortunate watcher's eyesocket. Suitable as a trophy for a kinetic crusher." + icon = 'modular_skyrat/master_files/icons/obj/artifacts.dmi' + icon_state = "watcher_eye" + denied_type = /obj/item/crusher_trophy/watcher_eye + var/used_color = "#ff7777" //gay by default + +/obj/item/crusher_trophy/watcher_eye/effect_desc() + return "very pretty colors to imbue the destabilizer shots" + +/obj/item/crusher_trophy/watcher_eye/attack_self(mob/user, modifiers) + var/chosen_color = input(user, "Pick a new color", "[src]", used_color) as color|null + if(chosen_color) + used_color = chosen_color + to_chat(user, span_notice("You recolor [src].")) + update_appearance() + +/obj/item/crusher_trophy/watcher_eye/update_overlays() + . = ..() + var/mutable_appearance/overlay = mutable_appearance('modular_skyrat/master_files/icons/obj/artifacts.dmi', "watcher_eye_iris") + overlay.color = used_color + . += overlay + +/obj/item/crusher_trophy/watcher_eye/on_projectile_fire(obj/projectile/destabilizer/marker, mob/living/user) + marker.icon = 'modular_skyrat/master_files/icons/obj/weapons/guns/projectiles.dmi' + marker.icon_state = "pulse1_g" + marker.color = used_color diff --git a/modular_skyrat/master_files/code/modules/mob/living/basic/lavaland/watcher/watcher.dm b/modular_skyrat/master_files/code/modules/mob/living/basic/lavaland/watcher/watcher.dm new file mode 100644 index 0000000000000..3102def462ae0 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/mob/living/basic/lavaland/watcher/watcher.dm @@ -0,0 +1,3 @@ +/mob/living/basic/mining/watcher/Initialize(mapload) + . = ..() + AddElement(/datum/element/crusher_loot, trophy_type = /obj/item/crusher_trophy/watcher_eye, drop_mod = 5, drop_immediately = FALSE) diff --git a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/poppy.dm b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/poppy.dm index a3060c8784918..0e87ab8664506 100644 --- a/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/poppy.dm +++ b/modular_skyrat/master_files/code/modules/mob/living/simple_animal/friendly/poppy.dm @@ -1,4 +1,4 @@ -/mob/living/simple_animal/pet/poppy +/mob/living/basic/pet/poppy name = "Poppy the Safety Inspector" desc = "Safety first!" icon = 'modular_skyrat/master_files/icons/mob/pets.dmi' @@ -9,19 +9,13 @@ unique_pet = TRUE maxHealth = 30 health = 30 - speak = list("Hiss!", "HISS!", "Hissss?") speak_emote = list("hisses") - emote_hear = list("hisses.") - emote_see = list("runs in a circle.", "shakes.") - speak_chance = 2 - turns_per_move = 3 /// Is the inspection currently being passed? var/safety_inspection = TRUE /// Are they scared already? var/upset = FALSE /// Are they near the supermatter? var/near_engine = FALSE - animal_species = /mob/living/simple_animal/pet/poppy response_help_continuous = "pets" response_help_simple = "pet" response_disarm_continuous = "gently pushes aside" @@ -40,7 +34,26 @@ light_power = 0.8 light_on = TRUE -/mob/living/simple_animal/pet/poppy/Initialize(mapload) +/datum/ai_controller/basic_controller/poppy + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic, + ) + + ai_traits = STOP_MOVING_WHEN_PULLED + ai_movement = /datum/ai_movement/basic_avoidance + idle_behavior = /datum/idle_behavior/idle_random_walk + + planning_subtrees = list( + /datum/ai_planning_subtree/random_speech/poppy, + ) + +/datum/ai_planning_subtree/random_speech/poppy + speak = list("Hiss!", "HISS!", "Hissss?") + emote_hear = list("hisses.") + emote_see = list("runs in a circle.", "shakes.") + speech_chance = 1 + +/mob/living/basic/pet/poppy/Initialize(mapload) . = ..() add_verb(src, /mob/living/proc/toggle_resting) become_area_sensitive(INNATE_TRAIT) @@ -54,7 +67,7 @@ var/image/cone = lighting_object.cone cone.transform = cone.transform.Translate(0, -16) // adjust the little headlamp -/mob/living/simple_animal/pet/poppy/death() +/mob/living/basic/pet/poppy/death() lose_area_sensitivity(INNATE_TRAIT) set_light_on(FALSE) @@ -66,12 +79,12 @@ // It's just flavor, no tangible punishment return ..() -/mob/living/simple_animal/pet/poppy/revive(full_heal_flags = NONE, excess_healing = 0, force_grab_ghost = FALSE) +/mob/living/basic/pet/poppy/revive(full_heal_flags = NONE, excess_healing = 0, force_grab_ghost = FALSE) become_area_sensitive(INNATE_TRAIT) set_light_on(TRUE) ..() -/mob/living/simple_animal/pet/poppy/update_resting() +/mob/living/basic/pet/poppy/update_resting() . = ..() if(resting) icon_state = "[icon_living]_rest" @@ -81,7 +94,7 @@ set_light_on(TRUE) regenerate_icons() -/mob/living/simple_animal/pet/poppy/Life(seconds_per_tick = SSMOBS_DT, times_fired) +/mob/living/basic/pet/poppy/Life(seconds_per_tick = SSMOBS_DT, times_fired) if(client || stat) return @@ -104,14 +117,14 @@ return ..() -/mob/living/simple_animal/pet/poppy/proc/check_area() +/mob/living/basic/pet/poppy/proc/check_area() SIGNAL_HANDLER if(safety_inspection && !upset) var/list/sm_room = get_area_turfs(/area/station/engineering/supermatter/room) if(src.loc in sm_room) near_engine = TRUE -/mob/living/simple_animal/pet/poppy/proc/panic() +/mob/living/basic/pet/poppy/proc/panic() upset = TRUE icon_state = "poppypossum_aaa" @@ -126,6 +139,6 @@ ) addtimer(CALLBACK(src, PROC_REF(calm_down)), 60 SECONDS) -/mob/living/simple_animal/pet/poppy/proc/calm_down() +/mob/living/basic/pet/poppy/proc/calm_down() upset = FALSE icon_state = initial(icon_state) diff --git a/modular_skyrat/master_files/code/modules/mod/mod_theme.dm b/modular_skyrat/master_files/code/modules/mod/mod_theme.dm index 11cf9fd6ff33e..a1d62013d3fea 100644 --- a/modular_skyrat/master_files/code/modules/mod/mod_theme.dm +++ b/modular_skyrat/master_files/code/modules/mod/mod_theme.dm @@ -115,33 +115,40 @@ /datum/mod_theme/security // Security Officer default_skin = "security" armor_type = /datum/armor/mod_theme_security - skins = list( + variants = list( "security" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/obj/clothing/modsuit/mod_clothing.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/mob/clothing/modsuit/mod_clothing.dmi', - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, UNSEALED_COVER = HEADCOVERSMOUTH, SEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -160,31 +167,38 @@ /datum/mod_theme/safeguard // Head of Security armor_type = /datum/armor/mod_theme_safeguard default_skin = "safeguard" - skins = list( + variants = list( "safeguard" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/obj/clothing/modsuit/mod_clothing.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/master_files/icons/mob/clothing/modsuit/mod_clothing.dmi', - HELMET_FLAGS = list( - UNSEALED_LAYER = null, + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/master_files/code/modules/mod/modules/_module.dm b/modular_skyrat/master_files/code/modules/mod/modules/_module.dm index a130168f9761d..031a166d2edb4 100644 --- a/modular_skyrat/master_files/code/modules/mod/modules/_module.dm +++ b/modular_skyrat/master_files/code/modules/mod/modules/_module.dm @@ -29,8 +29,11 @@ // Set the retracts_into WEAKREF to mod.helmet, mod.chestplate, mod.boots, or mod.gauntlets as desired in the on_install proc just like shown below /obj/item/mod/module/visor/on_install() . = ..() - retracts_into = WEAKREF(mod.helmet) // hide visor module when the helmet is retracted + retracts_into = WEAKREF(mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES)) // hide visor module when the helmet is retracted +/obj/item/mod/module/flashlight/on_install() + . = ..() + retracts_into = WEAKREF(mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK)) // hide visor module when the helmet is retracted /** * Proc that handles the mutable_appearances of the module on the MODsuits @@ -46,11 +49,12 @@ if(mod.wearer) if(is_module_hidden()) // retracted modules can hide parts that aren't usable when inactive return - - if(mod.chestplate && (mod.chestplate.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) && (mod.wearer.bodyshape & BODYSHAPE_DIGITIGRADE)) + var/obj/item/clothing/suit/mod/chestplate = mod.get_part_from_slot(ITEM_SLOT_OCLOTHING) + var/obj/item/clothing/head/mod/helmet = mod.get_part_from_slot(ITEM_SLOT_HEAD) + if(chestplate && (chestplate.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) && (mod.wearer.bodyshape & BODYSHAPE_DIGITIGRADE)) suit_supports_variations_flags |= CLOTHING_DIGITIGRADE_VARIATION - if(mod.helmet && (mod.helmet.supports_variations_flags & CLOTHING_SNOUTED_VARIATION) && mod.wearer.bodyshape & BODYSHAPE_SNOUTED) + if(helmet && (helmet.supports_variations_flags & CLOTHING_SNOUTED_VARIATION) && mod.wearer.bodyshape & BODYSHAPE_SNOUTED) suit_supports_variations_flags |= CLOTHING_SNOUTED_VARIATION is_new_vox = isvoxprimalis(mod.wearer) is_old_vox = isvox(mod.wearer) diff --git a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm index 0181eae08f1c1..3d24c6151f14e 100644 --- a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm +++ b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm @@ -36,6 +36,7 @@ /datum/techweb_node/cyborg/New() design_ids += list( "affection_module", + "borg_upgrade_artistic", ) return ..() @@ -254,7 +255,6 @@ /datum/techweb_node/cyborg_upg_serv/New() design_ids += list( - "borg_upgrade_artistic", "borg_upgrade_botany" ) return ..() diff --git a/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi b/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi index 2eeed09295c11..22f2fe467e68f 100644 Binary files a/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi and b/modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi differ diff --git a/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi b/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi index 5e8552f340cfd..f1d18ff9d1b89 100644 Binary files a/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi and b/modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi differ diff --git a/modular_skyrat/master_files/icons/obj/artifacts.dmi b/modular_skyrat/master_files/icons/obj/artifacts.dmi new file mode 100644 index 0000000000000..f5065ed679181 Binary files /dev/null and b/modular_skyrat/master_files/icons/obj/artifacts.dmi differ diff --git a/modular_skyrat/master_files/icons/obj/staff.dmi b/modular_skyrat/master_files/icons/obj/staff.dmi index e789e519d3beb..9b788c59aba7b 100644 Binary files a/modular_skyrat/master_files/icons/obj/staff.dmi and b/modular_skyrat/master_files/icons/obj/staff.dmi differ diff --git a/modular_skyrat/master_files/icons/obj/weapons/guns/projectiles.dmi b/modular_skyrat/master_files/icons/obj/weapons/guns/projectiles.dmi new file mode 100644 index 0000000000000..29aa0f30fb1d3 Binary files /dev/null and b/modular_skyrat/master_files/icons/obj/weapons/guns/projectiles.dmi differ diff --git a/modular_skyrat/modules/assault_operatives/code/equipment_items/stealth_mod.dm b/modular_skyrat/modules/assault_operatives/code/equipment_items/stealth_mod.dm index bff6ec0ffaa7d..e4874545dd925 100644 --- a/modular_skyrat/modules/assault_operatives/code/equipment_items/stealth_mod.dm +++ b/modular_skyrat/modules/assault_operatives/code/equipment_items/stealth_mod.dm @@ -36,29 +36,39 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "stealth" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/assault_operatives/icons/modsuits/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/assault_operatives/icons/modsuits/wornmod.dmi', HELMET_LAYER = NECK_LAYER, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, + CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -87,7 +97,6 @@ /obj/item/mod/module/magnetic_harness, /obj/item/mod/module/tether, /obj/item/mod/module/holster, - /obj/item/mod/module/status_readout/operational, ) /obj/machinery/suit_storage_unit/industrial/assault_operative diff --git a/modular_skyrat/modules/automapper/code/area_spawn_entries.dm b/modular_skyrat/modules/automapper/code/area_spawn_entries.dm index 8531fd369fdd5..4d08307492a30 100644 --- a/modular_skyrat/modules/automapper/code/area_spawn_entries.dm +++ b/modular_skyrat/modules/automapper/code/area_spawn_entries.dm @@ -13,7 +13,7 @@ /datum/area_spawn/poppy target_areas = list(/area/station/engineering/main, /area/station/engineering/break_room, /area/station/engineering/lobby, /area/station/engineering/supermatter/room) - desired_atom = /mob/living/simple_animal/pet/poppy + desired_atom = /mob/living/basic/pet/poppy // Structures /datum/area_spawn/secmed_locker diff --git a/modular_skyrat/modules/blueshield/code/modsuit/mod_theme.dm b/modular_skyrat/modules/blueshield/code/modsuit/mod_theme.dm index 8f102937faef0..35f22af106b12 100644 --- a/modular_skyrat/modules/blueshield/code/modsuit/mod_theme.dm +++ b/modular_skyrat/modules/blueshield/code/modsuit/mod_theme.dm @@ -25,32 +25,40 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "praetorian" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/blueshield/icons/praetorian.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/blueshield/icons/worn_praetorian.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = null, UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index 4f41e4b970dc4..098f3eb3b59b1 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -340,17 +340,14 @@ /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2) construction_time = 10 SECONDS category = list( - RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SERVICE + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ALL ) /obj/item/borg/upgrade/artistic name = "borg artistic module" - desc = "Allows you to upgrade a service cyborg with tools for creating art." + desc = "Allows you to upgrade a cyborg with tools for creating art." icon_state = "cyborg_upgrade3" - require_model = TRUE - model_type = list(/obj/item/robot_model/service) - model_flags = BORG_MODEL_SERVICE - var/list/items_to_add = list( + items_to_add = list( /obj/item/pen, /obj/item/toy/crayon/spraycan/borg, /obj/item/instrument/guitar, @@ -359,28 +356,6 @@ /obj/item/chisel, ) -/obj/item/borg/upgrade/artistic/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - for(var/item_to_add in items_to_add) - if(locate(item_to_add) in install.model.modules) - install.balloon_alert_to_viewers("already installed!") - return FALSE - else - var/obj/item/module_item = new item_to_add(install.model.modules) - install.model.basic_modules += module_item - install.model.add_module(module_item, FALSE, TRUE) - -/obj/item/borg/upgrade/artistic/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - for(var/item_to_add in items_to_add) - var/obj/item/module_item = locate(item_to_add) in install.model.modules - if (module_item) - install.model.remove_module(module_item, TRUE) - /datum/design/borg_upgrade_botany name = "Botanical Operator Module" id = "borg_upgrade_botany" @@ -399,8 +374,7 @@ require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE - - var/static/list/added_stuff = list( + items_to_add = list( /obj/item/secateurs, /obj/item/cultivator, /obj/item/shovel/spade, @@ -408,27 +382,6 @@ /obj/item/storage/bag/plants ) -/obj/item/borg/upgrade/botany/action(mob/living/silicon/robot/R) - . = ..() - if(!.) - return - - for(var/type in added_stuff) - var/obj/item/added_item = new type(R.model) - R.model.basic_modules += added_item - R.model.add_module(added_item, FALSE, TRUE) - -/obj/item/borg/upgrade/botany/deactivate(mob/living/silicon/robot/R) - . = ..() - if(!.) - return - - for(var/obj/item/module as anything in R.model.modules) - if(!(module.type in added_stuff)) - continue - - R.model.remove_module(module, TRUE) - /* * UNIVERSAL CYBORG UPGRADES */ @@ -551,44 +504,11 @@ desc = "A module that greatly upgrades the ability of borgs to display affection." icon_state = "cyborg_upgrade3" custom_price = 0 + items_to_add = list( + /obj/item/kinky_shocker, + /obj/item/clothing/mask/leatherwhip, + /obj/item/spanking_pad, + /obj/item/tickle_feather, + /obj/item/clothing/erp_leash, + ) -/obj/item/borg/upgrade/dominatrixmodule/action(mob/living/silicon/robot/borg) - . = ..() - if(!.) - return - var/obj/item/kinky_shocker/cur_shocker = locate() in borg.model.modules - if(cur_shocker) - to_chat(usr, span_warning("This unit already has a dominatrix module installed!")) - return FALSE - - var/obj/item/kinky_shocker/shocker = new /obj/item/kinky_shocker() - borg.model.basic_modules += shocker - borg.model.add_module(shocker, FALSE, TRUE) - var/obj/item/clothing/mask/leatherwhip/whipper = new /obj/item/clothing/mask/leatherwhip() - borg.model.basic_modules += whipper - borg.model.add_module(whipper, FALSE, TRUE) - var/obj/item/spanking_pad/spanker = new /obj/item/spanking_pad() - borg.model.basic_modules += spanker - borg.model.add_module(spanker, FALSE, TRUE) - var/obj/item/tickle_feather/tickler = new /obj/item/tickle_feather() - borg.model.basic_modules += tickler - borg.model.add_module(tickler, FALSE, TRUE) - var/obj/item/clothing/erp_leash/leash = new /obj/item/clothing/erp_leash() - borg.model.basic_modules += leash - borg.model.add_module(leash, FALSE, TRUE) - -/obj/item/borg/upgrade/dominatrixmodule/deactivate(mob/living/silicon/robot/borg, user = usr) - . = ..() - if(!.) - return - - for(var/obj/item/kinky_shocker/shocker in borg.model.modules) - borg.model.remove_module(shocker, TRUE) - for(var/obj/item/clothing/mask/leatherwhip/whipper in borg.model.modules) - borg.model.remove_module(whipper, TRUE) - for(var/obj/item/spanking_pad/spanker in borg.model.modules) - borg.model.remove_module(spanker, TRUE) - for(var/obj/item/tickle_feather/tickler in borg.model.modules) - borg.model.remove_module(tickler, TRUE) - for(var/obj/item/clothing/erp_leash/leash in borg.model.modules) - borg.model.remove_module(leash, TRUE) diff --git a/modular_skyrat/modules/contractor/code/items/modsuit/modules.dm b/modular_skyrat/modules/contractor/code/items/modsuit/modules.dm index 646ec92157fee..5f757df2ccd0e 100644 --- a/modular_skyrat/modules/contractor/code/items/modsuit/modules.dm +++ b/modular_skyrat/modules/contractor/code/items/modsuit/modules.dm @@ -12,6 +12,7 @@ incompatible_modules = list(/obj/item/mod/module/baton_holster) cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE + required_slots = list(ITEM_SLOT_GLOVES) /// Have they sacrificed a baton to actually be able to use this? var/eaten_baton = FALSE @@ -89,3 +90,4 @@ active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 device = /obj/item/gun/magic/hook/contractor cooldown_time = 0.5 SECONDS + required_slots = list(ITEM_SLOT_GLOVES) diff --git a/modular_skyrat/modules/contractor/code/items/modsuit/theme.dm b/modular_skyrat/modules/contractor/code/items/modsuit/theme.dm index 83781f7246f3d..6e90636603d09 100644 --- a/modular_skyrat/modules/contractor/code/items/modsuit/theme.dm +++ b/modular_skyrat/modules/contractor/code/items/modsuit/theme.dm @@ -30,32 +30,43 @@ /obj/item/melee/energy/sword, /obj/item/shield/energy, ) - skins = list( + variants = list( "contractor" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/contractor/icons/modsuit.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/contractor/icons/worn_modsuit.dmi', HELMET_LAYER = NECK_LAYER, - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( + UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/modules/customization/__DEFINES/lists.dm b/modular_skyrat/modules/customization/__DEFINES/lists.dm index 6c5d6bf496b08..7f101acb08aba 100644 --- a/modular_skyrat/modules/customization/__DEFINES/lists.dm +++ b/modular_skyrat/modules/customization/__DEFINES/lists.dm @@ -1,4 +1,3 @@ -GLOBAL_LIST_EMPTY(sprite_accessories) GLOBAL_LIST_EMPTY(generic_accessories) GLOBAL_LIST_EMPTY(genetic_accessories) diff --git a/modular_skyrat/modules/customization/__HELPERS/global_lists.dm b/modular_skyrat/modules/customization/__HELPERS/global_lists.dm index d203c1ea80505..564ca6941c33f 100644 --- a/modular_skyrat/modules/customization/__HELPERS/global_lists.dm +++ b/modular_skyrat/modules/customization/__HELPERS/global_lists.dm @@ -1,5 +1,7 @@ /proc/make_skyrat_datum_references() make_sprite_accessory_references() + make_laugh_datum_references() + make_bloopers() // BUBBER EDIT - Bloopers make_default_mutant_bodypart_references() make_body_marking_references() make_body_marking_set_references() @@ -9,14 +11,16 @@ make_augment_references() /proc/make_sprite_accessory_references() + if(isnull(SSaccessories.sprite_accessories)) + SSaccessories.sprite_accessories = list() // Here we build the global list for all accessories for(var/path in subtypesof(/datum/sprite_accessory)) var/datum/sprite_accessory/P = path if(initial(P.key) && initial(P.name)) P = new path() - if(!GLOB.sprite_accessories[P.key]) - GLOB.sprite_accessories[P.key] = list() - GLOB.sprite_accessories[P.key][P.name] = P + if(isnull(SSaccessories.sprite_accessories[P.key])) + SSaccessories.sprite_accessories[P.key] = list() + SSaccessories.sprite_accessories[P.key][P.name] = P if(P.genetic) if(!GLOB.dna_mutant_bodypart_blocks[P.key]) GLOB.dna_mutant_bodypart_blocks[P.key] = GLOB.dna_total_feature_blocks+1 @@ -31,6 +35,15 @@ if(P.generic && !GLOB.generic_accessories[P.key]) GLOB.generic_accessories[P.key] = P.generic +/proc/make_laugh_datum_references() + //Laugh types + GLOB.laugh_types = list() + for(var/spath in subtypesof(/datum/laugh_type)) + var/datum/laugh_type/L = new spath() + GLOB.laugh_types[L.name] = spath + sort_list(GLOB.laugh_types, GLOBAL_PROC_REF(cmp_typepaths_asc)) + + /proc/make_default_mutant_bodypart_references() // Build the global list for default species' mutant_bodyparts for(var/path in subtypesof(/datum/species)) @@ -129,62 +142,73 @@ loadout_list -= loadout_typepath // Underwear - for(var/sprite_name in GLOB.underwear_list) - var/datum/sprite_accessory/sprite_datum = GLOB.underwear_list[sprite_name] + for(var/sprite_name in SSaccessories.underwear_list) + var/datum/sprite_accessory/sprite_datum = SSaccessories.underwear_list[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.underwear_list -= sprite_name + SSaccessories.underwear_list -= sprite_name - for(var/sprite_name in GLOB.underwear_f) - var/datum/sprite_accessory/sprite_datum = GLOB.underwear_f[sprite_name] + for(var/sprite_name in SSaccessories.underwear_f) + var/datum/sprite_accessory/sprite_datum = SSaccessories.underwear_f[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.underwear_f -= sprite_name + SSaccessories.underwear_f -= sprite_name - for(var/sprite_name in GLOB.underwear_m) - var/datum/sprite_accessory/sprite_datum = GLOB.underwear_m[sprite_name] + for(var/sprite_name in SSaccessories.underwear_m) + var/datum/sprite_accessory/sprite_datum = SSaccessories.underwear_m[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.underwear_m -= sprite_name + SSaccessories.underwear_m -= sprite_name // Undershirts - for(var/sprite_name in GLOB.undershirt_list) - var/datum/sprite_accessory/sprite_datum = GLOB.undershirt_list[sprite_name] + for(var/sprite_name in SSaccessories.undershirt_list) + var/datum/sprite_accessory/sprite_datum = SSaccessories.undershirt_list[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.undershirt_list -= sprite_name + SSaccessories.undershirt_list -= sprite_name - for(var/sprite_name in GLOB.undershirt_f) - var/datum/sprite_accessory/sprite_datum = GLOB.undershirt_f[sprite_name] + for(var/sprite_name in SSaccessories.undershirt_f) + var/datum/sprite_accessory/sprite_datum = SSaccessories.undershirt_f[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.undershirt_f -= sprite_name + SSaccessories.undershirt_f -= sprite_name - for(var/sprite_name in GLOB.undershirt_m) - var/datum/sprite_accessory/sprite_datum = GLOB.undershirt_m[sprite_name] + for(var/sprite_name in SSaccessories.undershirt_m) + var/datum/sprite_accessory/sprite_datum = SSaccessories.undershirt_m[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.undershirt_m -= sprite_name + SSaccessories.undershirt_m -= sprite_name // Bras - for(var/sprite_name in GLOB.bra_list) - var/datum/sprite_accessory/sprite_datum = GLOB.bra_list[sprite_name] + for(var/sprite_name in SSaccessories.bra_list) + var/datum/sprite_accessory/sprite_datum = SSaccessories.bra_list[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.bra_list -= sprite_name + SSaccessories.bra_list -= sprite_name - for(var/sprite_name in GLOB.bra_f) - var/datum/sprite_accessory/sprite_datum = GLOB.bra_f[sprite_name] + for(var/sprite_name in SSaccessories.bra_f) + var/datum/sprite_accessory/sprite_datum = SSaccessories.bra_f[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.bra_f -= sprite_name + SSaccessories.bra_f -= sprite_name - for(var/sprite_name in GLOB.bra_m) - var/datum/sprite_accessory/sprite_datum = GLOB.bra_m[sprite_name] + for(var/sprite_name in SSaccessories.bra_m) + var/datum/sprite_accessory/sprite_datum = SSaccessories.bra_m[sprite_name] if(!sprite_datum?.erp_accessory) continue - GLOB.bra_m -= sprite_name + SSaccessories.bra_m -= sprite_name + +//BUBBER EDIT ADDITION BEGIN +// Text bloopers +/proc/make_bloopers() + GLOB.blooper_list = list() + for(var/sound_blooper_path in subtypesof(/datum/blooper)) + var/datum/blooper/bloop = new sound_blooper_path() + GLOB.blooper_list[bloop.id] = sound_blooper_path + if(bloop.allow_random) + GLOB.blooper_random_list[bloop.id] = sound_blooper_path +//BUBBER EDIT END diff --git a/modular_skyrat/modules/customization/__HELPERS/mobs.dm b/modular_skyrat/modules/customization/__HELPERS/mobs.dm index 2707a172fe4cc..e280ce44ae986 100644 --- a/modular_skyrat/modules/customization/__HELPERS/mobs.dm +++ b/modular_skyrat/modules/customization/__HELPERS/mobs.dm @@ -1,7 +1,7 @@ /proc/accessory_list_of_key_for_species(key, datum/species/S, mismatched, ckey) var/list/accessory_list = list() - for(var/name in GLOB.sprite_accessories[key]) - var/datum/sprite_accessory/SP = GLOB.sprite_accessories[key][name] + for(var/name in SSaccessories.sprite_accessories[key]) + var/datum/sprite_accessory/SP = SSaccessories.sprite_accessories[key][name] if(!mismatched && SP.recommended_species && !(S.id in SP.recommended_species)) continue if(SP.ckey_whitelist && !SP.ckey_whitelist[ckey]) @@ -12,7 +12,7 @@ /proc/random_accessory_of_key_for_species(key, datum/species/S, mismatched=FALSE, ckey) var/list/accessory_list = accessory_list_of_key_for_species(key, S, mismatched, ckey) - var/datum/sprite_accessory/SP = GLOB.sprite_accessories[key][pick(accessory_list)] + var/datum/sprite_accessory/SP = SSaccessories.sprite_accessories[key][pick(accessory_list)] if(!SP) CRASH("Cant find random accessory of [key] key, for species [S.id]") return SP @@ -44,13 +44,13 @@ return body_markings /proc/random_bra(gender) - if(!length(GLOB.bra_list)) - init_sprite_accessory_subtypes(/datum/sprite_accessory/bra, GLOB.bra_list, GLOB.bra_m, GLOB.bra_f) + if(!length(SSaccessories.bra_list)) + SSaccessories.init_sprite_accessory_subtypes(/datum/sprite_accessory/bra, SSaccessories.bra_list, SSaccessories.bra_m, SSaccessories.bra_f) switch(gender) if(MALE) - return pick(GLOB.bra_m) + return pick(SSaccessories.bra_m) if(FEMALE) - return pick(GLOB.bra_f) + return pick(SSaccessories.bra_f) else - return pick(GLOB.bra_list) + return pick(SSaccessories.bra_list) diff --git a/modular_skyrat/modules/customization/_globalvars/lists.dm b/modular_skyrat/modules/customization/_globalvars/lists.dm index 9b58e3a10e68b..81ab398951bb3 100644 --- a/modular_skyrat/modules/customization/_globalvars/lists.dm +++ b/modular_skyrat/modules/customization/_globalvars/lists.dm @@ -106,9 +106,3 @@ GLOBAL_LIST_INIT(color_list_ghoul, list( \ )) //Bras -/// Stores all /datum/sprite_accessory/bra indexed by name. -GLOBAL_LIST_EMPTY(bra_list) -/// Stores only the bra names for male-compatible bras. -GLOBAL_LIST_EMPTY(bra_m) -/// Stores only the bra names for female-compatible bras. -GLOBAL_LIST_EMPTY(bra_f) diff --git a/modular_skyrat/modules/customization/datums/dna.dm b/modular_skyrat/modules/customization/datums/dna.dm index e29e403e97b26..c10b8abf27dad 100644 --- a/modular_skyrat/modules/customization/datums/dna.dm +++ b/modular_skyrat/modules/customization/datums/dna.dm @@ -182,8 +182,8 @@ GLOBAL_LIST_EMPTY(total_uf_len_by_block) dna.species.body_markings = dna.body_markings.Copy() var/list/bodyparts_to_add = dna.mutant_bodyparts.Copy() for(var/key in bodyparts_to_add) - if(GLOB.sprite_accessories[key] && bodyparts_to_add[key] && bodyparts_to_add[key][MUTANT_INDEX_NAME]) - var/datum/sprite_accessory/SP = GLOB.sprite_accessories[key][bodyparts_to_add[key][MUTANT_INDEX_NAME]] + if(SSaccessories.sprite_accessories[key] && bodyparts_to_add[key] && bodyparts_to_add[key][MUTANT_INDEX_NAME]) + var/datum/sprite_accessory/SP = SSaccessories.sprite_accessories[key][bodyparts_to_add[key][MUTANT_INDEX_NAME]] if(!SP?.factual) bodyparts_to_add -= key continue @@ -210,13 +210,13 @@ GLOBAL_LIST_EMPTY(total_uf_len_by_block) if(HAS_TRAIT(src, TRAIT_SHAVED)) set_facial_hairstyle("Shaved", update = FALSE) else - var/style = GLOB.facial_hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_FACIAL_HAIRSTYLE_BLOCK), GLOB.facial_hairstyles_list.len)] + var/style = SSaccessories.facial_hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_FACIAL_HAIRSTYLE_BLOCK), SSaccessories.facial_hairstyles_list.len)] set_facial_hairstyle(style, update = FALSE) if(HAS_TRAIT(src, TRAIT_BALD)) set_hairstyle("Bald", update = FALSE) else - var/style = GLOB.hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_HAIRSTYLE_BLOCK), GLOB.hairstyles_list.len)] + var/style = SSaccessories.hairstyles_list[deconstruct_block(get_uni_identity_block(structure, DNA_HAIRSTYLE_BLOCK), SSaccessories.hairstyles_list.len)] set_hairstyle(style, update = FALSE) var/features = dna.unique_features diff --git a/modular_skyrat/modules/customization/game/objects/items/devices/crutch.dm b/modular_skyrat/modules/customization/game/objects/items/devices/crutch.dm index 9377029f96a70..70a846d13d9fe 100644 --- a/modular_skyrat/modules/customization/game/objects/items/devices/crutch.dm +++ b/modular_skyrat/modules/customization/game/objects/items/devices/crutch.dm @@ -6,9 +6,9 @@ inhand_icon_state = "crutch" lefthand_file = 'modular_skyrat/master_files/icons/mob/inhands/melee_lefthand.dmi' righthand_file = 'modular_skyrat/master_files/icons/mob/inhands/melee_righthand.dmi' - custom_materials = list( - /datum/material/iron = SMALL_MATERIAL_AMOUNT * 6, - ) - attack_verb_continuous = list("bludgeons", "whacks", "thrashes") - attack_verb_simple = list("bludgeon", "whack", "thrash") +// stupid DM inheritance, we have to remove our icon overrides for subtypes +/obj/item/cane/crutch/wood + icon = 'icons/obj/weapons/staff.dmi' + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm index 7246999236ced..2bbb5c2c3dbd7 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/preferences_setup.dm @@ -123,13 +123,13 @@ //Remove all "extra" accessories for(var/key in mutant_bodyparts) - if(!GLOB.sprite_accessories[key]) //That accessory no longer exists, remove it + if(!SSaccessories.sprite_accessories[key]) //That accessory no longer exists, remove it mutant_bodyparts -= key continue if(!pref_species.default_mutant_bodyparts[key]) mutant_bodyparts -= key continue - if(!GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]]) //The individual accessory no longer exists + if(!SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]]) //The individual accessory no longer exists mutant_bodyparts[key][MUTANT_INDEX_NAME] = pref_species.default_mutant_bodyparts[key] validate_color_keys_for_part(key) //Validate the color count of each accessory that wasnt removed @@ -140,7 +140,7 @@ if(target_bodyparts[key] == ACC_RANDOM) SA = random_accessory_of_key_for_species(key, pref_species) else - SA = GLOB.sprite_accessories[key][target_bodyparts[key]] + SA = SSaccessories.sprite_accessories[key][target_bodyparts[key]] var/final_list = list() final_list[MUTANT_INDEX_NAME] = SA.name final_list[MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) @@ -150,7 +150,7 @@ reset_colors() /datum/preferences/proc/validate_color_keys_for_part(key) - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/SA = SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] var/list/colorlist = mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] if(SA.color_src == USE_MATRIXED_COLORS && colorlist.len != 3) mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) @@ -179,7 +179,7 @@ /datum/preferences/proc/reset_colors() for(var/key in mutant_bodyparts) - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/SA = SSaccessories.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] if(SA.always_color_customizable) continue mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm index 2efc9ab9f3f58..c6be15a536516 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories.dm @@ -67,6 +67,8 @@ GLOBAL_LIST_EMPTY(cached_mutant_icon_files) default_color = DEFAULT_MATRIXED if (color_src == USE_MATRIXED_COLORS) color_layer_names = list() + if(isnull(GLOB.cached_mutant_icon_files)) // BUBBER EDIT - nullcheck + GLOB.cached_mutant_icon_files = list() if (!GLOB.cached_mutant_icon_files[icon]) GLOB.cached_mutant_icon_files[icon] = icon_states(new /icon(icon)) for (var/layer in relevent_layers) diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm index 9c080a9662109..090af1bbaaa67 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/genitals.dm @@ -25,7 +25,7 @@ //Are they wearing an Undershirt? if(target_mob.undershirt != "Nude" && !(target_mob.underwear_visibility & UNDERWEAR_HIDE_SHIRT)) - var/datum/sprite_accessory/undershirt/worn_undershirt = GLOB.undershirt_list[target_mob.undershirt] + var/datum/sprite_accessory/undershirt/worn_undershirt = SSaccessories.undershirt_list[target_mob.undershirt] //Does this Undershirt cover a relevant slot? if(genital_location == CHEST) //(Undershirt always covers chest) return TRUE @@ -35,7 +35,7 @@ //Undershirt didn't cover them, are they wearing Underwear? if(target_mob.underwear != "Nude" && !(target_mob.underwear_visibility & UNDERWEAR_HIDE_UNDIES)) - var/datum/sprite_accessory/underwear/worn_underwear = GLOB.underwear_list[target_mob.underwear] + var/datum/sprite_accessory/underwear/worn_underwear = SSaccessories.underwear_list[target_mob.underwear] //Does this Underwear cover a relevant slot? if(genital_location == GROIN) //(Underwear always covers groin) return TRUE diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/taur_types.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/taur_types.dm index 7944dc086046d..502428d21380d 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/taur_types.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/taur_types.dm @@ -9,7 +9,7 @@ return NONE var/bodypart_name = taur_mutant_bodypart[MUTANT_INDEX_NAME] - var/datum/sprite_accessory/taur/taur = GLOB.sprite_accessories["taur"][bodypart_name] + var/datum/sprite_accessory/taur/taur = SSaccessories.sprite_accessories["taur"][bodypart_name] if(!taur) return NONE diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/mod_accessory_handler.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/mod_accessory_handler.dm index 83dda0c57d771..4531754b8a167 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/mod_accessory_handler.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/mod_accessory_handler.dm @@ -1,25 +1,25 @@ // This DMI holds all of the overlayable textures for MODs #define HARDLIGHT_DMI 'modular_skyrat/modules/customization/modules/mob/living/carbon/human/MOD_sprite_accessories/icons/MOD_mask.dmi' -/obj/item/mod/control/seal_part(obj/item/clothing/part, seal) +/obj/item/mod/control/seal_part(obj/item/clothing/part, is_sealed) . = ..() if(activating) return - update_external_organs_modsuit_status(seal && active) + update_external_organs_modsuit_status(is_sealed && active) wearer.update_body_parts(TRUE) -/obj/item/mod/control/finish_activation(on) +/obj/item/mod/control/finish_activation(is_on) . = ..() - update_external_organs_modsuit_status(on) + update_external_organs_modsuit_status(is_on) wearer.update_body_parts(TRUE) -/obj/item/mod/control/on_mod_deployed(mob/user) +/obj/item/mod/control/deploy(mob/user, obj/item/part) . = ..() update_external_organs_modsuit_status(active) wearer.update_body_parts(TRUE) -/obj/item/mod/control/on_mod_retracted(mob/user) +/obj/item/mod/control/retract(mob/user, obj/item/part) . = ..() update_external_organs_modsuit_status(FALSE) wearer.update_body_parts(TRUE) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human.dm index a8499e2fcdb1e..4fd30c3335d66 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human.dm @@ -11,7 +11,7 @@ for(var/genital in GLOB.possible_genitals) if(!dna.species.mutant_bodyparts[genital]) continue - var/datum/sprite_accessory/genital/G = GLOB.sprite_accessories[genital][dna.species.mutant_bodyparts[genital][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/genital/G = SSaccessories.sprite_accessories[genital][dna.species.mutant_bodyparts[genital][MUTANT_INDEX_NAME]] if(!G) continue if(G.is_hidden(src)) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm index 98bda575348e3..b9e01fe120239 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm @@ -110,7 +110,7 @@ GLOBAL_LIST_EMPTY(customizable_races) if(default_bodypart_data[key][MUTANTPART_CAN_RANDOMIZE]) SP = random_accessory_of_key_for_species(key, src) else - SP = GLOB.sprite_accessories[key][bodyparts_to_add[key][MUTANTPART_NAME]] + SP = SSaccessories.sprite_accessories[key][bodyparts_to_add[key][MUTANTPART_NAME]] if(!SP) CRASH("Cant find accessory of [key] key, [bodyparts_to_add[key]] name, for species [id]") var/list/color_list = SP.get_default_color(features, src) @@ -142,7 +142,7 @@ GLOBAL_LIST_EMPTY(customizable_races) //Underwear, Undershirts & Socks if(!HAS_TRAIT(species_human, TRAIT_NO_UNDERWEAR)) if(species_human.underwear && !(species_human.underwear_visibility & UNDERWEAR_HIDE_UNDIES)) - var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[species_human.underwear] + var/datum/sprite_accessory/underwear/underwear = SSaccessories.underwear_list[species_human.underwear] var/mutable_appearance/underwear_overlay var/female_sprite_flags = FEMALE_UNIFORM_FULL // the default gender shaping if(underwear) @@ -160,7 +160,7 @@ GLOBAL_LIST_EMPTY(customizable_races) standing += underwear_overlay if(species_human.bra && !(species_human.underwear_visibility & UNDERWEAR_HIDE_BRA)) - var/datum/sprite_accessory/bra/bra = GLOB.bra_list[species_human.bra] + var/datum/sprite_accessory/bra/bra = SSaccessories.bra_list[species_human.bra] if(bra) var/mutable_appearance/bra_overlay @@ -172,7 +172,7 @@ GLOBAL_LIST_EMPTY(customizable_races) standing += bra_overlay if(species_human.undershirt && !(species_human.underwear_visibility & UNDERWEAR_HIDE_SHIRT)) - var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[species_human.undershirt] + var/datum/sprite_accessory/undershirt/undershirt = SSaccessories.undershirt_list[species_human.undershirt] if(undershirt) var/mutable_appearance/undershirt_overlay if(species_human.dna.species.sexes && species_human.physique == FEMALE) @@ -185,7 +185,7 @@ GLOBAL_LIST_EMPTY(customizable_races) standing += undershirt_overlay if(species_human.socks && species_human.num_legs >= 2 && !(mutant_bodyparts["taur"]) && !(species_human.underwear_visibility & UNDERWEAR_HIDE_SOCKS)) - var/datum/sprite_accessory/socks/socks = GLOB.socks_list[species_human.socks] + var/datum/sprite_accessory/socks/socks = SSaccessories.socks_list[species_human.socks] if(socks) var/mutable_appearance/socks_overlay var/icon_state = socks.icon_state @@ -213,10 +213,10 @@ GLOBAL_LIST_EMPTY(customizable_races) var/robot_organs = HAS_TRAIT(target, TRAIT_ROBOTIC_DNA_ORGANS) for(var/key in target.dna.mutant_bodyparts) - if(!islist(target.dna.mutant_bodyparts[key]) || !(target.dna.mutant_bodyparts[key][MUTANT_INDEX_NAME] in GLOB.sprite_accessories[key])) + if(!islist(target.dna.mutant_bodyparts[key]) || !(target.dna.mutant_bodyparts[key][MUTANT_INDEX_NAME] in SSaccessories.sprite_accessories[key])) continue - var/datum/sprite_accessory/mutant_accessory = GLOB.sprite_accessories[key][target.dna.mutant_bodyparts[key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/mutant_accessory = SSaccessories.sprite_accessories[key][target.dna.mutant_bodyparts[key][MUTANT_INDEX_NAME]] if(mutant_accessory?.factual && mutant_accessory.organ_type) var/obj/item/organ/current_organ = target.get_organ_by_type(mutant_accessory.organ_type) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/monkey.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/monkey.dm index 7054f8aeddea9..f50980766943e 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/monkey.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/monkey.dm @@ -5,7 +5,7 @@ /datum/species/monkey/randomize_features() var/list/features = ..() - features["tail"] = pick(GLOB.tails_list_monkey - list("None")) // No tail-less monkeys. + features["tail"] = pick(SSaccessories.tails_list_monkey - list("None")) // No tail-less monkeys. return features /datum/species/monkey/prepare_human_for_preview(mob/living/carbon/human/monke) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm index f0a2570ba4cb9..c35edf303a4f3 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mushpeople.dm @@ -5,7 +5,7 @@ /datum/species/mush/randomize_features() var/list/features = ..() - features["caps"] = pick(GLOB.caps_list - list("None")) // No tail-less monkeys. // No cap-less mushpeople. + features["caps"] = pick(SSaccessories.caps_list - list("None")) // No tail-less monkeys. // No cap-less mushpeople. return features /datum/species/mush/prepare_human_for_preview(mob/living/carbon/human/shrooman) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm index 4d6fc47331d82..d80f1cf9cf921 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm @@ -83,7 +83,7 @@ if(length(available_choices)) return - available_choices = deep_copy_list(GLOB.sprite_accessories) + available_choices = deep_copy_list(SSaccessories.sprite_accessories) for(var/parts_list in available_choices) for(var/parts in available_choices[parts_list]) var/datum/sprite_accessory/part = available_choices[parts_list][parts] @@ -216,7 +216,7 @@ alterer.mutant_renderkey = "" //Just in case for(var/mutant_key in alterer.dna.species.mutant_bodyparts) var/mutant_list = alterer.dna.species.mutant_bodyparts[mutant_key] - var/datum/sprite_accessory/changed_accessory = GLOB.sprite_accessories[mutant_key][mutant_list[MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/changed_accessory = SSaccessories.sprite_accessories[mutant_key][mutant_list[MUTANT_INDEX_NAME]] mutant_list[MUTANT_INDEX_COLOR_LIST] = changed_accessory.get_default_color(alterer.dna.features, alterer.dna.species) if(hair_reset) @@ -253,11 +253,11 @@ return switch(target_hair) if("Hair") - var/new_style = tgui_input_list(owner, "Select a hair style", "Hair Alterations", GLOB.hairstyles_list) + var/new_style = tgui_input_list(owner, "Select a hair style", "Hair Alterations", SSaccessories.hairstyles_list) if(new_style) alterer.set_hairstyle(new_style, update = TRUE) if("Facial Hair") - var/new_style = tgui_input_list(alterer, "Select a facial hair style", "Hair Alterations", GLOB.facial_hairstyles_list) + var/new_style = tgui_input_list(alterer, "Select a facial hair style", "Hair Alterations", SSaccessories.facial_hairstyles_list) if(new_style) alterer.set_facial_hairstyle(new_style, update = TRUE) if("Hair Color") @@ -357,7 +357,7 @@ if(!chosen_name_key) return - var/datum/sprite_accessory/selected_sprite_accessory = GLOB.sprite_accessories[chosen_key][chosen_name_key] + var/datum/sprite_accessory/selected_sprite_accessory = SSaccessories.sprite_accessories[chosen_key][chosen_name_key] alterer.mutant_renderkey = "" //Just in case if(!selected_sprite_accessory.factual) if(selected_sprite_accessory.organ_type) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm b/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm index 664334aee03c8..64dc6dda49386 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/cap.dm @@ -26,5 +26,8 @@ randomize_cap_color() return draw_color +/datum/bodypart_overlay/mutant/mushroom_cap/get_global_feature_list() + return SSaccessories.sprite_accessories["caps"] + /datum/bodypart_overlay/mutant/mushroom_cap/can_draw_on_bodypart(mob/living/carbon/human/human) return !sprite_datum.is_hidden(human) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm b/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm index db653ddae8f39..9bfa8f9df0ea9 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/ears.dm @@ -28,4 +28,4 @@ return draw_color /datum/bodypart_overlay/mutant/ears/get_global_feature_list() - return GLOB.sprite_accessories["ears"] + return SSaccessories.sprite_accessories["ears"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/fluff.dm b/modular_skyrat/modules/customization/modules/surgery/organs/fluff.dm index 101d1d741a369..0dab3106c2647 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/fluff.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/fluff.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/fluff/get_global_feature_list() - return GLOB.sprite_accessories["fluff"] + return SSaccessories.sprite_accessories["fluff"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/frills.dm b/modular_skyrat/modules/customization/modules/surgery/organs/frills.dm index 0ed1f9ff6c783..0dacf38e09f40 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/frills.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/frills.dm @@ -13,4 +13,4 @@ return !sprite_datum.is_hidden(human) /datum/bodypart_overlay/mutant/frills/get_global_feature_list() - return GLOB.sprite_accessories["frills"] + return SSaccessories.sprite_accessories["frills"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm index ad72df50bac05..2ee87aa4064a0 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm @@ -61,7 +61,7 @@ /obj/item/organ/external/genital/build_from_dna(datum/dna/DNA, associated_key) . = ..() - var/datum/sprite_accessory/genital/accessory = GLOB.sprite_accessories[associated_key][DNA.mutant_bodyparts[associated_key][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/genital/accessory = SSaccessories.sprite_accessories[associated_key][DNA.mutant_bodyparts[associated_key][MUTANT_INDEX_NAME]] genital_name = accessory.name genital_type = accessory.icon_state build_from_accessory(accessory, DNA) @@ -237,7 +237,7 @@ uses_skintones = accessory.has_skintone_shading /datum/bodypart_overlay/mutant/genital/penis/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_PENIS] + return SSaccessories.sprite_accessories[ORGAN_SLOT_PENIS] /obj/item/organ/external/genital/testicles @@ -290,7 +290,7 @@ return passed_string /datum/bodypart_overlay/mutant/genital/testicles/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_TESTICLES] + return SSaccessories.sprite_accessories[ORGAN_SLOT_TESTICLES] /obj/item/organ/external/genital/testicles/proc/balls_size_to_description(number) @@ -353,7 +353,7 @@ uses_skintones = accessory.has_skintone_shading /datum/bodypart_overlay/mutant/genital/vagina/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_VAGINA] + return SSaccessories.sprite_accessories[ORGAN_SLOT_VAGINA] /obj/item/organ/external/genital/womb @@ -376,7 +376,7 @@ layers = NONE /datum/bodypart_overlay/mutant/genital/womb/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_WOMB] + return SSaccessories.sprite_accessories[ORGAN_SLOT_WOMB] /obj/item/organ/external/genital/anus @@ -405,7 +405,7 @@ return returned_string /datum/bodypart_overlay/mutant/genital/anus/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_ANUS] + return SSaccessories.sprite_accessories[ORGAN_SLOT_ANUS] /obj/item/organ/external/genital/breasts @@ -484,7 +484,7 @@ uses_skintones = accessory.has_skintone_shading /datum/bodypart_overlay/mutant/genital/breasts/get_global_feature_list() - return GLOB.sprite_accessories[ORGAN_SLOT_BREASTS] + return SSaccessories.sprite_accessories[ORGAN_SLOT_BREASTS] /obj/item/organ/external/genital/breasts/proc/breasts_size_to_cup(number) if(number < 0) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/head_accessory.dm b/modular_skyrat/modules/customization/modules/surgery/organs/head_accessory.dm index 23af3bff9f016..973b3d8e5a68f 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/head_accessory.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/head_accessory.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/head_accessory/get_global_feature_list() - return GLOB.sprite_accessories["head_accessory"] + return SSaccessories.sprite_accessories["head_accessory"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/moth_markings.dm b/modular_skyrat/modules/customization/modules/surgery/organs/moth_markings.dm index 38b5c36994635..4863ab2f55e72 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/moth_markings.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/moth_markings.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/moth_markings/get_global_feature_list() - return GLOB.sprite_accessories["moth_markings"] + return SSaccessories.sprite_accessories["moth_markings"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/neck_accessory.dm b/modular_skyrat/modules/customization/modules/surgery/organs/neck_accessory.dm index 5c9d8cd142658..51f97f360978f 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/neck_accessory.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/neck_accessory.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/neck_accessory/get_global_feature_list() - return GLOB.sprite_accessories["neck_accessory"] + return SSaccessories.sprite_accessories["neck_accessory"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/skrell_hair.dm b/modular_skyrat/modules/customization/modules/surgery/organs/skrell_hair.dm index a2f129d82920d..9bd71abe4c396 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/skrell_hair.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/skrell_hair.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/skrell_hair/get_global_feature_list() - return GLOB.sprite_accessories["skrell_hair"] + return SSaccessories.sprite_accessories["skrell_hair"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/synth_antenna.dm b/modular_skyrat/modules/customization/modules/surgery/organs/synth_antenna.dm index be9aaa92ecc1b..c9ff539dec69a 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/synth_antenna.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/synth_antenna.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/synth_antenna/get_global_feature_list() - return GLOB.sprite_accessories[MUTANT_SYNTH_ANTENNA] + return SSaccessories.sprite_accessories[MUTANT_SYNTH_ANTENNA] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/synth_screen.dm b/modular_skyrat/modules/customization/modules/surgery/organs/synth_screen.dm index 367bf91e92392..7339229ffc5d7 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/synth_screen.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/synth_screen.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/synth_screen/get_global_feature_list() - return GLOB.sprite_accessories[MUTANT_SYNTH_SCREEN] + return SSaccessories.sprite_accessories[MUTANT_SYNTH_SCREEN] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm b/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm index 709ac6f5a1f38..116f1d8f9a8db 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/taur_body.dm @@ -28,7 +28,7 @@ /datum/bodypart_overlay/mutant/taur_body/get_global_feature_list() - return GLOB.sprite_accessories["taur"] + return SSaccessories.sprite_accessories["taur"] /obj/item/organ/external/taur_body/Insert(mob/living/carbon/receiver, special, movement_flags) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/wings.dm b/modular_skyrat/modules/customization/modules/surgery/organs/wings.dm index 0aaf219dce45a..59719b123958d 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/wings.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/wings.dm @@ -20,7 +20,7 @@ color_source = ORGAN_COLOR_OVERRIDE /datum/bodypart_overlay/mutant/wings/get_global_feature_list() - return GLOB.sprite_accessories["wings"] + return SSaccessories.sprite_accessories["wings"] //TODO: Well you know what this flight stuff is a bit complicated and hardcoded, this is enough for now @@ -66,9 +66,9 @@ /datum/bodypart_overlay/mutant/wings/functional/locked/get_global_feature_list() if(wings_open) - return GLOB.sprite_accessories["wings_open"] + return SSaccessories.sprite_accessories["wings_open"] - return GLOB.sprite_accessories["wings_functional"] + return SSaccessories.sprite_accessories["wings_functional"] // We need to overwrite this because all of these wings are locked. diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/xenodorsal.dm b/modular_skyrat/modules/customization/modules/surgery/organs/xenodorsal.dm index 1aaf4f750d2ad..5725cc1a9a2a4 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/xenodorsal.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/xenodorsal.dm @@ -22,4 +22,4 @@ return draw_color /datum/bodypart_overlay/mutant/xenodorsal/get_global_feature_list() - return GLOB.sprite_accessories["xenodorsal"] + return SSaccessories.sprite_accessories["xenodorsal"] diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/xenohead.dm b/modular_skyrat/modules/customization/modules/surgery/organs/xenohead.dm index a38c542261c9b..c08af5cb985a8 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/xenohead.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/xenohead.dm @@ -23,4 +23,4 @@ return draw_color /datum/bodypart_overlay/mutant/xenohead/get_global_feature_list() - return GLOB.sprite_accessories["xenohead"] + return SSaccessories.sprite_accessories["xenohead"] diff --git a/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm b/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm index 4dc5a36ecea58..07c7ddc7b3f24 100644 --- a/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm +++ b/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm @@ -58,7 +58,7 @@ //body parts if(istype(user.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL), /obj/item/organ/external/tail)) var/name = human_user.dna.species.mutant_bodyparts["tail"][MUTANT_INDEX_NAME] - var/datum/sprite_accessory/tails/tail = GLOB.sprite_accessories["tail"][name] + var/datum/sprite_accessory/tails/tail = SSaccessories.sprite_accessories["tail"][name] if(tail.fluffy) user.allowed_turfs += "tails" @@ -127,7 +127,7 @@ //coloring var/list/finished_list = list() var/list/color_list = human_user.dna.species.mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] //identify color - var/datum/sprite_accessory/sprite_type = GLOB.sprite_accessories[key][human_user.dna.species.mutant_bodyparts[key][MUTANT_INDEX_NAME]] //identify type + var/datum/sprite_accessory/sprite_type = SSaccessories.sprite_accessories[key][human_user.dna.species.mutant_bodyparts[key][MUTANT_INDEX_NAME]] //identify type switch(sprite_type.color_src) if(USE_MATRIXED_COLORS) diff --git a/modular_skyrat/modules/hairbrush/code/hairbrush.dm b/modular_skyrat/modules/hairbrush/code/hairbrush.dm index 8f18945e318ae..6f0d3cccca645 100644 --- a/modular_skyrat/modules/hairbrush/code/hairbrush.dm +++ b/modular_skyrat/modules/hairbrush/code/hairbrush.dm @@ -49,7 +49,7 @@ human_target.show_message(span_notice("[usr] brushes your hair!"), MSG_VISUAL) human_target.add_mood_event("brushed", /datum/mood_event/brushed, 1, user) - else if(istype(target, /mob/living/simple_animal/pet)) + else if(istype(target, /mob/living/basic/pet)) if(!do_after(usr, brush_speed, target)) return to_chat(user, span_notice("[target] closes [target.p_their()] eyes as you brush [target.p_them()]!")) diff --git a/modular_skyrat/modules/kahraman_equipment/code/clothing/mod.dm b/modular_skyrat/modules/kahraman_equipment/code/clothing/mod.dm index cbac8c51f8829..9a0fc0a81838d 100644 --- a/modular_skyrat/modules/kahraman_equipment/code/clothing/mod.dm +++ b/modular_skyrat/modules/kahraman_equipment/code/clothing/mod.dm @@ -42,31 +42,39 @@ /obj/item/analyzer, /obj/item/storage/medkit, ) - skins = list( + variants = list( "colonist" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/kahraman_equipment/icons/modsuits/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/kahraman_equipment/icons/modsuits/mod_worn.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = null, UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/modules/liquids/code/drains.dm b/modular_skyrat/modules/liquids/code/cleaning/drains.dm similarity index 100% rename from modular_skyrat/modules/liquids/code/drains.dm rename to modular_skyrat/modules/liquids/code/cleaning/drains.dm diff --git a/modular_skyrat/modules/liquids/code/mop.dm b/modular_skyrat/modules/liquids/code/cleaning/mop.dm similarity index 92% rename from modular_skyrat/modules/liquids/code/mop.dm rename to modular_skyrat/modules/liquids/code/cleaning/mop.dm index d07a59ebaae43..bd1bffff0b14b 100644 --- a/modular_skyrat/modules/liquids/code/mop.dm +++ b/modular_skyrat/modules/liquids/code/cleaning/mop.dm @@ -33,5 +33,5 @@ tempr.trans_to(reagents, tempr.total_volume) to_chat(user, span_notice("You soak \the [src] with some liquids.")) qdel(tempr) - user.changeNext_move(CLICK_CD_MELEE) + user.changeNext_move(CLICK_CD_RANGE) // This used to be CLICK_CD_MELEE, which is painfully slow return TRUE diff --git a/modular_skyrat/modules/liquids/code/cleaning/reagents.dm b/modular_skyrat/modules/liquids/code/cleaning/reagents.dm new file mode 100644 index 0000000000000..a3dfc2c9b0af0 --- /dev/null +++ b/modular_skyrat/modules/liquids/code/cleaning/reagents.dm @@ -0,0 +1,8 @@ +// So, vomit cleanup kits use sawdust +// We don't really have sawdust, and adding another reagent would be needless bloat +// Hence, cellulose can clean up liquids, I also put it in cleaner grenades, for your convenience~ +/datum/reagent/cellulose/expose_turf(turf/exposed_turf, reac_volume) + . = ..() + if(reac_volume < 0.6) + return + exposed_turf.wash(CLEAN_TYPE_LIQUIDS) diff --git a/modular_skyrat/modules/liquids/code/cleaning/turf.dm b/modular_skyrat/modules/liquids/code/cleaning/turf.dm new file mode 100644 index 0000000000000..8d88111428506 --- /dev/null +++ b/modular_skyrat/modules/liquids/code/cleaning/turf.dm @@ -0,0 +1,6 @@ +/turf/wash(clean_types) + . = ..() + if(clean_types & CLEAN_TYPE_LIQUIDS) + var/obj/effect/abstract/liquid_turf/liquid = src.liquids + if(liquid?.liquid_state == LIQUID_STATE_PUDDLE) + qdel(liquid, 1) // Just straight up call Destroy() on the liquid diff --git a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm index d441abeb73893..443fa8bd35d05 100644 --- a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm +++ b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_effect.dm @@ -124,16 +124,15 @@ SSliquids.processing_fire -= my_turf //Try spreading if(fire_state == old_state) //If an extinguisher made our fire smaller, dont spread, else it's too hard to put out - for(var/t in my_turf.atmos_adjacent_turfs) - var/turf/T = t - if(T.liquids && !T.liquids.fire_state && T.liquids.check_fire(TRUE)) - SSliquids.processing_fire[T] = TRUE + for(var/turf/adjacent_turf in my_turf.atmos_adjacent_turfs) + if(adjacent_turf.liquids && !adjacent_turf.liquids.fire_state && adjacent_turf.liquids.check_fire(TRUE)) + SSliquids.processing_fire[adjacent_turf] = TRUE //Burn our resources - var/datum/reagent/R //Faster declaration + var/datum/reagent/reagent //Faster declaration var/burn_rate for(var/reagent_type in reagent_list) - R = reagent_type - burn_rate = initial(R.liquid_fire_burnrate) + reagent = reagent_type + burn_rate = initial(reagent.liquid_fire_burnrate) if(burn_rate) var/amt = reagent_list[reagent_type] if(burn_rate >= amt) @@ -144,10 +143,9 @@ total_reagents -= burn_rate my_turf.hotspot_expose((T20C+50) + (50*fire_state), 125) - for(var/A in my_turf.contents) - var/atom/AT = A - if(!QDELETED(AT)) - AT.fire_act((T20C+50) + (50*fire_state), 125) + for(var/atom/content in my_turf.contents) + if(!QDELETED(content)) + content.fire_act((T20C+50) + (50*fire_state), 125) if(reagent_list.len == 0) qdel(src, TRUE) diff --git a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_groups.dm b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_groups.dm index 7b6d6dfdbce38..4799f42e6a4ac 100644 --- a/modular_skyrat/modules/liquids/code/liquid_systems/liquid_groups.dm +++ b/modular_skyrat/modules/liquids/code/liquid_systems/liquid_groups.dm @@ -7,8 +7,11 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) +///A group of any liquids, helps not make processing a pain in the ass by handling all the turfs as one big group /datum/liquid_group + ///All the turfs with liquids on them var/list/members = list() + ///The color of the liquid group var/color var/next_share = 0 var/dirty = TRUE @@ -17,7 +20,9 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) var/expected_turf_height = 0 var/cached_color var/list/last_cached_fraction_share + ///Last calculated volume of the liquid group, see /datum/liquid_group/proc/share() var/last_cached_total_volume = 0 + ///Last calculated heat of the liquid group var/last_cached_thermal = 0 var/last_cached_overlay_state = LIQUID_STATE_PUDDLE @@ -49,48 +54,44 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) /datum/liquid_group/proc/merge_group(datum/liquid_group/otherg) amount_of_active_turfs += otherg.amount_of_active_turfs - for(var/t in otherg.members) - var/turf/T = t - T.lgroup = src - members[T] = TRUE - if(T.liquids) - T.liquids.has_cached_share = FALSE + for(var/turf/liquid_turf as anything in otherg.members) + liquid_turf.lgroup = src + members[liquid_turf] = TRUE + if(liquid_turf.liquids) + liquid_turf.liquids.has_cached_share = FALSE otherg.members = list() qdel(otherg) share() /datum/liquid_group/proc/break_group() //Flag puddles to the evaporation queue - for(var/t in members) - var/turf/T = t - if(T.liquids && T.liquids.liquid_state >= LIQUID_STATE_PUDDLE) - SSliquids.evaporation_queue[T] = TRUE + for(var/turf/liquid_turf in members) + if(liquid_turf.liquids?.liquid_state >= LIQUID_STATE_PUDDLE) + SSliquids.evaporation_queue[liquid_turf] = TRUE share(TRUE) qdel(src) /datum/liquid_group/Destroy() SSliquids.active_groups -= src - for(var/t in members) - var/turf/T = t - T.lgroup = null + for(var/turf/liquid_turf as anything in members) + liquid_turf.lgroup = null members = null return ..() -/datum/liquid_group/proc/check_adjacency(turf/T) +/datum/liquid_group/proc/check_adjacency(turf/liquid_turf) var/list/recursive_adjacent = list() var/list/current_adjacent = list() - current_adjacent[T] = TRUE - recursive_adjacent[T] = TRUE + current_adjacent[liquid_turf] = TRUE + recursive_adjacent[liquid_turf] = TRUE var/getting_new_turfs = TRUE var/indef_loop_safety = 0 while(getting_new_turfs && indef_loop_safety < LIQUID_RECURSIVE_LOOP_SAFETY) indef_loop_safety++ getting_new_turfs = FALSE var/list/new_adjacent = list() - for(var/t in current_adjacent) - var/turf/T2 = t - for(var/y in T2.get_atmos_adjacent_turfs()) + for(var/turf/adjacent as anything in current_adjacent) + for(var/y in adjacent.get_atmos_adjacent_turfs()) if(!recursive_adjacent[y]) new_adjacent[y] = TRUE recursive_adjacent[y] = TRUE @@ -112,13 +113,11 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) var/cached_volume = 0 var/cached_thermal = 0 - var/turf/T var/obj/effect/abstract/liquid_turf/cached_liquids - for(var/t in members) - T = t - if(T.liquids) + for(var/turf/liquid_turf as anything in members) + if(!isnull(liquid_turf.liquids)) any_share = TRUE - cached_liquids = T.liquids + cached_liquids = liquid_turf.liquids if(cached_liquids.has_cached_share && last_cached_fraction_share) cached_shares++ @@ -128,9 +127,21 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) if(!cached_add[r_type]) cached_add[r_type] = 0 cached_add[r_type] += cached_liquids.reagent_list[r_type] - cached_volume += cached_liquids.total_reagents + + // So, due to reactions these turfs can sometimes become empty, + // causing issues with divisions by 0 + // This is a very sloppy fix by making them delete if we find that to be a case + // Whoever wrote this didn't document anything and honestly I barely understand it + // Feel free to make this better~! - Waterpig + + var/turf_reagents = cached_liquids.total_reagents + if(turf_reagents == 0) // Deletes empty liquid turfs. This should wipe them from our members too + qdel(cached_liquids, TRUE) + continue + cached_volume += turf_reagents cached_thermal += cached_liquids.total_reagents * cached_liquids.temp - if(!any_share) + + if(!any_share || !cached_volume) return decay_counter = 0 @@ -180,13 +191,12 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) determined_new_state = LIQUID_STATE_FULLTILE var/new_liquids = FALSE - for(var/t in members) - T = t + for(var/turf/liquid_turf in members) new_liquids = FALSE - if(!T.liquids) + if(!liquid_turf.liquids) new_liquids = TRUE - T.liquids = new(T) - cached_liquids = T.liquids + liquid_turf.liquids = new(liquid_turf) + cached_liquids = liquid_turf.liquids cached_liquids.reagent_list = cached_add.Copy() cached_liquids.total_reagents = cached_volume @@ -208,22 +218,21 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) /datum/liquid_group/proc/process_cell(turf/T) if(T.liquids.height <= 1) //Causes a bug when the liquid hangs in the air and is supposed to fall down a level return FALSE - for(var/tur in T.get_atmos_adjacent_turfs()) - var/turf/T2 = tur + for(var/turf/adjacent as anything in T.get_atmos_adjacent_turfs()) //Immutable check thing - if(T2.liquids && T2.liquids.immutable) - if(T.z != T2.z) + if(adjacent.liquids && adjacent.liquids.immutable) + if(T.z != adjacent.z) var/turf/Z_turf_below = GET_TURF_BELOW(T) - if(T2 == Z_turf_below) + if(adjacent == Z_turf_below) qdel(T.liquids, TRUE) return else continue //CHECK DIFFERENT TURF HEIGHT THING - if(T.liquid_height != T2.liquid_height) + if(T.liquid_height != adjacent.liquid_height) var/my_liquid_height = T.liquid_height + T.liquids.height - var/target_liquid_height = T2.liquid_height + T2.liquids.height + var/target_liquid_height = adjacent.liquid_height + adjacent.liquids.height if(my_liquid_height > target_liquid_height+2) var/coeff = (T.liquids.height / (T.liquids.height + abs(T.liquid_height))) var/height_diff = min(0.4,abs((target_liquid_height / my_liquid_height)-1)*coeff) @@ -231,40 +240,40 @@ GLOBAL_VAR_INIT(liquid_debug_colors, FALSE) . = TRUE continue - if(T2.liquids.height > T.liquids.height + 1) - SSliquids.active_immutables[T2] = TRUE + if(adjacent.liquids.height > T.liquids.height + 1) + SSliquids.active_immutables[adjacent] = TRUE . = TRUE continue //END OF IMMUTABLE MADNESS - if(T.z != T2.z) + if(T.z != adjacent.z) var/turf/Z_turf_below = GET_TURF_BELOW(T) - if(T2 == Z_turf_below) - if(!(T2.liquids && T2.liquids.height + T2.liquid_height >= LIQUID_HEIGHT_CONSIDER_FULL_TILE)) - T.liquid_fraction_share(T2, 1) + if(adjacent == Z_turf_below) + if(!(adjacent.liquids && adjacent.liquids.height + adjacent.liquid_height >= LIQUID_HEIGHT_CONSIDER_FULL_TILE)) + T.liquid_fraction_share(adjacent, 1) qdel(T.liquids, TRUE) . = TRUE continue //CHECK DIFFERENT TURF HEIGHT THING - if(T.liquid_height != T2.liquid_height) + if(T.liquid_height != adjacent.liquid_height) var/my_liquid_height = T.liquid_height + T.liquids.height - var/target_liquid_height = T2.liquid_height + (T2.liquids ? T2.liquids.height : 0) + var/target_liquid_height = adjacent.liquid_height + (adjacent.liquids ? adjacent.liquids.height : 0) if(my_liquid_height > target_liquid_height+1) var/coeff = (T.liquids.height / (T.liquids.height + abs(T.liquid_height))) var/height_diff = min(0.4,abs((target_liquid_height / my_liquid_height)-1)*coeff) - T.liquid_fraction_share(T2, height_diff) + T.liquid_fraction_share(adjacent, height_diff) . = TRUE continue //END OF TURF HEIGHT - if(!T.can_share_liquids_with(T2)) + if(!T.can_share_liquids_with(adjacent)) continue - if(!T2.lgroup) - add_to_group(T2) + if(!adjacent.lgroup) + add_to_group(adjacent) //Try merge groups if possible - else if(T2.lgroup != T.lgroup && T.lgroup.can_merge_group(T2.lgroup)) - T.lgroup.merge_group(T2.lgroup) + else if(adjacent.lgroup != T.lgroup && T.lgroup.can_merge_group(adjacent.lgroup)) + T.lgroup.merge_group(adjacent.lgroup) . = TRUE - SSliquids.add_active_turf(T2) + SSliquids.add_active_turf(adjacent) if(.) dirty = TRUE //return //Do we want it to spread once per process or many times? diff --git a/modular_skyrat/modules/mapping/voidraptor/code/mob.dm b/modular_skyrat/modules/mapping/voidraptor/code/mob.dm index 3a189524bae7b..73524677a4d98 100644 --- a/modular_skyrat/modules/mapping/voidraptor/code/mob.dm +++ b/modular_skyrat/modules/mapping/voidraptor/code/mob.dm @@ -45,7 +45,7 @@ name = initial(name) real_name = initial(name) -/mob/living/simple_animal/pet/gondola/funky +/mob/living/basic/pet/gondola/funky name = "Funky" real_name = "Funky" desc = "Gondola is the silent walker. Having no hands he embodies the Taoist principle of wu-wei (non-action) while his smiling facial expression shows his utter and complete acceptance of the world as it is. Its hide is extremely valuable. This one seems a little skinny and attached to the Theater." diff --git a/modular_skyrat/modules/marines/code/mod.dm b/modular_skyrat/modules/marines/code/mod.dm index 33d432ca19846..ca40d61d8b596 100644 --- a/modular_skyrat/modules/marines/code/mod.dm +++ b/modular_skyrat/modules/marines/code/mod.dm @@ -28,32 +28,40 @@ /obj/item/gun/ballistic, /obj/item/melee/breaching_hammer, ) - skins = list( + variants = list( "marine" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/marines/icons/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/marines/icons/wornmod.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = NECK_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT|FLASH_PROTECTION_WELDER, UNSEALED_INVISIBILITY = HIDEFACIALHAIR, SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDETAIL, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/modules/marines/code/modsuit_modules.dm b/modular_skyrat/modules/marines/code/modsuit_modules.dm index 132caf132e5f3..007183e371554 100644 --- a/modular_skyrat/modules/marines/code/modsuit_modules.dm +++ b/modular_skyrat/modules/marines/code/modsuit_modules.dm @@ -16,6 +16,7 @@ cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_smartgun_off" //appears on back when it's off overlay_state_active = "module_smartgun_on" + required_slots = list(ITEM_SLOT_GLOVES) /// Power consumed per bullet fired var/power_per_bullet = 25 diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm index 2f1c9db384e17..4407a304c3f6a 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_items/_masturbation_item.dm @@ -21,7 +21,7 @@ var/mob/living/carbon/human/affected_human = user var/obj/item/organ/external/genital/testicles/testicles = affected_human.get_organ_slot(ORGAN_SLOT_TESTICLES) var/obj/item/organ/external/genital/penis/penis = affected_human.get_organ_slot(ORGAN_SLOT_PENIS) - var/datum/sprite_accessory/genital/penis_sprite = GLOB.sprite_accessories[ORGAN_SLOT_PENIS][affected_human.dna.species.mutant_bodyparts[ORGAN_SLOT_PENIS][MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/genital/penis_sprite = SSaccessories.sprite_accessories[ORGAN_SLOT_PENIS][affected_human.dna.species.mutant_bodyparts[ORGAN_SLOT_PENIS][MUTANT_INDEX_NAME]] if(penis_sprite.is_hidden(affected_human)) to_chat(user, span_notice("You need to expose yourself in order to masturbate.")) return diff --git a/modular_skyrat/modules/modular_vending/code/medical.dm b/modular_skyrat/modules/modular_vending/code/medical.dm index 6d55937c18308..c2550123c5367 100644 --- a/modular_skyrat/modules/modular_vending/code/medical.dm +++ b/modular_skyrat/modules/modular_vending/code/medical.dm @@ -1,5 +1,4 @@ /obj/machinery/vending/medical skyrat_products = list( /obj/item/ttsdevice = 3, - /obj/item/cane/crutch = 4, ) diff --git a/modular_skyrat/modules/moretraitoritems/code/syndiemirror.dm b/modular_skyrat/modules/moretraitoritems/code/syndiemirror.dm index 013ec5950f01b..ea74b42a971b3 100644 --- a/modular_skyrat/modules/moretraitoritems/code/syndiemirror.dm +++ b/modular_skyrat/modules/moretraitoritems/code/syndiemirror.dm @@ -33,7 +33,7 @@ if(selected_part == "Hair") - var/hair_id = tgui_input_list(user, "Please select what hairstyle you'd like to sculpt!", "Select masterpiece", GLOB.hairstyles_list) + var/hair_id = tgui_input_list(user, "Please select what hairstyle you'd like to sculpt!", "Select masterpiece", SSaccessories.hairstyles_list) if(!hair_id) return @@ -47,7 +47,7 @@ target_human.set_hairstyle(hair_id, update = TRUE) user.visible_message(span_notice("[target_human]'s hair changes!"), span_notice("The nanites successfully alter [target_human]'s hair!")) else - var/facial_hair_id = tgui_input_list(user, "Please select what facial hairstyle you'd like to sculpt!", "Select masterpiece", GLOB.facial_hairstyles_list) + var/facial_hair_id = tgui_input_list(user, "Please select what facial hairstyle you'd like to sculpt!", "Select masterpiece", SSaccessories.facial_hairstyles_list) if(!facial_hair_id) return diff --git a/modular_skyrat/modules/novaya_ert/code/mod_suit.dm b/modular_skyrat/modules/novaya_ert/code/mod_suit.dm index ef4d5a2b6e91f..e540f27457c23 100644 --- a/modular_skyrat/modules/novaya_ert/code/mod_suit.dm +++ b/modular_skyrat/modules/novaya_ert/code/mod_suit.dm @@ -24,31 +24,39 @@ /obj/item/shield/riot, /obj/item/gun, ) - skins = list( + variants = list( "frontline" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/novaya_ert/icons/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/novaya_ert/icons/wornmod.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = HEAD_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDETAIL, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) @@ -113,31 +121,39 @@ /obj/item/shield/riot, /obj/item/gun, ) - skins = list( + variants = list( "policing" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/novaya_ert/icons/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/novaya_ert/icons/wornmod.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = HEAD_LAYER, UNSEALED_CLOTHING = SNUG_FIT, SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDETAIL, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_skyrat/modules/pet_owner/pet_owner.dm b/modular_skyrat/modules/pet_owner/pet_owner.dm index b2806761c94c2..c6b80222e6165 100644 --- a/modular_skyrat/modules/pet_owner/pet_owner.dm +++ b/modular_skyrat/modules/pet_owner/pet_owner.dm @@ -27,7 +27,7 @@ pet_type = pick(flatten_list(GLOB.possible_player_pet)) var/obj/item/pet_carrier/carrier = new /obj/item/pet_carrier(get_turf(quirk_holder)) - var/mob/living/simple_animal/pet/pet = new pet_type(carrier) + var/mob/living/basic/pet/pet = new pet_type(carrier) var/new_name = client_source?.prefs.read_preference(/datum/preference/text/pet_name) if (new_name) pet.name = new_name diff --git a/modular_skyrat/modules/salon/code/hair_tie.dm b/modular_skyrat/modules/salon/code/hair_tie.dm index 73b1a28d93b96..a7140bc09b7b3 100644 --- a/modular_skyrat/modules/salon/code/hair_tie.dm +++ b/modular_skyrat/modules/salon/code/hair_tie.dm @@ -53,7 +53,7 @@ return ..() /obj/item/clothing/head/hair_tie/attack_self(mob/user) - var/hair_id = tgui_input_list(user, "How does your hair look when its up?", "Pick!", GLOB.hairstyles_list) + var/hair_id = tgui_input_list(user, "How does your hair look when its up?", "Pick!", SSaccessories.hairstyles_list) if(!hair_id || hair_id == "Bald") balloon_alert(user, "error!") return diff --git a/modular_skyrat/modules/salon/code/scissors.dm b/modular_skyrat/modules/salon/code/scissors.dm index fa3dea70c4f4e..b286a791303c2 100644 --- a/modular_skyrat/modules/salon/code/scissors.dm +++ b/modular_skyrat/modules/salon/code/scissors.dm @@ -38,7 +38,7 @@ balloon_alert(user, "They have no hair to cut!") return - var/hair_id = tgui_input_list(user, "Please select what hairstyle you'd like to sculpt!", "Select masterpiece", GLOB.hairstyles_list) + var/hair_id = tgui_input_list(user, "Please select what hairstyle you'd like to sculpt!", "Select masterpiece", SSaccessories.hairstyles_list) if(!hair_id) return @@ -58,7 +58,7 @@ balloon_alert(user, "They have no facial hair to cut!") return - var/facial_hair_id = tgui_input_list(user, "Please select what facial hairstyle you'd like to sculpt!", "Select masterpiece", GLOB.facial_hairstyles_list) + var/facial_hair_id = tgui_input_list(user, "Please select what facial hairstyle you'd like to sculpt!", "Select masterpiece", SSaccessories.facial_hairstyles_list) if(!facial_hair_id) return diff --git a/modular_skyrat/modules/synths/code/species/screen.dm b/modular_skyrat/modules/synths/code/species/screen.dm index f65143b99a16a..728532c0ea377 100644 --- a/modular_skyrat/modules/synths/code/species/screen.dm +++ b/modular_skyrat/modules/synths/code/species/screen.dm @@ -10,7 +10,7 @@ if(!istype(synth_species)) return - var/new_ipc_screen = tgui_input_list(usr, "Choose your character's screen:", "Monitor Display", GLOB.sprite_accessories[MUTANT_SYNTH_SCREEN]) + var/new_ipc_screen = tgui_input_list(usr, "Choose your character's screen:", "Monitor Display", SSaccessories.sprite_accessories[MUTANT_SYNTH_SCREEN]) if(!new_ipc_screen) return diff --git a/modular_skyrat/modules/synths/code/species/synthetic.dm b/modular_skyrat/modules/synths/code/species/synthetic.dm index 4d035c7dfadce..9f146de2c67f9 100644 --- a/modular_skyrat/modules/synths/code/species/synthetic.dm +++ b/modular_skyrat/modules/synths/code/species/synthetic.dm @@ -110,8 +110,8 @@ if(!chassis && !head) return - var/datum/sprite_accessory/synth_chassis/chassis_of_choice = GLOB.sprite_accessories[MUTANT_SYNTH_CHASSIS][chassis[MUTANT_INDEX_NAME]] - var/datum/sprite_accessory/synth_head/head_of_choice = GLOB.sprite_accessories[MUTANT_SYNTH_HEAD][head[MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/synth_chassis/chassis_of_choice = SSaccessories.sprite_accessories[MUTANT_SYNTH_CHASSIS][chassis[MUTANT_INDEX_NAME]] + var/datum/sprite_accessory/synth_head/head_of_choice = SSaccessories.sprite_accessories[MUTANT_SYNTH_HEAD][head[MUTANT_INDEX_NAME]] if(!chassis_of_choice && !head_of_choice) return diff --git a/modular_skyrat/modules/tarkon/code/clothing/mod.dm b/modular_skyrat/modules/tarkon/code/clothing/mod.dm index 4da9d029bbe38..2e92919423107 100644 --- a/modular_skyrat/modules/tarkon/code/clothing/mod.dm +++ b/modular_skyrat/modules/tarkon/code/clothing/mod.dm @@ -19,11 +19,11 @@ /obj/item/shield/riot, /obj/item/gun, ) - skins = list( + variants = list( "tarkon" = list( MOD_ICON_OVERRIDE = 'modular_skyrat/modules/tarkon/icons/obj/clothing/mod.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_skyrat/modules/tarkon/icons/mob/clothing/mod.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = HEAD_LAYER, UNSEALED_CLOTHING = SNUG_FIT, UNSEALED_COVER = HEADCOVERSEYES|PEPPERPROOF, @@ -31,21 +31,29 @@ SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT|HIDETAIL, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) diff --git a/modular_zubbers/code/game/brain_damage/severe.dm b/modular_zubbers/code/game/brain_damage/severe.dm index 1f828c8fdb87a..e62f48df7c344 100644 --- a/modular_zubbers/code/game/brain_damage/severe.dm +++ b/modular_zubbers/code/game/brain_damage/severe.dm @@ -9,5 +9,5 @@ for(var/mob/M in owner.held_items) //makes sure to check hands for your tiny friends! if(!isliving(M)) continue - if(istype(M, /mob/living/simple_animal/pet) || istype(M, /mob/living/basic/pet) || M.ckey) + if(istype(M, /mob/living/basic/pet) || M.ckey) return FALSE diff --git a/modular_zubbers/code/modules/credits/credits.dm b/modular_zubbers/code/modules/credits/credits.dm index 69dd1adc30496..b49f7ca0daca0 100644 --- a/modular_zubbers/code/modules/credits/credits.dm +++ b/modular_zubbers/code/modules/credits/credits.dm @@ -112,7 +112,7 @@ GLOBAL_LIST(end_titles) possible_titles += "THE [pick("DOWNFALL OF", "RISE OF", "TROUBLE WITH", "FINAL STAND OF", "DARK SIDE OF", "DESOLATION OF", "DESTRUCTION OF", "CRISIS OF")]\ [pick("SPACEMEN", "HUMANITY", "DIGNITY", "SANITY", "THE CHIMPANZEES", "THE VENDOMAT PRICES", "GIANT ARMORED", "THE GAS JANITOR",\ "THE SUPERMATTER CRYSTAL", "MEDICAL", "ENGINEERING", "SECURITY", "RESEARCH", "THE SERVICE DEPARTMENT", "COMMAND", "THE EXPLORERS", "THE PATHFINDER",\ - "SKYRAT STATION")]" + "BUBBER STATION")]" possible_titles += "THE CREW GETS [pick("TINGLED", "PICKLED", "AN INCURABLE DISEASE", "PIZZA", "A VALUABLE HISTORY LESSON", "A BREAK", "HIGH", "TO LIVE", "TO RELIVE THEIR CHILDHOOD", "EMBROILED IN CIVIL WAR", "A BAD HANGOVER", "SERIOUS ABOUT [pick("DRUG ABUSE", "CRIME", "PRODUCTIVITY", "ANCIENT AMERICAN CARTOONS", "SPACEBALL", "DECOMPRESSION PROCEDURES")]")]" possible_titles += "THE CREW LEARNS ABOUT [pick("LOVE", "DRUGS", "THE DANGERS OF MONEY LAUNDERING", "XENIC SENSITIVITY", "INVESTMENT FRAUD", "KELOTANE ABUSE", "RADIATION PROTECTION", "SACRED GEOMETRY", "STRING THEORY", "ABSTRACT MATHEMATICS", "[pick("UNATHI", "SKRELLIAN", "DIONAN", "KHAARMANI", "VOX", "SERPENTID")] MATING RITUALS", "ANCIENT CHINESE MEDICINE")]" possible_titles += "A VERY [pick("CORPORATE", "NANOTRASEN", "FLEET", "HAPHAESTUS", "DAIS", "XENOLIFE", "EXPEDITIONARY", "DIONA", "PHORON", "MARTIAN", "SERPENTID")] [pick("CHRISTMAS", "EASTER", "HOLIDAY", "WEEKEND", "THURSDAY", "VACATION")]" @@ -160,7 +160,7 @@ GLOBAL_LIST(end_titles) titles += "
BASED ON REAL EVENTS
In memory of [english_list(corpses)].
" var/list/staff = list("PRODUCTION STAFF:") - var/list/static/staffjobs = list("Coffe Fetcher", "Cameraman", "Angry Yeller", "Chair Operator", "Choreographer", "Historical Consultant", "Costume Designer", "Chief Editor", "Executive Assistant") + var/list/static/staffjobs = list("Coffee Fetcher", "Cameraman", "Angry Yeller", "Chair Operator", "Choreographer", "Historical Consultant", "Costume Designer", "Chief Editor", "Executive Assistant") var/list/goodboys = list() for(var/client/C) if(!C?.holder) diff --git a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm index 6a7332f97b406..ebb9f6f9cab1c 100644 --- a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm +++ b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm @@ -49,3 +49,8 @@ name = "Black Divers Coat" item_path = /obj/item/clothing/suit/jacket/diver ckeywhitelist = list("sexmaster, leafydasurvivor") + +/datum/loadout_item/suit/holographic + name = "Holographic Suit V4000" + item_path = /obj/item/clothing/suit/misc/holographic + ckeywhitelist = list("blovy") diff --git a/modular_zubbers/code/modules/mod/mod_theme.dm b/modular_zubbers/code/modules/mod/mod_theme.dm index 02150d225a6cd..30ab4426d1dd5 100644 --- a/modular_zubbers/code/modules/mod/mod_theme.dm +++ b/modular_zubbers/code/modules/mod/mod_theme.dm @@ -17,11 +17,11 @@ /obj/item/assembly/flash, /obj/item/melee/baton, ) - skins = list( + variants = list( "asset_protection" = list( MOD_ICON_OVERRIDE = 'modular_zubbers/icons/obj/clothing/modsuit/mod_clothing.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_zubbers/icons/mob/clothing/modsuit/mod_clothing.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = null, UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, @@ -29,17 +29,17 @@ SEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEYES|HIDEFACE|HIDESNOUT, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, @@ -59,84 +59,42 @@ acid = 100 wound = 15 -/datum/mod_theme/mining - default_skin = "mining" - skins = list( - "mining" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, - UNSEALED_CLOTHING = SNUG_FIT, - SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEEARS|HIDEHAIR, - SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT, - SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - ), - "asteroid" = list( - HELMET_FLAGS = list( - UNSEALED_LAYER = null, - UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, - UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, - SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, - SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDAMAGE, - CAN_OVERSLOT = TRUE, - ), - ), +/datum/mod_theme/mining/New() + variants += list( "imp" = list( MOD_ICON_OVERRIDE = 'modular_zubbers/icons/obj/clothing/modsuit/mod_clothing.dmi', MOD_WORN_ICON_OVERRIDE = 'modular_zubbers/icons/mob/clothing/modsuit/mod_clothing.dmi', - HELMET_FLAGS = list( + /obj/item/clothing/head/mod = list( UNSEALED_LAYER = null, UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE|HEADINTERNALS, UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEEARS|HIDEHAIR|HIDESNOUT, SEALED_INVISIBILITY = HIDEMASK|HIDEEYES|HIDEFACE, SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF, + UNSEALED_MESSAGE = HELMET_UNSEAL_MESSAGE, + SEALED_MESSAGE = HELMET_SEAL_MESSAGE, ), - CHESTPLATE_FLAGS = list( + /obj/item/clothing/suit/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, SEALED_INVISIBILITY = HIDEJUMPSUIT, + UNSEALED_MESSAGE = CHESTPLATE_UNSEAL_MESSAGE, + SEALED_MESSAGE = CHESTPLATE_SEAL_MESSAGE, ), - GAUNTLETS_FLAGS = list( + /obj/item/clothing/gloves/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = GAUNTLET_UNSEAL_MESSAGE, + SEALED_MESSAGE = GAUNTLET_SEAL_MESSAGE, ), - BOOTS_FLAGS = list( + /obj/item/clothing/shoes/mod = list( UNSEALED_CLOTHING = THICKMATERIAL, SEALED_CLOTHING = STOPSPRESSUREDAMAGE, CAN_OVERSLOT = TRUE, + UNSEALED_MESSAGE = BOOT_UNSEAL_MESSAGE, + SEALED_MESSAGE = BOOT_SEAL_MESSAGE, ), ), ) + . = ..() diff --git a/modular_zubbers/modules/voting/_votes.dm b/modular_zubbers/modules/voting/_votes.dm index 227a94eee769d..2807c952c429a 100644 --- a/modular_zubbers/modules/voting/_votes.dm +++ b/modular_zubbers/modules/voting/_votes.dm @@ -1,25 +1,22 @@ /datum/vote - // Specifies if ghosts without linked bodies or ghostroles are allowed to vote + // Specifies if people who haven't spent INGAME_TIME_NEEDED minutes in the round are allowed to vote var/allow_ghosts = TRUE +#define INGAME_TIME_NEEDED 30 // Checks if a mob can partake in voting. Feel free to add overrides when adding your own votes! // This is called directly from /datum/controller/subsystem/vote so some nullchecks are excluded as they are included before this is called /datum/vote/proc/can_mob_vote(mob/voter) if(SSticker.HasRoundStarted() && !allow_ghosts) - // Handle the lobby people first - if(istype(voter, /mob/dead/new_player)) - return FALSE - // Check if there is a mind. This should only be a case on ghosts, but also doubles down as a nullcheck for the next check - // We also check the is_offstation_ghost because it stays with your mind even after dying. No cheating this! - else if(!voter.mind || QDELETED(voter.mind.current) || voter.mind.is_offstation_ghost) - return FALSE - // Check if the person is living. If they are, check if they're on the centcom level - else if(istype(voter, /mob/living) && (is_centcom_level(voter.z))) + if(GLOB.client_minutes_in_round[voter.client.ckey] >= INGAME_TIME_NEEDED) + return TRUE + else return FALSE return TRUE +#undef INGAME_TIME_NEEDED + /datum/vote/transfer_vote allow_ghosts = FALSE diff --git a/modular_zubbers/modules/voting/living_timer.dm b/modular_zubbers/modules/voting/living_timer.dm new file mode 100644 index 0000000000000..97fc4da531517 --- /dev/null +++ b/modular_zubbers/modules/voting/living_timer.dm @@ -0,0 +1,6 @@ +GLOBAL_LIST_EMPTY(client_minutes_in_round) + +/client/proc/update_living_minutes(mins) + if(!isliving(mob)) + return + GLOB.client_minutes_in_round[ckey] += mins diff --git a/modular_zubbers/modules/voting/spawners.dm b/modular_zubbers/modules/voting/spawners.dm deleted file mode 100644 index 54cfa4af3893c..0000000000000 --- a/modular_zubbers/modules/voting/spawners.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/mind - var/is_offstation_ghost = FALSE - -/obj/effect/mob_spawn/ghost_role/Initialize(mapload) - . = ..() - RegisterSignal(src, COMSIG_GHOSTROLE_SPAWNED, PROC_REF(on_mob_created)) - -/obj/effect/mob_spawn/ghost_role/Destroy() - . = ..() - UnregisterSignal(src, COMSIG_GHOSTROLE_SPAWNED) - -/obj/effect/mob_spawn/ghost_role/proc/on_mob_created(datum/source, mob/living/ghostspawn) - SIGNAL_HANDLER - var/mob_on_station = is_station_level(ghostspawn.z) - if(!mob_on_station && istype(ghostspawn)) - if(!ghostspawn.mind) - return - // Pirates can spawn offstation but are also antags and should be allowed a vote - if(isnull(ghostspawn.mind.antag_datums)) - ghostspawn.mind.is_offstation_ghost = TRUE diff --git a/modular_zubbers/modules/voting/vote_overrides.dm b/modular_zubbers/modules/voting/vote_overrides.dm index 5003fd0cf6e64..fb0b4e369f8a8 100644 --- a/modular_zubbers/modules/voting/vote_overrides.dm +++ b/modular_zubbers/modules/voting/vote_overrides.dm @@ -5,3 +5,6 @@ /datum/vote/transfer_vote winner_method = VOTE_WINNER_METHOD_SIMPLE + +/datum/vote/transfer_vote + display_statistics = FALSE diff --git a/rust_g.dll b/rust_g.dll index 30f63e72f4b1d..d3aebf7121706 100644 Binary files a/rust_g.dll and b/rust_g.dll differ diff --git a/sound/attributions.txt b/sound/attributions.txt index 502c412153a8b..a9e2c69753189 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -175,3 +175,6 @@ portal_close, portal_open_1 , portal_open_2 , portal_open_3 , portal_travel made toilet-flush.ogg is made by shw489 (CC0): https://freesound.org/people/shw489/sounds/234389/ + +soup_boil1.ogg through soup_boil5.ogg and soup_boil_end.ogg are taken from Boiling Soup from Freesoung.org (CC4) and converted to OGG / split apart (but is otherwise unchanged): +https://freesound.org/people/jorickhoofd/sounds/632783/ diff --git a/sound/effects/huuu.ogg b/sound/effects/huuu.ogg index 9be0bebcfbd82..b8e055098ec2e 100644 Binary files a/sound/effects/huuu.ogg and b/sound/effects/huuu.ogg differ diff --git a/sound/effects/reee.ogg b/sound/effects/reee.ogg index 6a635f5a676b4..958dc60982153 100644 Binary files a/sound/effects/reee.ogg and b/sound/effects/reee.ogg differ diff --git a/sound/effects/soup_boil1.ogg b/sound/effects/soup_boil1.ogg new file mode 100644 index 0000000000000..0c869bb94fbf6 Binary files /dev/null and b/sound/effects/soup_boil1.ogg differ diff --git a/sound/effects/soup_boil2.ogg b/sound/effects/soup_boil2.ogg new file mode 100644 index 0000000000000..524d3b8c537e6 Binary files /dev/null and b/sound/effects/soup_boil2.ogg differ diff --git a/sound/effects/soup_boil3.ogg b/sound/effects/soup_boil3.ogg new file mode 100644 index 0000000000000..59a4c62ac40a5 Binary files /dev/null and b/sound/effects/soup_boil3.ogg differ diff --git a/sound/effects/soup_boil4.ogg b/sound/effects/soup_boil4.ogg new file mode 100644 index 0000000000000..4c18f4a353f48 Binary files /dev/null and b/sound/effects/soup_boil4.ogg differ diff --git a/sound/effects/soup_boil5.ogg b/sound/effects/soup_boil5.ogg new file mode 100644 index 0000000000000..a62bc985f4c56 Binary files /dev/null and b/sound/effects/soup_boil5.ogg differ diff --git a/sound/effects/soup_boil_end.ogg b/sound/effects/soup_boil_end.ogg new file mode 100644 index 0000000000000..7931242a4cf28 Binary files /dev/null and b/sound/effects/soup_boil_end.ogg differ diff --git a/sound/items/crowbar_prying.ogg b/sound/items/crowbar_prying.ogg new file mode 100644 index 0000000000000..5876802616def Binary files /dev/null and b/sound/items/crowbar_prying.ogg differ diff --git a/sound/items/ratchet_fast.ogg b/sound/items/ratchet_fast.ogg new file mode 100644 index 0000000000000..d7a55e259202e Binary files /dev/null and b/sound/items/ratchet_fast.ogg differ diff --git a/sound/items/ratchet_slow.ogg b/sound/items/ratchet_slow.ogg new file mode 100644 index 0000000000000..d3a362b06c105 Binary files /dev/null and b/sound/items/ratchet_slow.ogg differ diff --git a/sound/items/screwdriver_operating.ogg b/sound/items/screwdriver_operating.ogg new file mode 100644 index 0000000000000..9e0659e382674 Binary files /dev/null and b/sound/items/screwdriver_operating.ogg differ diff --git a/sound/items/wirecutter_cut.ogg b/sound/items/wirecutter_cut.ogg new file mode 100644 index 0000000000000..143ac2fd9cdc8 Binary files /dev/null and b/sound/items/wirecutter_cut.ogg differ diff --git a/tgstation.dme b/tgstation.dme index 5784066424b55..85574fc18d5ab 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -799,6 +799,7 @@ #include "code\controllers\subsystem\sounds.dm" #include "code\controllers\subsystem\spatial_gridmap.dm" #include "code\controllers\subsystem\speech_controller.dm" +#include "code\controllers\subsystem\sprite_accessories.dm" #include "code\controllers\subsystem\statpanel.dm" #include "code\controllers\subsystem\stickyban.dm" #include "code\controllers\subsystem\stock_market.dm" @@ -1169,6 +1170,7 @@ #include "code\datums\components\crank_recharge.dm" #include "code\datums\components\crate_carrier.dm" #include "code\datums\components\creamed.dm" +#include "code\datums\components\cuff_n_stun.dm" #include "code\datums\components\cult_ritual_item.dm" #include "code\datums\components\curse_of_hunger.dm" #include "code\datums\components\curse_of_polymorph.dm" @@ -3154,21 +3156,23 @@ #include "code\modules\antagonists\clown_ops\clownop.dm" #include "code\modules\antagonists\clown_ops\outfits.dm" #include "code\modules\antagonists\cult\blood_magic.dm" -#include "code\modules\antagonists\cult\constructs.dm" -#include "code\modules\antagonists\cult\cult.dm" #include "code\modules\antagonists\cult\cult_bastard_sword.dm" #include "code\modules\antagonists\cult\cult_comms.dm" #include "code\modules\antagonists\cult\cult_items.dm" #include "code\modules\antagonists\cult\cult_objectives.dm" +#include "code\modules\antagonists\cult\cult_other.dm" #include "code\modules\antagonists\cult\cult_structure_altar.dm" #include "code\modules\antagonists\cult\cult_structure_archives.dm" #include "code\modules\antagonists\cult\cult_structure_forge.dm" #include "code\modules\antagonists\cult\cult_structure_pylon.dm" #include "code\modules\antagonists\cult\cult_structures.dm" -#include "code\modules\antagonists\cult\cult_team.dm" #include "code\modules\antagonists\cult\cult_turf_overlay.dm" #include "code\modules\antagonists\cult\rune_spawn_action.dm" #include "code\modules\antagonists\cult\runes.dm" +#include "code\modules\antagonists\cult\datums\constructs.dm" +#include "code\modules\antagonists\cult\datums\cult_team.dm" +#include "code\modules\antagonists\cult\datums\cultist.dm" +#include "code\modules\antagonists\cult\datums\shade.dm" #include "code\modules\antagonists\ert\ert.dm" #include "code\modules\antagonists\fugitive\fugitive.dm" #include "code\modules\antagonists\fugitive\fugitive_equipment.dm" @@ -3688,7 +3692,6 @@ #include "code\modules\cargo\coupon.dm" #include "code\modules\cargo\exports.dm" #include "code\modules\cargo\expressconsole.dm" -#include "code\modules\cargo\gondolapod.dm" #include "code\modules\cargo\goodies.dm" #include "code\modules\cargo\materials_market.dm" #include "code\modules\cargo\order.dm" @@ -3773,6 +3776,7 @@ #include "code\modules\client\preferences\ambient_occlusion.dm" #include "code\modules\client\preferences\assets.dm" #include "code\modules\client\preferences\auto_fit_viewport.dm" +#include "code\modules\client\preferences\blindfold_color.dm" #include "code\modules\client\preferences\body_type.dm" #include "code\modules\client\preferences\broadcast_login_logout.dm" #include "code\modules\client\preferences\clothing.dm" @@ -4729,6 +4733,7 @@ #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\logout.dm" #include "code\modules\mob\living\navigation.dm" +#include "code\modules\mob\living\sneeze.dm" #include "code\modules\mob\living\status_procs.dm" #include "code\modules\mob\living\taste.dm" #include "code\modules\mob\living\ventcrawling.dm" @@ -4754,6 +4759,9 @@ #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_abilities.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_ai.dm" +#include "code\modules\mob\living\basic\bots\honkbots\honkbot.dm" +#include "code\modules\mob\living\basic\bots\honkbots\honkbot_abilities.dm" +#include "code\modules\mob\living\basic\bots\honkbots\honkbot_ai.dm" #include "code\modules\mob\living\basic\bots\hygienebot\hygienebot.dm" #include "code\modules\mob\living\basic\bots\hygienebot\hygienebot_ai.dm" #include "code\modules\mob\living\basic\bots\medbot\medbot.dm" @@ -4873,6 +4881,7 @@ #include "code\modules\mob\living\basic\lavaland\legion\legion.dm" #include "code\modules\mob\living\basic\lavaland\legion\legion_ai.dm" #include "code\modules\mob\living\basic\lavaland\legion\legion_brood.dm" +#include "code\modules\mob\living\basic\lavaland\legion\legion_monkey.dm" #include "code\modules\mob\living\basic\lavaland\legion\legion_tumour.dm" #include "code\modules\mob\living\basic\lavaland\legion\spawn_legions.dm" #include "code\modules\mob\living\basic\lavaland\lobstrosity\lobstrosity.dm" @@ -4917,6 +4926,8 @@ #include "code\modules\mob\living\basic\pets\dog\corgi.dm" #include "code\modules\mob\living\basic\pets\dog\dog_subtypes.dm" #include "code\modules\mob\living\basic\pets\dog\strippable_items.dm" +#include "code\modules\mob\living\basic\pets\gondolas\gondola.dm" +#include "code\modules\mob\living\basic\pets\gondolas\gondolapod.dm" #include "code\modules\mob\living\basic\pets\orbie\orbie.dm" #include "code\modules\mob\living\basic\pets\orbie\orbie_abilities.dm" #include "code\modules\mob\living\basic\pets\orbie\orbie_ai.dm" @@ -5202,13 +5213,10 @@ #include "code\modules\mob\living\simple_animal\bot\ed209bot.dm" #include "code\modules\mob\living\simple_animal\bot\firebot.dm" #include "code\modules\mob\living\simple_animal\bot\floorbot.dm" -#include "code\modules\mob\living\simple_animal\bot\honkbot.dm" #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" #include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm" #include "code\modules\mob\living\simple_animal\bot\vibebot.dm" -#include "code\modules\mob\living\simple_animal\friendly\gondola.dm" -#include "code\modules\mob\living\simple_animal\friendly\pet.dm" #include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm" #include "code\modules\mob\living\simple_animal\hostile\hostile.dm" #include "code\modules\mob\living\simple_animal\hostile\illusion.dm" @@ -5261,6 +5269,7 @@ #include "code\modules\mod\mod_core.dm" #include "code\modules\mod\mod_link.dm" #include "code\modules\mod\mod_paint.dm" +#include "code\modules\mod\mod_part.dm" #include "code\modules\mod\mod_theme.dm" #include "code\modules\mod\mod_types.dm" #include "code\modules\mod\mod_ui.dm" @@ -6399,6 +6408,7 @@ #include "modular_skyrat\master_files\code\datums\quirks\positive_quirks\life_savings.dm" #include "modular_skyrat\master_files\code\datums\records\record.dm" #include "modular_skyrat\master_files\code\datums\station_traits\negative_traits.dm" +#include "modular_skyrat\master_files\code\datums\status_effects\debuffs\debuffs.dm" #include "modular_skyrat\master_files\code\datums\storage\storage.dm" #include "modular_skyrat\master_files\code\datums\storage\subtypes\pockets.dm" #include "modular_skyrat\master_files\code\datums\traits\good.dm" @@ -6595,7 +6605,6 @@ #include "modular_skyrat\master_files\code\modules\jobs\job_types\ghostcafe.dm" #include "modular_skyrat\master_files\code\modules\jobs\job_types\head_of_personnel.dm" #include "modular_skyrat\master_files\code\modules\jobs\job_types\head_of_security.dm" -#include "modular_skyrat\master_files\code\modules\jobs\job_types\janitor.dm" #include "modular_skyrat\master_files\code\modules\jobs\job_types\medical_doctor.dm" #include "modular_skyrat\master_files\code\modules\jobs\job_types\mime.dm" #include "modular_skyrat\master_files\code\modules\jobs\job_types\paramedic.dm" @@ -6629,6 +6638,7 @@ #include "modular_skyrat\master_files\code\modules\mob\living\living_defines.dm" #include "modular_skyrat\master_files\code\modules\mob\living\living_movement.dm" #include "modular_skyrat\master_files\code\modules\mob\living\basic\alien\alien.dm" +#include "modular_skyrat\master_files\code\modules\mob\living\basic\lavaland\watcher\watcher.dm" #include "modular_skyrat\master_files\code\modules\mob\living\carbon\carbon_defense.dm" #include "modular_skyrat\master_files\code\modules\mob\living\carbon\death.dm" #include "modular_skyrat\master_files\code\modules\mob\living\carbon\human_helpers.dm" @@ -7577,9 +7587,7 @@ #include "modular_skyrat\modules\kahraman_equipment\code\organic_printer_designs\resources.dm" #include "modular_skyrat\modules\knives\knives.dm" #include "modular_skyrat\modules\layer_shift\code\mob_movement.dm" -#include "modular_skyrat\modules\liquids\code\drains.dm" #include "modular_skyrat\modules\liquids\code\height_floors.dm" -#include "modular_skyrat\modules\liquids\code\mop.dm" #include "modular_skyrat\modules\liquids\code\ocean_areas.dm" #include "modular_skyrat\modules\liquids\code\ocean_biomes.dm" #include "modular_skyrat\modules\liquids\code\ocean_flora.dm" @@ -7587,6 +7595,10 @@ #include "modular_skyrat\modules\liquids\code\ocean_ruins.dm" #include "modular_skyrat\modules\liquids\code\ocean_turfs.dm" #include "modular_skyrat\modules\liquids\code\tools.dm" +#include "modular_skyrat\modules\liquids\code\cleaning\drains.dm" +#include "modular_skyrat\modules\liquids\code\cleaning\mop.dm" +#include "modular_skyrat\modules\liquids\code\cleaning\reagents.dm" +#include "modular_skyrat\modules\liquids\code\cleaning\turf.dm" #include "modular_skyrat\modules\liquids\code\liquid_systems\liquid_controller.dm" #include "modular_skyrat\modules\liquids\code\liquid_systems\liquid_effect.dm" #include "modular_skyrat\modules\liquids\code\liquid_systems\liquid_groups.dm" @@ -8961,6 +8973,6 @@ #include "modular_zubbers\modules\vetted\vetted.dm" #include "modular_zubbers\modules\vetted\overrides\erp_preferences.dm" #include "modular_zubbers\modules\voting\_votes.dm" -#include "modular_zubbers\modules\voting\spawners.dm" +#include "modular_zubbers\modules\voting\living_timer.dm" #include "modular_zubbers\modules\voting\vote_overrides.dm" // END_INCLUDE diff --git a/tgui/packages/common/keys.ts b/tgui/packages/common/keys.ts index 34ac9e1614dde..3e913151707ff 100644 --- a/tgui/packages/common/keys.ts +++ b/tgui/packages/common/keys.ts @@ -5,6 +5,7 @@ * Handles modifier keys (Shift, Alt, Control) and arrow keys. * * For alphabetical keys, use the actual character (e.g. 'a') instead of the key code. + * Don't access Esc or Escape directly, use isEscape() instead * * Something isn't here that you want? Just add it: * @url https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values @@ -16,6 +17,8 @@ * // do something * } * ``` + * + * */ export enum KEY { Alt = 'Alt', @@ -25,6 +28,7 @@ export enum KEY { Down = 'ArrowDown', End = 'End', Enter = 'Enter', + Esc = 'Esc', Escape = 'Escape', Home = 'Home', Insert = 'Insert', @@ -37,3 +41,18 @@ export enum KEY { Tab = 'Tab', Up = 'ArrowUp', } + +/** + * ### isEscape + * + * Checks if the user has hit the 'ESC' key on their keyboard. + * There's a weirdness in BYOND where this could be either the string + * 'Escape' or 'Esc' depending on the browser. This function handles + * both cases. + * + * @param key - the key to check, typically from event.key + * @returns true if key is Escape or Esc, false otherwise + */ +export function isEscape(key: string): boolean { + return key === KEY.Esc || key === KEY.Escape; +} diff --git a/tgui/packages/tgui-say/TguiSay.tsx b/tgui/packages/tgui-say/TguiSay.tsx index 39043a978b8cf..7bc459c7f2e84 100644 --- a/tgui/packages/tgui-say/TguiSay.tsx +++ b/tgui/packages/tgui-say/TguiSay.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { BooleanLike } from 'common/react'; import { Component, createRef, RefObject } from 'react'; import { dragStartHandler } from 'tgui/drag'; @@ -245,9 +245,10 @@ export class TguiSay extends Component<{}, State> { this.handleIncrementChannel(); break; - case KEY.Escape: - this.handleClose(); - break; + default: + if (isEscape(event.key)) { + this.handleClose(); + } } } diff --git a/tgui/packages/tgui/components/Button.tsx b/tgui/packages/tgui/components/Button.tsx index 25b1e78f06177..ec621de621ef0 100644 --- a/tgui/packages/tgui/components/Button.tsx +++ b/tgui/packages/tgui/components/Button.tsx @@ -5,7 +5,7 @@ */ import { Placement } from '@popperjs/core'; -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { BooleanLike, classes } from 'common/react'; import { ChangeEvent, @@ -131,7 +131,7 @@ export const Button = (props: Props) => { } // Refocus layout on pressing escape. - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { event.preventDefault(); } }} @@ -343,7 +343,7 @@ const ButtonInput = (props: InputProps) => { commitResult(event); return; } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { setInInput(false); } }} diff --git a/tgui/packages/tgui/components/Input.tsx b/tgui/packages/tgui/components/Input.tsx index 36d928ce2151a..9bc48aa809406 100644 --- a/tgui/packages/tgui/components/Input.tsx +++ b/tgui/packages/tgui/components/Input.tsx @@ -4,7 +4,7 @@ * @license MIT */ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { classes } from 'common/react'; import { debounce } from 'common/timer'; import { KeyboardEvent, SyntheticEvent, useEffect, useRef } from 'react'; @@ -127,7 +127,7 @@ export function Input(props: Props) { return; } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { onEscape?.(event); event.currentTarget.value = toInputValue(value); diff --git a/tgui/packages/tgui/components/NumberInput.tsx b/tgui/packages/tgui/components/NumberInput.tsx index 572b0070bcaa9..892a43eddf3c0 100644 --- a/tgui/packages/tgui/components/NumberInput.tsx +++ b/tgui/packages/tgui/components/NumberInput.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { clamp } from 'common/math'; import { BooleanLike, classes } from 'common/react'; import { @@ -239,7 +239,7 @@ export class NumberInput extends Component { onChange?.(targetValue); onDrag?.(targetValue); } - } else if (event.key === KEY.Escape) { + } else if (isEscape(event.key)) { this.setState({ editing: false, }); diff --git a/tgui/packages/tgui/components/TextArea.tsx b/tgui/packages/tgui/components/TextArea.tsx index 82302b98b2b63..0482229b8fd4b 100644 --- a/tgui/packages/tgui/components/TextArea.tsx +++ b/tgui/packages/tgui/components/TextArea.tsx @@ -5,7 +5,7 @@ * @license MIT */ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { classes } from 'common/react'; import { forwardRef, @@ -82,7 +82,7 @@ export const TextArea = forwardRef( return; } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { onEscape?.(event); if (selfClear) { event.currentTarget.value = ''; diff --git a/tgui/packages/tgui/interfaces/AlertModal.tsx b/tgui/packages/tgui/interfaces/AlertModal.tsx index 62b6e8bbbc328..5924dc7ae7cf2 100644 --- a/tgui/packages/tgui/interfaces/AlertModal.tsx +++ b/tgui/packages/tgui/interfaces/AlertModal.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { BooleanLike } from 'common/react'; import { KeyboardEvent, useState } from 'react'; @@ -55,9 +55,6 @@ export function AlertModal(props) { case KEY.Enter: act('choose', { choice: buttons[selected] }); return; - case KEY.Escape: - act('cancel'); - return; case KEY.Left: event.preventDefault(); onKey(DIRECTION.Decrement); @@ -67,6 +64,12 @@ export function AlertModal(props) { event.preventDefault(); onKey(DIRECTION.Increment); return; + + default: + if (isEscape(event.key)) { + act('cancel'); + return; + } } } diff --git a/tgui/packages/tgui/interfaces/Cargo/CargoCart.tsx b/tgui/packages/tgui/interfaces/Cargo/CargoCart.tsx index 39642fa334084..f69ece9569aec 100644 --- a/tgui/packages/tgui/interfaces/Cargo/CargoCart.tsx +++ b/tgui/packages/tgui/interfaces/Cargo/CargoCart.tsx @@ -15,7 +15,7 @@ import { CargoData } from './types'; export function CargoCart(props) { const { act, data } = useBackend(); - const { requestonly, away, cart = [], docked, location } = data; + const { can_send, away, cart = [], docked, location } = data; const sendable = !!away && !!docked; @@ -26,8 +26,8 @@ export function CargoCart(props) { - - {cart.length > 0 && !requestonly && ( + {cart.length > 0 && !!can_send && ( +
@@ -47,8 +47,8 @@ export function CargoCart(props) {
- )} -
+
+ )} ); } diff --git a/tgui/packages/tgui/interfaces/KeyComboModal.tsx b/tgui/packages/tgui/interfaces/KeyComboModal.tsx index e0b598764f156..0340ae811cd77 100644 --- a/tgui/packages/tgui/interfaces/KeyComboModal.tsx +++ b/tgui/packages/tgui/interfaces/KeyComboModal.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { useState } from 'react'; import { useBackend, useLocalState } from '../backend'; @@ -20,7 +20,7 @@ const isStandardKey = (event: React.KeyboardEvent): boolean => { event.key !== KEY.Alt && event.key !== KEY.Control && event.key !== KEY.Shift && - event.key !== KEY.Escape + !isEscape(event.key) ); }; @@ -97,7 +97,7 @@ export const KeyComboModal = (props) => { if (event.key === KEY.Enter) { act('submit', { entry: input }); } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { act('cancel'); } return; @@ -109,7 +109,7 @@ export const KeyComboModal = (props) => { setValue(formatKeyboardEvent(event)); setBinding(false); return; - } else if (event.key === KEY.Escape) { + } else if (isEscape(event.key)) { setValue(init_value); setBinding(false); return; diff --git a/tgui/packages/tgui/interfaces/LootPanel/index.tsx b/tgui/packages/tgui/interfaces/LootPanel/index.tsx index bc6330b1806f7..c04306204045c 100644 --- a/tgui/packages/tgui/interfaces/LootPanel/index.tsx +++ b/tgui/packages/tgui/interfaces/LootPanel/index.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape } from 'common/keys'; import { BooleanLike } from 'common/react'; import { useState } from 'react'; @@ -27,7 +27,7 @@ export function LootPanel(props) { { - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { Byond.sendMessage('close'); } }} diff --git a/tgui/packages/tgui/interfaces/MODsuit.tsx b/tgui/packages/tgui/interfaces/MODsuit.tsx index f78bd4dd1d832..c39724aedc8f3 100644 --- a/tgui/packages/tgui/interfaces/MODsuit.tsx +++ b/tgui/packages/tgui/interfaces/MODsuit.tsx @@ -27,10 +27,7 @@ type MODsuitData = { ui_theme: string; control: string; complexity_max: number; - helmet: string; - chestplate: string; - gauntlets: string; - boots: string; + parts: PartData[]; // Dynamic suit_status: SuitStatus; user_status: UserStatus; @@ -38,6 +35,11 @@ type MODsuitData = { module_info: Module[]; }; +type PartData = { + slot: string; + name: string; +}; + type SuitStatus = { core_name: string; cell_charge_current: number; @@ -476,7 +478,7 @@ const SuitStatusSection = (props) => { const HardwareSection = (props) => { const { act, data } = useBackend(); - const { control, helmet, chestplate, gauntlets, boots } = data; + const { control } = data; const { ai_name, core_name } = data.suit_status; return (
@@ -488,19 +490,28 @@ const HardwareSection = (props) => { {core_name || 'No Core Detected'} {control} - {helmet || 'None'} - - {chestplate || 'None'} - - - {gauntlets || 'None'} - - {boots || 'None'} +
); }; +const ModParts = (props) => { + const { act, data } = useBackend(); + const { parts } = data; + return ( + <> + {parts.map((part) => { + return ( + + {part.name} + + ); + })} + + ); +}; + const UserStatusSection = (props) => { const { act, data } = useBackend(); const { active } = data.suit_status; diff --git a/tgui/packages/tgui/interfaces/NtosCard.tsx b/tgui/packages/tgui/interfaces/NtosCard.tsx index 5997aa0e91c12..ffba4a647540c 100644 --- a/tgui/packages/tgui/interfaces/NtosCard.tsx +++ b/tgui/packages/tgui/interfaces/NtosCard.tsx @@ -69,6 +69,7 @@ export const NtosCardContent = (props) => { trimAccess, wildcardFlags, wildcardSlots, + hasTrim, } = data; return ( @@ -93,7 +94,11 @@ export const NtosCardContent = (props) => { /> } > - + {hasTrim ? ( + + ) : ( + 'Templates require a trim already applied to the card. Please use an ID Painter to apply a trim.' + )} )} diff --git a/tgui/packages/tgui/interfaces/NumberInputModal.tsx b/tgui/packages/tgui/interfaces/NumberInputModal.tsx index 938b24d0c6e07..c7c7b1c5831ca 100644 --- a/tgui/packages/tgui/interfaces/NumberInputModal.tsx +++ b/tgui/packages/tgui/interfaces/NumberInputModal.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { useState } from 'react'; import { useBackend } from '../backend'; @@ -44,7 +44,7 @@ export const NumberInputModal = (props) => { if (event.key === KEY.Enter) { act('submit', { entry: input }); } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { act('cancel'); } }} diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx index 32d39c287df94..874095b84eac2 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/KeybindingsPage.tsx @@ -1,5 +1,5 @@ import { range, sortBy } from 'common/collections'; -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { Component } from 'react'; import { resolveAsset } from '../../assets'; @@ -42,7 +42,7 @@ const isStandardKey = (event: KeyboardEvent): boolean => { event.key !== KEY.Alt && event.key !== KEY.Control && event.key !== KEY.Shift && - event.key !== KEY.Escape + !isEscape(event.key) ); }; @@ -287,7 +287,7 @@ export class KeybindingsPage extends Component<{}, KeybindingsPageState> { if (isStandardKey(event)) { this.setRebindingHotkey(formatKeyboardEvent(event)); return; - } else if (event.key === KEY.Escape) { + } else if (isEscape(event.key)) { this.setRebindingHotkey(undefined); return; } diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/blindfold_color.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/blindfold_color.tsx new file mode 100644 index 0000000000000..8a59ced57a8f9 --- /dev/null +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/blindfold_color.tsx @@ -0,0 +1,6 @@ +import { Feature, FeatureColorInput } from '../base'; + +export const blindfold_color: Feature = { + name: 'Blindfold color', + component: FeatureColorInput, +}; diff --git a/tgui/packages/tgui/interfaces/TextInputModal.tsx b/tgui/packages/tgui/interfaces/TextInputModal.tsx index 52517bcbbfe3b..980fa6db797fb 100644 --- a/tgui/packages/tgui/interfaces/TextInputModal.tsx +++ b/tgui/packages/tgui/interfaces/TextInputModal.tsx @@ -1,4 +1,4 @@ -import { KEY } from 'common/keys'; +import { isEscape, KEY } from 'common/keys'; import { KeyboardEvent, useState } from 'react'; import { useBackend } from '../backend'; @@ -67,7 +67,7 @@ export const TextInputModal = (props) => { ) { act('submit', { entry: input }); } - if (event.key === KEY.Escape) { + if (isEscape(event.key)) { act('cancel'); } }} diff --git a/tgui/tsconfig.json b/tgui/tsconfig.json index 9241d7bc9cbb3..99186312c9491 100644 --- a/tgui/tsconfig.json +++ b/tgui/tsconfig.json @@ -14,7 +14,7 @@ "ScriptHost" ], "module": "ESNext", - "moduleResolution": "Node", + "moduleResolution": "Bundler", "noEmit": true, "resolveJsonModule": true, "skipLibCheck": true, diff --git a/tools/UpdatePaths/Scripts/81920_honkbots.txt b/tools/UpdatePaths/Scripts/81920_honkbots.txt new file mode 100644 index 0000000000000..5ece41054f9d6 --- /dev/null +++ b/tools/UpdatePaths/Scripts/81920_honkbots.txt @@ -0,0 +1 @@ +/mob/living/simple_animal/bot/secbot/honkbot/@SUBTYPES : /mob/living/basic/bot/honkbot/@SUBTYPES{@OLD} \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/83451_basic_gondola.txt b/tools/UpdatePaths/Scripts/83451_basic_gondola.txt new file mode 100644 index 0000000000000..893890cc8e4c5 --- /dev/null +++ b/tools/UpdatePaths/Scripts/83451_basic_gondola.txt @@ -0,0 +1,2 @@ +/mob/living/simple_animal/pet/gondola : /mob/living/basic/pet/gondola{@OLD} +/mob/living/simple_animal/pet/gondola/@SUBTYPES : /mob/living/basic/pet/gondola/@SUBTYPES{@OLD} diff --git a/tools/icon_cutter/README.md b/tools/icon_cutter/README.md index ce79a941fb619..91edd1a40657e 100644 --- a/tools/icon_cutter/README.md +++ b/tools/icon_cutter/README.md @@ -2,7 +2,7 @@ ## What is this? -This folder holds a set of cached versions of hypnagogic, our icon cutter. +This folder will hold a set of cached versions of hypnagogic, our icon cutter. We autodownload the tagged version from github on build. ## How is it used? diff --git a/tools/test_merge_bot/main.js b/tools/test_merge_bot/main.js index ae7d4c7a98d90..3fde4d6c54297 100644 --- a/tools/test_merge_bot/main.js +++ b/tools/test_merge_bot/main.js @@ -76,7 +76,7 @@ export async function processTestMerges({ github, context }) { const existingComment = comments.repository.pullRequest.comments.nodes.find( (comment) => - comment.author.login === "github-actions" && + comment.author?.login === "github-actions" && comment.body.startsWith(TEST_MERGE_COMMENT_HEADER) );