diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm new file mode 100644 index 0000000000..76cb8bb9db --- /dev/null +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_singulo.dmm @@ -0,0 +1,1698 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/button/door{ + dir = 4; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = 24; + req_access_txt = "10" + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cB" = ( +/obj/machinery/button/door{ + dir = 1; + id = "engsm"; + name = "Radiation Shutters Control"; + req_access_txt = "10" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"cP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"dz" = ( +/turf/open/space/basic, +/area/space/nearstation) +"dN" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"dW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ea" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/engineering) +"eA" = ( +/obj/structure/table, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel, +/area/engine/engineering) +"eI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"eJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"eL" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"fh" = ( +/turf/open/floor/plasteel, +/area/engine/engineering) +"fr" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine Southwest"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"fH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"gf" = ( +/obj/item/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/item/pipe_dispenser, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ht" = ( +/obj/structure/reflector/single/anchored{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"hR" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"ic" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"jx" = ( +/obj/structure/reflector/single/anchored{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"jH" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"kh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"kC" = ( +/obj/structure/sign/warning/radiation/rad_area, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"kK" = ( +/turf/closed/wall, +/area/engine/engineering) +"la" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) +"lJ" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"lY" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/engine/engineering) +"me" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/closet/radiation, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"mZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"nR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"nW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qH" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"qP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"rj" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"rm" = ( +/turf/open/floor/plating/airless, +/area/space/nearstation) +"rM" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow, +/obj/machinery/power/rad_collector, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"sr" = ( +/obj/machinery/light, +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine South"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"tl" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"to" = ( +/obj/structure/sign/warning/radiation/rad_area, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"tv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/machinery/power/emitter, +/turf/open/floor/engine, +/area/engine/engineering) +"tC" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"tE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"tT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 4; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = 24; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"uG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"wt" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"xg" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xJ" = ( +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/glasses/meson/engine, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xQ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/rad_collector, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"yo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"yq" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/rad_collector, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"yU" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/engine/engineering) +"zW" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel, +/area/engine/engineering) +"zZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 8; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = -24; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Aw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"AF" = ( +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Bb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#c1caff" + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Particle Accelerator"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/the_singularitygen, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Bj" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/power/rad_collector, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"BG" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Ce" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Ch" = ( +/turf/closed/wall/r_wall, +/area/engine/engineering) +"CN" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine East"; + dir = 8; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"DK" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine West"; + dir = 4; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Eu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ER" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ES" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/item/clothing/head/welding, +/obj/item/weldingtool/largetank, +/obj/item/wrench, +/obj/item/stack/cable_coil/red, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"FK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"FM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"FP" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"FY" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/obj/item/geiger_counter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Hc" = ( +/obj/machinery/light, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"HQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/button/door{ + dir = 8; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = -24; + req_access_txt = "10" + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"HW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"In" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Js" = ( +/obj/structure/particle_accelerator/end_cap, +/obj/structure/particle_accelerator/fuel_chamber, +/obj/structure/particle_accelerator/particle_emitter/center, +/obj/structure/particle_accelerator/particle_emitter/left, +/obj/structure/particle_accelerator/particle_emitter/right, +/obj/structure/particle_accelerator/power_box, +/obj/machinery/particle_accelerator/control_box, +/obj/structure/closet/crate/engineering{ + name = "Particle Accelerator Crate" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"JC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Kg" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Lr" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Ls" = ( +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"LB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"LJ" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine Southeast"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"LO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"LV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Mi" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Mn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"MD" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"MJ" = ( +/turf/open/space/basic, +/area/space) +"Nm" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"No" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Nz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"NS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Og" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"Ox" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Pg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Pt" = ( +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Qk" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine Northeast"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Ra" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/engine/engineering) +"Rp" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Rr" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 1 + }, +/turf/open/space/basic, +/area/engine/engineering) +"Si" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"SD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Um" = ( +/turf/template_noop, +/area/template_noop) +"UL" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Singularity Engine Northwest"; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"UV" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Wf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ww" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"WQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"WX" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Xk" = ( +/obj/machinery/field/generator, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Yd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Yl" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"Yn" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/engineering) +"YY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Zb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Zx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Zz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ZF" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ZK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ZY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) + +(1,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(2,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(3,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(4,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(5,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +Yl +dz +dz +MJ +MJ +dz +dz +dz +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(6,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +rm +Yl +dz +dz +dz +dz +Yl +dz +dz +dz +dz +dz +dz +dz +dz +Um +Um +Um +Um +"} +(7,1,1) = {" +Um +Um +Um +Um +kK +kK +Ch +Ch +Ch +Ch +Ch +Ch +Ch +jH +Ch +Ch +Ch +Ch +lJ +Ch +Nm +dz +MJ +MJ +MJ +MJ +"} +(8,1,1) = {" +Um +Um +Lr +la +kK +Ra +Ch +tC +tC +tC +tC +tC +Ch +Ch +Ch +tC +tC +tC +tC +tC +Ch +dz +dz +MJ +MJ +MJ +"} +(9,1,1) = {" +Um +Um +FM +FM +In +ER +yU +Pt +Pt +Pt +Pt +Pt +Pt +DK +Pt +Pt +Pt +Pt +Pt +Pt +Ls +Pt +dz +dz +MJ +MJ +"} +(10,1,1) = {" +Um +Si +fh +ZY +to +Ch +Ch +UL +dz +Yl +dz +dz +FP +dz +FP +dz +dz +Yl +dz +Pt +Ch +Ch +tC +dz +MJ +MJ +"} +(11,1,1) = {" +xJ +gf +fh +dN +YY +MD +Ch +Pt +dz +Yl +dz +dz +FP +dz +FP +dz +dz +Yl +dz +Pt +fr +Ch +tC +dz +MJ +MJ +"} +(12,1,1) = {" +LO +Eu +Pg +cP +JC +tv +rj +Pt +dz +Yl +ht +dz +FP +dz +FP +dz +dz +Yl +dz +Yl +Pt +Ch +tC +dz +dz +MJ +"} +(13,1,1) = {" +NS +xx +fh +zW +dW +ea +rj +Pt +eL +Kg +Kg +rM +Kg +rM +Kg +rM +Kg +Kg +tl +Yl +Hc +Ch +tC +Yl +dz +MJ +"} +(14,1,1) = {" +yo +me +aT +Aw +JC +tv +rj +Og +hR +dz +FP +dz +dz +rm +dz +dz +ht +dz +hR +Yl +Pt +Ch +jH +Yl +dz +MJ +"} +(15,1,1) = {" +jH +FK +Ch +wt +tE +rj +rj +Og +hR +FP +Xk +FP +FP +rm +FP +FP +Xk +FP +hR +dz +Pt +Ch +tC +Yl +dz +MJ +"} +(16,1,1) = {" +Ch +ES +ZK +ZK +zZ +ZK +fH +Og +hR +dz +FP +dz +dz +rm +dz +dz +FP +dz +xQ +dz +Pt +Ch +tC +dz +dz +MJ +"} +(17,1,1) = {" +wt +Zz +Wf +Ox +nR +Zb +lY +Og +hR +dz +FP +dz +dz +rm +dz +dz +FP +dz +hR +Yl +Pt +Ch +tC +dz +MJ +MJ +"} +(18,1,1) = {" +cB +Bb +qP +ZF +SD +Yd +eI +LB +UV +rm +rm +rm +rm +rm +rm +rm +rm +rm +yq +Yl +sr +Ch +tC +dz +MJ +MJ +"} +(19,1,1) = {" +wt +eJ +Zx +nW +Mn +WQ +lY +Og +hR +dz +FP +dz +dz +rm +dz +dz +FP +dz +hR +Yl +Pt +Ch +tC +dz +MJ +MJ +"} +(20,1,1) = {" +Ch +Js +No +No +tT +No +LV +Og +hR +dz +FP +dz +dz +rm +dz +dz +FP +dz +Bj +dz +Pt +Ch +tC +dz +dz +MJ +"} +(21,1,1) = {" +jH +Nz +Ch +wt +tE +rj +rj +Og +hR +FP +Xk +FP +FP +rm +FP +FP +Xk +FP +hR +dz +Pt +Ch +tC +Yl +dz +MJ +"} +(22,1,1) = {" +AF +WX +HQ +Aw +JC +tv +rj +Og +hR +dz +FP +dz +dz +rm +dz +dz +jx +dz +hR +Yl +Pt +Ch +jH +Yl +dz +MJ +"} +(23,1,1) = {" +fh +kh +fh +fh +dW +ea +rj +Pt +ic +Kg +Kg +rM +Kg +rM +Kg +rM +Kg +Kg +Ce +Yl +Hc +Ch +tC +Yl +dz +MJ +"} +(24,1,1) = {" +fh +kh +uG +cP +xg +tv +rj +Pt +dz +Yl +jx +dz +FP +dz +FP +dz +dz +Yl +dz +Yl +Pt +Ch +tC +dz +dz +MJ +"} +(25,1,1) = {" +eA +FY +mB +Rp +HW +Mi +Ch +Pt +dz +Yl +dz +dz +FP +dz +FP +dz +dz +Yl +dz +Pt +LJ +Ch +tC +dz +MJ +MJ +"} +(26,1,1) = {" +fh +kh +mB +ZY +kC +mZ +mZ +Qk +Rr +Yl +dz +dz +FP +dz +FP +dz +dz +Yl +dz +Pt +Ch +Ch +tC +dz +MJ +MJ +"} +(27,1,1) = {" +Um +Um +Um +fh +Ww +qH +yU +Pt +Pt +Pt +Pt +Pt +Pt +CN +Pt +Pt +Pt +Pt +Pt +Pt +Ls +Pt +dz +dz +MJ +MJ +"} +(28,1,1) = {" +Um +Um +Um +fh +Yn +BG +Ch +tC +tC +tC +tC +tC +Ch +Ch +Ch +tC +tC +tC +tC +tC +Ch +Yl +dz +dz +dz +MJ +"} +(29,1,1) = {" +Um +Um +Um +fh +Yn +kK +Ch +Ch +Ch +Ch +Ch +Ch +Ch +jH +Ch +Ch +Ch +Ch +lJ +Ch +Nm +Yl +Yl +Yl +dz +MJ +"} diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm new file mode 100644 index 0000000000..6462cef211 --- /dev/null +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_sm.dmm @@ -0,0 +1,2827 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ac" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"at" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/cartridge/atmos, +/turf/open/floor/engine, +/area/engine/engineering) +"av" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"aw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"aA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aC" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/glasses/meson/engine, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"aV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) +"aX" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/turf/open/space, +/area/space/nearstation) +"aY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"bo" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"bH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4; + name = "Output to Waste" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"bI" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"bT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"bW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ck" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"cp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"cP" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/official/safety_eye_protection, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"cX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Gas to Cooling Loop" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"de" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Port"; + dir = 4; + network = list("ss13","engine") + }, +/turf/open/floor/engine, +/area/engine/engineering) +"df" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/supermatter) +"dl" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"dw" = ( +/obj/structure/lattice/catwalk, +/turf/open/space, +/area/space/nearstation) +"dD" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space, +/area/space/nearstation) +"ej" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Cooling Loop Bypass" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ey" = ( +/obj/structure/reflector/single/anchored{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ez" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"fa" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"fj" = ( +/obj/machinery/status_display, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"fq" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"fK" = ( +/obj/structure/sign/warning/radiation, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"fW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"gf" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"gj" = ( +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"gx" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"gB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"gQ" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"hy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"hJ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"hK" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 5 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"ii" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"in" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"iC" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/artistic{ + icon_state = "yellow"; + item_state = "toolbox_yellow"; + name = "Cable Toolbox"; + pixel_y = 6 + }, +/obj/item/storage/toolbox/artistic{ + icon_state = "yellow"; + item_state = "toolbox_yellow"; + name = "Cable Toolbox"; + pixel_y = -4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"iD" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"iJ" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"iU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"jg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"jp" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"js" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"jB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"jZ" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"kA" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room"; + req_access_txt = "10" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"kW" = ( +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ln" = ( +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"lw" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"lE" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Chamber" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) +"lG" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 9 + }, +/turf/open/space, +/area/space/nearstation) +"mi" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"mj" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/engine/engineering) +"mE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"mH" = ( +/obj/structure/sign/poster/official/safety_eye_protection, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"mU" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"mW" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"mX" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/engine, +/area/engine/engineering) +"na" = ( +/obj/machinery/camera{ + c_tag = "Supermatter Chamber"; + network = list("engine"); + pixel_x = 23 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"nd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + name = "Cooling Loop to Gas" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ni" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"nz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/engine, +/area/engine/engineering) +"nH" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"nR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"nV" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"nW" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/tank/internals/plasma, +/turf/open/floor/plating, +/area/engine/supermatter) +"ou" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"oC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"oS" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room"; + req_access_txt = "10" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"px" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/supermatter) +"pA" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"pL" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"pP" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/emitter/anchored{ + dir = 4; + state = 2 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"qc" = ( +/obj/structure/table, +/obj/item/pipe_dispenser, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"qe" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Mix Bypass" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qo" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"qr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "Gas to Filter" + }, +/obj/machinery/airalarm/engine{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine, +/area/engine/supermatter) +"re" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/supermatter) +"rt" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 4 + }, +/obj/machinery/meter, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ry" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"rJ" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engine/engineering) +"rY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"sm" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 6 + }, +/turf/open/space, +/area/space/nearstation) +"sn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"so" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"sq" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"sA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4; + name = "Gas to Mix" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"td" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"te" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"ti" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"tn" = ( +/turf/open/floor/engine, +/area/engine/supermatter) +"tw" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"tE" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"un" = ( +/obj/structure/reflector/single/anchored{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"uC" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"uR" = ( +/obj/machinery/power/supermatter_crystal/engine, +/turf/open/floor/engine, +/area/engine/supermatter) +"vD" = ( +/obj/structure/girder, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"vN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"vO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"vX" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"wt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/closet/radiation, +/turf/open/floor/plasteel, +/area/engine/engineering) +"wz" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/turf_decal/bot, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"wG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"wS" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"xo" = ( +/obj/structure/reflector/box/anchored{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"xB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"yd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"yf" = ( +/turf/open/space/basic, +/area/space/nearstation) +"yA" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"yD" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"yZ" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"zf" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Atmos to Loop" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"zh" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/table/reinforced, +/obj/item/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/item/pipe_dispenser, +/turf/open/floor/engine, +/area/engine/engineering) +"zF" = ( +/obj/structure/table, +/obj/item/stack/sheet/metal/fifty, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"zS" = ( +/turf/open/space/basic, +/area/space) +"Ab" = ( +/obj/item/crowbar/large, +/obj/structure/rack, +/obj/item/flashlight, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Ah" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"AH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room"; + req_access_txt = "10" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Bc" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Bk" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/window/plasma/reinforced{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"Bl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/glasses/meson, +/obj/item/geiger_counter, +/obj/item/geiger_counter, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"BD" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + dir = 4; + name = "Output Release" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Cb" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Cn" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/supermatter) +"CH" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Supermatter Engine Room"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"CT" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"CW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Dj" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Dz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"DA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"DC" = ( +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Ef" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ei" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Es" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ex" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"EL" = ( +/turf/closed/wall, +/area/engine/engineering) +"EM" = ( +/obj/item/wrench, +/obj/structure/rack, +/obj/item/weldingtool/hugetank, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/head/welding{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"EX" = ( +/obj/item/wrench, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Fr" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"FG" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Gl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Starboard"; + dir = 8; + network = list("ss13","engine") + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Gz" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"GB" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"GI" = ( +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"GK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"GX" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Hj" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Hn" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ + dir = 1 + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Hw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Aft"; + network = list("ss13","engine"); + pixel_x = 23 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Hz" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ik" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"In" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"IE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"IF" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/emitter/anchored{ + dir = 8; + state = 2 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Jn" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"JH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"JK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"JL" = ( +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"JV" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Laser Room"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ke" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Kv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"KX" = ( +/obj/machinery/status_display/ai, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"KZ" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/turf/open/space, +/area/space/nearstation) +"Le" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 10 + }, +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"Lg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Lv" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Lw" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"LE" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door{ + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_y = -24; + req_access_txt = "10" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"LJ" = ( +/obj/machinery/light, +/turf/open/floor/plating, +/area/engine/engineering) +"LS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Ml" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8; + filter_type = "n2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Mr" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ME" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"MI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"MJ" = ( +/turf/open/floor/plating, +/area/engine/engineering) +"MK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"MP" = ( +/turf/closed/wall/r_wall, +/area/engine/engineering) +"Ne" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"Np" = ( +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Nw" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/supermatter) +"Nx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ND" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"NK" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"NU" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/supermatter) +"NZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Oj" = ( +/turf/closed/wall/r_wall, +/area/space/nearstation) +"Ok" = ( +/turf/open/floor/plasteel, +/area/engine/engineering) +"OK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Mix to Gas" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"OR" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"OU" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Pa" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "External Gas to Loop" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Ph" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Py" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Qn" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/machinery/meter, +/turf/open/floor/engine, +/area/engine/engineering) +"Qu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/engineering/glass/critical{ + heat_proof = 1; + name = "Supermatter Chamber"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/engine, +/area/engine/supermatter) +"QD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"QJ" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Rh" = ( +/obj/structure/lattice, +/turf/open/space, +/area/space/nearstation) +"RA" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/machinery/power/rad_collector/anchored, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"RV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"Sn" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple, +/turf/open/space, +/area/space/nearstation) +"SL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, +/turf/open/floor/engine, +/area/engine/engineering) +"SR" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"SX" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Tk" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/engine/engineering) +"TB" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"TC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"TO" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ub" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"Uq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"Ur" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Uu" = ( +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"UM" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/supermatter) +"UN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"UP" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"Vg" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"Vn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"VN" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 1; + name = "External Gas to Loop" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"VP" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Wf" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/supermatter) +"Ws" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"WB" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space/basic, +/area/space/nearstation) +"WI" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"WT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Xy" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"XA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"XG" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/space, +/area/space/nearstation) +"XK" = ( +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/radio/headset/headset_eng, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"XY" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"YB" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"YD" = ( +/obj/structure/reflector/double/anchored{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"YF" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"YX" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 8; + name = "Gas to Filter" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"YZ" = ( +/obj/structure/lattice, +/obj/structure/grille, +/turf/open/space, +/area/space/nearstation) +"Zn" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ZH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/engine/engineering) +"ZO" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/camera{ + c_tag = "Engineering Supermatter Fore"; + dir = 1; + network = list("ss13","engine"); + pixel_x = 23 + }, +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 1 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ZT" = ( +/turf/template_noop, +/area/template_noop) + +(1,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +yf +Rh +yf +yf +Rh +yf +yf +Rh +yf +yf +yf +YZ +YZ +YZ +ZT +ZT +ZT +ZT +ZT +"} +(2,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +pL +aX +pL +yA +Sn +yA +yA +Sn +hK +yf +yf +YZ +Oj +YZ +ZT +ZT +ZT +ZT +ZT +"} +(3,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +bI +XG +bI +sm +dD +Sn +Sn +dD +lG +Rh +Rh +YZ +Oj +YZ +ZT +ZT +ZT +ZT +ZT +"} +(4,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +uC +XG +uC +Le +dD +yA +yA +dD +hK +yf +yf +YZ +Oj +YZ +ZT +ZT +ZT +ZT +ZT +"} +(5,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +bI +XG +bI +sm +dD +Sn +Sn +dD +lG +Rh +Rh +YZ +Oj +YZ +ZT +ZT +ZT +ZT +ZT +"} +(6,1,1) = {" +ZT +ZT +ZT +ZT +ZT +ZT +ZT +wS +XG +uC +Le +dD +yA +yA +dD +hK +yf +yf +YZ +Oj +YZ +ZT +ZT +ZT +ZT +ZT +"} +(7,1,1) = {" +ZT +ZT +ZT +ZT +EL +EL +MP +bI +XG +bI +sm +dD +Sn +Sn +dD +lG +Rh +Rh +YZ +Oj +YZ +yf +yf +yf +yf +zS +"} +(8,1,1) = {" +ZT +ZT +cP +Ke +EL +Tk +MP +wS +XG +uC +Le +dD +yA +yA +dD +hK +yf +yf +YZ +Oj +YZ +yf +yf +Rh +yf +yf +"} +(9,1,1) = {" +ZT +ZT +dl +Ok +ND +Zn +Ei +bI +KZ +lG +sm +dD +Sn +Sn +dD +lG +Rh +Rh +YZ +YZ +YZ +tw +Rh +Rh +Rh +yf +"} +(10,1,1) = {" +ZT +nR +AH +iD +MP +MP +MP +sq +aA +rJ +gf +rJ +rJ +td +yf +yf +yf +yf +Rh +yf +yf +yf +yf +Rh +yf +yf +"} +(11,1,1) = {" +oC +GB +UN +sn +sn +sn +de +GK +wG +TC +mj +fW +at +XA +td +MP +MP +MP +MP +MP +MP +yf +WB +YZ +WB +yf +"} +(12,1,1) = {" +cS +hJ +qe +ry +ry +ry +ry +cX +ry +ry +nd +ry +yD +Ex +ck +iC +Uu +kW +Uu +EM +MP +yf +YZ +Oj +YZ +yf +"} +(13,1,1) = {" +ME +qr +Hz +gj +te +te +ez +Mr +DA +ej +Dz +jZ +gB +SR +SX +Vn +Vn +cp +Uu +Uu +MP +yf +YZ +Oj +YZ +yf +"} +(14,1,1) = {" +Ne +yd +bW +VP +EX +Vg +KX +px +nW +Cn +fj +xB +WI +IE +JV +Bc +JH +Lv +XY +LJ +MP +Rh +YZ +Oj +YZ +Rh +"} +(15,1,1) = {" +MP +zh +QD +Hj +rt +Vg +JL +na +tE +tE +JL +Xy +Ml +Ef +iD +MJ +QJ +pP +pP +MJ +MP +yf +YZ +Oj +YZ +yf +"} +(16,1,1) = {" +MP +aC +bW +TO +fK +JL +UP +ti +ti +Bk +JL +JK +WT +Ef +MP +Lw +Uu +Uu +Uu +Uu +MP +Rh +YZ +Oj +YZ +yf +"} +(17,1,1) = {" +oS +fa +bW +ZO +yZ +qA +iJ +so +so +so +js +CW +YF +Py +iD +YD +Uu +Uu +ey +Uu +MP +yf +YZ +Oj +YZ +yf +"} +(18,1,1) = {" +iD +fa +bW +YX +Qu +aV +jp +tn +uR +tn +NU +Hw +ac +ac +iD +xo +Uu +xo +vD +Uu +MP +yf +YZ +Oj +YZ +yf +"} +(19,1,1) = {" +oS +fa +bW +LE +Gz +lE +CT +UM +UM +UM +OR +jB +Nx +aw +iD +Uu +Uu +Uu +un +Uu +MP +Rh +YZ +Oj +YZ +yf +"} +(20,1,1) = {" +MP +Bl +bW +iU +JL +OR +Wf +mW +mW +RA +JL +JK +WT +Ef +MP +Lw +Uu +Uu +Uu +Uu +MP +Rh +YZ +Oj +YZ +yf +"} +(21,1,1) = {" +MP +nV +mE +Ws +VN +wz +JL +tE +tE +tE +JL +vO +Np +Ef +iD +MJ +Dj +IF +Dj +MJ +MP +yf +YZ +Oj +YZ +yf +"} +(22,1,1) = {" +iD +fa +hy +Ws +Pa +wz +fj +Nw +df +re +KX +ni +lw +bH +JV +Bc +Ph +Ph +nH +LJ +MP +Rh +YZ +Oj +YZ +Rh +"} +(23,1,1) = {" +iD +vX +bo +GX +Ik +Ik +SL +YB +RV +qm +MK +ii +rY +Qn +ab +ZH +ZH +MI +Uu +Uu +MP +Rh +YZ +Oj +YZ +yf +"} +(24,1,1) = {" +mH +bT +Lg +zf +ry +ry +ry +OK +ry +ry +sA +ry +mX +BD +Uq +zF +Uu +GI +Uu +Ab +MP +Rh +YZ +Oj +YZ +yf +"} +(25,1,1) = {" +iD +mU +in +Ur +Es +Kv +Gl +aY +Kv +Kv +Fr +vN +nz +In +Ub +MP +MP +MP +MP +MP +MP +yf +YZ +YZ +YZ +yf +"} +(26,1,1) = {" +wt +av +kA +qo +EL +MP +MP +Cb +Uu +Uu +pA +jg +qc +fq +LS +Hn +dw +yf +Rh +yf +yf +yf +yf +Rh +yf +yf +"} +(27,1,1) = {" +ZT +ZT +ZT +ou +DC +iD +Uu +mi +NK +NK +Ah +Uu +Jn +MP +dw +dw +dw +Rh +Rh +Rh +Rh +tw +Rh +Rh +Rh +Rh +"} +(28,1,1) = {" +ZT +ZT +ZT +OU +Ok +CH +GI +gx +TB +gQ +gQ +ln +XK +MP +yf +yf +Rh +yf +Rh +Oj +YZ +yf +yf +Rh +yf +yf +"} +(29,1,1) = {" +ZT +ZT +ZT +FG +NZ +MP +MP +MP +MP +MP +iD +iD +iD +MP +Rh +Rh +Rh +Rh +Rh +Oj +YZ +yf +yf +Rh +yf +zS +"} diff --git a/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm b/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm new file mode 100644 index 0000000000..7f55d69b17 --- /dev/null +++ b/_maps/RandomRuins/StationRuins/Box/Engine/engine_tesla.dmm @@ -0,0 +1,1855 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/button/door{ + dir = 4; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = 24; + req_access_txt = "10" + }, +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plasteel, +/area/engine/engineering) +"cB" = ( +/obj/machinery/button/door{ + dir = 1; + id = "engsm"; + name = "Radiation Shutters Control"; + req_access_txt = "10" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"cP" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"dz" = ( +/turf/open/space/basic, +/area/space/nearstation) +"dN" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"dW" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"ea" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"eA" = ( +/obj/structure/table, +/obj/item/clothing/suit/radiation, +/obj/item/clothing/head/radiation, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel, +/area/engine/engineering) +"eI" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"eJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"eL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"fh" = ( +/turf/open/floor/plasteel, +/area/engine/engineering) +"fr" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine Southwest"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"fH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"gf" = ( +/obj/item/storage/toolbox/mechanical, +/obj/item/flashlight, +/obj/item/pipe_dispenser, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ht" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"hR" = ( +/obj/machinery/power/tesla_coil, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"ic" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"js" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine East"; + dir = 8; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"jx" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"jH" = ( +/obj/structure/sign/warning/radiation/rad_area, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"kh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ku" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"kK" = ( +/turf/closed/wall, +/area/engine/engineering) +"la" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engineering) +"lJ" = ( +/obj/structure/sign/warning/electricshock, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"lY" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/engine/engineering) +"me" = ( +/obj/structure/rack, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plasteel, +/area/engine/engineering) +"mB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"nL" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector{ + dir = 1 + }, +/turf/open/space/basic, +/area/engine/engineering) +"nR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"nW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"qH" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"qP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"rj" = ( +/obj/effect/spawner/structure/window/plasma/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"rm" = ( +/turf/open/floor/plating/airless, +/area/space/nearstation) +"rM" = ( +/obj/machinery/field/generator, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"rT" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"tc" = ( +/obj/machinery/light, +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine South"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"tl" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"to" = ( +/obj/structure/sign/warning/radiation/rad_area, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"tv" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/obj/machinery/power/emitter, +/turf/open/floor/engine, +/area/engine/engineering) +"tC" = ( +/obj/structure/grille, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"tE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"tT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 4; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = 24; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"uG" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"wt" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"xg" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xJ" = ( +/obj/item/tank/internals/emergency_oxygen/engi{ + pixel_x = 5 + }, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/glasses/meson/engine, +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"xQ" = ( +/obj/machinery/power/tesla_coil, +/obj/structure/cable{ + icon_state = "0-2"; + pixel_y = 1 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"yj" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine West"; + dir = 4; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"yo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plasteel, +/area/engine/engineering) +"yq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"yU" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/engine/engineering) +"zW" = ( +/obj/structure/chair/stool, +/turf/open/floor/plasteel, +/area/engine/engineering) +"zZ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/button/door{ + dir = 8; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = -24; + req_access_txt = "10" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Aw" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"AF" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Bb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#c1caff" + }, +/obj/machinery/camera/emp_proof{ + c_tag = "Particle Accelerator"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/the_singularitygen/tesla, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Bh" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Bj" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"BG" = ( +/obj/structure/closet/emcloset/anchored, +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Ce" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Ch" = ( +/turf/closed/wall/r_wall, +/area/engine/engineering) +"DF" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Eu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"ER" = ( +/obj/structure/sign/warning/vacuum/external{ + pixel_x = 32 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ES" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/item/clothing/head/welding, +/obj/item/weldingtool/largetank, +/obj/item/wrench, +/obj/item/stack/cable_coil/red, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"FK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"FM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"FP" = ( +/obj/structure/lattice/catwalk, +/turf/open/space/basic, +/area/space/nearstation) +"FY" = ( +/obj/structure/table, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/obj/item/geiger_counter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Hc" = ( +/obj/machinery/light, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"HQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/button/door{ + dir = 8; + id = "engsm"; + name = "Radiation Shutters Control"; + pixel_x = -24; + req_access_txt = "10" + }, +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/turf/open/floor/plasteel, +/area/engine/engineering) +"HW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"In" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Js" = ( +/obj/structure/particle_accelerator/end_cap, +/obj/structure/particle_accelerator/fuel_chamber, +/obj/structure/particle_accelerator/particle_emitter/center, +/obj/structure/particle_accelerator/particle_emitter/left, +/obj/structure/particle_accelerator/particle_emitter/right, +/obj/structure/particle_accelerator/power_box, +/obj/machinery/particle_accelerator/control_box, +/obj/structure/closet/crate/engineering{ + name = "Particle Accelerator Crate" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"JC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"JZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/closed/wall, +/area/engine/engineering) +"Kg" = ( +/obj/structure/reflector/single/anchored{ + dir = 5 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Lr" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Ls" = ( +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"LB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"LJ" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine Southeast"; + dir = 1; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"LO" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"LV" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Mi" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Mn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"MD" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"MJ" = ( +/turf/open/space/basic, +/area/space) +"Nm" = ( +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"No" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"Nz" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"NS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Oe" = ( +/obj/structure/reflector/single/anchored{ + dir = 9 + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Og" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/engineering) +"Ox" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Pg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Pj" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Pk" = ( +/obj/machinery/power/tesla_coil, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Pt" = ( +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Qk" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine Northeast"; + network = list("ss13","engine") + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"Ra" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plating, +/area/engine/engineering) +"Rp" = ( +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel, +/area/engine/engineering) +"RE" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"RL" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Si" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"SD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Tr" = ( +/obj/structure/sign/warning/radiation/rad_area, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"TE" = ( +/obj/machinery/power/tesla_coil, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"TN" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"Um" = ( +/turf/template_noop, +/area/template_noop) +"UL" = ( +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine Northwest"; + network = list("ss13","engine") + }, +/turf/open/floor/plating/airless, +/area/engine/engineering) +"UV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Vf" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/space/basic, +/area/space/nearstation) +"VR" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/camera/emp_proof{ + c_tag = "Tesla Engine Northeast"; + network = list("ss13","engine") + }, +/turf/open/space/basic, +/area/space/nearstation) +"Wf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Ww" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "Engineering External Access"; + req_access_txt = "10;13" + }, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"WI" = ( +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/engineering) +"WP" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/space/basic, +/area/space/nearstation) +"WQ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"WX" = ( +/obj/structure/rack, +/obj/item/clothing/gloves/color/yellow, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Xk" = ( +/obj/machinery/power/grounding_rod, +/turf/open/floor/plating/airless, +/area/space/nearstation) +"Yd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Yl" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space/nearstation) +"YY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "engsm"; + name = "Radiation Chamber Shutters" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"Zb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Zx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/engine, +/area/engine/engineering) +"Zz" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ZF" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/engineering) +"ZK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"ZS" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/space/basic, +/area/space/nearstation) +"ZY" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/engine/engineering) + +(1,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(2,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(3,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(4,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +dz +dz +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(5,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +Yl +dz +dz +MJ +MJ +dz +dz +dz +MJ +MJ +MJ +MJ +MJ +MJ +Um +Um +Um +Um +Um +"} +(6,1,1) = {" +Um +Um +Um +Um +Um +Um +Um +rm +Yl +dz +dz +dz +dz +Yl +dz +dz +dz +dz +dz +dz +dz +dz +Um +Um +Um +Um +"} +(7,1,1) = {" +Um +Um +Um +Um +kK +kK +Ch +Ch +Ch +Ch +Ch +Ch +Ch +jH +Ch +Ch +Ch +Ch +lJ +Ch +Nm +dz +MJ +MJ +MJ +MJ +"} +(8,1,1) = {" +Um +Um +Lr +la +kK +Ra +Ch +tC +tC +tC +tC +tC +Ch +Ch +Ch +tC +tC +tC +tC +tC +Ch +dz +dz +MJ +MJ +MJ +"} +(9,1,1) = {" +Um +Um +FM +FM +In +ER +yU +Pt +Pt +Pt +Pt +Pt +Pt +yj +Pt +Pt +Pt +Pt +Pt +Pt +Ls +Pt +dz +dz +MJ +MJ +"} +(10,1,1) = {" +Um +Si +fh +ZY +to +Ch +Ch +UL +dz +Yl +dz +dz +FP +FP +FP +dz +dz +Yl +dz +Pt +Ch +Ch +tC +dz +MJ +MJ +"} +(11,1,1) = {" +xJ +gf +fh +dN +YY +MD +Ch +Pt +dz +Yl +dz +dz +FP +FP +FP +dz +dz +Yl +dz +Pt +fr +Ch +tC +dz +MJ +MJ +"} +(12,1,1) = {" +LO +Eu +Pg +cP +Bh +tv +rj +Pt +dz +Yl +dz +dz +Kg +FP +FP +FP +dz +Yl +dz +Yl +Pt +Ch +tC +dz +dz +MJ +"} +(13,1,1) = {" +NS +xx +fh +zW +Bh +tv +rj +Pt +rm +rm +rm +rm +rm +rm +Kg +rm +rm +rm +rm +Yl +Hc +Ch +tC +Yl +dz +MJ +"} +(14,1,1) = {" +yo +me +aT +Aw +JC +WI +rj +Og +rm +tl +ht +Bj +ht +WP +ht +Pj +ht +TN +rm +Yl +Pt +Ch +jH +Yl +dz +MJ +"} +(15,1,1) = {" +jH +FK +Ch +wt +tE +rj +rj +Og +rm +ZS +Xk +TE +rm +TE +rm +TE +Xk +ZS +rm +dz +Pt +Ch +tC +Yl +dz +MJ +"} +(16,1,1) = {" +Ch +ES +ZK +ZK +zZ +ZK +fH +Og +rm +ea +hR +FP +FP +FP +FP +FP +xQ +RL +rm +dz +Pt +Ch +tC +dz +dz +MJ +"} +(17,1,1) = {" +wt +Zz +Wf +Ox +nR +Zb +lY +Og +rm +yq +rm +FP +rM +rm +rM +FP +rm +yq +rm +Yl +Pt +Ch +tC +dz +MJ +MJ +"} +(18,1,1) = {" +cB +Bb +qP +ZF +SD +Yd +eI +LB +UV +dW +hR +FP +rm +rm +rm +FP +xQ +ku +rm +Yl +tc +Ch +tC +dz +MJ +MJ +"} +(19,1,1) = {" +wt +eJ +Zx +nW +Mn +WQ +lY +Og +rm +ZS +rm +FP +rM +rm +rM +FP +rm +ZS +rm +Yl +Pt +Ch +tC +dz +MJ +MJ +"} +(20,1,1) = {" +Ch +Js +No +No +tT +No +LV +Og +rm +DF +hR +FP +FP +FP +FP +FP +xQ +RE +rm +dz +Pt +Ch +tC +dz +dz +MJ +"} +(21,1,1) = {" +jH +Nz +Ch +wt +tE +rj +rj +Og +rm +ZS +Xk +Pk +rm +Pk +rm +Pk +Xk +ZS +rm +dz +Pt +Ch +tC +Yl +dz +MJ +"} +(22,1,1) = {" +AF +WX +HQ +Aw +JC +WI +rj +Og +rm +Ce +ht +ic +ht +eL +ht +Vf +ht +jx +rm +Yl +Pt +Ch +jH +Yl +dz +MJ +"} +(23,1,1) = {" +fh +kh +fh +fh +Bh +tv +rj +Pt +rm +rm +rm +rm +rm +rm +Oe +rm +rm +rm +rm +Yl +Hc +Ch +tC +Yl +dz +MJ +"} +(24,1,1) = {" +fh +kh +uG +cP +xg +tv +rj +Pt +dz +Yl +dz +dz +Oe +FP +FP +FP +dz +Yl +dz +Yl +Pt +Ch +tC +dz +dz +MJ +"} +(25,1,1) = {" +eA +FY +mB +Rp +HW +Mi +Ch +Pt +dz +Yl +dz +dz +FP +FP +VR +dz +dz +Yl +dz +Pt +LJ +Ch +tC +dz +MJ +MJ +"} +(26,1,1) = {" +fh +kh +mB +ZY +Tr +rT +rT +Qk +nL +Yl +dz +dz +FP +FP +FP +dz +dz +Yl +dz +Pt +Ch +Ch +tC +dz +MJ +MJ +"} +(27,1,1) = {" +Um +Um +Um +fh +Ww +qH +yU +Pt +Pt +Pt +Pt +Pt +Pt +js +Pt +Pt +Pt +Pt +Pt +Pt +Ls +Pt +dz +dz +MJ +MJ +"} +(28,1,1) = {" +Um +Um +Um +fh +JZ +BG +Ch +tC +tC +tC +tC +tC +Ch +Ch +Ch +tC +tC +tC +tC +tC +Ch +Yl +dz +dz +dz +MJ +"} +(29,1,1) = {" +Um +Um +Um +fh +JZ +kK +Ch +Ch +Ch +Ch +Ch +Ch +Ch +jH +Ch +Ch +Ch +Ch +lJ +Ch +Nm +Yl +Yl +Yl +dz +MJ +"} diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 7bec217f62..43bdbf1a18 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -44029,13 +44029,6 @@ }, /turf/open/floor/engine/n2o, /area/engine/atmos) -"bUX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/sign/poster/official/safety_eye_protection, -/turf/closed/wall/r_wall, -/area/engine/engineering) "bUY" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -44253,10 +44246,6 @@ }, /turf/open/space, /area/space/nearstation) -"bVw" = ( -/obj/structure/sign/poster/official/safety_eye_protection, -/turf/closed/wall/r_wall, -/area/engine/engineering) "bVx" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/plating/airless, @@ -47635,13 +47624,8 @@ /turf/open/floor/plating, /area/space/nearstation) "cdj" = ( -/obj/structure/closet/crate/bin, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/item/cartridge/atmos, -/turf/open/floor/engine, -/area/engine/engineering) +/turf/template_noop, +/area/template_noop) "cdk" = ( /obj/machinery/computer/atmos_alert, /obj/effect/turf_decal/tile/neutral{ @@ -48616,9 +48600,9 @@ /turf/open/floor/plasteel/white, /area/crew_quarters/heads/chief) "cfG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/engine/engineering) +/obj/effect/landmark/stationroom/box/engine, +/turf/open/space/basic, +/area/space) "cfH" = ( /obj/machinery/button/door{ id = "ceprivacy"; @@ -48963,12 +48947,6 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel, /area/engine/engineering) -"cgx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) "cgy" = ( /obj/machinery/light/small{ dir = 1 @@ -49048,33 +49026,6 @@ /obj/item/radio/headset/headset_eng, /turf/open/floor/plasteel, /area/engine/engineering) -"cgI" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) -"cgJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) -"cgK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) -"cgL" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cgM" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/machinery/airalarm{ @@ -49524,27 +49475,6 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel, /area/engine/engineering) -"chF" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) -"chG" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) "chH" = ( /obj/structure/closet/firecloset, /turf/open/floor/plating, @@ -49574,11 +49504,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/aft) -"chM" = ( -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/radio/headset/headset_eng, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "chN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -49638,68 +49563,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"chU" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/artistic{ - icon_state = "yellow"; - item_state = "toolbox_yellow"; - name = "Cable Toolbox"; - pixel_y = 6 - }, -/obj/item/storage/toolbox/artistic{ - icon_state = "yellow"; - item_state = "toolbox_yellow"; - name = "Cable Toolbox"; - pixel_y = -4 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"chV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/tank/internals/emergency_oxygen/engi{ - pixel_x = 5 - }, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/glasses/meson/engine, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"chW" = ( -/obj/item/wrench, -/obj/structure/rack, -/obj/item/weldingtool/hugetank, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/head/welding{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/glasses/welding, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"chX" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) "chY" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, @@ -49798,24 +49661,6 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/maintenance/starboard/fore) -"cii" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/clothing/suit/radiation, -/obj/item/clothing/head/radiation, -/obj/item/clothing/glasses/meson, -/obj/item/geiger_counter, -/obj/item/geiger_counter, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) "cij" = ( /obj/machinery/modular_computer/console/preset/engineering, /obj/structure/cable{ @@ -49888,15 +49733,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) -"cip" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/engine/engineering) "ciq" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -49906,13 +49742,6 @@ }, /turf/open/floor/plating, /area/crew_quarters/heads/chief) -"cir" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) "cis" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, @@ -50061,16 +49890,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/engine/engineering) -"ciO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/engine/engineering) "ciP" = ( /obj/structure/cable{ icon_state = "0-2" @@ -50241,12 +50060,6 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) -"cjh" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "cji" = ( /obj/structure/cable{ icon_state = "1-2" @@ -50532,6 +50345,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/closet/wardrobe/engineering_yellow, /turf/open/floor/plasteel, /area/engine/engineering) "cjT" = ( @@ -51924,18 +51738,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/engine/engineering) -"cnx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) "cny" = ( /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, @@ -52187,15 +51989,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coc" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cop" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 1 @@ -52358,16 +52151,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) "coL" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -52380,18 +52163,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"coM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/engine, -/area/engine/engineering) "coS" = ( /obj/structure/rack, /obj/item/gun/energy/laser{ @@ -52532,52 +52303,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cpt" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/toolbox/electrical{ - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cpu" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cpv" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cpx" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cpy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cpA" = ( /obj/structure/cable{ icon_state = "1-2" @@ -52592,15 +52317,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, /area/bridge) -"cpD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) "cpE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -52698,133 +52414,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"cpZ" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 5 - }, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cqa" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cqb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqd" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqe" = ( -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 6 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqf" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/green/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqg" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Gas to Filter" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqh" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/machinery/camera{ - c_tag = "Engineering Supermatter Fore"; - dir = 1; - network = list("ss13","engine"); - pixel_x = 23 - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqi" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqj" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door{ - id = "engsm"; - name = "Radiation Shutters Control"; - pixel_y = -24; - req_access_txt = "10" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cql" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqm" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/engineering) "cqn" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -52906,53 +52495,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cqA" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external{ - name = "Engineering External Access"; - req_access_txt = "10;13" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cqB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cqC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cqD" = ( -/obj/structure/sign/warning/radiation, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cqE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/engine, -/area/engine/supermatter) -"cqF" = ( -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/closed/wall/r_wall, -/area/engine/supermatter) "cqG" = ( /obj/structure/rack, /obj/item/storage/box/rubbershot{ @@ -53033,70 +52575,10 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel, /area/engine/engineering) -"cqS" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet/emcloset/anchored, -/turf/open/floor/plating, -/area/engine/engineering) -"cqT" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cqU" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "cqY" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"cqZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/engine/supermatter) -"cra" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Gas to Filter" - }, -/obj/machinery/airalarm/engine{ - dir = 4; - pixel_x = -23 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/engine/supermatter) -"crb" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Gas to Chamber" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/engine/supermatter) -"crc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"crd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Supermatter Engine Room"; - req_access_txt = "10" - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "crh" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -53151,36 +52633,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/engineering) -"crs" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"crt" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - heat_proof = 1; - name = "Supermatter Chamber"; - req_access_txt = "10" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cru" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"crv" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) "crw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -53271,44 +52723,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/starboard/aft) -"crH" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) -"crI" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"crJ" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) -"crK" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 8 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"crL" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"crM" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "crP" = ( /obj/machinery/light, /turf/open/floor/plasteel, @@ -53320,26 +52734,6 @@ }, /turf/open/floor/plating, /area/engine/engineering) -"crT" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/turf/open/space, -/area/space/nearstation) -"crU" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/turf/open/space, -/area/space/nearstation) -"crV" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "crW" = ( /obj/machinery/light/small{ dir = 8 @@ -53358,39 +52752,11 @@ /obj/structure/transit_tube, /turf/open/floor/plating, /area/engine/engineering) -"crZ" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 4 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"csa" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/engine/engineering) -"csb" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 9 - }, -/turf/open/space, -/area/space/nearstation) "csc" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/open/space, /area/maintenance/aft) -"csd" = ( -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cse" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "csg" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -53407,13 +52773,6 @@ }, /turf/open/space, /area/space/nearstation) -"csj" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering) "csk" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/airless, @@ -53461,62 +52820,10 @@ /obj/machinery/meter, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) -"css" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space, -/area/space/nearstation) -"csu" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"csv" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"csx" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/turf/open/space, -/area/space/nearstation) -"csA" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/supermatter) "csD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"csH" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"csI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) "csM" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/yellow/visible, @@ -53532,30 +52839,6 @@ /obj/structure/transit_tube/horizontal, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"csP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/green/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"csR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) "csT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/landmark/xmastree, @@ -55544,19 +54827,6 @@ }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/aisat_interior) -"czE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"czF" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "czG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -55756,96 +55026,6 @@ }, /turf/open/floor/plating, /area/maintenance/port/aft) -"cAl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cAm" = ( -/obj/machinery/power/supermatter_crystal/engine, -/turf/open/floor/engine, -/area/engine/supermatter) -"cAo" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAp" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 4; - name = "Cooling Loop to Gas" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Gas to Mix" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cAu" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/emitter/anchored{ - dir = 4; - state = 2 - }, -/turf/open/floor/plating, -/area/engine/engineering) "cAy" = ( /obj/structure/closet/secure_closet/freezer/kitchen/maintenance, /turf/open/floor/plating, @@ -55940,10 +55120,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore/secondary) -"cAP" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/r_wall, -/area/engine/supermatter) "cAQ" = ( /obj/structure/chair, /turf/open/floor/plating, @@ -56344,15 +55520,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/engine/air, /area/engine/atmos) -"cBR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) "cBS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -56570,79 +55737,6 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) -"cDe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/closet/radiation, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cDg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDh" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical, -/obj/item/flashlight, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/item/pipe_dispenser, -/turf/open/floor/engine, -/area/engine/engineering) -"cDi" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/item/clothing/suit/radiation, -/obj/item/clothing/head/radiation, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDj" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) "cDl" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -56657,92 +55751,6 @@ /obj/machinery/vending/engivend, /turf/open/floor/plasteel, /area/engine/engineering) -"cDo" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cDp" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDr" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDs" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDt" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDv" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDw" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Atmos to Loop" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDy" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cDz" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "cDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56750,70 +55758,6 @@ /obj/effect/landmark/start/station_engineer, /turf/open/floor/plasteel, /area/engine/engineering) -"cDC" = ( -/obj/item/wrench, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 6 - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cDD" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ - dir = 4 - }, -/obj/machinery/meter, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cDE" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "External Gas to Loop" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cDF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "External Gas to Loop" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cDG" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cDH" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas{ - pixel_x = -3; - pixel_y = -3 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) -"cDI" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/engineering) "cDJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -56854,803 +55798,6 @@ /obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/engineering) -"cEa" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cEd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Engineering Supermatter Port"; - dir = 4; - network = list("ss13","engine") - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEe" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/green/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cEf" = ( -/obj/machinery/status_display/ai, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cEg" = ( -/obj/machinery/status_display, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cEh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cEi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Engineering Supermatter Starboard"; - dir = 8; - network = list("ss13","engine") - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEk" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cEl" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"cEr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEs" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 8; - name = "Gas to Cooling Loop" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEt" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"cEu" = ( -/obj/machinery/camera{ - c_tag = "Supermatter Chamber"; - network = list("engine"); - pixel_x = 23 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEv" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEy" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEz" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cEA" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"cEB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEC" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Mix to Gas" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cED" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEE" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 5 - }, -/turf/open/space, -/area/space/nearstation) -"cEK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cEL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cEM" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/tank/internals/plasma, -/turf/open/floor/plating, -/area/engine/supermatter) -"cET" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"cEU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cEW" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cFb" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Cooling Loop Bypass" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFe" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/structure/window/plasma/reinforced{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cFh" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 9 - }, -/obj/machinery/power/rad_collector/anchored, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/window/plasma/reinforced{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter) -"cFj" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "engsm"; - name = "Radiation Chamber Shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/supermatter) -"cFk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "Mix Bypass" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFm" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"cFn" = ( -/obj/structure/lattice, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 6 - }, -/turf/open/space, -/area/space/nearstation) -"cFo" = ( -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ - dir = 10 - }, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) -"cFu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/engine/engineering) -"cFw" = ( -/obj/structure/sign/warning/electricshock, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cFy" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFz" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cFA" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cFI" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFJ" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/engine, -/area/engine/engineering) -"cFK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFL" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 6 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFM" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFN" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFO" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera{ - c_tag = "Engineering Supermatter Aft"; - network = list("ss13","engine"); - pixel_x = 23 - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cFP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFT" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 9 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cFU" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGe" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGf" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8; - filter_type = "n2" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGg" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGh" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/engine, -/area/engine/engineering) -"cGi" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/engine, -/area/engine/engineering) -"cGj" = ( -/obj/structure/table, -/obj/item/pipe_dispenser, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGk" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cGs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cGt" = ( -/obj/structure/closet/wardrobe/engineering_yellow, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGu" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 6 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGx" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, -/obj/machinery/meter, -/turf/open/floor/engine, -/area/engine/engineering) -"cGC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/valve/digital/on{ - dir = 4; - name = "Output Release" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cGE" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cGH" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cGI" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Laser Room"; - req_access_txt = "10" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cGK" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cGL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering) -"cGM" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cGR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cGT" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGU" = ( -/obj/structure/reflector/double/anchored{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGV" = ( -/obj/structure/reflector/box/anchored{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cGZ" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/engine_waste{ - dir = 1 - }, -/turf/open/floor/plating/airless, -/area/engine/engineering) -"cHa" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cHb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHc" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHd" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHe" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHg" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHj" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/emitter/anchored{ - dir = 8; - state = 2 - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHn" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/engine/engineering) -"cHo" = ( -/obj/structure/reflector/single/anchored{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cHp" = ( -/obj/structure/reflector/single/anchored{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cHr" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plating, -/area/engine/engineering) "cHD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -57960,10 +56107,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"cMm" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/engineering) "cMC" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -57984,16 +56127,6 @@ }, /turf/open/floor/plasteel/dark, /area/engine/engineering) -"cMD" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cMH" = ( -/turf/open/floor/engine, -/area/engine/supermatter) -"cMN" = ( -/obj/effect/spawner/structure/window/plasma/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter) "cMQ" = ( /obj/structure/cable{ icon_state = "0-2" @@ -58217,42 +56350,6 @@ }, /turf/open/floor/plasteel/dark/telecomms, /area/tcommsat/server) -"cSG" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible, -/turf/closed/wall/r_wall, -/area/engine/supermatter) -"cSH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cSI" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) -"cSJ" = ( -/obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/engineering) -"cSK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/floor/engine, -/area/engine/engineering) "cSL" = ( /obj/machinery/button/door{ id = "atmos"; @@ -58751,10 +56848,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"fsQ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "fvY" = ( /obj/machinery/computer/cryopod{ pixel_y = 26 @@ -58881,11 +56974,6 @@ "iiW" = ( /turf/open/floor/wood, /area/maintenance/bar) -"ijc" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "imH" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -59079,13 +57167,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) -"kQq" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/engineering) "kSb" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, @@ -59133,17 +57214,6 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/wood, /area/maintenance/bar) -"mBv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4; - name = "Output to Waste" - }, -/turf/open/floor/engine, -/area/engine/engineering) "mNi" = ( /obj/machinery/light_switch{ pixel_x = -20 @@ -59167,10 +57237,6 @@ /obj/machinery/vending/autodrobe, /turf/open/floor/wood, /area/maintenance/bar) -"noK" = ( -/obj/structure/girder, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "nxv" = ( /obj/machinery/power/apc{ areastring = "/area/construction"; @@ -59182,10 +57248,6 @@ }, /turf/open/floor/plating, /area/construction) -"nzh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "nGt" = ( /obj/structure/cable{ icon_state = "1-2" @@ -59221,10 +57283,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) -"oDF" = ( -/obj/machinery/light, -/turf/open/floor/plating, -/area/engine/engineering) "oHU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -59536,12 +57594,6 @@ }, /turf/open/floor/wood, /area/maintenance/bar) -"udp" = ( -/obj/item/crowbar/large, -/obj/structure/rack, -/obj/item/flashlight, -/turf/open/floor/plasteel/dark, -/area/engine/engineering) "ujF" = ( /obj/machinery/cryopod{ dir = 4 @@ -84424,25 +82476,25 @@ bVH cqw cqO crp -aaa -aaf -aaa -aaa -aaf -aaa -aaa -aaf -aaa -aaa -aaa -aaT -aaT -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa aaa +cfG aaa aaa aaa @@ -84681,20 +82733,20 @@ cgR cgR cqN cro -cEl -cEE -cEl -cFm -csx -cFm -cFm -csx -csv -aaa -aaa -aaT -ctv -aaT +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -84938,20 +82990,20 @@ ciN cji cDZ crr -crJ -crT -crJ -cFn -css -csx -csx -css -csb -aaf -aaf -aaT -ctv -aaT +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -85195,20 +83247,20 @@ cgR cDB cqP crq -crZ -crT -crZ -cFo -css -cFm -cFm -css -csv -aaa -aaa -aaT -ctv -aaT +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -85452,20 +83504,20 @@ cgR cqx cgR crp -crJ -crT -crJ -cFn -css -csx -csx -css -csb -aaf -aaf -aaT -ctv -aaT +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -85709,20 +83761,20 @@ ckq cqz cqR ccw -crH -crT -crZ -cFo -css -cFm -cFm -css -csv -aaa -aaa -aaT -ctv -aaT +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -85963,28 +84015,28 @@ coa coJ clJ clJ -cig -cig -ccw -crJ -crT -crJ -cFn -css -csx -csx -css -csb -aaf -aaf -aaT -ctv -aaT -aaa -aaa -aaa -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -86218,30 +84270,30 @@ ccw ccw cnZ coH -cpt -cpZ -cig -cqS -ccw -crH -crT -crZ -cFo -css -cFm -cFm -css -csv -aaa -aaa -aaT -ctv -aaT -aaa -aaa -aaf -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -86475,30 +84527,30 @@ cmG cnt cob coL -cDo -cgR -cqA -cqT -csg -crJ -crU -csb -cFn -css -csx -csx -css -csb -aaf -aaf -aaT -aaT -aaT -gXs -aaf -aaf -aaf -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -86729,33 +84781,33 @@ cSS ckD cTc cTe -cfG +cgR cgw -coK -cpu -cMm -ccw -ccw -ccw -crK -cEK -csa -csj -csa -csa -cGr -aaa -aaa -aaa -aaa -aaf -aaa -aaa -aaa -aaa -aaf -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -86987,32 +85039,32 @@ ckG clJ cmF cgR -cgI -chF -ciO -cqc -cqc -cqc -cEd -cEr -cEL -cFb -cFu -cFI cdj -cGs -cGr -ccw -ccw -ccw -ccw -ccw -ccw -aaa -eRz -aaT -eRz -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -87244,32 +85296,32 @@ cTa ceZ clQ cgR -bUX -coM -cpv -cqb -cqb -cqb -cqb -cEs -cqb -cqb -cAp -cqb -cAo -cGt -cgx -chU -csd -cHa -csd -chW -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -87501,32 +85553,32 @@ cTb cTd ckF ckF -cgK -cDg -cDp -cqe -cqB -cqB -cEe -csP -cAl -cFc -cAq -cFJ -cSH -cGu -cGH -fsQ -fsQ -cGR -csd -csd -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -87758,32 +85810,32 @@ cnA cev cfg cgU -cgJ -chG -cpx -cqd -cDC -cqU -cEf -cEt -cEM -csA -cEg -cFK -cGe -cGv -cGI -cGS -cHb -cHg -cHn -oDF -ccw -aaf -aaT -ctv -aaT -aaf +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -88015,32 +86067,32 @@ cig cig cTf cgR -ccw -cDh -cpy -cDv -cDD -cqU -cMD -cEu -cEz -cEz -cMD -cFL -cGf -kQq -cMm -ciZ -cHc -cAu -cAu -ciZ -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -88272,32 +86324,32 @@ ckI clJ cmL cBO -ccw -chV -cpx -cqf -cqD -cMD -crs -cEv -cEv -cFe -cMD -cFM -czE -kQq -ccw -cGT -csd -csd -csd -csd -ccw -aaf -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -88529,32 +86581,32 @@ ckK clJ cmL cgR -cgL -chX -cpx -cqh -cqF -cra -crI -cEw -cEw -cEw -cFw -cFN -csH -csR -cMm -cGU -csd -csd -cHo -csd -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aae aaa @@ -88786,32 +86838,32 @@ ckI clJ cmL cnv -cMm -chX -cpx -cqg -cqE -cqZ -crt -cMH -cAm -cMH -cMN -cFO -cSI -cSI -cMm -cGV -csd -cGV -noK -csd -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -89043,32 +87095,32 @@ cfb ccw cmN cgR -cgL -chX -cpx -cqj -cSG -crb -cru -cEx -cEx -cEx -cAP -cFP -csI -cAt -cMm -csd -csd -csd -cHp -csd -ccw -aaf -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -89300,32 +87352,32 @@ cfb caw cfz cgR -ccw -cii -cpx -cqi -cMD -cAP -crv -cEy -cEy -cFh -cMD -cFM -czE -kQq -ccw -cGT -csd -csd -csd -csd -ccw -aaf -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -89557,32 +87609,32 @@ cfb cfa cje cgR -ccw -cDi -cDr -cDw -cDE -cEa -cMD -cEz -cEz -cEz -cMD -cFR -cSJ -kQq -cMm -ciZ -cHd -cHj -cHd -ciZ -ccw -aaa -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -89814,32 +87866,32 @@ ckL cmF cje cgR -cMm -chX -cpD -cDw -cDF -cEa -cEg -cEA -cET -cFj -cEf -cFS -cGg -mBv -cGI -cGS -cHe -cHe -cHr -oDF -ccw -aaf -aaT -ctv -aaT -aaf +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -90071,32 +88123,32 @@ ceq clQ cje cgR -cMm -cDj -cDs -cql -cDG -cDG -cEh -cEB -cEU -cFk -cAs -cFT -cSK -cGx -cGK -nzh -nzh -cGY -csd -csd -ccw -aaf -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -90328,32 +88380,32 @@ ckO ckH cja cny -bVw -cip -cnx -cDx -cqb -cqb -cqb -cEC -cqb -cqb -cAr -cqb -cGh -cGC -cey -ijc -csd -cEk -csd -udp -ccw -aaf -aaT -ctv -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -90585,32 +88637,32 @@ cfb ciX cgR cgR -cMm -cir -cDt -cDy -cqC -crc -cEi -cED -crc -crc -cFy -cBR -cGi -cGD -cGL -ccw -ccw -ccw -ccw -ccw -ccw -aaa -aaT -aaT -aaT -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -90842,32 +88894,32 @@ ces clN ccm ckF -cDe -cDk -coc -cqa -cig -ccw -ccw -czF -csd -csd -cFz -cFU -cGj -cGE -cGM -cGZ -aag -aaa -aaf -aaa -aaa -aaa -aaa -aaf -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -91102,29 +89154,29 @@ cgU cgU cis cjN -cDz -cDH -cMm -csd -crM -crV -crV -cFA -csd -cGk -ccw -aag -aag -aag -aaf -aaf -aaf -aaf -gXs -aaf -aaf -aaf -aaf +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -91359,29 +89411,29 @@ cgM cgQ cjS cjN -cqm -cgR -crd -cEk -crL -cEW -cse -cse -csu -chM -ccw -aaa -aaa -aaf -aaa -aaf -ctv -aaT -aaa -aaa -aaf -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa @@ -91616,29 +89668,29 @@ ccw ccw cDl cjN -cjh -cDI -ccw -ccw -ccw -ccw -ccw -cMm -cMm -cMm -ccw -aaf -aaf -aaf -aaf -aaf -ctv -aaT -aaa -aaa -aaf -aaa -aaa +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj +cdj aaa aaa aaa diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 25f8bfdd4c..821672a9b4 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -26869,6 +26869,7 @@ /area/engine/atmos) "aXW" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/atmospherics/miner/carbon_dioxide, /turf/open/floor/engine/co2, /area/engine/atmos) "aXX" = ( @@ -29257,6 +29258,7 @@ /area/engine/atmos) "bbO" = ( /obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) "bbP" = ( @@ -30753,6 +30755,7 @@ /area/engine/atmos) "bev" = ( /obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/atmospherics/miner/toxins, /turf/open/floor/engine/plasma, /area/engine/atmos) "bew" = ( @@ -32494,6 +32497,7 @@ /area/engine/atmos) "bhw" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/miner/nitrogen, /turf/open/floor/engine/n2, /area/engine/atmos) "bhx" = ( @@ -34606,6 +34610,7 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide{ valve_open = 1 }, +/obj/machinery/atmospherics/miner/n2o, /turf/open/floor/engine/n2o, /area/engine/atmos) "bkI" = ( @@ -37308,7 +37313,6 @@ /obj/item/clothing/accessory/armband/deputy, /obj/item/clothing/accessory/armband/deputy, /obj/item/clothing/accessory/armband/deputy, -/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly, /obj/effect/turf_decal/tile/red{ dir = 1 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 10e0c1a9a7..8e1a3b618d 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -45855,6 +45855,7 @@ /obj/machinery/portable_atmospherics/canister/nitrous_oxide{ valve_open = 1 }, +/obj/machinery/atmospherics/miner/n2o, /turf/open/floor/engine/n2o, /area/engine/atmos) "bKJ" = ( @@ -48899,6 +48900,7 @@ /area/engine/atmos) "bQY" = ( /obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/atmospherics/miner/toxins, /turf/open/floor/engine/plasma, /area/engine/atmos) "bQZ" = ( @@ -51342,6 +51344,7 @@ /area/engine/atmos) "bVO" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/atmospherics/miner/carbon_dioxide, /turf/open/floor/engine/co2, /area/engine/atmos) "bVP" = ( @@ -58454,6 +58457,7 @@ /area/engine/atmos) "cjd" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/miner/nitrogen, /turf/open/floor/engine/n2, /area/engine/atmos) "cje" = ( @@ -58468,6 +58472,7 @@ /area/engine/atmos) "cjg" = ( /obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) "cjh" = ( diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index b8484859f4..175edcede4 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -16186,11 +16186,13 @@ "aCs" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/light/small, +/obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) "aCw" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/light/small, +/obj/machinery/atmospherics/miner/nitrogen, /turf/open/floor/engine/n2, /area/engine/atmos) "aCz" = ( @@ -37669,6 +37671,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/machinery/atmospherics/miner/n2o, /turf/open/floor/engine/n2o, /area/engine/atmos) "gcw" = ( @@ -37974,6 +37977,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/machinery/atmospherics/miner/carbon_dioxide, /turf/open/floor/engine/co2, /area/engine/atmos) "hTn" = ( @@ -38421,6 +38425,7 @@ /obj/machinery/light/small{ dir = 1 }, +/obj/machinery/atmospherics/miner/toxins, /turf/open/floor/engine/plasma, /area/engine/atmos) "kiw" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 13922a15e2..97befd1551 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -41105,6 +41105,7 @@ /area/engine/atmos) "bQa" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, +/obj/machinery/atmospherics/miner/n2o, /turf/open/floor/engine/n2o, /area/engine/atmos) "bQb" = ( @@ -42511,6 +42512,7 @@ /area/engine/atmos) "bSX" = ( /obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/atmospherics/miner/toxins, /turf/open/floor/engine/plasma, /area/engine/atmos) "bSY" = ( @@ -44016,6 +44018,7 @@ /area/engine/atmos) "bWf" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/machinery/atmospherics/miner/carbon_dioxide, /turf/open/floor/engine/co2, /area/engine/atmos) "bWg" = ( @@ -46129,6 +46132,7 @@ /area/engine/atmos) "cbt" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/atmospherics/miner/nitrogen, /turf/open/floor/engine/n2, /area/engine/atmos) "cbu" = ( @@ -46136,6 +46140,7 @@ /area/engine/atmos) "cbv" = ( /obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/miner/oxygen, /turf/open/floor/engine/o2, /area/engine/atmos) "cbw" = ( diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index 15c7af5749..72e6a12f84 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -11,6 +11,7 @@ #define GROSS (1<<10) #define TOXIC (1<<11) #define PINEAPPLE (1<<12) +#define BREAKFAST (1<<13) #define DRINK_NICE 1 #define DRINK_GOOD 2 diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm index 768622818f..493f7b2096 100644 --- a/code/__HELPERS/sorts/__main.dm +++ b/code/__HELPERS/sorts/__main.dm @@ -31,58 +31,58 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) var/list/runLens = list() - proc/timSort(start, end) - runBases.Cut() - runLens.Cut() +/datum/sortInstance/proc/timSort(start, end) + runBases.Cut() + runLens.Cut() - var/remaining = end - start + var/remaining = end - start - //If array is small, do a 'mini-TimSort' with no merges - if(remaining < MIN_MERGE) - var/initRunLen = countRunAndMakeAscending(start, end) - binarySort(start, end, start+initRunLen) - return + //If array is small, do a 'mini-TimSort' with no merges + if(remaining < MIN_MERGE) + var/initRunLen = countRunAndMakeAscending(start, end) + binarySort(start, end, start+initRunLen) + return - //March over the array finding natural runs - //Extend any short natural runs to runs of length minRun - var/minRun = minRunLength(remaining) + //March over the array finding natural runs + //Extend any short natural runs to runs of length minRun + var/minRun = minRunLength(remaining) - do - //identify next run - var/runLen = countRunAndMakeAscending(start, end) + do + //identify next run + var/runLen = countRunAndMakeAscending(start, end) - //if run is short, extend to min(minRun, remaining) - if(runLen < minRun) - var/force = (remaining <= minRun) ? remaining : minRun + //if run is short, extend to min(minRun, remaining) + if(runLen < minRun) + var/force = (remaining <= minRun) ? remaining : minRun - binarySort(start, start+force, start+runLen) - runLen = force + binarySort(start, start+force, start+runLen) + runLen = force - //add data about run to queue - runBases.Add(start) - runLens.Add(runLen) + //add data about run to queue + runBases.Add(start) + runLens.Add(runLen) - //maybe merge - mergeCollapse() + //maybe merge + mergeCollapse() - //Advance to find next run - start += runLen - remaining -= runLen + //Advance to find next run + start += runLen + remaining -= runLen - while(remaining > 0) + while(remaining > 0) - //Merge all remaining runs to complete sort - //ASSERT(start == end) - mergeForceCollapse(); - //ASSERT(runBases.len == 1) + //Merge all remaining runs to complete sort + //ASSERT(start == end) + mergeForceCollapse(); + //ASSERT(runBases.len == 1) - //reset minGallop, for successive calls - minGallop = MIN_GALLOP + //reset minGallop, for successive calls + minGallop = MIN_GALLOP - return L + return L - /* +/* Sorts the specified portion of the specified array using a binary insertion sort. This is the best method for sorting small numbers of elements. It requires O(n log n) compares, but O(n^2) data @@ -95,33 +95,33 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) lo the index of the first element in the range to be sorted hi the index after the last element in the range to be sorted start the index of the first element in the range that is not already known to be sorted - */ - proc/binarySort(lo, hi, start) - //ASSERT(lo <= start && start <= hi) - if(start <= lo) - start = lo + 1 +*/ +/datum/sortInstance/proc/binarySort(lo, hi, start) + //ASSERT(lo <= start && start <= hi) + if(start <= lo) + start = lo + 1 - for(,start < hi, ++start) - var/pivot = fetchElement(L,start) + for(,start < hi, ++start) + var/pivot = fetchElement(L,start) - //set left and right to the index where pivot belongs - var/left = lo - var/right = start - //ASSERT(left <= right) + //set left and right to the index where pivot belongs + var/left = lo + var/right = start + //ASSERT(left <= right) - //[lo, left) elements <= pivot < [right, start) elements - //in other words, find where the pivot element should go using bisection search - while(left < right) - var/mid = (left + right) >> 1 //round((left+right)/2) - if(call(cmp)(fetchElement(L,mid), pivot) > 0) - right = mid - else - left = mid+1 + //[lo, left) elements <= pivot < [right, start) elements + //in other words, find where the pivot element should go using bisection search + while(left < right) + var/mid = (left + right) >> 1 //round((left+right)/2) + if(call(cmp)(fetchElement(L,mid), pivot) > 0) + right = mid + else + left = mid+1 - //ASSERT(left == right) - moveElement(L, start, left) //move pivot element to correct location in the sorted range + //ASSERT(left == right) + moveElement(L, start, left) //move pivot element to correct location in the sorted range - /* +/* Returns the length of the run beginning at the specified position and reverses the run if it is back-to-front A run is the longest ascending sequence with: @@ -132,514 +132,514 @@ GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new()) For its intended use in a stable mergesort, the strictness of the definition of "descending" is needed so that the call can safely reverse a descending sequence without violating stability. - */ - proc/countRunAndMakeAscending(lo, hi) - //ASSERT(lo < hi) +*/ +/datum/sortInstance/proc/countRunAndMakeAscending(lo, hi) + //ASSERT(lo < hi) - var/runHi = lo + 1 - if(runHi >= hi) - return 1 + var/runHi = lo + 1 + if(runHi >= hi) + return 1 - var/last = fetchElement(L,lo) - var/current = fetchElement(L,runHi++) + var/last = fetchElement(L,lo) + var/current = fetchElement(L,runHi++) - if(call(cmp)(current, last) < 0) - while(runHi < hi) - last = current - current = fetchElement(L,runHi) - if(call(cmp)(current, last) >= 0) - break - ++runHi - reverseRange(L, lo, runHi) - else - while(runHi < hi) - last = current - current = fetchElement(L,runHi) - if(call(cmp)(current, last) < 0) - break - ++runHi + if(call(cmp)(current, last) < 0) + while(runHi < hi) + last = current + current = fetchElement(L,runHi) + if(call(cmp)(current, last) >= 0) + break + ++runHi + reverseRange(L, lo, runHi) + else + while(runHi < hi) + last = current + current = fetchElement(L,runHi) + if(call(cmp)(current, last) < 0) + break + ++runHi - return runHi - lo + return runHi - lo - //Returns the minimum acceptable run length for an array of the specified length. - //Natural runs shorter than this will be extended with binarySort - proc/minRunLength(n) - //ASSERT(n >= 0) - var/r = 0 //becomes 1 if any bits are shifted off - while(n >= MIN_MERGE) - r |= (n & 1) - n >>= 1 - return n + r +//Returns the minimum acceptable run length for an array of the specified length. +//Natural runs shorter than this will be extended with binarySort +/datum/sortInstance/proc/minRunLength(n) + //ASSERT(n >= 0) + var/r = 0 //becomes 1 if any bits are shifted off + while(n >= MIN_MERGE) + r |= (n & 1) + n >>= 1 + return n + r - //Examines the stack of runs waiting to be merged and merges adjacent runs until the stack invariants are reestablished: - // runLen[i-3] > runLen[i-2] + runLen[i-1] - // runLen[i-2] > runLen[i-1] - //This method is called each time a new run is pushed onto the stack. - //So the invariants are guaranteed to hold for i= 2) - var/n = runBases.len - 1 - if(n > 1 && runLens[n-1] <= runLens[n] + runLens[n+1]) - if(runLens[n-1] < runLens[n+1]) - --n - mergeAt(n) - else if(runLens[n] <= runLens[n+1]) - mergeAt(n) - else - break //Invariant is established - - - //Merges all runs on the stack until only one remains. - //Called only once, to finalise the sort - proc/mergeForceCollapse() - while(runBases.len >= 2) - var/n = runBases.len - 1 - if(n > 1 && runLens[n-1] < runLens[n+1]) +//Examines the stack of runs waiting to be merged and merges adjacent runs until the stack invariants are reestablished: +// runLen[i-3] > runLen[i-2] + runLen[i-1] +// runLen[i-2] > runLen[i-1] +//This method is called each time a new run is pushed onto the stack. +//So the invariants are guaranteed to hold for i= 2) + var/n = runBases.len - 1 + if(n > 1 && runLens[n-1] <= runLens[n] + runLens[n+1]) + if(runLens[n-1] < runLens[n+1]) --n mergeAt(n) - - - //Merges the two consecutive runs at stack indices i and i+1 - //Run i must be the penultimate or antepenultimate run on the stack - //In other words, i must be equal to stackSize-2 or stackSize-3 - proc/mergeAt(i) - //ASSERT(runBases.len >= 2) - //ASSERT(i >= 1) - //ASSERT(i == runBases.len - 1 || i == runBases.len - 2) - - var/base1 = runBases[i] - var/base2 = runBases[i+1] - var/len1 = runLens[i] - var/len2 = runLens[i+1] - - //ASSERT(len1 > 0 && len2 > 0) - //ASSERT(base1 + len1 == base2) - - //Record the legth of the combined runs. If i is the 3rd last run now, also slide over the last run - //(which isn't involved in this merge). The current run (i+1) goes away in any case. - runLens[i] += runLens[i+1] - runLens.Cut(i+1, i+2) - runBases.Cut(i+1, i+2) - - - //Find where the first element of run2 goes in run1. - //Prior elements in run1 can be ignored (because they're already in place) - var/k = gallopRight(fetchElement(L,base2), base1, len1, 0) - //ASSERT(k >= 0) - base1 += k - len1 -= k - if(len1 == 0) - return - - //Find where the last element of run1 goes in run2. - //Subsequent elements in run2 can be ignored (because they're already in place) - len2 = gallopLeft(fetchElement(L,base1 + len1 - 1), base2, len2, len2-1) - //ASSERT(len2 >= 0) - if(len2 == 0) - return - - //Merge remaining runs, using tmp array with min(len1, len2) elements - if(len1 <= len2) - mergeLo(base1, len1, base2, len2) + else if(runLens[n] <= runLens[n+1]) + mergeAt(n) else - mergeHi(base1, len1, base2, len2) + break //Invariant is established - /* - Locates the position to insert key within the specified sorted range - If the range contains elements equal to key, this will return the index of the LEFTMOST of those elements +//Merges all runs on the stack until only one remains. +//Called only once, to finalise the sort +/datum/sortInstance/proc/mergeForceCollapse() + while(runBases.len >= 2) + var/n = runBases.len - 1 + if(n > 1 && runLens[n-1] < runLens[n+1]) + --n + mergeAt(n) - key the element to be inserted into the sorted range - base the index of the first element of the sorted range - len the length of the sorted range, must be greater than 0 - hint the offset from base at which to begin the search, such that 0 <= hint < len; i.e. base <= hint < base+hint - Returns the index at which to insert element 'key' - */ - proc/gallopLeft(key, base, len, hint) - //ASSERT(len > 0 && hint >= 0 && hint < len) +//Merges the two consecutive runs at stack indices i and i+1 +//Run i must be the penultimate or antepenultimate run on the stack +//In other words, i must be equal to stackSize-2 or stackSize-3 +/datum/sortInstance/proc/mergeAt(i) + //ASSERT(runBases.len >= 2) + //ASSERT(i >= 1) + //ASSERT(i == runBases.len - 1 || i == runBases.len - 2) - var/lastOffset = 0 - var/offset = 1 - if(call(cmp)(key, fetchElement(L,base+hint)) > 0) - var/maxOffset = len - hint - while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) > 0) - lastOffset = offset - offset = (offset << 1) + 1 + var/base1 = runBases[i] + var/base2 = runBases[i+1] + var/len1 = runLens[i] + var/len2 = runLens[i+1] - if(offset > maxOffset) - offset = maxOffset + //ASSERT(len1 > 0 && len2 > 0) + //ASSERT(base1 + len1 == base2) - lastOffset += hint - offset += hint + //Record the legth of the combined runs. If i is the 3rd last run now, also slide over the last run + //(which isn't involved in this merge). The current run (i+1) goes away in any case. + runLens[i] += runLens[i+1] + runLens.Cut(i+1, i+2) + runBases.Cut(i+1, i+2) - else - var/maxOffset = hint + 1 - while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) <= 0) - lastOffset = offset - offset = (offset << 1) + 1 - if(offset > maxOffset) - offset = maxOffset + //Find where the first element of run2 goes in run1. + //Prior elements in run1 can be ignored (because they're already in place) + var/k = gallopRight(fetchElement(L,base2), base1, len1, 0) + //ASSERT(k >= 0) + base1 += k + len1 -= k + if(len1 == 0) + return - var/temp = lastOffset - lastOffset = hint - offset - offset = hint - temp + //Find where the last element of run1 goes in run2. + //Subsequent elements in run2 can be ignored (because they're already in place) + len2 = gallopLeft(fetchElement(L,base1 + len1 - 1), base2, len2, len2-1) + //ASSERT(len2 >= 0) + if(len2 == 0) + return - //ASSERT(-1 <= lastOffset && lastOffset < offset && offset <= len) + //Merge remaining runs, using tmp array with min(len1, len2) elements + if(len1 <= len2) + mergeLo(base1, len1, base2, len2) + else + mergeHi(base1, len1, base2, len2) - //Now L[base+lastOffset] < key <= L[base+offset], so key belongs somewhere to the right of lastOffset but no farther than - //offset. Do a binary search with invariant L[base+lastOffset-1] < key <= L[base+offset] - ++lastOffset - while(lastOffset < offset) - var/m = lastOffset + ((offset - lastOffset) >> 1) - if(call(cmp)(key, fetchElement(L,base+m)) > 0) - lastOffset = m + 1 - else - offset = m +/* + Locates the position to insert key within the specified sorted range + If the range contains elements equal to key, this will return the index of the LEFTMOST of those elements - //ASSERT(lastOffset == offset) - return offset + key the element to be inserted into the sorted range + base the index of the first element of the sorted range + len the length of the sorted range, must be greater than 0 + hint the offset from base at which to begin the search, such that 0 <= hint < len; i.e. base <= hint < base+hint - /** - * Like gallopLeft, except that if the range contains an element equal to - * key, gallopRight returns the index after the rightmost equal element. - * - * @param key the key whose insertion point to search for - * @param a the array in which to search - * @param base the index of the first element in the range - * @param len the length of the range; must be > 0 - * @param hint the index at which to begin the search, 0 <= hint < n. - * The closer hint is to the result, the faster this method will run. - * @param c the comparator used to order the range, and to search - * @return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k] - */ - proc/gallopRight(key, base, len, hint) - //ASSERT(len > 0 && hint >= 0 && hint < len) + Returns the index at which to insert element 'key' +*/ +/datum/sortInstance/proc/gallopLeft(key, base, len, hint) + //ASSERT(len > 0 && hint >= 0 && hint < len) - var/offset = 1 - var/lastOffset = 0 - if(call(cmp)(key, fetchElement(L,base+hint)) < 0) //key <= L[base+hint] - var/maxOffset = hint + 1 //therefore we want to insert somewhere in the range [base,base+hint] = [base+,base+(hint+1)) - while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) < 0) //we are iterating backwards - lastOffset = offset - offset = (offset << 1) + 1 //1 3 7 15 + var/lastOffset = 0 + var/offset = 1 + if(call(cmp)(key, fetchElement(L,base+hint)) > 0) + var/maxOffset = len - hint + while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) > 0) + lastOffset = offset + offset = (offset << 1) + 1 - if(offset > maxOffset) - offset = maxOffset + if(offset > maxOffset) + offset = maxOffset - var/temp = lastOffset - lastOffset = hint - offset - offset = hint - temp + lastOffset += hint + offset += hint - else //key > L[base+hint] - var/maxOffset = len - hint //therefore we want to insert somewhere in the range (base+hint,base+len) = [base+hint+1, base+hint+(len-hint)) - while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) >= 0) - lastOffset = offset - offset = (offset << 1) + 1 + else + var/maxOffset = hint + 1 + while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) <= 0) + lastOffset = offset + offset = (offset << 1) + 1 - if(offset > maxOffset) - offset = maxOffset + if(offset > maxOffset) + offset = maxOffset - lastOffset += hint - offset += hint + var/temp = lastOffset + lastOffset = hint - offset + offset = hint - temp //ASSERT(-1 <= lastOffset && lastOffset < offset && offset <= len) - ++lastOffset - while(lastOffset < offset) - var/m = lastOffset + ((offset - lastOffset) >> 1) + //Now L[base+lastOffset] < key <= L[base+offset], so key belongs somewhere to the right of lastOffset but no farther than + //offset. Do a binary search with invariant L[base+lastOffset-1] < key <= L[base+offset] + ++lastOffset + while(lastOffset < offset) + var/m = lastOffset + ((offset - lastOffset) >> 1) - if(call(cmp)(key, fetchElement(L,base+m)) < 0) //key <= L[base+m] - offset = m - else //key > L[base+m] - lastOffset = m + 1 + if(call(cmp)(key, fetchElement(L,base+m)) > 0) + lastOffset = m + 1 + else + offset = m - //ASSERT(lastOffset == offset) + //ASSERT(lastOffset == offset) + return offset - return offset +/** + * Like gallopLeft, except that if the range contains an element equal to + * key, gallopRight returns the index after the rightmost equal element. + * + * @param key the key whose insertion point to search for + * @param a the array in which to search + * @param base the index of the first element in the range + * @param len the length of the range; must be > 0 + * @param hint the index at which to begin the search, 0 <= hint < n. + * The closer hint is to the result, the faster this method will run. + * @param c the comparator used to order the range, and to search + * @return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k] + */ +/datum/sortInstance/proc/gallopRight(key, base, len, hint) + //ASSERT(len > 0 && hint >= 0 && hint < len) + + var/offset = 1 + var/lastOffset = 0 + if(call(cmp)(key, fetchElement(L,base+hint)) < 0) //key <= L[base+hint] + var/maxOffset = hint + 1 //therefore we want to insert somewhere in the range [base,base+hint] = [base+,base+(hint+1)) + while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint-offset)) < 0) //we are iterating backwards + lastOffset = offset + offset = (offset << 1) + 1 //1 3 7 15 + + if(offset > maxOffset) + offset = maxOffset + + var/temp = lastOffset + lastOffset = hint - offset + offset = hint - temp + + else //key > L[base+hint] + var/maxOffset = len - hint //therefore we want to insert somewhere in the range (base+hint,base+len) = [base+hint+1, base+hint+(len-hint)) + while(offset < maxOffset && call(cmp)(key, fetchElement(L,base+hint+offset)) >= 0) + lastOffset = offset + offset = (offset << 1) + 1 + + if(offset > maxOffset) + offset = maxOffset + + lastOffset += hint + offset += hint + + //ASSERT(-1 <= lastOffset && lastOffset < offset && offset <= len) + + ++lastOffset + while(lastOffset < offset) + var/m = lastOffset + ((offset - lastOffset) >> 1) + + if(call(cmp)(key, fetchElement(L,base+m)) < 0) //key <= L[base+m] + offset = m + else //key > L[base+m] + lastOffset = m + 1 + + //ASSERT(lastOffset == offset) + + return offset - //Merges two adjacent runs in-place in a stable fashion. - //For performance this method should only be called when len1 <= len2! - proc/mergeLo(base1, len1, base2, len2) - //ASSERT(len1 > 0 && len2 > 0 && base1 + len1 == base2) +//Merges two adjacent runs in-place in a stable fashion. +//For performance this method should only be called when len1 <= len2! +/datum/sortInstance/proc/mergeLo(base1, len1, base2, len2) + //ASSERT(len1 > 0 && len2 > 0 && base1 + len1 == base2) - var/cursor1 = base1 - var/cursor2 = base2 + var/cursor1 = base1 + var/cursor2 = base2 - //degenerate cases - if(len2 == 1) - moveElement(L, cursor2, cursor1) - return + //degenerate cases + if(len2 == 1) + moveElement(L, cursor2, cursor1) + return - if(len1 == 1) - moveElement(L, cursor1, cursor2+len2) - return + if(len1 == 1) + moveElement(L, cursor1, cursor2+len2) + return - //Move first element of second run - moveElement(L, cursor2++, cursor1++) - --len2 + //Move first element of second run + moveElement(L, cursor2++, cursor1++) + --len2 - outer: - while(1) - var/count1 = 0 //# of times in a row that first run won - var/count2 = 0 // " " " " " " second run won + outer: + while(1) + var/count1 = 0 //# of times in a row that first run won + var/count2 = 0 // " " " " " " second run won - //do the straightfoward thin until one run starts winning consistently + //do the straightfoward thin until one run starts winning consistently - do - //ASSERT(len1 > 1 && len2 > 0) - if(call(cmp)(fetchElement(L,cursor2), fetchElement(L,cursor1)) < 0) - moveElement(L, cursor2++, cursor1++) - --len2 + do + //ASSERT(len1 > 1 && len2 > 0) + if(call(cmp)(fetchElement(L,cursor2), fetchElement(L,cursor1)) < 0) + moveElement(L, cursor2++, cursor1++) + --len2 - ++count2 - count1 = 0 + ++count2 + count1 = 0 - if(len2 == 0) - break outer - else - ++cursor1 - - ++count1 - count2 = 0 - - if(--len1 == 1) - break outer - - while((count1 | count2) < minGallop) - - - //one run is winning consistently so galloping may provide huge benifits - //so try galloping, until such time as the run is no longer consistently winning - do - //ASSERT(len1 > 1 && len2 > 0) - - count1 = gallopRight(fetchElement(L,cursor2), cursor1, len1, 0) - if(count1) - cursor1 += count1 - len1 -= count1 - - if(len1 <= 1) - break outer - - moveElement(L, cursor2, cursor1) - ++cursor2 - ++cursor1 - if(--len2 == 0) + if(len2 == 0) break outer - - count2 = gallopLeft(fetchElement(L,cursor1), cursor2, len2, 0) - if(count2) - moveRange(L, cursor2, cursor1, count2) - - cursor2 += count2 - cursor1 += count2 - len2 -= count2 - - if(len2 == 0) - break outer - + else ++cursor1 + + ++count1 + count2 = 0 + if(--len1 == 1) break outer - --minGallop - - while((count1|count2) > MIN_GALLOP) - - if(minGallop < 0) - minGallop = 0 - minGallop += 2; // Penalize for leaving gallop mode + while((count1 | count2) < minGallop) - if(len1 == 1) - //ASSERT(len2 > 0) - moveElement(L, cursor1, cursor2+len2) + //one run is winning consistently so galloping may provide huge benifits + //so try galloping, until such time as the run is no longer consistently winning + do + //ASSERT(len1 > 1 && len2 > 0) - //else - //ASSERT(len2 == 0) - //ASSERT(len1 > 1) + count1 = gallopRight(fetchElement(L,cursor2), cursor1, len1, 0) + if(count1) + cursor1 += count1 + len1 -= count1 - - proc/mergeHi(base1, len1, base2, len2) - //ASSERT(len1 > 0 && len2 > 0 && base1 + len1 == base2) - - var/cursor1 = base1 + len1 - 1 //start at end of sublists - var/cursor2 = base2 + len2 - 1 - - //degenerate cases - if(len2 == 1) - moveElement(L, base2, base1) - return - - if(len1 == 1) - moveElement(L, base1, cursor2+1) - return - - moveElement(L, cursor1--, cursor2-- + 1) - --len1 - - outer: - while(1) - var/count1 = 0 //# of times in a row that first run won - var/count2 = 0 // " " " " " " second run won - - //do the straightfoward thing until one run starts winning consistently - do - //ASSERT(len1 > 0 && len2 > 1) - if(call(cmp)(fetchElement(L,cursor2), fetchElement(L,cursor1)) < 0) - moveElement(L, cursor1--, cursor2-- + 1) - --len1 - - ++count1 - count2 = 0 - - if(len1 == 0) - break outer - else - --cursor2 - --len2 - - ++count2 - count1 = 0 - - if(len2 == 1) - break outer - while((count1 | count2) < minGallop) - - //one run is winning consistently so galloping may provide huge benifits - //so try galloping, until such time as the run is no longer consistently winning - do - //ASSERT(len1 > 0 && len2 > 1) - - count1 = len1 - gallopRight(fetchElement(L,cursor2), base1, len1, len1-1) //should cursor1 be base1? - if(count1) - cursor1 -= count1 - - moveRange(L, cursor1+1, cursor2+1, count1) //cursor1+1 == cursor2 by definition - - cursor2 -= count1 - len1 -= count1 - - if(len1 == 0) - break outer - - --cursor2 - - if(--len2 == 1) + if(len1 <= 1) break outer - count2 = len2 - gallopLeft(fetchElement(L,cursor1), cursor1+1, len2, len2-1) - if(count2) - cursor2 -= count2 - len2 -= count2 + moveElement(L, cursor2, cursor1) + ++cursor2 + ++cursor1 + if(--len2 == 0) + break outer - if(len2 <= 1) - break outer + count2 = gallopLeft(fetchElement(L,cursor1), cursor2, len2, 0) + if(count2) + moveRange(L, cursor2, cursor1, count2) + cursor2 += count2 + cursor1 += count2 + len2 -= count2 + + if(len2 == 0) + break outer + + ++cursor1 + if(--len1 == 1) + break outer + + --minGallop + + while((count1|count2) > MIN_GALLOP) + + if(minGallop < 0) + minGallop = 0 + minGallop += 2; // Penalize for leaving gallop mode + + + if(len1 == 1) + //ASSERT(len2 > 0) + moveElement(L, cursor1, cursor2+len2) + + //else + //ASSERT(len2 == 0) + //ASSERT(len1 > 1) + + +/datum/sortInstance/proc/mergeHi(base1, len1, base2, len2) + //ASSERT(len1 > 0 && len2 > 0 && base1 + len1 == base2) + + var/cursor1 = base1 + len1 - 1 //start at end of sublists + var/cursor2 = base2 + len2 - 1 + + //degenerate cases + if(len2 == 1) + moveElement(L, base2, base1) + return + + if(len1 == 1) + moveElement(L, base1, cursor2+1) + return + + moveElement(L, cursor1--, cursor2-- + 1) + --len1 + + outer: + while(1) + var/count1 = 0 //# of times in a row that first run won + var/count2 = 0 // " " " " " " second run won + + //do the straightfoward thing until one run starts winning consistently + do + //ASSERT(len1 > 0 && len2 > 1) + if(call(cmp)(fetchElement(L,cursor2), fetchElement(L,cursor1)) < 0) moveElement(L, cursor1--, cursor2-- + 1) --len1 + ++count1 + count2 = 0 + + if(len1 == 0) + break outer + else + --cursor2 + --len2 + + ++count2 + count1 = 0 + + if(len2 == 1) + break outer + while((count1 | count2) < minGallop) + + //one run is winning consistently so galloping may provide huge benifits + //so try galloping, until such time as the run is no longer consistently winning + do + //ASSERT(len1 > 0 && len2 > 1) + + count1 = len1 - gallopRight(fetchElement(L,cursor2), base1, len1, len1-1) //should cursor1 be base1? + if(count1) + cursor1 -= count1 + + moveRange(L, cursor1+1, cursor2+1, count1) //cursor1+1 == cursor2 by definition + + cursor2 -= count1 + len1 -= count1 + if(len1 == 0) break outer - --minGallop - while((count1|count2) > MIN_GALLOP) + --cursor2 - if(minGallop < 0) - minGallop = 0 - minGallop += 2 // Penalize for leaving gallop mode + if(--len2 == 1) + break outer - if(len2 == 1) - //ASSERT(len1 > 0) + count2 = len2 - gallopLeft(fetchElement(L,cursor1), cursor1+1, len2, len2-1) + if(count2) + cursor2 -= count2 + len2 -= count2 - cursor1 -= len1 - moveRange(L, cursor1+1, cursor2+1, len1) + if(len2 <= 1) + break outer - //else - //ASSERT(len1 == 0) - //ASSERT(len2 > 0) + moveElement(L, cursor1--, cursor2-- + 1) + --len1 + + if(len1 == 0) + break outer + + --minGallop + while((count1|count2) > MIN_GALLOP) + + if(minGallop < 0) + minGallop = 0 + minGallop += 2 // Penalize for leaving gallop mode + + if(len2 == 1) + //ASSERT(len1 > 0) + + cursor1 -= len1 + moveRange(L, cursor1+1, cursor2+1, len1) + + //else + //ASSERT(len1 == 0) + //ASSERT(len2 > 0) - proc/mergeSort(start, end) - var/remaining = end - start +/datum/sortInstance/proc/mergeSort(start, end) + var/remaining = end - start - //If array is small, do an insertion sort - if(remaining < MIN_MERGE) - binarySort(start, end, start/*+initRunLen*/) - return + //If array is small, do an insertion sort + if(remaining < MIN_MERGE) + binarySort(start, end, start/*+initRunLen*/) + return - var/minRun = minRunLength(remaining) + var/minRun = minRunLength(remaining) - do - var/runLen = (remaining <= minRun) ? remaining : minRun + do + var/runLen = (remaining <= minRun) ? remaining : minRun - binarySort(start, start+runLen, start) + binarySort(start, start+runLen, start) - //add data about run to queue - runBases.Add(start) - runLens.Add(runLen) + //add data about run to queue + runBases.Add(start) + runLens.Add(runLen) - //Advance to find next run - start += runLen - remaining -= runLen + //Advance to find next run + start += runLen + remaining -= runLen - while(remaining > 0) + while(remaining > 0) - while(runBases.len >= 2) - var/n = runBases.len - 1 - if(n > 1 && runLens[n-1] <= runLens[n] + runLens[n+1]) - if(runLens[n-1] < runLens[n+1]) - --n - mergeAt2(n) - else if(runLens[n] <= runLens[n+1]) - mergeAt2(n) - else - break //Invariant is established - - while(runBases.len >= 2) - var/n = runBases.len - 1 - if(n > 1 && runLens[n-1] < runLens[n+1]) + while(runBases.len >= 2) + var/n = runBases.len - 1 + if(n > 1 && runLens[n-1] <= runLens[n] + runLens[n+1]) + if(runLens[n-1] < runLens[n+1]) --n mergeAt2(n) + else if(runLens[n] <= runLens[n+1]) + mergeAt2(n) + else + break //Invariant is established - return L + while(runBases.len >= 2) + var/n = runBases.len - 1 + if(n > 1 && runLens[n-1] < runLens[n+1]) + --n + mergeAt2(n) - proc/mergeAt2(i) - var/cursor1 = runBases[i] - var/cursor2 = runBases[i+1] + return L - var/end1 = cursor1+runLens[i] - var/end2 = cursor2+runLens[i+1] +/datum/sortInstance/proc/mergeAt2(i) + var/cursor1 = runBases[i] + var/cursor2 = runBases[i+1] - var/val1 = fetchElement(L,cursor1) - var/val2 = fetchElement(L,cursor2) + var/end1 = cursor1+runLens[i] + var/end2 = cursor2+runLens[i+1] - while(1) - if(call(cmp)(val1,val2) <= 0) - if(++cursor1 >= end1) - break - val1 = fetchElement(L,cursor1) - else - moveElement(L,cursor2,cursor1) + var/val1 = fetchElement(L,cursor1) + var/val2 = fetchElement(L,cursor2) - if(++cursor2 >= end2) - break - ++end1 - ++cursor1 + while(1) + if(call(cmp)(val1,val2) <= 0) + if(++cursor1 >= end1) + break + val1 = fetchElement(L,cursor1) + else + moveElement(L,cursor2,cursor1) - val2 = fetchElement(L,cursor2) + if(++cursor2 >= end2) + break + ++end1 + ++cursor1 + + val2 = fetchElement(L,cursor2) - //Record the legth of the combined runs. If i is the 3rd last run now, also slide over the last run - //(which isn't involved in this merge). The current run (i+1) goes away in any case. - runLens[i] += runLens[i+1] - runLens.Cut(i+1, i+2) - runBases.Cut(i+1, i+2) + //Record the legth of the combined runs. If i is the 3rd last run now, also slide over the last run + //(which isn't involved in this merge). The current run (i+1) goes away in any case. + runLens[i] += runLens[i+1] + runLens.Cut(i+1, i+2) + runBases.Cut(i+1, i+2) #undef MIN_GALLOP #undef MIN_MERGE diff --git a/code/_globalvars/lists/mapping.dm b/code/_globalvars/lists/mapping.dm index 6b8d91acf9..7340581d25 100644 --- a/code/_globalvars/lists/mapping.dm +++ b/code/_globalvars/lists/mapping.dm @@ -48,3 +48,5 @@ GLOBAL_LIST_EMPTY(sortedAreas) GLOBAL_LIST_EMPTY_TYPED(areas_by_type, /area) GLOBAL_LIST_EMPTY(all_abstract_markers) + +GLOBAL_LIST_EMPTY(stationroom_landmarks) //List of all spawns for stationrooms diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index be9f7e116b..3f07eed029 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -151,6 +151,7 @@ var/key_mode var/value_mode var/splitter = " " + var/lowercase = TRUE /datum/config_entry/keyed_list/New() . = ..() @@ -167,7 +168,9 @@ var/key_value = null if(key_pos || value_mode == VALUE_MODE_FLAG) - key_name = lowertext(copytext(str_val, 1, key_pos)) + key_name = copytext(str_val, 1, key_pos) + if(lowercase) + key_name = lowertext(key_name) key_value = copytext(str_val, key_pos + 1) var/new_key var/new_value diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 21d9d4e093..61b5788ef8 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -376,6 +376,12 @@ /datum/config_entry/flag/disable_stambuffer +/datum/config_entry/keyed_list/box_random_engine + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_FLAG + lowercase = FALSE + splitter = "-" + /datum/config_entry/number/auto_transfer_delay config_entry_value = 72000 min_val = 0 diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 5bcc911005..1bfdc79d27 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -382,6 +382,9 @@ SUBSYSTEM_DEF(air) CHECK_TICK /datum/controller/subsystem/air/proc/setup_template_machinery(list/atmos_machines) + if(!initialized) + return + for(var/A in atmos_machines) var/obj/machinery/atmospherics/AM = A AM.atmosinit() diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 29762338fb..8c8ad2d337 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -91,6 +91,7 @@ SUBSYSTEM_DEF(mapping) var/list/space_ruins = levels_by_trait(ZTRAIT_SPACE_RUINS) if (space_ruins.len) seedRuins(space_ruins, CONFIG_GET(number/space_budget), /area/space, space_ruins_templates) + SSmapping.seedStation() loading_ruins = FALSE #endif repopulate_sorted_areas() @@ -363,6 +364,8 @@ GLOBAL_LIST_EMPTY(the_station_areas) lava_ruins_templates[R.name] = R else if(istype(R, /datum/map_template/ruin/space)) space_ruins_templates[R.name] = R + else if(istype(R, /datum/map_template/ruin/station)) + station_room_templates[R.name] = R /datum/controller/subsystem/mapping/proc/preloadShuttleTemplates() var/list/unbuyable = generateMapList("[global.config.directory]/unbuyableshuttles.txt") @@ -524,4 +527,15 @@ GLOBAL_LIST_EMPTY(the_station_areas) if(!isolated_ruins_z) isolated_ruins_z = add_new_zlevel("Isolated Ruins/Reserved", list(ZTRAIT_RESERVED = TRUE, ZTRAIT_ISOLATED_RUINS = TRUE)) initialize_reserved_level(isolated_ruins_z.z_value) - return isolated_ruins_z.z_value \ No newline at end of file + return isolated_ruins_z.z_value + + // Station Ruins +/datum/controller/subsystem/mapping + var/list/station_room_templates = list() + +/datum/controller/subsystem/mapping/proc/seedStation() + for(var/V in GLOB.stationroom_landmarks) + var/obj/effect/landmark/stationroom/LM = V + LM.load() + if(GLOB.stationroom_landmarks.len) + seedStation() //I'm sure we can trust everyone not to insert a 1x1 rooms which loads a landmark which loads a landmark which loads a la... diff --git a/code/datums/components/sizzle.dm b/code/datums/components/sizzle.dm new file mode 100644 index 0000000000..5e56dd15cb --- /dev/null +++ b/code/datums/components/sizzle.dm @@ -0,0 +1,25 @@ +/datum/component/sizzle + var/mutable_appearance/sizzling + var/sizzlealpha = 0 + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + +/datum/component/sizzle/Initialize() + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + setup_sizzle() + +/datum/component/sizzle/InheritComponent(datum/component/C, i_am_original) + var/atom/food = parent + sizzlealpha += 5 + sizzling.alpha = sizzlealpha + food.cut_overlay(sizzling) + food.add_overlay(sizzling) + +/datum/component/sizzle/proc/setup_sizzle() + var/atom/food = parent + var/icon/grill_marks = icon(initial(food.icon), initial(food.icon_state)) //we only want to apply grill marks to the initial icon_state for each object + grill_marks.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent) + grill_marks.Blend(icon('icons/obj/kitchen.dmi', "grillmarks"), ICON_MULTIPLY) //adds grill marks and the remaining white areas become transparent + sizzling = new(grill_marks) + sizzling.alpha = sizzlealpha + food.add_overlay(sizzling) \ No newline at end of file diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index b84133faf7..f9a9e07aed 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -4,7 +4,7 @@ mid_sounds = list('sound/machines/shower/shower_mid1.ogg'=1,'sound/machines/shower/shower_mid2.ogg'=1,'sound/machines/shower/shower_mid3.ogg'=1) mid_length = 10 end_sound = 'sound/machines/shower/shower_end.ogg' - volume = 20 + volume = 10 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -32,7 +32,7 @@ mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) mid_length = 2 end_sound = 'sound/machines/fryer/deep_fryer_emerge.ogg' - volume = 15 + volume = 5 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -43,3 +43,12 @@ mid_length = 10 end_sound = 'sound/machines/microwave/microwave-end.ogg' volume = 90 + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/datum/looping_sound/grill + mid_length = 2 + mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) + volume = 10 + +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 19be10e668..94fd08535f 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -134,6 +134,12 @@ mood_change = 3 timeout = 3000 +/datum/mood_event/breakfast + description = "Nothing like a hearty breakfast to start the shift.\n" + mood_change = 2 + timeout = 15 MINUTES + +//Power gamer stuff below /datum/mood_event/drankblood description = "I have fed greedly from that which nourishes me.\n" mood_change = 10 @@ -143,6 +149,7 @@ description = "I slept in a coffin during the day. I feel whole again.\n" mood_change = 8 timeout = 1200 + //Cursed stuff below. /datum/mood_event/orgasm diff --git a/code/datums/ruins/station.dm b/code/datums/ruins/station.dm new file mode 100644 index 0000000000..56b3faff89 --- /dev/null +++ b/code/datums/ruins/station.dm @@ -0,0 +1,21 @@ +/datum/map_template/ruin/station + prefix = "_maps/RandomRuins/StationRuins/" + cost = 0 + +// Boxstation + // Engine + +/datum/map_template/ruin/station/box/engine + id = "engine_sm" + suffix = "Box/Engine/engine_sm.dmm" + name = "Engine SM" + +/datum/map_template/ruin/station/box/engine/singulo + id = "engine_singulo" + suffix = "Box/Engine/engine_singulo.dmm" + name = "Engine Singulo" + +/datum/map_template/ruin/station/box/engine/tesla + id = "engine_tesla" + suffix = "Box/Engine/engine_tesla.dmm" + name = "Engine Tesla" \ No newline at end of file diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 5395f361ba..6466ab594f 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -72,6 +72,11 @@ desc = "It's still good. Four second rule!" icon_state = "flour" +/obj/effect/decal/cleanable/greenglow/ecto + name = "ectoplasmic puddle" + desc = "You know who to call." + light_power = 2 + /obj/effect/decal/cleanable/greenglow name = "glowing goo" desc = "Jeez. I hope that's not for lunch." diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index ed88d51c2d..e01010baa5 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -432,3 +432,52 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) GLOB.ruin_landmarks -= src ruin_template = null . = ..() + +//------Station Rooms Landmarks------------// +/obj/effect/landmark/stationroom + var/list/template_names = list() + layer = BULLET_HOLE_LAYER + +/obj/effect/landmark/stationroom/New() + ..() + GLOB.stationroom_landmarks += src + +/obj/effect/landmark/stationroom/Destroy() + if(src in GLOB.stationroom_landmarks) + GLOB.stationroom_landmarks -= src + return ..() + +/obj/effect/landmark/stationroom/proc/load(template_name) + var/turf/T = get_turf(src) + if(!T) + return FALSE + if(!template_name) + for(var/t in template_names) + if(!SSmapping.station_room_templates[t]) + log_world("Station room spawner placed at ([T.x], [T.y], [T.z]) has invalid ruin name of \"[t]\" in its list") + template_names -= t + template_name = safepick(template_names) + if(!template_name) + GLOB.stationroom_landmarks -= src + qdel(src) + return FALSE + var/datum/map_template/template = SSmapping.station_room_templates[template_name] + if(!template) + return FALSE + testing("Room \"[template_name]\" placed at ([T.x], [T.y], [T.z])") + template.load(T, centered = FALSE) + template.loaded++ + GLOB.stationroom_landmarks -= src + qdel(src) + return TRUE + +// The landmark for the Engine on Box + +/obj/effect/landmark/stationroom/box/engine + template_names = list("Engine SM", "Engine Singulo", "Engine Tesla") + icon = 'icons/rooms/box/engine.dmi' + + +/obj/effect/landmark/stationroom/box/engine/New() + . = ..() + template_names = CONFIG_GET(keyed_list/box_random_engine) \ No newline at end of file diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index f97b3f99d6..8054d8c6a4 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(possible_gifts) /obj/item/clothing/suit/poncho/red, /obj/item/clothing/suit/snowman, /obj/item/clothing/head/snowman, - /obj/item/trash/coal) + /obj/item/stack/sheet/mineral/coal) gift_type_list += subtypesof(/obj/item/clothing/head/collectable) gift_type_list += subtypesof(/obj/item/toy) - (((typesof(/obj/item/toy/cards) - /obj/item/toy/cards/deck) + /obj/item/toy/figure + /obj/item/toy/ammo)) //All toys, except for abstract types and syndicate cards. diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index f25c2c2265..178bdd8a5e 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -2,8 +2,8 @@ name = "medical pack" singular_name = "medical pack" icon = 'icons/obj/stack_objects.dmi' - amount = 6 - max_amount = 6 + amount = 12 + max_amount = 12 w_class = WEIGHT_CLASS_TINY full_w_class = WEIGHT_CLASS_TINY throw_speed = 3 @@ -55,9 +55,8 @@ icon_state = "brutepack" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - var/heal_brute = 25 + var/heal_brute = 20 self_delay = 20 - max_amount = 12 grind_results = list("styptic_powder" = 10) /obj/item/stack/medical/bruise_pack/heal(mob/living/M, mob/user) @@ -92,7 +91,6 @@ var/stop_bleeding = 1800 var/heal_brute = 5 self_delay = 10 - max_amount = 12 /obj/item/stack/medical/gauze/heal(mob/living/M, mob/user) if(ishuman(M)) @@ -125,6 +123,7 @@ singular_name = "improvised gauze" desc = "A roll of cloth roughly cut from something that can stop bleeding, but does not heal wounds." stop_bleeding = 900 + heal_brute = 0 /obj/item/stack/medical/gauze/cyborg materials = list() @@ -139,9 +138,8 @@ icon_state = "ointment" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - var/heal_burn = 25 + var/heal_burn = 20 self_delay = 20 - max_amount = 12 grind_results = list("silver_sulfadiazine" = 10) /obj/item/stack/medical/ointment/heal(mob/living/M, mob/user) diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 63ebd24b16..fe42f88f56 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -4,7 +4,6 @@ Mineral Sheets - Sandstone - Sandbags - Diamond - - Snow - Uranium - Plasma - Gold @@ -15,8 +14,9 @@ Mineral Sheets Others: - Adamantine - Mythril - - Enriched Uranium + - Snow - Abductor + - Coal */ /obj/item/stack/sheet/mineral/Initialize(mapload) @@ -410,3 +410,36 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ /obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE) recipes = GLOB.abductor_recipes . = ..() + +/* + * Coal + */ + +/obj/item/stack/sheet/mineral/coal + name = "coal" + desc = "Someone's gotten on the naughty list." + icon = 'icons/obj/mining.dmi' + icon_state = "slag" + singular_name = "coal lump" + merge_type = /obj/item/stack/sheet/mineral/coal + grind_results = list("carbon" = 20) + +/obj/item/stack/sheet/mineral/coal/attackby(obj/item/W, mob/user, params) + if(W.get_temperature() > 300)//If the temperature of the object is over 300, then ignite + var/turf/T = get_turf(src) + message_admins("Coal ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") + log_game("Coal ignited by [key_name(user)] in [AREACOORD(T)]") + fire_act(W.get_temperature()) + return TRUE + else + return ..() + +/obj/item/stack/sheet/mineral/coal/fire_act(exposed_temperature, exposed_volume) + atmos_spawn_air("co2=[amount*10];TEMP=[exposed_temperature]") + qdel(src) + +/obj/item/stack/sheet/mineral/coal/five + amount = 5 + +/obj/item/stack/sheet/mineral/coal/ten + amount = 10 \ No newline at end of file diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index 37ab948332..b2158eb1c8 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -72,17 +72,10 @@ resistance_flags = NONE grind_results = list("aluminium" = 10) +/obj/item/trash/boritos + name = "boritos bag" + icon_state = "boritos" + grind_results = list("aluminium" = 1) //from the mylar bag + /obj/item/trash/attack(mob/M, mob/living/user) return - -/obj/item/trash/coal - name = "lump of coal" - icon = 'icons/obj/mining.dmi' - icon_state = "slag" - desc = "Someone's gotten on the naughty list." - grind_results = list("carbon" = 20) - -/obj/item/trash/coal/burn() - visible_message("[src] fuses into a diamond! Someone wasn't so naughty after all...") - new /obj/item/stack/ore/diamond(loc) - qdel(src) diff --git a/code/modules/cargo/packs/organic.dm b/code/modules/cargo/packs/organic.dm index e124fea345..4a90af6fd0 100644 --- a/code/modules/cargo/packs/organic.dm +++ b/code/modules/cargo/packs/organic.dm @@ -176,6 +176,23 @@ /obj/item/storage/bag/tray) crate_name = "fruit crate" +/datum/supply_pack/organic/grill + name = "Grilling Starter Kit" + desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT ONLY 5000 BUX GET NOW! Contains a cooking grill and five fuel coal sheets." + cost = 3000 + crate_type = /obj/structure/closet/crate + contains = list(/obj/item/stack/sheet/mineral/coal/five, + /obj/machinery/grill/unwrenched) + crate_name = "grilling starter kit crate" + +/datum/supply_pack/organic/grillfuel + name = "Grilling Fuel Kit" + desc = "Contains coal and coal accessories. (Note: only ten coal sheets.)" + cost = 1000 + crate_type = /obj/structure/closet/crate + contains = list(/obj/item/stack/sheet/mineral/coal/ten) + crate_name = "grilling fuel kit crate" + /datum/supply_pack/organic/cream_piee name = "High-yield Clown-grade Cream Pie Crate" desc = "Designed by Aussec's Advanced Warfare Research Division, these high-yield, Clown-grade cream pies are powered by a synergy of performance and efficiency. Guaranteed to provide maximum results." diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 804193b09c..92f412dd89 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -198,6 +198,7 @@ spillable = TRUE resistance_flags = FREEZE_PROOF isGlass = FALSE + foodtype = BREAKFAST //Used by MREs /obj/item/reagent_containers/food/drinks/coffee/type2 @@ -317,27 +318,27 @@ icon_state = "orangebox" name = "orange juice box" desc = "A great source of vitamins. Stay healthy!" - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST if("milk") icon_state = "milkbox" name = "carton of milk" desc = "An excellent source of calcium for growing space explorers." - foodtype = DAIRY + foodtype = DAIRY | BREAKFAST if("applejuice") icon_state = "juicebox" name = "apple juice box" desc = "Sweet apple juice. Don't be late for school!" - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST if("grapejuice") icon_state = "grapebox" name = "grape juice box" desc = "Tasty grape juice in a fun little container. Non-alcoholic!" - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST if("chocolate_milk") icon_state = "chocolatebox" name = "carton of chocolate milk" desc = "Milk for cool kids!" - foodtype = SUGAR + foodtype = SUGAR | BREAKFAST if("eggnog") icon_state = "nog2" name = "carton of eggnog" @@ -524,3 +525,10 @@ desc = "There is no air shortage. Do not drink." icon_state = "air" list_reagents = list("nitrogen" = 24, "oxygen" = 6) + +/obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy + name = "Monkey Energy" + desc = "Unleash the ape!" + icon_state = "monkey_energy" + list_reagents = list("monkey_energy" = 50) + foodtype = SUGAR | JUNKFOOD diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 6a69721cef..271ff93b15 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -429,7 +429,7 @@ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi' isGlass = FALSE list_reagents = list("orangejuice" = 100) - foodtype = FRUIT + foodtype = FRUIT| BREAKFAST /obj/item/reagent_containers/food/drinks/bottle/cream name = "milk cream" diff --git a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm index 132e000893..6d3f007fd9 100644 --- a/code/modules/food_and_drinks/food.dm +++ b/code/modules/food_and_drinks/food.dm @@ -5,6 +5,9 @@ /// the parent to the exclusion list in code/__HELPERS/unsorted.dm's /// get_random_food proc. //////////////////////////////////////////////////////////////////////////////// + +#define STOP_SERVING_BREAKFAST (15 MINUTES) + /obj/item/reagent_containers/food possible_transfer_amounts = list() volume = 50 //Sets the default container amount for all food items. @@ -40,4 +43,8 @@ if(foodtype & H.dna.species.toxic_food) to_chat(H, "You don't feel so good...") H.adjust_disgust(25 + 30 * fraction) + if((foodtype & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) last_check_time = world.time + +#undef STOP_SERVING_BREAKFAST \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm index 25d7d72085..87b7143d88 100644 --- a/code/modules/food_and_drinks/food/condiment.dm +++ b/code/modules/food_and_drinks/food/condiment.dm @@ -26,6 +26,7 @@ "cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"), "sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"), "mayonnaise" = list("mayonnaise", "mayonnaise jar", "An oily condiment made from egg yolks."), + "bbqsauce" = list("condi_bbq", "BBQ sauce", "Hand wipes not included."), "peanut_butter" = list("peanutbutter", "peanut butter jar", "A deliciously and sticky spread made from peanuts.")) var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters. @@ -299,3 +300,8 @@ name = "astrotame pack" originalname = "astrotame" list_reagents = list("astrotame" = 5) + +/obj/item/reagent_containers/food/condiment/pack/bbqsauce + name = "bbq sauce pack" + originalname = "bbq sauce" + list_reagents = list("bbqsauce" = 10) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 4fd8ad2366..57827094e6 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -50,6 +50,8 @@ All foods are distributed among various categories. Use common sense. var/list/bonus_reagents //the amount of reagents (usually nutriment and vitamin) added to crafted/cooked snacks, on top of the ingredients reagents. var/customfoodfilling = 1 // whether it can be used as filling in custom food var/list/tastes // for example list("crisps" = 2, "salt" = 1) + var/dunkable = FALSE // for dunkable food, make true + var/dunk_amount = 10 // how much reagent is transferred per dunk //Placeholder for effect that trigger on eating that aren't tied to reagents. @@ -326,6 +328,24 @@ All foods are distributed among various categories. Use common sense. M.emote("me", EMOTE_VISIBLE, "[sattisfaction_text]") qdel(src) +//////////////////////////////////////////Dunking/////////////////////////////////////////// + +/obj/item/reagent_containers/food/snacks/afterattack(obj/item/reagent_containers/M, mob/user, proximity) + . = ..() + if(!dunkable || !proximity) + return + if(istype(M, /obj/item/reagent_containers/glass) || istype(M, /obj/item/reagent_containers/food/drinks)) //you can dunk dunkable snacks into beakers or drinks + if(!M.is_drainable()) + to_chat(user, "[M] is unable to be dunked in!") + return + if(M.reagents.trans_to(src, dunk_amount)) //if reagents were transfered, show the message + to_chat(user, "You dunk the [M].") + return + if(!M.reagents.total_volume) + to_chat(user, "[M] is empty!") + else + to_chat(user, "[src] is full!") + // //////////////////////////////////////////////Store//////////////////////////////////////// /// All the food items that can store an item inside itself, like bread or cake. /obj/item/reagent_containers/food/snacks/store diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 5d5ad59c49..8f02cd81b4 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -57,6 +57,33 @@ else if(subjectjob) S.name = "[subjectjob] meatsteak" +/obj/item/reagent_containers/food/snacks/meat/rawcrab + name = "raw crab meat" + desc = "A pile of raw crab meat." + icon_state = "crabmeatraw" + cooked_type = /obj/item/reagent_containers/food/snacks/meat/crab + bitesize = 3 + list_reagents = list("nutriment" = 1, "cooking_oil" = 3) + filling_color = "#EAD079" + tastes = list("raw crab" = 1) + foodtype = RAW | MEAT + +/obj/item/reagent_containers/food/snacks/meat/crab + name = "crab meat" + desc = "Some deliciously cooked crab meat." + icon_state = "crabmeat" + list_reagents = list("nutriment" = 2) + bonus_reagents = list("nutriment" = 3, "vitamin" = 2, "cooking_oil" = 2) + filling_color = "#DFB73A" + tastes = list("crab" = 1) + foodtype = MEAT + +/obj/item/reagent_containers/food/snacks/meat/slab/chicken + name = "chicken meat" + desc = "A slab of raw chicken. Remember to wash your hands!" + cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/chicken + slice_path = /obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken + tastes = list("chicken" = 1) /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime icon_state = "slimemeat" @@ -205,7 +232,6 @@ tastes = list("meat" = 1, "salmon" = 1) foodtype = RAW | MEAT - /obj/item/reagent_containers/food/snacks/meat/slab/xeno name = "xeno meat" desc = "A slab of meat." @@ -229,7 +255,6 @@ tastes = list("cobwebs" = 1) foodtype = RAW | MEAT | TOXIC - /obj/item/reagent_containers/food/snacks/meat/slab/goliath name = "goliath meat" desc = "A slab of goliath meat. It's not very edible now, but it cooks great in lava." @@ -277,7 +302,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1, "cooking_oil" = 2) filling_color = "#854817" tastes = list("bacon" = 1) - foodtype = MEAT + foodtype = MEAT | BREAKFAST /obj/item/reagent_containers/food/snacks/meat/slab/gondola name = "gondola meat" @@ -303,6 +328,10 @@ foodtype = MEAT tastes = list("meat" = 1) +/obj/item/reagent_containers/food/snacks/meat/steak/chicken + name = "chicken steak" //Can you have chicken steaks? Maybe this should be renamed once it gets new sprites. + tastes = list("chicken" = 1) + /obj/item/reagent_containers/food/snacks/meat/steak/plain foodtype = MEAT @@ -310,6 +339,10 @@ tastes = list("tender meat" = 1) foodtype = MEAT | GROSS +/obj/item/reagent_containers/food/snacks/meat/steak/penguin + name = "penguin steak" + tastes = list("beef" = 1, "cod fish" = 1) + /obj/item/reagent_containers/food/snacks/meat/steak/killertomato name = "killer tomato steak" tastes = list("tomato" = 1) @@ -376,6 +409,11 @@ else if(subjectjob) S.name = "[subjectjob] [initial(S.name)]" +/obj/item/reagent_containers/food/snacks/meat/rawcutlet/chicken + name = "raw chicken cutlet" + cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/chicken + tastes = list("chicken" = 1) + /obj/item/reagent_containers/food/snacks/meat/rawcutlet/killertomato name = "raw killer tomato cutlet" cooked_type = /obj/item/reagent_containers/food/snacks/meat/cutlet/killertomato @@ -441,3 +479,11 @@ /obj/item/reagent_containers/food/snacks/meat/cutlet/gondola name = "gondola cutlet" tastes = list("meat" = 1, "tranquility" = 1) + +/obj/item/reagent_containers/food/snacks/meat/cutlet/penguin + name = "penguin cutlet" + tastes = list("beef" = 1, "cod fish" = 1) + +/obj/item/reagent_containers/food/snacks/meat/cutlet/chicken + name = "chicken cutlet" + tastes = list("chicken" = 1) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index 73f6231960..741e78d1d2 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -5,7 +5,7 @@ slices_num = 5 tastes = list("bread" = 10) foodtype = GRAIN - + dunkable = TRUE /obj/item/reagent_containers/food/snacks/breadslice icon = 'icons/obj/food/burgerbread.dmi' @@ -16,6 +16,7 @@ slot_flags = ITEM_SLOT_HEAD customfoodfilling = 0 //to avoid infinite bread-ception foodtype = GRAIN + dunkable = TRUE /obj/item/reagent_containers/food/snacks/store/bread/plain name = "bread" @@ -270,6 +271,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( list_reagents = list("nutriment" = 4) bonus_reagents = list("nutriment" = 1, "vitamin" = 1) tastes = list("butter" = 1, "toast" = 1) + foodtype = GRAIN | BREAKFAST /obj/item/reagent_containers/food/snacks/butterbiscuit name = "butter biscuit" @@ -280,6 +282,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( list_reagents = list("nutriment" = 5) bonus_reagents = list("nutriment" = 1, "vitamin" = 1) tastes = list("butter" = 1, "biscuit" = 1) + foodtype = GRAIN | BREAKFAST /obj/item/reagent_containers/food/snacks/butterdog name = "butterdog" diff --git a/code/modules/food_and_drinks/food/snacks_burgers.dm b/code/modules/food_and_drinks/food/snacks_burgers.dm index 814875d2da..8b6d6212f1 100644 --- a/code/modules/food_and_drinks/food/snacks_burgers.dm +++ b/code/modules/food_and_drinks/food/snacks_burgers.dm @@ -134,13 +134,54 @@ tastes = list("bun" = 4, "brains" = 2) foodtype = GRAIN | MEAT | GROSS +////////////////////////////////////////////////////////////////////////////////////////////////////////////// /obj/item/reagent_containers/food/snacks/burger/ghost name = "ghost burger" desc = "Too Spooky!" - alpha = 125 + icon_state = "ghostburger" bonus_reagents = list("nutriment" = 5, "vitamin" = 12) tastes = list("bun" = 4, "ectoplasm" = 2) foodtype = GRAIN + alpha = 170 + verb_say = "moans" + verb_yell = "wails" + +/obj/item/reagent_containers/food/snacks/burger/ghost/Initialize() + . = ..() + START_PROCESSING(SSobj, src) + +/obj/item/reagent_containers/food/snacks/burger/ghost/process() + if(!isturf(loc)) //no floating out of bags + return + var/paranormal_activity = rand(100) + switch(paranormal_activity) + if(97 to 100) + audible_message("[src] rattles a length of chain.") + playsound(loc,'sound/spookoween/chain_rattling.ogg', 300, TRUE) + if(91 to 96) + say(pick("OoOoOoo.", "OoooOOooOoo!!")) + if(84 to 90) + dir = pick(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST) + step(src, dir) + if(71 to 83) + step(src, dir) + if(65 to 70) + var/obj/machinery/light/L = locate(/obj/machinery/light) in view(4, src) + if(L) + L.flicker() + if(62 to 64) + playsound(loc,pick('sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg'), 50, TRUE, ignore_walls = FALSE) + if(61) + visible_message("[src] spews out a glob of ectoplasm!") + new /obj/effect/decal/cleanable/greenglow/ecto(loc) + playsound(loc,'sound/effects/splat.ogg', 200, TRUE) + + //If i was less lazy i would make the burger forcefeed itself to a nearby mob here. + +/obj/item/reagent_containers/food/snacks/burger/ghost/Destroy() + STOP_PROCESSING(SSobj, src) + . = ..() +////////////////////////////////////////////////////////////////////////////////////////////////////////// /obj/item/reagent_containers/food/snacks/burger/red name = "red burger" @@ -281,3 +322,49 @@ bonus_reagents = list("nutriment" = 8, "vitamin" = 1) tastes = list("bun" = 4, "bacon" = 2) foodtype = GRAIN | MEAT + +/obj/item/reagent_containers/food/snacks/burger/soylent + name = "soylent burger" + desc = "A eco-friendly burger made using upcycled low value biomass." + icon_state = "soylentburger" + bonus_reagents = list("nutriment" = 5, "vitamin" = 3) + tastes = list("bun" = 2, "assistant" = 4) + foodtype = GRAIN | MEAT | DAIRY + +/obj/item/reagent_containers/food/snacks/burger/rib + name = "mcrib" + desc = "An elusive rib shaped burger with limited availablity across the galaxy. Not as good as you remember it." + icon_state = "mcrib" + bonus_reagents = list("bbqsauce" = 5, "vitamin" = 3) + tastes = list("bun" = 2, "pork patty" = 4) + foodtype = GRAIN | MEAT + +/obj/item/reagent_containers/food/snacks/burger/mcguffin + name = "mcguffin" + desc = "A cheap and greasy imitation of an eggs benedict." + icon_state = "mcguffin" + tastes = list("muffin" = 2, "bacon" = 3) + bonus_reagents = list("eggyolk" = 3, "nutriment" = 1) + foodtype = GRAIN | MEAT | BREAKFAST + +/obj/item/reagent_containers/food/snacks/burger/chicken + name = "chicken sandwich" //Apparently the proud people of Americlapstan object to this thing being called a burger. Apparently McDonald's just calls it a burger in Europe as to not scare and confuse us. + desc = "A delicious chicken sandwich, it is said the proceeds from this treat helps criminalize homosexuality on the space frontier." + icon_state = "chickenburger" + tastes = list("bun" = 2, "chicken" = 4, "God's covenant" = 1) + bonus_reagents = list("mayonnaise" = 3, "cooking_oil" = 2, "nutriment" = 2) + foodtype = GRAIN | MEAT | FRIED + +/obj/item/reagent_containers/food/snacks/burger/cheese + name = "cheese burger" + desc = "This noble burger stands proudly clad in golden cheese." + icon_state = "cheeseburger" + tastes = list("bun" = 2, "beef patty" = 4, "cheese" = 3) + bonus_reagents = list("nutriment" = 1) + foodtype = GRAIN | MEAT | DAIRY + +/obj/item/reagent_containers/food/snacks/burger/cheese/Initialize() + . = ..() + if(prob(33)) + icon_state = "cheeseburgeralt" + diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm index 7dadd2b12e..dd4dad4d9b 100644 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ b/code/modules/food_and_drinks/food/snacks_cake.dm @@ -379,3 +379,21 @@ obj/item/reagent_containers/food/snacks/store/cake/pound_cake filling_color = "#00FFFF" tastes = list("cake" = 1, "sugar" = 1, "peachjuice" = 10) foodtype = GRAIN | SUGAR | DAIRY + +/obj/item/reagent_containers/food/snacks/store/cake/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcake" + slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/trumpet + bonus_reagents = list("polypyr" = 15, "cream" = 5, "vitamin" = 5, "berryjuice" = 5) + filling_color = "#7A3D80" + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtype = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/reagent_containers/food/snacks/cakeslice/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcakeslice" + filling_color = "#7A3D80" + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtype = GRAIN | DAIRY | FRUIT | SUGAR \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index 83e447a308..85aed84615 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -94,7 +94,7 @@ filling_color = "#FFFFF0" list_reagents = list("nutriment" = 3) tastes = list("egg" = 4, "salt" = 1, "pepper" = 1) - foodtype = MEAT | FRIED + foodtype = MEAT | FRIED | BREAKFAST /obj/item/reagent_containers/food/snacks/boiledegg name = "boiled egg" @@ -104,7 +104,7 @@ filling_color = "#FFFFF0" list_reagents = list("nutriment" = 2, "vitamin" = 1) tastes = list("egg" = 1) - foodtype = MEAT + foodtype = MEAT | BREAKFAST /obj/item/reagent_containers/food/snacks/omelette //FUCK THIS name = "omelette du fromage" @@ -116,7 +116,7 @@ bitesize = 1 w_class = WEIGHT_CLASS_NORMAL tastes = list("egg" = 1, "cheese" = 1) - foodtype = MEAT + foodtype = MEAT | BREAKFAST /obj/item/reagent_containers/food/snacks/omelette/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/kitchen/fork)) @@ -145,5 +145,4 @@ w_class = WEIGHT_CLASS_NORMAL list_reagents = list("nutriment" = 6, "vitamin" = 4) tastes = list("egg" = 1, "bacon" = 1, "bun" = 1) - - foodtype = MEAT + foodtype = MEAT | BREAKFAST diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index 3988909b30..4a4c5ddb88 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -81,16 +81,15 @@ filling_color = "#87CEFA" tastes = list("blue cherries" = 2, "ice cream" = 2) foodtype = FRUIT | DAIRY - ///////////// //SNOWCONES// ///////////// /obj/item/reagent_containers/food/snacks/snowcones //We use this as a base for all other snowcones - name = "flaverless snowcone" - desc = "Its just harden water slivers. Still fun to chew on." + name = "flavorless snowcone" + desc = "It's just shaved ice. Still fun to chew on." icon = 'icons/obj/food/snowcones.dmi' - icon_state = "flaverless_sc" + icon_state = "flavorless_sc" trash = /obj/item/reagent_containers/food/drinks/sillycup //We dont eat paper cups bonus_reagents = list("water" = 10) //Base line will allways give water list_reagents = list("water" = 1) // We dont get food for water/juices @@ -99,106 +98,106 @@ foodtype = SUGAR //We use SUGAR as a base line to act in as junkfood, other wise we use fruit /obj/item/reagent_containers/food/snacks/snowcones/lime - name = "lime flavored snowcone" - desc = "A lime flavord snowball in a paper cup." + name = "lime snowcone" + desc = "Lime syrup drizzled over a snowball in a paper cup." icon_state = "lime_sc" list_reagents = list("nutriment" = 1, "limejuice" = 5) tastes = list("ice" = 1, "water" = 1, "limes" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/lemon - name = "lemon flavored snowcone" - desc = "A lemon flavord snowball in a paper cup." + name = "lemon snowcone" + desc = "Lemon syrup drizzled over a snowball in a paper cup." icon_state = "lemon_sc" list_reagents = list("nutriment" = 1, "lemonjuice" = 5) tastes = list("ice" = 1, "water" = 1, "lemons" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/apple - name = "apple flavored snowcone" - desc = "A apple flavord snowball in a paper cup." - icon_state = "blue_sc" + name = "apple snowcone" + desc = "Apple syrup drizzled over a snowball in a paper cup." + icon_state = "amber_sc" list_reagents = list("nutriment" = 1, "applejuice" = 5) tastes = list("ice" = 1, "water" = 1, "apples" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/grape - name = "grape flavored snowcone" - desc = "A grape flavord snowball in a paper cup." + name = "grape snowcone" + desc = "Grape syrup drizzled over a snowball in a paper cup." icon_state = "grape_sc" - list_reagents = list("nutriment" = 1, "berryjuice" = 5) + list_reagents = list("nutriment" = 1, "grapejuice" = 5) tastes = list("ice" = 1, "water" = 1, "grape" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/orange - name = "orange flavored snowcone" - desc = "A orange flavor dizzled on a snowball in a paper cup." + name = "orange snowcone" + desc = "Orange syrup drizzled over a snowball in a paper cup." icon_state = "orange_sc" - list_reagents = list("nutriment" = 1, "orangejuice" = 10) - tastes = list("ice" = 1, "water" = 1, "berries" = 5) + list_reagents = list("nutriment" = 1, "orangejuice" = 5) + tastes = list("ice" = 1, "water" = 1, "orange" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/blue - name = "bluecherry flavored snowcone" - desc = "A bluecharry flavord snowball in a paper cup, how rare!" - icon_state = "red_sc" + name = "bluecherry snowcone" + desc = "Bluecherry syrup drizzled over a snowball in a paper cup, how rare!" + icon_state = "blue_sc" list_reagents = list("nutriment" = 1, "bluecherryjelly" = 5) - tastes = list("ice" = 1, "water" = 1, "blue" = 5) + tastes = list("ice" = 1, "water" = 1, "blue" = 5, "cherries" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/red - name = "cherry flavored snowcone" - desc = "A cherry flavord snowball in a paper cup." - icon_state = "blue_sc" + name = "cherry snowcone" + desc = "Cherry syrup drizzled over a snowball in a paper cup." + icon_state = "red_sc" list_reagents = list("nutriment" = 1, "cherryjelly" = 5) - tastes = list("ice" = 1, "water" = 1, "red" = 5) + tastes = list("ice" = 1, "water" = 1, "red" = 5, "cherries" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/kiwi - name = "kiwi flavored snowcone" - desc = "A kiwi flavord snowball in a paper cup." + name = "kiwi snowcone" + desc = "A kiwi snowball in a paper cup." icon_state = "kiwi_sc" list_reagents = list("nutriment" = 3, "vitamin" = 6) tastes = list("ice" = 1, "space" = 3, "kiwi" = 5) foodtype = FRUIT -/obj/item/reagent_containers/food/snacks/snowcones/mix - name = "mixed berry flavored snowcone" - desc = "A mix of different flavors dizzled on a snowball in a paper cup." - icon_state = "berry_sc" - list_reagents = list("nutriment" = 1, "berryjuice" = 10) - tastes = list("ice" = 1, "water" = 1, "berries" = 5) - foodtype = FRUIT - /obj/item/reagent_containers/food/snacks/snowcones/peach - name = "peach flavored snowcone" - desc = "A peach flavord snowball in a paper cup." + name = "peach snowcone" + desc = "A peach snowball in a paper cup." icon_state = "peach_sc" list_reagents = list("nutriment" = 1, "peachjuice" = 10) tastes = list("ice" = 1, "water" = 1, " peach" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/strawberry - name = "strawberry flavored snowcone" - desc = "A strawberry flavord snowball in a paper cup." + name = "strawberry snowcone" + desc = "A strawberry snowball in a paper cup." icon_state = "blue_sc" list_reagents = list("nutriment" = 1, "berryjuice" = 10) tastes = list("ice" = 1, "water" = 1, " strawberry" = 5) foodtype = FRUIT +/obj/item/reagent_containers/food/snacks/snowcones/berry + name = "berry snowcone" + desc = "Berry syrup drizzled over a snowball in a paper cup." + icon_state = "berry_sc" + list_reagents = list("nutriment" = 1, "berryjuice" = 5) + tastes = list("ice" = 1, "water" = 1, "berries" = 5) + foodtype = FRUIT + /obj/item/reagent_containers/food/snacks/snowcones/fruitsalad - name = "mixed fruit flavored snowcone" - desc = "A mix of different flavors dizzled on a snowball in a paper cup." + name = "fruit salad snowcone" + desc = "A delightful mix of citrus syrups drizzled over a snowball in a paper cup." icon_state = "fruitsalad_sc" - list_reagents = list("nutriment" = 1, "limejuice" = 5, "lemonjuice" = 5, "orangejuice" = 5) - tastes = list("ice" = 1, "water" = 1, "fruits" = 25) + list_reagents = list("nutriment" = 1, "lemonjuice" = 5, "limejuice" = 5, "orangejuice" = 5) + tastes = list("ice" = 1, "water" = 1, "oranges" = 5, "limes" = 5, "lemons" = 5, "citrus" = 5, "salad" = 5) foodtype = FRUIT /obj/item/reagent_containers/food/snacks/snowcones/pineapple - name = "pineapple flavored snowcone" - desc = "A pineapple flavord snowball in a paper cup." + name = "pineapple snowcone" + desc = "Pineapple syrup drizzled over a snowball in a paper cup." icon_state = "pineapple_sc" - list_reagents = list("nutriment" = 1, "water" = 1) + list_reagents = list("nutriment" = 1, "water" = 10) tastes = list("ice" = 1, "water" = 1, "pineapples" = 5) foodtype = PINEAPPLE //Pineapple to allow all that like pineapple to enjoy @@ -207,41 +206,46 @@ desc = "..." icon_state = "mime_sc" list_reagents = list("nutriment" = 1, "nothing" = 5) - tastes = list("nothing" = 5) + tastes = list("ice" = 1, "water" = 1, "nothing" = 5) /obj/item/reagent_containers/food/snacks/snowcones/clown - name = "joke flavored snowcone" - desc = "A waterd down jokeful flavord snowball in a paper cup." + name = "clown snowcone" + desc = "Laughter drizzled over a snowball in a paper cup." icon_state = "clown_sc" list_reagents = list("nutriment" = 1, "laughter" = 5) - tastes = list("jokes" = 5, "brainfreeze" = 5, "joy" = 5) + tastes = list("ice" = 1, "water" = 1, "jokes" = 5, "brainfreeze" = 5, "joy" = 5) /obj/item/reagent_containers/food/snacks/snowcones/soda - name = "sodawater flavored snowcone" - desc = "A waterd down sodawater flavored snowcone snowball in a paper cup." + name = "space cola snowcone" + desc = "Space Cola drizzled over a snowball in a paper cup." icon_state = "soda_sc" - list_reagents = list("nutriment" = 1, "sodawater" = 5) - tastes = list("surgar" = 1, "water" = 5, "soda" = 5) - foodtype = JUNKFOOD | SUGAR + list_reagents = list("nutriment" = 1, "space_cola" = 5) + tastes = list("ice" = 1, "water" = 1, "cola" = 5) -/obj/item/reagent_containers/food/snacks/snowcones/pwgrmer - name = "pwergamer flavored snowcone" - desc = "A waterd down pwergamer soda flavord snowball in a paper cup." - icon_state = "pwergamer_sc" - list_reagents = list("nutriment" = 1, "laughter" = 1) - tastes = list("vaild" = 5, "salt" = 5, "wats" = 5) - foodtype = JUNKFOOD | SUGAR +/obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind + name = "Space Mountain Wind snowcone" + desc = "Space Mountain Wind drizzled over a snowball in a paper cup." + icon_state = "kiwi_sc" + list_reagents = list("nutriment" = 1, "spacemountainwind" = 5) + tastes = list("ice" = 1, "water" = 1, "mountain wind" = 5) + +/obj/item/reagent_containers/food/snacks/snowcones/pwrgame + name = "pwrgame snowcone" + desc = "Pwrgame soda drizzled over a snowball in a paper cup." + icon_state = "pwrgame_sc" + list_reagents = list("nutriment" = 1, "pwr_game" = 5) + tastes = list("ice" = 1, "water" = 1, "valid" = 5, "salt" = 5, "wats" = 5) /obj/item/reagent_containers/food/snacks/snowcones/honey - name = "honey flavored snowcone" - desc = "A honey flavord snowball in a paper cup." - icon_state = "honey_sc" + name = "honey snowcone" + desc = "Honey drizzled over a snowball in a paper cup." + icon_state = "amber_sc" list_reagents = list("nutriment" = 1, "honey" = 5) - tastes = list("pollen" = 5, "sweetness" = 5, "wax" = 1) + tastes = list("ice" = 1, "water" = 1, "flowers" = 5, "sweetness" = 5, "wax" = 1) /obj/item/reagent_containers/food/snacks/snowcones/rainbow - name = "rainbow color snowcone" - desc = "A rainbow color snowball in a paper cup." + name = "rainbow snowcone" + desc = "A very colorful snowball in a paper cup." icon_state = "rainbow_sc" list_reagents = list("nutriment" = 5, "laughter" = 25) - tastes = list("sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3) + tastes = list("ice" = 1, "water" = 1, "sunlight" = 5, "light" = 5, "slime" = 5, "paint" = 3, "clouds" = 3) \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 0b53ec8822..cf499c9d15 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -149,7 +149,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("meat" = 1) - foodtype = MEAT + foodtype = MEAT | BREAKFAST var/roasted = FALSE /obj/item/reagent_containers/food/snacks/sausage/Initialize() @@ -344,3 +344,19 @@ icon_state = "doubleratkebab" tastes = list("rat meat" = 2, "metal" = 1) bonus_reagents = list("nutriment" = 6, "vitamin" = 2) + +/obj/item/reagent_containers/food/snacks/kebab/fiesta + name = "fiesta skewer" + icon_state = "fiestaskewer" + tastes = list("tex-mex" = 3, "cumin" = 2) + bonus_reagents = list("vitamin" = 5, "capsaicin" = 3) + +/obj/item/reagent_containers/food/snacks/bbqribs + name = "bbq ribs" + desc = "BBQ ribs, slathered in a healthy coating of BBQ sauce. The least vegan thing to ever exist." + icon_state = "ribs" + w_class = WEIGHT_CLASS_NORMAL + list_reagents = list("nutriment" = 8, "vitamin" = 2, "bbqsauce" = 5) + bonus_reagents = list("nutriment" = 1, "vitamin" = 1) + tastes = list("meat" = 3, "smokey sauce" = 1) + foodtype = MEAT \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index ad0824dd79..58a0ab4382 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -47,6 +47,7 @@ filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR + dunkable = TRUE /obj/item/reagent_containers/food/snacks/hugemushroomslice name = "huge mushroom slice" @@ -90,6 +91,7 @@ filling_color = "#FFD700" tastes = list("fries" = 3, "salt" = 1) foodtype = VEGETABLES | GRAIN | FRIED + dunkable = TRUE /obj/item/reagent_containers/food/snacks/tatortot name = "tator tot" @@ -99,6 +101,7 @@ filling_color = "FFD700" tastes = list("potato" = 3, "valids" = 1) foodtype = FRIED | VEGETABLES + dunkable = TRUE /obj/item/reagent_containers/food/snacks/soydope name = "soy dope" @@ -109,6 +112,7 @@ filling_color = "#DEB887" tastes = list("soy" = 1) foodtype = VEGETABLES + dunkable = TRUE /obj/item/reagent_containers/food/snacks/cheesyfries name = "cheesy fries" @@ -128,6 +132,7 @@ list_reagents = list("bad_food" = 30) filling_color = "#8B4513" foodtype = GROSS + dunkable = TRUE /obj/item/reagent_containers/food/snacks/carrotfries name = "carrot fries" @@ -401,7 +406,6 @@ tastes = list("death" = 2, "rock" = 1, "meat" = 1, "hot peppers" = 1) foodtype = MEAT - /obj/item/reagent_containers/food/snacks/powercrepe name = "Powercrepe" desc = "With great power, comes great crepes. It looks like a pancake filled with jelly but packs quite a punch." @@ -583,6 +587,7 @@ filling_color = "#ffdf26" tastes = list("strawberries" = 5, "chocolate" = 3) foodtype = FRUIT | SUGAR + dunkable = TRUE /obj/item/reagent_containers/food/snacks/chocolatebanana name = "Chocolate dipped banana" @@ -591,4 +596,17 @@ list_reagents = list("sugar" = 5, "nutriment" = 3, "vitamin" = 1) filling_color = "#ffdf26" tastes = list("banana" = 5, "chocolate" = 3) - foodtype = FRUIT | SUGAR \ No newline at end of file + foodtype = FRUIT | SUGAR + dunkable = TRUE + +/obj/item/reagent_containers/food/snacks/cornchips + name = "boritos corn chips" + desc = "Triangular corn chips. They do seem a bit bland but would probably go well with some kind of dipping sauce." + icon_state = "boritos" + trash = /obj/item/trash/boritos + bitesize = 2 + list_reagents = list("nutriment" = 3, "cooking_oil" = 2, "sodiumchloride" = 3) + filling_color = "#ECA735" + tastes = list("fried corn" = 1) + foodtype = JUNKFOOD | FRIED + dunkable = TRUE \ No newline at end of file diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 87ba994022..fbd311fde3 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -5,28 +5,31 @@ /obj/item/reagent_containers/food/snacks/donut name = "donut" desc = "Goes great with robust coffee." - icon_state = "donut1" + icon = 'icons/obj/food/donut.dmi' + icon_state = "donut" bitesize = 5 bonus_reagents = list("sugar" = 1) list_reagents = list("nutriment" = 3, "sprinkles" = 1, "sugar" = 2) filling_color = "#D2691E" tastes = list("donut" = 1) - foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR - var/frosted_icon = "donut2" - var/is_frosted = FALSE + foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR | BREAKFAST + dunkable = TRUE + var/decorated_icon = "donut_homer" + var/is_decorated = FALSE var/extra_reagent = null + var/decorated_adjective = "sprinkled" /obj/item/reagent_containers/food/snacks/donut/Initialize() . = ..() if(prob(30)) - frost_donut() + decorate_donut() -/obj/item/reagent_containers/food/snacks/donut/proc/frost_donut() - if(is_frosted || !frosted_icon) +/obj/item/reagent_containers/food/snacks/donut/proc/decorate_donut() + if(is_decorated || !decorated_icon) return - is_frosted = TRUE - name = "frosted [name]" - icon_state = frosted_icon //delish~! + is_decorated = TRUE + name = "[decorated_adjective] [name]" + icon_state = decorated_icon //delish~! reagents.add_reagent(/datum/reagent/consumable/sprinkles, 1) filling_color = "#FF69B4" return TRUE @@ -43,9 +46,13 @@ return ..() +/obj/item/reagent_containers/food/snacks/donut/plain + //Use this donut ingame + /obj/item/reagent_containers/food/snacks/donut/chaos name = "chaos donut" desc = "Like life, it never quite tastes the same." + icon_state = "donut_chaos" bitesize = 10 tastes = list("donut" = 3, "chaos" = 1) @@ -57,53 +64,268 @@ /datum/reagent/medicine/omnizine) reagents.add_reagent(extra_reagent, 3) +/obj/item/reagent_containers/food/snacks/donut/meat + name = "Meat Donut" + desc = "Tastes as gross as it looks." + icon_state = "donut_meat" + bonus_reagents = list("ketchup" = 1) + list_reagents = list("nutriment" = 3, "ketchup" = 2) + tastes = list("meat" = 1) + foodtype = JUNKFOOD | MEAT | GROSS | FRIED | BREAKFAST + +/obj/item/reagent_containers/food/snacks/donut/berry + name = "pink donut" + desc = "Goes great with a soy latte." + icon_state = "donut_pink" + bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1) //Extra sprinkles to reward frosting + filling_color = "#E57d9A" + decorated_icon = "donut_homer" + +/obj/item/reagent_containers/food/snacks/donut/trumpet + name = "spaceman's donut" + desc = "Goes great with a cold beaker of malk." + icon_state = "donut_purple" + bonus_reagents = list("polypyr" = 3, "sprinkles" = 1) + tastes = list("donut" = 3, "violets" = 1) + is_decorated = TRUE + filling_color = "#8739BF" + +/obj/item/reagent_containers/food/snacks/donut/apple + name = "apple donut" + desc = "Goes great with a shot of cinnamon schnapps." + icon_state = "donut_green" + bonus_reagents = list("applejuice" = 3, "sprinkles" = 1) + tastes = list("donut" = 3, "green apples" = 1) + is_decorated = TRUE + filling_color = "#6ABE30" + +/obj/item/reagent_containers/food/snacks/donut/caramel + name = "caramel donut" + desc = "Goes great with a mug of hot coco." + icon_state = "donut_beige" + bonus_reagents = list("caramel" = 3, "sprinkles" = 1) + tastes = list("donut" = 3, "buttery sweetness" = 1) + is_decorated = TRUE + filling_color = "#D4AD5B" + +/obj/item/reagent_containers/food/snacks/donut/choco + name = "chocolate donut" + desc = "Goes great with a glass of warm milk." + icon_state = "donut_choc" + bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1) //the coco reagent is just bitter. + tastes = list("donut" = 4, "bitterness" = 1) + decorated_icon = "donut_choc_sprinkles" + filling_color = "#4F230D" + +/obj/item/reagent_containers/food/snacks/donut/blumpkin + name = "blumpkin donut" + desc = "Goes great with a mug of soothing drunken blumpkin." + icon_state = "donut_blue" + bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1) + tastes = list("donut" = 2, "blumpkin" = 1) + is_decorated = TRUE + filling_color = "#2788C4" + +/obj/item/reagent_containers/food/snacks/donut/bungo + name = "bungo donut" + desc = "Goes great with a mason jar of hippie's delight." + icon_state = "donut_yellow" + bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1) + tastes = list("donut" = 3, "tropical sweetness" = 1) + is_decorated = TRUE + filling_color = "#DEC128" + +/obj/item/reagent_containers/food/snacks/donut/matcha + name = "matcha donut" + desc = "Goes great with a cup of tea." + icon_state = "donut_olive" + bonus_reagents = list("teapowder = 3", "sprinkles" = 1) + tastes = list("donut" = 3, "matcha" = 1) + is_decorated = TRUE + filling_color = "#879630" + +//////////////////////JELLY DONUTS///////////////////////// + /obj/item/reagent_containers/food/snacks/donut/jelly name = "jelly donut" desc = "You jelly?" - icon_state = "jdonut1" - frosted_icon = "jdonut2" + icon_state = "jelly" + decorated_icon = "jelly_homer" bonus_reagents = list("sugar" = 1, "vitamin" = 1) extra_reagent = "berryjuice" tastes = list("jelly" = 1, "donut" = 3) - foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR + foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/donut/jelly/Initialize() . = ..() if(extra_reagent) reagents.add_reagent(extra_reagent, 3) +/obj/item/reagent_containers/food/snacks/donut/jelly/plain //use this ingame to avoid inheritance related crafting issues. + +/obj/item/reagent_containers/food/snacks/donut/jelly/berry + name = "pink jelly donut" + desc = "Goes great with a soy latte." + icon_state = "jelly_pink" + bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting. + filling_color = "#E57d9A" + decorated_icon = "jelly_homer" + +/obj/item/reagent_containers/food/snacks/donut/jelly/trumpet + name = "spaceman's jelly donut" + desc = "Goes great with a cold beaker of malk." + icon_state = "jelly_purple" + bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "violets" = 1) + is_decorated = TRUE + filling_color = "#8739BF" + +/obj/item/reagent_containers/food/snacks/donut/jelly/apple + name = "apple jelly donut" + desc = "Goes great with a shot of cinnamon schnapps." + icon_state = "jelly_green" + bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1) + is_decorated = TRUE + filling_color = "#6ABE30" + +/obj/item/reagent_containers/food/snacks/donut/jelly/caramel + name = "caramel jelly donut" + desc = "Goes great with a mug of hot coco." + icon_state = "jelly_beige" + bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1) + is_decorated = TRUE + filling_color = "#D4AD5B" + +/obj/item/reagent_containers/food/snacks/donut/jelly/choco + name = "chocolate jelly donut" + desc = "Goes great with a glass of warm milk." + icon_state = "jelly_choc" + bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter. + tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1) + decorated_icon = "jelly_choc_sprinkles" + filling_color = "#4F230D" + +/obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin + name = "blumpkin jelly donut" + desc = "Goes great with a mug of soothing drunken blumpkin." + icon_state = "jelly_blue" + bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1) + is_decorated = TRUE + filling_color = "#2788C4" + +/obj/item/reagent_containers/food/snacks/donut/jelly/bungo + name = "bungo jelly donut" + desc = "Goes great with a mason jar of hippie's delight." + icon_state = "jelly_yellow" + bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1) + is_decorated = TRUE + filling_color = "#DEC128" + +/obj/item/reagent_containers/food/snacks/donut/jelly/matcha + name = "matcha jelly donut" + desc = "Goes great with a cup of tea." + icon_state = "jelly_olive" + bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1) + is_decorated = TRUE + filling_color = "#879630" + +//////////////////////////SLIME DONUTS///////////////////////// + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly name = "jelly donut" desc = "You jelly?" - icon_state = "jdonut1" + icon_state = "jelly" extra_reagent = "slimejelly" - foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR + foodtype = JUNKFOOD | GRAIN | FRIED | TOXIC | SUGAR | BREAKFAST -/obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly - name = "jelly donut" - desc = "You jelly?" - icon_state = "jdonut1" - extra_reagent = "cherryjelly" - foodtype = JUNKFOOD | GRAIN | FRIED | FRUIT +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain -/obj/item/reagent_containers/food/snacks/donut/meat - bonus_reagents = list("ketchup" = 1) - list_reagents = list("nutriment" = 3, "ketchup" = 2) - tastes = list("meat" = 1) - foodtype = JUNKFOOD | MEAT | GROSS | FRIED +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry + name = "pink jelly donut" + desc = "Goes great with a soy latte." + icon_state = "jelly_pink" + bonus_reagents = list("berryjuice" = 3, "sprinkles" = 1, "vitamin" = 1) //Extra sprinkles to reward frosting + filling_color = "#E57d9A" -/obj/item/reagent_containers/food/snacks/donut/semen - name = "\"cream\" donut" - desc = "That cream looks a little runny..." - icon_state = "donut3" +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet + name = "spaceman's jelly donut" + desc = "Goes great with a cold beaker of malk." + icon_state = "jelly_purple" + bonus_reagents = list("polypyr" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "violets" = 1) + is_decorated = TRUE + filling_color = "#8739BF" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple + name = "apple jelly donut" + desc = "Goes great with a shot of cinnamon schnapps." + icon_state = "jelly_green" + bonus_reagents = list("applejuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "green apples" = 1) + is_decorated = TRUE + filling_color = "#6ABE30" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel + name = "caramel jelly donut" + desc = "Goes great with a mug of hot coco." + icon_state = "jelly_beige" + bonus_reagents = list("caramel" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "buttery sweetness" = 1) + is_decorated = TRUE + filling_color = "#D4AD5B" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco + name = "chocolate jelly donut" + desc = "Goes great with a glass of warm milk." + icon_state = "jelly_choc" + bonus_reagents = list("hot_coco" = 3, "sprinkles" = 1, "vitamin" = 1) //the coco reagent is just bitter. + tastes = list("jelly" = 1, "donut" = 4, "bitterness" = 1) + decorated_icon = "jelly_choc_sprinkles" + filling_color = "#4F230D" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin + name = "blumpkin jelly donut" + desc = "Goes great with a mug of soothing drunken blumpkin." + icon_state = "jelly_blue" + bonus_reagents = list("blumpkinjuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 2, "blumpkin" = 1) + is_decorated = TRUE + filling_color = "#2788C4" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo + name = "bungo jelly donut" + desc = "Goes great with a mason jar of hippie's delight." + icon_state = "jelly_yellow" + bonus_reagents = list("bungojuice" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "tropical sweetness" = 1) + is_decorated = TRUE + filling_color = "#DEC128" + +/obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha + name = "matcha jelly donut" + desc = "Goes great with a cup of tea." + icon_state = "jelly_olive" + bonus_reagents = list("teapowder" = 3, "sprinkles" = 1, "vitamin" = 1) + tastes = list("jelly" = 1, "donut" = 3, "matcha" = 1) + is_decorated = TRUE + filling_color = "#879630" + +/obj/item/reagent_containers/food/snacks/donut/glaze + name = "glazed donut" + desc = "A sugar glazed donut." + icon_state = "donut_glaze" bitesize = 10 - bonus_reagents = list("semen" = 1) - list_reagents = list("nutriment" = 3, "sugar" = 2, "semen" = 5) + bonus_reagents = list("sugar" = 3) + list_reagents = list("nutriment" = 3, "sugar" = 8) filling_color = "#FFFFFF" tastes = list("donut" = 1, "salt" = 3) foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR - ////////////////////////////////////////////MUFFINS//////////////////////////////////////////// /obj/item/reagent_containers/food/snacks/muffin @@ -114,14 +336,14 @@ list_reagents = list("nutriment" = 6) filling_color = "#F4A460" tastes = list("muffin" = 1) - foodtype = GRAIN | SUGAR + foodtype = GRAIN | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/muffin/berry name = "berry muffin" icon_state = "berrymuffin" desc = "A delicious and spongy little cake, with berries." tastes = list("muffin" = 3, "berry" = 1) - foodtype = GRAIN | FRUIT | SUGAR + foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/muffin/booberry name = "booberry muffin" @@ -129,7 +351,7 @@ alpha = 125 desc = "My stomach is a graveyard! No living being can quench my bloodthirst!" tastes = list("muffin" = 3, "spookiness" = 1) - foodtype = GRAIN | FRUIT | SUGAR + foodtype = GRAIN | FRUIT | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/chawanmushi name = "chawanmushi" @@ -152,7 +374,7 @@ list_reagents = list("nutriment" = 8, "vitamin" = 1) filling_color = "#D2691E" tastes = list("waffles" = 1) - foodtype = GRAIN | SUGAR + foodtype = GRAIN | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/soylentgreen name = "\improper Soylent Green" @@ -163,7 +385,7 @@ list_reagents = list("nutriment" = 10, "vitamin" = 1) filling_color = "#9ACD32" tastes = list("waffles" = 7, "people" = 1) - foodtype = GRAIN | GROSS | MEAT + foodtype = GRAIN | MEAT /obj/item/reagent_containers/food/snacks/soylenviridians name = "\improper Soylent Virdians" @@ -186,7 +408,7 @@ list_reagents = list("nutriment" = 8, "mushroomhallucinogen" = 2, "vitamin" = 2) filling_color = "#00BFFF" tastes = list("waffle" = 1, "mushrooms" = 1) - foodtype = GRAIN | VEGETABLES | TOXIC | SUGAR + foodtype = GRAIN | VEGETABLES | SUGAR | BREAKFAST ////////////////////////////////////////////OTHER//////////////////////////////////////////// @@ -199,7 +421,8 @@ list_reagents = list("nutriment" = 1) filling_color = "#F0E68C" tastes = list("cookie" = 1) - foodtype = SUGAR + foodtype = GRAIN | SUGAR + dunkable = TRUE /obj/item/reagent_containers/food/snacks/donkpocket name = "\improper Donk-pocket" @@ -216,6 +439,7 @@ desc = "The heated food of choice for the seasoned traitor." bonus_reagents = list("omnizine" = 3) list_reagents = list("nutriment" = 4, "omnizine" = 3) + cooked_type = null tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) foodtype = GRAIN @@ -318,6 +542,7 @@ filling_color = "#CD853F" tastes = list("sweetness" = 1) foodtype = GRAIN | JUNKFOOD | SUGAR + dunkable = TRUE /obj/item/reagent_containers/food/snacks/chococornet name = "chocolate cornet" @@ -338,6 +563,7 @@ filling_color = "#D2691E" tastes = list("cookie" = 2, "oat" = 1) foodtype = GRAIN + dunkable = TRUE /obj/item/reagent_containers/food/snacks/raisincookie name = "raisin cookie" @@ -348,6 +574,7 @@ filling_color = "#F0E68C" tastes = list("cookie" = 1, "raisins" = 1) foodtype = GRAIN | FRUIT + dunkable = TRUE /obj/item/reagent_containers/food/snacks/cherrycupcake name = "cherry cupcake" @@ -370,7 +597,7 @@ foodtype = GRAIN | FRUIT | SUGAR /obj/item/reagent_containers/food/snacks/strawberrycupcake - name = "Strawberry cupcake" + name = "strawberry cupcake" desc = "Strawberry inside a delicious cupcake." icon_state = "strawberrycupcake" bonus_reagents = list("nutriment" = 1, "vitamin" = 3) @@ -387,9 +614,9 @@ list_reagents = list("nutriment" = 5, "honey" = 5) filling_color = "#F2CE91" tastes = list("pastry" = 1, "sweetness" = 1) - foodtype = GRAIN + foodtype = GRAIN | SUGAR -#define PANCAKE_MAX_STACK 30 +#define PANCAKE_MAX_STACK 10 /obj/item/reagent_containers/food/snacks/pancakes name = "pancake" @@ -400,7 +627,7 @@ list_reagents = list("nutriment" = 4, "vitamin" = 1) filling_color = "#D2691E" tastes = list("pancakes" = 1) - foodtype = GRAIN | SUGAR + foodtype = GRAIN | SUGAR | BREAKFAST /obj/item/reagent_containers/food/snacks/pancakes/blueberry name = "blueberry pancake" diff --git a/code/modules/food_and_drinks/food/snacks_salad.dm b/code/modules/food_and_drinks/food/snacks_salad.dm index 65ff4d2eb9..f5fcec0ac5 100644 --- a/code/modules/food_and_drinks/food/snacks_salad.dm +++ b/code/modules/food_and_drinks/food/snacks_salad.dm @@ -47,7 +47,7 @@ bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "milk" = 10, "vitamin" = 2) tastes = list("oats" = 1, "milk" = 1) - foodtype = DAIRY | GRAIN + foodtype = DAIRY | GRAIN | BREAKFAST /obj/item/reagent_containers/food/snacks/salad/fruit name = "fruit salad" @@ -55,7 +55,7 @@ icon_state = "fruitsalad" bonus_reagents = list("nutriment" = 2, "vitamin" = 4) tastes = list("fruit" = 1) - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST /obj/item/reagent_containers/food/snacks/salad/jungle name = "jungle salad" @@ -64,7 +64,7 @@ bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "banana" = 5, "vitamin" = 4) tastes = list("fruit" = 1, "the jungle" = 1) - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST /obj/item/reagent_containers/food/snacks/salad/citrusdelight name = "citrus delight" @@ -73,7 +73,7 @@ bonus_reagents = list("nutriment" = 4, "vitamin" = 4) list_reagents = list("nutriment" = 7, "vitamin" = 5) tastes = list("sourness" = 1, "leaves" = 1) - foodtype = FRUIT + foodtype = FRUIT | BREAKFAST /obj/item/reagent_containers/food/snacks/salad/ricebowl name = "ricebowl" @@ -91,7 +91,7 @@ bonus_reagents = list("nutriment" = 1, "vitamin" = 1) list_reagents = list("nutriment" = 5, "vitamin" = 1) tastes = list("rice" = 1) - foodtype = GRAIN + foodtype = GRAIN | BREAKFAST /obj/item/reagent_containers/food/snacks/salad/ricepudding name = "rice pudding" diff --git a/code/modules/food_and_drinks/food/snacks_soup.dm b/code/modules/food_and_drinks/food/snacks_soup.dm index 93b1c083d9..867a9c401f 100644 --- a/code/modules/food_and_drinks/food/snacks_soup.dm +++ b/code/modules/food_and_drinks/food/snacks_soup.dm @@ -227,3 +227,22 @@ bonus_reagents = list("nutriment" = 4, "vitamin" = 6) tastes = list("beet" = 1) foodtype = VEGETABLES + +/obj/item/reagent_containers/food/snacks/soup/electron + name = "electron soup" + desc = "A gastronomic curiosity of ethereal origin. It is famed for the minature weather system formed over a properly prepared soup." + icon_state = "electronsoup" + list_reagents = list("nutriment" = 3, "liquidelectricity" = 5) + tastes = list("mushroom" = 1, "electrons" = 4, "shockingly good") + filling_color = "#CC2B52" + foodtype = VEGETABLES | TOXIC + +/obj/item/reagent_containers/food/snacks/soup/bungocurry + name = "bungo curry" + desc = "A spicy vegetable curry made with the humble bungo fruit, Exotic!" + icon_state = "bungocurry" + bonus_reagents = list("vitamin" = 11) + list_reagents = list("nutriment" = 6, "capsaicin" = 5) + tastes = list("bungo" = 2, "hot curry" = 4, "tropical sweetness" = 1) + filling_color = "#E6A625" + foodtype = VEGETABLES | FRUIT | DAIRY diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm new file mode 100644 index 0000000000..449da2afe3 --- /dev/null +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -0,0 +1,139 @@ +/obj/machinery/grill + name = "grill" + desc = "Just like the old days." + icon = 'icons/obj/kitchen.dmi' + icon_state = "grill_open" + density = TRUE + layer = BELOW_OBJ_LAYER + use_power = NO_POWER_USE + var/grill_fuel = 0 + var/obj/item/reagent_containers/food/grilled_item + var/grill_time = 0 + var/datum/looping_sound/grill/grill_loop + +/obj/machinery/grill/Initialize() + . = ..() + grill_loop = new(list(src), FALSE) + +/obj/machinery/grill/update_icon() + if(grilled_item) + icon_state = "grill" + else if(grill_fuel) + icon_state = "grill_on" + else + icon_state = "grill_open" + +/obj/machinery/grill/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/stack/sheet/mineral/coal) || istype(I, /obj/item/stack/sheet/mineral/wood)) + var/obj/item/stack/S = I + var/stackamount = S.get_amount() + to_chat(user, "You put [stackamount] [I]s in [src].") + if(istype(I, /obj/item/stack/sheet/mineral/coal)) + grill_fuel += (500 * stackamount) + else + grill_fuel += (50 * stackamount) + S.use(stackamount) + update_icon() + return + if(I.resistance_flags & INDESTRUCTIBLE) + to_chat(user, "You don't feel it would be wise to grill [I]...") + return ..() + if(istype(I, /obj/item/reagent_containers)) + if(istype(I, /obj/item/reagent_containers/food) && !istype(I, /obj/item/reagent_containers/food/drinks)) + if(HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL))) + return ..() + else if(!grill_fuel) + to_chat(user, "There is not enough fuel.") + return + else if(!grilled_item && user.transferItemToLoc(I, src)) + grilled_item = I + to_chat(user, "You put the [grilled_item] on [src].") + update_icon() + grill_loop.start() + return + else + if(I.reagents.has_reagent("monkey_energy")) + grill_fuel += (20 * (I.reagents.get_reagent_amount("monkey_energy"))) + to_chat(user, "You pour the Monkey Energy in [src].") + I.reagents.remove_reagent("monkey_energy", I.reagents.get_reagent_amount("monkey_energy")) + update_icon() + return + ..() + +/obj/machinery/grill/process() + ..() + update_icon() + if(!grill_fuel) + return + else + grill_fuel -= 1 + if(prob(1)) + var/datum/effect_system/smoke_spread/bad/smoke = new + smoke.set_up(1, loc) + smoke.start() + if(grilled_item) + grill_time += 1 + grilled_item.reagents.add_reagent("char", 1) + grill_fuel -= 10 + grilled_item.AddComponent(/datum/component/sizzle) + +/obj/machinery/grill/Exited(atom/movable/AM) + if(AM == grilled_item) + finish_grill() + grilled_item = null + ..() + +/obj/machinery/grill/Destroy() + grilled_item = null + . = ..() + +/obj/machinery/grill/handle_atom_del(atom/A) + if(A == grilled_item) + grilled_item = null + . = ..() + +/obj/machinery/grill/wrench_act(mob/living/user, obj/item/I) + . = ..() + if(default_unfasten_wrench(user, I) != CANT_UNFASTEN) + return TRUE + +/obj/machinery/grill/deconstruct(disassembled = TRUE) + finish_grill() + if(!(flags_1 & NODECONSTRUCT_1)) + new /obj/item/stack/sheet/metal(loc, 5) + new /obj/item/stack/rods(loc, 5) + ..() + +/obj/machinery/grill/attack_ai(mob/user) + return + +/obj/machinery/grill/attack_hand(mob/user) + if(grilled_item) + to_chat(user, "You take out [grilled_item] from [src].") + grilled_item.forceMove(drop_location()) + update_icon() + return + return ..() + +/obj/machinery/grill/proc/finish_grill() + switch(grill_time) //no 0-9 to prevent spam + if(10 to 15) + grilled_item.name = "lightly-grilled [grilled_item.name]" + grilled_item.desc = "[grilled_item.desc] It's been lightly grilled." + if(16 to 39) + grilled_item.name = "grilled [grilled_item.name]" + grilled_item.desc = "[grilled_item.desc] It's been grilled." + grilled_item.foodtype |= FRIED + if(40 to 50) + grilled_item.name = "heavily grilled [grilled_item.name]" + grilled_item.desc = "[grilled_item.desc] It's been heavily grilled." + grilled_item.foodtype |= FRIED + if(51 to INFINITY) //grill marks reach max alpha + grilled_item.name = "Powerfully Grilled [grilled_item.name]" + grilled_item.desc = "A [grilled_item.name]. Reminds you of your deepfryer skills, wait, no, it's better!" + grilled_item.foodtype |= FRIED + grill_time = 0 + grill_loop.stop() + +/obj/machinery/grill/unwrenched + anchored = FALSE diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index d10286d21a..404f3a6061 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -76,6 +76,22 @@ required_reagents = list("corn_starch" = 1, "sacid" = 1) required_temp = 374 +/datum/chemical_reaction/caramel + name = "Caramel" + id = "caramel" + results = list("caramel" = 1) + required_reagents = list("sugar" = 1) + required_temp = 413 + mob_react = FALSE + +/datum/chemical_reaction/caramel_burned + name = "Caramel burned" + id = "caramel_burned" + results = list("carbon" = 1) + required_reagents = list("caramel" = 1) + required_temp = 483 + mob_react = FALSE + /datum/chemical_reaction/cheesewheel name = "Cheesewheel" id = "cheesewheel" @@ -161,3 +177,9 @@ new /obj/item/reagent_containers/food/snacks/salad/ricebowl(location) if(holder && holder.my_atom) qdel(holder.my_atom) + +/datum/chemical_reaction/bbqsauce + name = "BBQ Sauce" + id = "bbqsauce" + results = list("bbqsauce" = 5) + required_reagents = list("ash" = 1, "tomatojuice" = 1, "salglu_solution" = 3, "blackpepper" = 1) \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index 1da81b99ec..fbd3f57323 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -44,6 +44,10 @@ input = /obj/item/reagent_containers/food/snacks/grown/parsnip output = /obj/item/reagent_containers/food/snacks/roastparsnip +/datum/food_processor_process/tortilla + input = /obj/item/reagent_containers/food/snacks/tortilla + output = /obj/item/reagent_containers/food/snacks/cornchips + /datum/food_processor_process/mob/slime input = /mob/living/simple_animal/slime output = null diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index d7beebf461..ffa8709245 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -76,6 +76,7 @@ name = "Fish burger" reqs = list( /obj/item/reagent_containers/food/snacks/carpmeat = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, /obj/item/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/reagent_containers/food/snacks/burger/fish @@ -94,6 +95,7 @@ name = "Ghost burger" reqs = list( /obj/item/ectoplasm = 1, + /datum/reagent/consumable/sodiumchloride = 2, /obj/item/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/reagent_containers/food/snacks/burger/ghost @@ -176,7 +178,7 @@ ) result = /obj/item/reagent_containers/food/snacks/burger/purple subcategory = CAT_BURGER - + /datum/crafting_recipe/food/blackburger name = "Black burger" reqs = list( @@ -186,7 +188,7 @@ ) result = /obj/item/reagent_containers/food/snacks/burger/black subcategory = CAT_BURGER - + /datum/crafting_recipe/food/whiteburger name = "White burger" reqs = list( @@ -218,6 +220,7 @@ name = "Big bite burger" reqs = list( /obj/item/reagent_containers/food/snacks/meat/steak/plain = 3, + /obj/item/reagent_containers/food/snacks/cheesewedge = 2, /obj/item/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/reagent_containers/food/snacks/burger/bigbite @@ -231,7 +234,8 @@ /obj/item/reagent_containers/food/snacks/meat/steak/plain = 5, /obj/item/reagent_containers/food/snacks/grown/tomato = 4, /obj/item/reagent_containers/food/snacks/cheesewedge = 3, - /obj/item/reagent_containers/food/snacks/boiledegg = 2, + /obj/item/reagent_containers/food/snacks/boiledegg = 1, + /obj/item/reagent_containers/food/snacks/meat/bacon = 1, /obj/item/reagent_containers/food/snacks/bun = 1 ) @@ -260,6 +264,7 @@ name = "Five alarm burger" reqs = list( /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 2, + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, /obj/item/reagent_containers/food/snacks/bun = 1 ) result = /obj/item/reagent_containers/food/snacks/burger/fivealarm @@ -293,3 +298,53 @@ result = /obj/item/reagent_containers/food/snacks/burger/baconburger subcategory = CAT_BURGER + +/datum/crafting_recipe/food/cheeseburger + name = "Cheese Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 1, + /obj/item/reagent_containers/food/snacks/cheesewedge = 1, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/cheese + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/soylentburger + name = "Soylent Burger" + reqs = list( + /obj/item/reagent_containers/food/snacks/soylentgreen = 1, //two full meats worth. + /obj/item/reagent_containers/food/snacks/cheesewedge = 2, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/soylent + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/ribburger + name = "McRib" + reqs = list( + /obj/item/reagent_containers/food/snacks/bbqribs = 1, //The sauce is already included in the ribs + /obj/item/reagent_containers/food/snacks/onion_slice = 1, //feel free to remove if too burdensome. + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/rib + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/mcguffin + name = "McGuffin" + reqs = list( + /obj/item/reagent_containers/food/snacks/friedegg = 1, + /obj/item/reagent_containers/food/snacks/meat/bacon = 2, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/mcguffin + subcategory = CAT_BURGER + +/datum/crafting_recipe/food/chickenburger + name = "Chicken Sandwich" + reqs = list( + /obj/item/reagent_containers/food/snacks/meat/steak/chicken = 1, + /datum/reagent/consumable/mayonnaise = 5, + /obj/item/reagent_containers/food/snacks/bun = 1 + ) + result = /obj/item/reagent_containers/food/snacks/burger/chicken + subcategory = CAT_BURGER \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm index 9c14badb23..c25cd9bed6 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -180,6 +180,17 @@ result = /obj/item/reagent_containers/food/snacks/store/cake/peach_cake subcategory = CAT_CAKE +/datum/crafting_recipe/food/trumpetcake + name = "Spaceman's Cake" + reqs = list( + /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/reagent_containers/food/snacks/grown/trumpet = 2, + /datum/reagent/consumable/cream = 5, + /datum/reagent/consumable/berryjuice = 5 + ) + result = /obj/item/reagent_containers/food/snacks/store/cake/trumpet + subcategory = CAT_CAKE + /datum/crafting_recipe/food/cak name = "Living cat/cake hybrid" reqs = list( diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm index 8f4c5d05f1..a42db0b2b5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm @@ -1,4 +1,8 @@ +///////////////// +//Misc. Frozen.// +///////////////// + /datum/crafting_recipe/food/icecreamsandwich name = "Icecream sandwich" reqs = list( @@ -90,11 +94,10 @@ //////////////////////////SNOW CONES/////////////////////// -/datum/crafting_recipe/food/flaverless_sc - name = "Flaverless snowcone" +/datum/crafting_recipe/food/flavorless_sc + name = "Flavorless snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15 ) result = /obj/item/reagent_containers/food/snacks/snowcones @@ -104,7 +107,6 @@ name = "Pineapple snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /obj/item/reagent_containers/food/snacks/pineappleslice = 2 ) @@ -115,7 +117,6 @@ name = "Lime snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/limejuice = 5 ) @@ -126,7 +127,6 @@ name = "Lemon snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/lemonjuice = 5 ) @@ -137,7 +137,6 @@ name = "Apple snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/applejuice = 5 ) @@ -148,9 +147,8 @@ name = "Grape snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/berryjuice = 5 + /datum/reagent/consumable/grapejuice = 5 ) result = /obj/item/reagent_containers/food/snacks/snowcones/grape subcategory = CAT_ICE @@ -159,7 +157,6 @@ name = "Orange snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/orangejuice = 5 ) @@ -170,7 +167,6 @@ name = "Bluecherry snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/bluecherryjelly= 5 ) @@ -181,22 +177,20 @@ name = "Cherry snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/cherryjelly= 5 ) result = /obj/item/reagent_containers/food/snacks/snowcones/red subcategory = CAT_ICE -/datum/crafting_recipe/food/mix_sc - name = "Mixed berrie snowcone" +/datum/crafting_recipe/food/berry_sc + name = "Berry snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/berryjuice = 15 + /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/mix + result = /obj/item/reagent_containers/food/snacks/snowcones/berry subcategory = CAT_ICE /datum/crafting_recipe/food/fruitsalad_sc @@ -216,7 +210,6 @@ name = "Mime snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/nothing = 5 ) @@ -227,86 +220,57 @@ name = "Clown snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/clownstears = 5 + /datum/reagent/consumable/laughter = 5 ) result = /obj/item/reagent_containers/food/snacks/snowcones/clown subcategory = CAT_ICE /datum/crafting_recipe/food/soda_sc - name = "Soda water snowcone" + name = "Space Cola snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, - /datum/reagent/consumable/sodawater = 15 + /datum/reagent/consumable/space_cola = 5 ) result = /obj/item/reagent_containers/food/snacks/snowcones/soda subcategory = CAT_ICE -/datum/crafting_recipe/food/pwgrmer_sc - name = "Pwergamer snowcone" +/datum/crafting_recipe/food/spacemountainwind_sc + name = "Space Mountain Wind snowcone" + reqs = list( + /obj/item/reagent_containers/food/drinks/sillycup = 1, + /datum/reagent/consumable/ice = 15, + /datum/reagent/consumable/spacemountainwind = 5 + ) + result = /obj/item/reagent_containers/food/snacks/snowcones/spacemountainwind + +/datum/crafting_recipe/food/pwrgame_sc + name = "Pwrgame snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/pwr_game = 15 ) - result = /obj/item/reagent_containers/food/snacks/snowcones/pwgrmer - subcategory = CAT_ICE - -/datum/crafting_recipe/food/kiwi_sc - name = "Kiwi snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /obj/item/reagent_containers/food/snacks/egg/kiwiEgg = 1, - /datum/reagent/water = 5, - /datum/reagent/consumable/ice = 15 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/kiwi + result = /obj/item/reagent_containers/food/snacks/snowcones/pwrgame subcategory = CAT_ICE /datum/crafting_recipe/food/honey_sc name = "Honey snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/honey = 5 ) result = /obj/item/reagent_containers/food/snacks/snowcones/honey subcategory = CAT_ICE -/datum/crafting_recipe/food/peach_sc - name = "Peach snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, - /datum/reagent/consumable/ice = 15, - /obj/item/reagent_containers/food/snacks/grown/peach = 1 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/peach - subcategory = CAT_ICE - -/datum/crafting_recipe/food/strawberry_sc - name = "Strawberry snowcone" - reqs = list( - /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, - /datum/reagent/consumable/ice = 15, - /obj/item/reagent_containers/food/snacks/grown/strawberry = 2 - ) - result = /obj/item/reagent_containers/food/snacks/snowcones/strawberry - subcategory = CAT_ICE - -/datum/crafting_recipe/food/honey_sc +/datum/crafting_recipe/food/rainbow_sc name = "Rainbow snowcone" reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, - /datum/reagent/water = 5, /datum/reagent/consumable/ice = 15, - /datum/reagent/colorful_reagent = 1 //Hard to make + /datum/reagent/colorful_reagent = 1 //Harder to make ) result = /obj/item/reagent_containers/food/snacks/snowcones/rainbow - subcategory = CAT_ICE + subcategory = CAT_ICE \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index d17ccf585e..d8145410cd 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -166,3 +166,25 @@ ) result = /obj/item/reagent_containers/food/snacks/salad/ricepork subcategory = CAT_MEAT + +/datum/crafting_recipe/food/fiestaskewer + name = "Fiesta Skewer" + reqs = list( + /obj/item/stack/rods = 1, + /obj/item/reagent_containers/food/snacks/grown/chili = 1, + /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, + /obj/item/reagent_containers/food/snacks/grown/corn = 1, + /obj/item/reagent_containers/food/snacks/grown/tomato = 1 + ) + result = /obj/item/reagent_containers/food/snacks/kebab/fiesta + subcategory = CAT_MEAT + +/datum/crafting_recipe/food/ribs + name = "BBQ Ribs" + reqs = list( + /datum/reagent/consumable/bbqsauce = 5, + /obj/item/reagent_containers/food/snacks/meat/steak/plain = 2, + /obj/item/stack/rods = 2 + ) + result = /obj/item/reagent_containers/food/snacks/bbqribs + subcategory = CAT_MEAT \ No newline at end of file diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index 365cf499bb..7977a715d8 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -1,18 +1,7 @@ - // see code/module/crafting/table.dm ////////////////////////////////////////////////DONUTS//////////////////////////////////////////////// -/datum/crafting_recipe/food/chaosdonut - name = "Chaos donut" - reqs = list( - /datum/reagent/consumable/frostoil = 5, - /datum/reagent/consumable/capsaicin = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/chaos - subcategory = CAT_PASTRY - /datum/crafting_recipe/food/donut time = 15 name = "Donut" @@ -20,18 +9,17 @@ /datum/reagent/consumable/sugar = 1, /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut + result = /obj/item/reagent_containers/food/snacks/donut/plain subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut/semen - time = 15 - name = "Semen donut" +/datum/crafting_recipe/food/donut/chaos + name = "Chaos donut" reqs = list( - /datum/reagent/consumable/semen = 10, + /datum/reagent/consumable/frostoil = 5, + /datum/reagent/consumable/capsaicin = 5, /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/semen - subcategory = CAT_PASTRY + result = /obj/item/reagent_containers/food/snacks/donut/chaos datum/crafting_recipe/food/donut/meat time = 15 @@ -41,35 +29,232 @@ datum/crafting_recipe/food/donut/meat /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) result = /obj/item/reagent_containers/food/snacks/donut/meat - subcategory = CAT_PASTRY -/datum/crafting_recipe/food/jellydonut +/datum/crafting_recipe/food/donut/jelly name = "Jelly donut" reqs = list( /datum/reagent/consumable/berryjuice = 5, /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly - subcategory = CAT_PASTRY + result = /obj/item/reagent_containers/food/snacks/donut/jelly/plain -/datum/crafting_recipe/food/cherryjellydonut - name = "Cherry jelly donut" - reqs = list( - /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/pastrybase = 1 - ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/cherryjelly - subcategory = CAT_PASTRY - -/datum/crafting_recipe/food/slimejellydonut +/datum/crafting_recipe/food/donut/slimejelly name = "Slime jelly donut" reqs = list( /datum/reagent/toxin/slimejelly = 5, /obj/item/reagent_containers/food/snacks/pastrybase = 1 ) - result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain + +/datum/crafting_recipe/food/donut/glaze + time = 15 + name = "glaze donut" + reqs = list( + /datum/reagent/consumable/sugar = 10, + /obj/item/reagent_containers/food/snacks/pastrybase = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/glaze subcategory = CAT_PASTRY +/datum/crafting_recipe/food/donut/berry + name = "Berry Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/berry + +/datum/crafting_recipe/food/donut/trumpet + name = "Spaceman's Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/donut/trumpet + +/datum/crafting_recipe/food/donut/apple + name = "Apple Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/apple + +/datum/crafting_recipe/food/donut/caramel + name = "Caramel Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/caramel + +/datum/crafting_recipe/food/donut/choco + name = "Chocolate Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/choco + +/datum/crafting_recipe/food/donut/blumpkin + name = "Blumpkin Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/blumpkin + +/datum/crafting_recipe/food/donut/bungo + name = "Bungo Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/bungo + +/datum/crafting_recipe/food/donut/matcha + name = "Matcha Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/matcha + +////////////////////////////////////////////////////JELLY DONUTS/////////////////////////////////////////////////////// + +/datum/crafting_recipe/food/donut/jelly/berry + name = "Berry Jelly Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/berry + +/datum/crafting_recipe/food/donut/jelly/trumpet + name = "Spaceman's Jelly Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet + +/datum/crafting_recipe/food/donut/jelly/apple + name = "Apple Jelly Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/apple + +/datum/crafting_recipe/food/donut/jelly/caramel + name = "Caramel Jelly Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/caramel + +/datum/crafting_recipe/food/donut/jelly/choco + name = "Chocolate Jelly Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/choco + +/datum/crafting_recipe/food/donut/jelly/blumpkin + name = "Blumpkin Jelly Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin + +/datum/crafting_recipe/food/donut/jelly/bungo + name = "Bungo Jelly Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/bungo + +/datum/crafting_recipe/food/donut/jelly/matcha + name = "Matcha Jelly Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/matcha + +////////////////////////////////////////////////////SLIME DONUTS/////////////////////////////////////////////////////// + +/datum/crafting_recipe/food/donut/slimejelly/berry + name = "Berry Slime Donut" + reqs = list( + /datum/reagent/consumable/berryjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry + +/datum/crafting_recipe/food/donut/slimejelly/trumpet + name = "Spaceman's Slime Donut" + reqs = list( + /datum/reagent/medicine/polypyr = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet + +/datum/crafting_recipe/food/donut/slimejelly/apple + name = "Apple Slime Donut" + reqs = list( + /datum/reagent/consumable/applejuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple + +/datum/crafting_recipe/food/donut/slimejelly/caramel + name = "Caramel Slime Donut" + reqs = list( + /datum/reagent/consumable/caramel = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel + +/datum/crafting_recipe/food/donut/slimejelly/choco + name = "Chocolate Slime Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/chocolatebar = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco + +/datum/crafting_recipe/food/donut/slimejelly/blumpkin + name = "Blumpkin Slime Donut" + reqs = list( + /datum/reagent/consumable/blumpkinjuice = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin + +/datum/crafting_recipe/food/donut/slimejelly/bungo + name = "Bungo Slime Donut" + reqs = list( + /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo + +/datum/crafting_recipe/food/donut/slimejelly/matcha + name = "Matcha Slime Donut" + reqs = list( + /datum/reagent/toxin/teapowder = 3, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1 + ) + result = /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha + ////////////////////////////////////////////////WAFFLES AND PANCAKES//////////////////////////////////////////////// /datum/crafting_recipe/food/waffles @@ -341,4 +526,4 @@ datum/crafting_recipe/food/donut/meat /datum/reagent/consumable/honey = 5 ) result = /obj/item/reagent_containers/food/snacks/honeybun - subcategory = CAT_PASTRY + subcategory = CAT_PASTRY \ No newline at end of file diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 45e7637741..ed014aa7be 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -279,6 +279,12 @@ M.visible_message("[M] shakes [src] trying to get [p_them()] up!", \ "You shake [src] trying to get [p_them()] up!") + else if(check_zone(M.zone_selected) == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon + M.visible_message( \ + "[M] boops [src]'s nose.", \ + "You boop [src] on the nose.", ) + playsound(src, 'sound/items/Nose_boop.ogg', 50, 0) + else if(check_zone(M.zone_selected) == "head") var/mob/living/carbon/human/H = src var/datum/species/pref_species = H.dna.species @@ -322,12 +328,6 @@ "[M] shakes [src]'s hand.", \ "You shake [src]'s hand.", ) - else if(check_zone(M.zone_selected) == "mouth") // I ADDED BOOP-EH-DEH-NOSEH - Jon - M.visible_message( \ - "[M] boops [src]'s nose.", \ - "You boop [src] on the nose.", ) - playsound(src, 'sound/items/Nose_boop.ogg', 50, 0) - else M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ "You hug [src] to make [p_them()] feel better!") diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 53ec3a64d3..da7bdc09da 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -286,8 +286,8 @@ if(health < maxHealth) adjustBruteLoss(-8) //Fast life regen for(var/obj/item/reagent_containers/food/snacks/donut/D in range(1, src)) //Frosts nearby donuts! - if(!D.is_frosted) - D.frost_donut() + if(!D.is_decorated) + D.decorate_donut() /mob/living/simple_animal/pet/cat/cak/attack_hand(mob/living/L) ..() diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 76f8093e38..6754f94b01 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -197,7 +197,7 @@ density = FALSE speak_chance = 2 turns_per_move = 2 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 1) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 1) response_help = "pets" response_disarm = "gently pushes aside" response_harm = "kicks" @@ -246,7 +246,7 @@ density = FALSE speak_chance = 2 turns_per_move = 3 - butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/chicken = 2) var/egg_type = /obj/item/reagent_containers/food/snacks/egg var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat response_help = "pets" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index c18a342206..116e2b8e45 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -201,7 +201,7 @@ mother.children_list -= src visible_message("[src] explodes!") explosion(get_turf(loc),0,0,0,flame_range = 3, adminlog = FALSE) - gib() + qdel() //Tentacles have less stun time compared to regular variant, to balance being able to use them much more often. Also, 10 more damage. /obj/effect/temp_visual/goliath_tentacle/broodmother/trip() diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 2d5424e845..ee99c7e7b6 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -566,9 +566,9 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/proc/is_muzzled() return 0 -/mob/Stat() - ..() - +/mob/Stat(delayoverride) + . = ..() + var/statdelay = delayoverride || 10 if(statpanel("Status")) if (client) stat(null, "Ping: [round(client.lastping, 1)]ms (Average: [round(client.avgping, 1)]ms)") @@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) var/datum/map_config/cached = SSmapping.next_map_config if(cached) stat(null, "Next Map: [cached.map_name]") - stat(null, "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]") + stat(null, "Round ID: [GLOB.round_id || "NULL"]") stat(null, "Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]") stat(null, "Round Time: [WORLDTIME2TEXT("hh:mm:ss")]") stat(null, "Station Time: [STATION_TIME_TIMESTAMP("hh:mm:ss")]") @@ -586,8 +586,9 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) if(ETA) stat(null, "[ETA] [SSshuttle.emergency.getTimerStr()]") - if(client && client.holder) + if(client?.holder) if(statpanel("MC")) + statdelay = 0 //It's assumed that if you're doing this you are doing debug stuff, don't do ioditic things. var/turf/T = get_turf(client.eye) stat("Location:", COORD(T)) stat("CPU:", "[world.cpu]") @@ -613,6 +614,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) GLOB.ahelp_tickets.stat_entry() if(length(GLOB.sdql2_queries)) if(statpanel("SDQL2")) + statdelay = 0 //It's assumed that if you're doing this you are doing debug stuff, don't do ioditic things. stat("Access Global SDQL2 List", GLOB.sdql2_vv_statobj) for(var/i in GLOB.sdql2_queries) var/datum/SDQL2_query/Q = i @@ -636,14 +638,13 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) if(A.IsObscured()) continue statpanel(listed_turf.name, null, A) - - if(mind) add_spells_to_statpanel(mind.spell_list) var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling) if(changeling) add_stings_to_statpanel(changeling.purchasedpowers) add_spells_to_statpanel(mob_spell_list) + sleep(statdelay) /mob/proc/add_spells_to_statpanel(list/spells) for(var/obj/effect/proc_holder/spell/S in spells) @@ -976,4 +977,4 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/setMovetype(newval) . = ..() - update_movespeed(FALSE) \ No newline at end of file + update_movespeed(FALSE) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index f852e84914..290c680ea8 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -951,3 +951,21 @@ to_chat(M, "[pick("Headpats feel nice.", "Backrubs would be nice.", "Mew")]") M.adjustArousalLoss(5) ..() + +/datum/reagent/consumable/monkey_energy + name = "Monkey Energy" + id = "monkey_energy" + description = "The only drink that will make you unleash the ape." + color = "#f39b03" // rgb: 243, 155, 3 + taste_description = "barbecue and nostalgia" + glass_icon_state = "monkey_energy_glass" + glass_name = "glass of Monkey Energy" + glass_desc = "You can unleash the ape, but without the pop of the can?" + +/datum/reagent/consumable/monkey_energy/on_mob_life(mob/living/carbon/M) + M.Jitter(20) + M.dizziness +=1 + M.drowsyness = 0 + M.AdjustSleeping(-40, FALSE) + M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, BODYTEMP_NORMAL) + ..() diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 3da430b16d..c57053386e 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -799,6 +799,16 @@ ..() . = TRUE +/datum/reagent/consumable/caramel + name = "Caramel" + id = "caramel" + description = "Who would have guessed that heated sugar could be so delicious?" + nutriment_factor = 10 * REAGENTS_METABOLISM + color = "#D98736" + taste_mult = 2 + taste_description = "caramel" + reagent_state = SOLID + /datum/reagent/consumable/secretsauce name = "secret sauce" id = "secret_sauce" @@ -810,3 +820,27 @@ taste_mult = 100 can_synth = FALSE pH = 6.1 + +/datum/reagent/consumable/char + name = "Char" + id = "char" + description = "Essence of the grill. Has strange properties when overdosed." + reagent_state = LIQUID + nutriment_factor = 5 * REAGENTS_METABOLISM + color = "#C8C8C8" + taste_mult = 6 + taste_description = "smoke" + overdose_threshold = 25 + +/datum/reagent/consumable/char/overdose_process(mob/living/carbon/M) + if(prob(10)) + M.say(pick("I hate my grill.", "I just want to grill something right for once...", "I wish I could just go on my lawnmower and cut the grass.", "Yep, Tetris. That was a good game...")) + +/datum/reagent/consumable/bbqsauce + name = "BBQ Sauce" + id = "bbqsauce" + description = "Sweet, Smokey, Savory, and gets everywhere. Perfect for Grilling." + nutriment_factor = 5 * REAGENTS_METABOLISM + color = "#78280A" // rgb: 120 40, 10 + taste_mult = 2.5 //sugar's 1.5, capsacin's 1.5, so a good middle ground. + taste_description = "smokey sweetness" diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index c38cef5ea8..2ac6df7668 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -28,6 +28,11 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/item/hilbertshotel ))) +GLOBAL_LIST_INIT(cargo_shuttle_leave_behind_typecache, typecacheof(list( + /mob/living/simple_animal/revenant, + /mob/living/simple_animal/slaughter + ))) + /obj/docking_port/mobile/supply name = "supply shuttle" id = "supply" @@ -50,16 +55,27 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/docking_port/mobile/supply/canMove() if(is_station_level(z)) - return check_blacklist(shuttle_areas) + return check_blacklist(shuttle_areas, GLOB.blacklisted_cargo_types - GLOB.cargo_shuttle_leave_behind_typecache) return ..() -/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances) +/obj/docking_port/mobile/supply/enterTransit() + var/list/leave_behind = list() + for(var/i in check_blacklist(shuttle_areas, GLOB.cargo_shuttle_leave_behind_typecache)) + var/atom/movable/AM = i + leave_behind[AM] = AM.loc + . = ..() + for(var/kicked in leave_behind) + var/atom/movable/victim = kicked + var/atom/oldloc = leave_behind[victim] + victim.forceMove(oldloc) + +/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances, list/typecache) for(var/place in areaInstances) var/area/shuttle/shuttle_area = place for(var/trf in shuttle_area) var/turf/T = trf for(var/a in T.GetAllContents()) - if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types)) + if(is_type_in_typecache(a, typecache)) return FALSE if(istype(a, /obj/structure/closet))//Prevents eigenlockers from ending up at CC var/obj/structure/closet/c = a diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 1c141dae25..502a25ba4e 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -17,7 +17,8 @@ /obj/item/reagent_containers/food/drinks/soda_cans/shamblers = 6) premium = list(/obj/item/reagent_containers/food/drinks/drinkingglass/filled/nuka_cola = 1, /obj/item/reagent_containers/food/drinks/soda_cans/air = 1, - /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1) + /obj/item/reagent_containers/food/drinks/soda_cans/grey_bull = 1, + /obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy = 1) refill_canister = /obj/item/vending_refill/cola /obj/item/vending_refill/cola diff --git a/config/game_options.txt b/config/game_options.txt index 3b031bb5b9..34c8ca48fd 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -574,3 +574,8 @@ MONKEYCAP 64 #Replaces standard extended/secret dichotomy with extended and calm/chaotic votes for dynamic. DYNAMIC_VOTING + +## Choose which Engine to start the round with, comment to remove an Engine from the rotation +BOX_RANDOM_ENGINE Engine SM +BOX_RANDOM_ENGINE Engine Tesla +BOX_RANDOM_ENGINE Engine Singulo \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-10093.yml b/html/changelogs/AutoChangeLog-pr-10093.yml new file mode 100644 index 0000000000..e692ed5d2a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10093.yml @@ -0,0 +1,15 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "ports all the new donuts, burgars, and chicken stuff from RG" + - rscadd: "ports new snowcone" + - rscadd: "ports grill" + - rscadd: "ports beakfeast tag/mood lit as TG has it" + - rscadd: "ports all the amazing new sprites" + - tweak: "ports crafting for many things like snowcones needing water" + - balance: "ports of many craftings" + - soundadd: "lowers fryers sound" + - imageadd: "ported icons for new food/grill" + - imagedel: "ports the deletion of some icons and images" + - spellcheck: "ports a spell check for the snowcones" + - code_imp: "ports fixes for stuff I didnt know were even broken with snowcones" diff --git a/html/changelogs/AutoChangeLog-pr-10210.yml b/html/changelogs/AutoChangeLog-pr-10210.yml new file mode 100644 index 0000000000..39167dee25 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10210.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - rscadd: "Cargo shuttle now silently ignores slaughter demons/revenants instead of being blocked even while they are jaunted. A drawback is that manifested ones can't block it either, any more." diff --git a/html/changelogs/AutoChangeLog-pr-10218.yml b/html/changelogs/AutoChangeLog-pr-10218.yml new file mode 100644 index 0000000000..fb05465cbe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10218.yml @@ -0,0 +1,4 @@ +author: "GrayRachnid" +delete-after: True +changes: + - bugfix: "fixes consistency" diff --git a/html/changelogs/AutoChangeLog-pr-10245.yml b/html/changelogs/AutoChangeLog-pr-10245.yml new file mode 100644 index 0000000000..a618bfc76b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10245.yml @@ -0,0 +1,5 @@ +author: "r4d6" +delete-after: True +changes: + - rscadd: "Added submaps for the SM, Tesla and Singulo" + - rscadd: "Added a placeholder on Boxstation for the Engines" diff --git a/html/changelogs/AutoChangeLog-pr-10246.yml b/html/changelogs/AutoChangeLog-pr-10246.yml new file mode 100644 index 0000000000..73b2b24ee8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10246.yml @@ -0,0 +1,4 @@ +author: "kevinz000" +delete-after: True +changes: + - tweak: "Stat() slowed down for anti-lag measures." diff --git a/html/changelogs/AutoChangeLog-pr-10254.yml b/html/changelogs/AutoChangeLog-pr-10254.yml new file mode 100644 index 0000000000..59fefc5703 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10254.yml @@ -0,0 +1,4 @@ +author: "r4d6" +delete-after: True +changes: + - bugfix: "fixed Nose boops not triggering" diff --git a/html/changelogs/AutoChangeLog-pr-10274.yml b/html/changelogs/AutoChangeLog-pr-10274.yml new file mode 100644 index 0000000000..a1b448344f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-10274.yml @@ -0,0 +1,4 @@ +author: "kappa-sama" +delete-after: True +changes: + - bugfix: "broodmother baby lag" diff --git a/icons/mob/custom_w.dmi b/icons/mob/custom_w.dmi index b572338fc6..a73da3aa0c 100644 Binary files a/icons/mob/custom_w.dmi and b/icons/mob/custom_w.dmi differ diff --git a/icons/obj/custom.dmi b/icons/obj/custom.dmi index bbb813d7c9..7f42c7e250 100644 Binary files a/icons/obj/custom.dmi and b/icons/obj/custom.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 09de5a4185..b03a1cdeae 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index cd7fc1742b..b1d78fa078 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/food/donut.dmi b/icons/obj/food/donut.dmi new file mode 100644 index 0000000000..fb13ab5dfa Binary files /dev/null and b/icons/obj/food/donut.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index e7c32fdf56..6b29d599cc 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/food/piecake.dmi b/icons/obj/food/piecake.dmi index a74acb4e29..5638235217 100644 Binary files a/icons/obj/food/piecake.dmi and b/icons/obj/food/piecake.dmi differ diff --git a/icons/obj/food/snowcones.dmi b/icons/obj/food/snowcones.dmi index 8a06cf4e82..8f5b4f8992 100644 Binary files a/icons/obj/food/snowcones.dmi and b/icons/obj/food/snowcones.dmi differ diff --git a/icons/obj/food/soupsalad.dmi b/icons/obj/food/soupsalad.dmi index c6df0a2603..a6e492608f 100644 Binary files a/icons/obj/food/soupsalad.dmi and b/icons/obj/food/soupsalad.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 1e1033e38e..4886cb8441 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index e41d1fb4a1..cb67f0d6f9 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/rooms/box/engine.dmi b/icons/rooms/box/engine.dmi new file mode 100644 index 0000000000..c7b0546db2 Binary files /dev/null and b/icons/rooms/box/engine.dmi differ diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index d75ffc2347..cf68666532 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -458,3 +458,33 @@ datum/gear/darksabresheath category = SLOT_NECK path = /obj/item/clothing/neck/necklace/onion ckeywhitelist = list("cdrcross") + +/datum/gear/mikubikini + name = "starlight singer bikini" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/under/mikubikini + ckeywhitelist = list("grandvegeta") + +/datum/gear/mikujacket + name = "starlight singer jacket" + category = SLOT_WEAR_SUIT + path = /obj/item/clothing/suit/mikujacket + ckeywhitelist = list("grandvegeta") + +/datum/gear/mikuhair + name = "starlight singer hair" + category = SLOT_W_UNIFORM + path = /obj/item/clothing/head/mikuhair + ckeywhitelist = list("grandvegeta") + +/datum/gear/mikugloves + name = "starlight singer gloves" + category = SLOT_GLOVES + path = /obj/item/clothing/gloves/mikugloves + ckeywhitelist = list("grandvegeta") + +/datum/gear/mikuleggings + name = "starlight singer leggings" + category = SLOT_SHOES + path = /obj/item/clothing/shoes/sneakers/mikuleggings + ckeywhitelist = list("grandvegeta") diff --git a/modular_citadel/code/modules/custom_loadout/custom_items.dm b/modular_citadel/code/modules/custom_loadout/custom_items.dm index 274a345369..3d88dae26c 100644 --- a/modular_citadel/code/modules/custom_loadout/custom_items.dm +++ b/modular_citadel/code/modules/custom_loadout/custom_items.dm @@ -510,3 +510,49 @@ icon_state = "onion" item_state = "onion" alternate_worn_icon = 'icons/mob/custom_w.dmi' + +/obj/item/clothing/under/mikubikini + name = "starlight singer bikini" + desc = " " + icon_state = "mikubikini" + item_state = "mikubikini" + icon = 'icons/obj/custom.dmi' + alternate_worn_icon = 'icons/mob/custom_w.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + +/obj/item/clothing/suit/mikujacket + name = "starlight singer jacket" + desc = " " + icon_state = "mikujacket" + item_state = "mikujacket" + icon = 'icons/obj/custom.dmi' + alternate_worn_icon = 'icons/mob/custom_w.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + +/obj/item/clothing/head/mikuhair + name = "starlight singer hair" + desc = " " + icon_state = "mikuhair" + item_state = "mikuhair" + icon = 'icons/obj/custom.dmi' + alternate_worn_icon = 'icons/mob/custom_w.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + flags_inv = HIDEHAIR + +/obj/item/clothing/gloves/mikugloves + name = "starlight singer gloves" + desc = " " + icon_state = "mikugloves" + item_state = "mikugloves" + icon = 'icons/obj/custom.dmi' + alternate_worn_icon = 'icons/mob/custom_w.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION + +/obj/item/clothing/shoes/sneakers/mikuleggings + name = "starlight singer leggings" + desc = " " + icon_state = "mikuleggings" + item_state = "mikuleggings" + icon = 'icons/obj/custom.dmi' + alternate_worn_icon = 'icons/mob/custom_w.dmi' + mutantrace_variation = NO_MUTANTRACE_VARIATION diff --git a/tgstation.dme b/tgstation.dme old mode 100755 new mode 100644 index 8c7e3c2b03..20cbea540c --- a/tgstation.dme +++ b/tgstation.dme @@ -385,6 +385,7 @@ #include "code\datums\components\rotation.dm" #include "code\datums\components\shrapnel.dm" #include "code\datums\components\shrink.dm" +#include "code\datums\components\sizzle.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" @@ -500,6 +501,7 @@ #include "code\datums\mutations\telekinesis.dm" #include "code\datums\ruins\lavaland.dm" #include "code\datums\ruins\space.dm" +#include "code\datums\ruins\station.dm" #include "code\datums\status_effects\buffs.dm" #include "code\datums\status_effects\debuffs.dm" #include "code\datums\status_effects\gas.dm" @@ -1789,6 +1791,7 @@ #include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm" #include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm" #include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm" +#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm" #include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm" #include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm" #include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"