diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index be52f6a67f46..77df46175bc6 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -606,7 +606,7 @@ /area/ruin/beach/complex) "kK" = ( /obj/structure/closet/crate/bin, -/obj/item/reagent_containers/food/snacks/breadslice/moldy, +/obj/item/food/breadslice/moldy, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/concrete/slab_4, /area/ruin/beach/complex) diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 6e70a81ace49..becd88ae56fd 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -240,7 +240,7 @@ }, /obj/structure/table/wood/reinforced, /obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = 3; pixel_y = 6 }, diff --git a/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm b/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm index 9c3e4c090eb6..12fdf42c7d44 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_abandoned_library.dmm @@ -193,7 +193,7 @@ pixel_x = 6; pixel_y = -6 }, -/obj/item/gun/ballistic/automatic/pistol/no_mag{ +/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag{ name = "bible gun"; pixel_x = -7; pixel_y = -8; diff --git a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm index 2b04f2a3edb1..f5214804dbbd 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm @@ -5613,7 +5613,7 @@ /obj/structure/closet, /obj/item/clothing/suit/armor/ngr/captain, /obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /turf/open/floor/wood{ @@ -5787,7 +5787,7 @@ /area/overmap_encounter/planetoid/jungle/explored) "Nh" = ( /obj/structure/filingcabinet, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /turf/open/floor/mineral/plastitanium, diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 781ae59a84f4..dec4c65755f9 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -1762,7 +1762,7 @@ /turf/open/floor/plasteel/tech, /area/ruin/jungle/cavecrew/security) "vr" = ( -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /turf/open/floor/plasteel/patterned, /area/ruin/jungle/cavecrew/cargo) "vH" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm index e8f075b9005d..fce0a7d6904d 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm @@ -3173,7 +3173,7 @@ /obj/structure/closet/cabinet, /obj/item/hatchet/wooden, /obj/item/ammo_box/a357, -/obj/item/gun/ballistic/revolver, +/obj/item/gun/ballistic/revolver/syndicate, /turf/open/floor/wood, /area/ship/bridge) "VM" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm index 9457e639c5ce..86e2ac4e5477 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm @@ -5381,7 +5381,7 @@ "Ih" = ( /obj/structure/table/wood, /obj/machinery/light/directional/south, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = -8 }, /obj/item/reagent_containers/food/snacks/grown/berries/poison{ @@ -7509,7 +7509,7 @@ }, /obj/effect/mob_spawn/human/corpse/nanotrasensoldier, /obj/effect/decal/cleanable/vomit/old, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = -4; pixel_y = 16 }, diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm index 6418550c8e7e..ce83713f82bb 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm @@ -1108,7 +1108,7 @@ "Il" = ( /obj/effect/decal/cleanable/cobweb, /obj/structure/rack, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /turf/open/floor/plating, /area/ruin/jungle/syndifort) "Iv" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm new file mode 100644 index 000000000000..ee1a8c17aad6 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -0,0 +1,3947 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/structure/sign/poster/contraband/c20r, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"aw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"aD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"aU" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"bm" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/railing, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"bv" = ( +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/telecomms/receiver, +/obj/machinery/door/window/eastleft, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"bw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"bA" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"bL" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"bT" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"cb" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 4 + }, +/obj/machinery/vending/snack/random, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"cm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"cr" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"cv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"cB" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"cM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"cX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/blackbox_recorder, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"db" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"dm" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"dJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 2 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"dM" = ( +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/obj/machinery/vending/coffee, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"dT" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"dY" = ( +/obj/item/ammo_casing/spent, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "bubblegumfoot" + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"eN" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"eU" = ( +/obj/machinery/button/door{ + id = "cafeteriashutters"; + name = "Window Shutters"; + dir = 1; + pixel_y = -20 + }, +/obj/structure/closet/crate/bin, +/obj/item/cigbutt{ + pixel_y = -3 + }, +/obj/item/cigbutt{ + pixel_y = -3; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 17; + pixel_x = -10 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 15; + pixel_x = -7 + }, +/obj/item/storage/fancy/cigarettes/derringer/gold, +/obj/item/trash/can, +/obj/item/trash/sosjerky{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/trash/sosjerky{ + pixel_y = 2; + pixel_x = 6 + }, +/obj/item/trash/syndi_cakes, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"eW" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"eX" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"fa" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"fd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"fg" = ( +/obj/structure/sign/poster/contraband/bulldog, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"fl" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs, +/area/ruin/unpowered/listening_post/engineering) +"fo" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"fz" = ( +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"fG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/structure/chair/bench/red/directional/east, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"fQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"fZ" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"gr" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"gN" = ( +/obj/structure/table/reinforced, +/obj/item/paper/crumpled/ruins{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/paper/crumpled/ruins, +/obj/item/toy/prize/ripley{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"gT" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -4; + pixel_x = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"gY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"hh" = ( +/obj/structure/sign/poster/contraband/cybersun, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"hy" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"hA" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/machinery/power/port_gen/pacman/super/not_very, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"hC" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"hE" = ( +/obj/structure/curtain, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"hX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"ih" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/machinery/door/window/brigdoor/northleft{ + dir = 2 + }, +/obj/structure/window/reinforced/spawner/east, +/obj/structure/safe{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/spacecash/bundle/loadsamoney, +/obj/item/documents/syndicate, +/obj/machinery/light/small/directional/north, +/obj/item/folder/documents/syndicate/red, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"iR" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/machinery/light_switch{ + pixel_y = 22 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"jz" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/structure/table/chem, +/obj/item/tank/internals/anesthetic{ + pixel_y = 3; + pixel_x = 6 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = 6; + pixel_x = -4 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"jN" = ( +/obj/structure/curtain, +/obj/effect/turf_decal/techfloor/hole, +/obj/effect/turf_decal/techfloor/hole/right, +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/shower{ + pixel_y = 19 + }, +/obj/item/soap/syndie, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"kb" = ( +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/item/cigbutt{ + pixel_y = -3; + pixel_x = -7 + }, +/obj/item/cigbutt{ + pixel_y = 17; + pixel_x = -10 + }, +/obj/item/cigbutt{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/cigbutt{ + pixel_y = 15; + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"kk" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Bathroom" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"kz" = ( +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"kA" = ( +/obj/machinery/door/airlock/hatch{ + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"kB" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"lb" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"lj" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"ls" = ( +/obj/item/toy/figure/syndie{ + pixel_y = -1; + pixel_x = -33 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"lu" = ( +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"lK" = ( +/obj/structure/railing/corner, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"lZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/operations) +"mc" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 7 + }, +/obj/item/pen{ + pixel_y = 9 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"mf" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"mh" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"mj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"mp" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"mF" = ( +/obj/structure/flora/tree/dead/tall/grey, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"mG" = ( +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"mU" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"na" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax{ + pixel_y = 7 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"nc" = ( +/obj/structure/mirror{ + pixel_x = 28; + icon_state = "mirror_broke"; + name = "Shattered Mirror" + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 13 + }, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"np" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"nD" = ( +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"nY" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"oi" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"op" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"ot" = ( +/obj/structure/closet/cabinet{ + name = "Alcohol Closet" + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_y = -31 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"ou" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/obj/structure/bed/roller, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"oC" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"oG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"oO" = ( +/obj/structure/toilet{ + pixel_y = 31; + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"oS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"oT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"oX" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"pa" = ( +/obj/structure/fluff/paper/stack{ + dir = 1; + pixel_x = -16; + pixel_y = -2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"pt" = ( +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wideplating/dark/end, +/obj/structure/table/reinforced, +/obj/item/storage/box/cups{ + pixel_y = 8; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/colocup{ + pixel_y = 6; + pixel_x = -7 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"pw" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"px" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"pS" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"pW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"pZ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Medbay" + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"qo" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"qq" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/ashplanet, +/area/ruin/unpowered) +"qv" = ( +/obj/structure/window/reinforced/spawner, +/obj/machinery/telecomms/server, +/obj/machinery/door/window/eastright, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"qC" = ( +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"qJ" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"qV" = ( +/turf/template_noop, +/area/template_noop) +"qW" = ( +/obj/structure/chair/bench/beige/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"qX" = ( +/obj/structure/table/wood/reinforced, +/obj/item/toy/figure/secofficer{ + pixel_y = 10; + pixel_x = 7 + }, +/obj/item/toy/figure/head_of_personnel{ + pixel_y = 13; + pixel_x = -9 + }, +/obj/item/toy/figure/engineer{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"rb" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/secure_data/laptop, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"rG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"rQ" = ( +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -4; + pixel_x = 11 + }, +/obj/item/trash/can{ + pixel_y = -24; + pixel_x = -16 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"sd" = ( +/obj/structure/closet/crate/grave/loot, +/obj/effect/mob_spawn/human/skeleton, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"sr" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"sM" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"sP" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"sX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"te" = ( +/obj/item/gun/ballistic/automatic/smg/c20r{ + spawnwithmagazine = 0 + }, +/obj/item/ammo_box/magazine/smgm45{ + start_empty = 1 + }, +/obj/structure/guncloset, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"tf" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"th" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"tk" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"to" = ( +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer4{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"tG" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 8; + pixel_x = 18 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"tJ" = ( +/obj/structure/sign/departments/engineering, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/engineering) +"tM" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"tS" = ( +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"tV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/reinforced, +/obj/machinery/newscaster/directional/north, +/obj/item/trash/plate{ + pixel_y = -27; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 10; + pixel_x = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"tY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"uv" = ( +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"vu" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"vC" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"vG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"vJ" = ( +/obj/machinery/suit_storage_unit/mining/eva, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"vR" = ( +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor7" + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"vU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/item/kirbyplants/dead{ + desc = "It doesn't look very healthy..."; + name = "potted plant"; + pixel_y = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"vY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"wn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "commsshutters" + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"wr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"wz" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"wL" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/structure/table/chem, +/obj/item/stack/medical/gauze/improvised{ + pixel_y = 9 + }, +/obj/item/stack/medical/gauze/improvised{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/scalpel, +/obj/machinery/light/directional/north, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"wO" = ( +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = 15 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/canteen) +"xv" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"xR" = ( +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 + }, +/obj/item/kitchen/knife, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"ya" = ( +/obj/item/trash/can{ + pixel_y = 35; + pixel_x = -26 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"yp" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"ys" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/item/bedsheet/syndie, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"yN" = ( +/turf/open/floor/plating/grass/lava/purple, +/area/ruin/unpowered) +"yZ" = ( +/obj/item/trash/can{ + pixel_y = -12; + pixel_x = -7 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"zd" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"zj" = ( +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = -5; + pixel_x = 33 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"zA" = ( +/obj/structure/table/greyscale, +/obj/structure/window/reinforced/spawner/east, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/item/storage/firstaid{ + pixel_y = -17; + pixel_x = -9 + }, +/obj/item/stack/medical/bruise_pack, +/obj/item/stack/medical/bruise_pack{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/stack/medical/ointment{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"zF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered/listening_post) +"zI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"Ao" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Ap" = ( +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ax" = ( +/obj/structure/table/reinforced, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = -1 + }, +/obj/item/trash/chips{ + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"AB" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/structure/fluff/paper/stack{ + dir = 6; + pixel_y = 11; + pixel_x = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Bb" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Bg" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/structure/table/chem, +/obj/item/clothing/gloves/color/latex, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"BB" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"BF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"BL" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "commsshutters"; + dir = 8 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"BM" = ( +/obj/machinery/telecomms/processor, +/obj/machinery/door/window/eastright, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"BO" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Cx" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/operations) +"Di" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Dr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/west, +/obj/structure/rack, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/snacks/canned/beans{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/snacks/canned/peaches{ + pixel_y = 7; + pixel_x = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"DE" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"DI" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 6; + pixel_x = -7; + list_reagents = null + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"DS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/vending/cigarette/syndicate, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Ef" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Eh" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"El" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Eq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/book/random{ + pixel_y = 3 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"Ey" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain, +/obj/item/bedsheet/syndie{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"EA" = ( +/obj/machinery/door/airlock/hatch{ + name = "Dormitories" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/commons) +"EB" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"EH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"EJ" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"EM" = ( +/obj/structure/sign/syndicate, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Fs" = ( +/obj/structure/chair/bench/beige/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"FN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/flashlight/lamp{ + pixel_y = 6 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"FQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"FW" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/smes/engineering, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Gy" = ( +/obj/machinery/computer/telecomms/monitor{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"GB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/engineering) +"GH" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ip" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"IA" = ( +/obj/structure/chair/bench/beige/directional/west, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = -1; + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"ID" = ( +/obj/structure/dresser, +/obj/item/radio/old{ + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Jj" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/fluff/paper/stack{ + dir = 1; + pixel_x = -16; + pixel_y = -2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Jn" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"Jq" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "distribution output pump" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"Js" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"JD" = ( +/obj/structure/chair/bench/beige/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"KB" = ( +/obj/structure/sign/departments/restroom, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/canteen) +"KJ" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"KS" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"KV" = ( +/obj/machinery/telecomms/bus, +/obj/machinery/door/window/eastleft, +/turf/open/floor/plasteel/freezer, +/area/ruin/unpowered/listening_post/operations) +"KW" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 4 + }, +/obj/structure/table/chem, +/obj/structure/sink/chem{ + dir = 8 + }, +/obj/item/cautery{ + pixel_x = -9; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Li" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Ln" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"LB" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters{ + id = "cafeteriashutters" + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"LD" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"LE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"LI" = ( +/obj/structure/flora/tree/dead/barren, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"LV" = ( +/obj/structure/sign/warning/gasmask, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Mg" = ( +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Mr" = ( +/obj/structure/fluff/paper/stack{ + dir = 5; + pixel_y = 25; + layer = 2.89 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MF" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MN" = ( +/obj/structure/flora/tree/dead/barren, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"MU" = ( +/obj/machinery/computer/security{ + dir = 8 + }, +/obj/item/trash/pistachios{ + pixel_y = 4; + pixel_x = -8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"MX" = ( +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plasteel/tech, +/area/ruin/unpowered/listening_post/engineering) +"MZ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/ration, +/obj/structure/sign/poster/official/high_class_martini{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Nb" = ( +/obj/item/toy/plush/moth/firewatch{ + name = "Syndiemoth plushie" + }, +/obj/item/toy/nuke{ + pixel_x = 12; + pixel_y = -5 + }, +/obj/item/toy/sword{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"Nt" = ( +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"NI" = ( +/obj/structure/filingcabinet/double/grey{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"NK" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"NP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"NV" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"NZ" = ( +/obj/structure/table/reinforced, +/obj/item/trash/plate{ + pixel_y = 29; + pixel_x = -2 + }, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_y = 17; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_y = 17; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 16; + pixel_x = -9 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Oe" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Om" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"On" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 + }, +/obj/structure/closet/wall/med/directional/north, +/obj/item/storage/firstaid/regular, +/obj/item/storage/box/masks, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Oo" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"Op" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"OI" = ( +/obj/structure/noticeboard, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post/commons) +"OP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"OS" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"OW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Pe" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/structure/chair/bench/red/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Pj" = ( +/obj/structure/flora/rock/hell, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"PC" = ( +/obj/structure/plaque/listeningpost, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"PQ" = ( +/obj/machinery/door/airlock/hatch, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"Qq" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"QC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"QD" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/commons) +"QP" = ( +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"QS" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 8 + }, +/obj/machinery/vending/snack/random, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"QY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post/operations) +"Rb" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer4{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava, +/area/ruin/unpowered) +"Ri" = ( +/obj/structure/closet/cabinet, +/obj/item/storage/backpack/duffelbag/syndie, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"RV" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"SC" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 10 + }, +/obj/machinery/button/door{ + dir = 4; + id = "commsshutters"; + name = "Window Shutters"; + pixel_x = -23; + pixel_y = -6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Ta" = ( +/turf/closed/mineral/random/volcanic, +/area/ruin/unpowered) +"To" = ( +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/unpowered/listening_post) +"Tp" = ( +/obj/structure/flora/ausbushes/grassybush/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Ty" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/engineering) +"TI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"TK" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post) +"TM" = ( +/obj/structure/closet/cabinet, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/gun/ballistic/automatic/pistol/syndicate, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"TS" = ( +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Ut" = ( +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + icon_state = "trimline"; + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 11 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"UB" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell, +/obj/structure/flora/ausbushes/sparsegrass/hell, +/turf/open/floor/plating/grass/lava/orange, +/area/ruin/unpowered) +"UV" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Wa" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/corner, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Wc" = ( +/obj/structure/table/reinforced, +/obj/item/paper/crumpled/ruins{ + pixel_y = 1; + pixel_x = 6 + }, +/obj/item/paper/pamphlet{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/trash/cheesie{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"Wo" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/light/small/directional/east, +/obj/item/trash/can/food/beans{ + pixel_y = 16 + }, +/obj/item/trash/can/food/beans{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/trash/can/food/beans{ + pixel_y = 9; + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/carpet/nanoweave/red, +/area/ruin/unpowered/listening_post/commons) +"Wq" = ( +/obj/structure/chair/office{ + name = "tactical swivel chair"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/syndiered/arrow_ccw{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post) +"WL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/falsewall/plastitanium, +/turf/open/floor/plating, +/area/ruin/unpowered/listening_post/canteen) +"WU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Xi" = ( +/obj/structure/flora/ausbushes/fullgrass/hell, +/turf/open/floor/plating/grass/lava, +/area/ruin/unpowered) +"Xk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"Xm" = ( +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -8 + }, +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"XE" = ( +/obj/item/trash/chips{ + pixel_y = 5 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"XY" = ( +/obj/effect/turf_decal/trimline/opaque/bar/filled/warning{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"Yh" = ( +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered/listening_post) +"YK" = ( +/obj/structure/table/reinforced, +/obj/machinery/reagentgrinder{ + pixel_y = 12 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"YL" = ( +/obj/item/paper/crumpled/ruins, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) +"YP" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_x = -8; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/ration{ + pixel_y = 7; + pixel_x = -9 + }, +/obj/item/reagent_containers/food/condiment/bbqsauce{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/unpowered/listening_post/canteen) +"Zb" = ( +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/turf/open/floor/hangar/plasteel/white, +/area/ruin/unpowered/listening_post) +"Zd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/canteen) +"ZY" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/unpowered/listening_post/operations) + +(1,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} +(2,1,1) = {" +qV +qV +qV +Ap +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} +(3,1,1) = {" +qV +qV +Ap +Ap +Ap +Ap +Ap +TS +TS +Xi +Xi +Xi +Xi +Xi +TS +Ap +Ap +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +TS +TS +TS +qV +qV +qV +"} +(4,1,1) = {" +qV +Ap +Ap +Ap +TS +TS +TS +TS +Xi +Xi +MN +Xi +Xi +Xi +TS +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +dY +Ap +TS +Tp +BO +BO +TS +qV +qV +"} +(5,1,1) = {" +qV +Ap +Ap +TS +TS +Xi +Xi +Xi +Xi +Xi +Xi +Xi +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +nD +EB +Ap +EB +Ap +EB +Ap +TS +mF +BO +TS +qV +qV +"} +(6,1,1) = {" +qV +Ap +Ap +TS +Xi +Xi +Xi +Tp +Xi +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +lj +GH +vR +Ap +Ap +Ap +Ap +Ap +EB +Ap +Ap +Ap +Ap +Ap +Ap +Tp +TS +qV +qV +"} +(7,1,1) = {" +qV +qV +Xi +Xi +Xi +Xi +TS +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ap +op +op +sP +op +Ta +Ta +Ap +Ap +Ap +Ap +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +Ap +qV +qV +"} +(8,1,1) = {" +qV +Ap +TS +TS +TS +TS +Ap +Ap +Ap +Ap +Ap +Ap +Ta +Ta +Ta +op +fz +th +op +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +qV +"} +(9,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ta +Ta +Ta +Ta +Ta +op +vJ +zF +op +Ta +Ta +Ta +Ta +zI +zI +zI +zI +zI +Ta +Ta +Ta +Ta +Ap +Pj +Ap +qV +"} +(10,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +bT +Ap +Ap +Ta +Ta +op +op +op +op +op +LV +eW +op +op +op +op +op +zI +Om +lb +Dr +zI +zI +zI +Ta +Ta +Ap +Ap +Ap +qV +"} +(11,1,1) = {" +Ap +Ap +Ap +Ap +Ap +Ap +DI +Ap +Ap +Ta +Ta +op +ou +oC +eX +pZ +DE +fZ +zd +vU +fG +Pe +cb +zI +MZ +oX +ot +WL +Nb +zI +Ta +Ta +Ap +Ap +Ap +qV +"} +(12,1,1) = {" +qV +Ap +Ap +Ap +Ap +Ap +sd +Ap +Ap +Ta +Ta +op +zA +El +tf +To +np +fQ +KJ +sX +oS +oS +fd +zI +zI +oT +zI +rG +zI +zI +Ta +Ta +yN +Ap +Ap +qV +"} +(13,1,1) = {" +qV +Ap +Pj +Ap +Ap +Ap +ls +Ap +Ap +Ta +Ta +op +wL +tk +eN +hE +bw +TI +cv +WU +Wa +XY +EJ +zI +kb +LD +QC +YK +Qq +zI +Ta +yN +yN +Ap +qV +qV +"} +(14,1,1) = {" +qV +qV +Ap +QP +Ap +Ap +Ap +Ap +Ap +Ta +Ta +op +On +tS +Zb +hE +Di +OW +mG +mG +EM +RV +KS +zI +qW +Fs +Ao +Mg +xR +LB +Ap +mp +kB +yN +qV +qV +"} +(15,1,1) = {" +qV +qV +QP +QP +QP +QP +QP +Ap +Ap +Ta +Ta +op +Bg +KW +jz +hE +Yh +oG +rb +Wq +qJ +px +cm +zI +tV +NZ +Ao +wr +YP +LB +Ap +mp +yN +yN +qV +qV +"} +(16,1,1) = {" +qV +qV +QP +tM +tM +QP +QP +Ap +Ap +Ta +Ta +op +op +op +op +op +op +hh +op +PC +op +Js +TK +zI +JD +IA +zj +Zd +aU +LB +Ap +mp +yN +Ap +qV +qV +"} +(17,1,1) = {" +qV +qV +QP +QP +tM +tM +QP +QP +Ap +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +iR +pw +zI +Eh +Zd +Ao +Zd +eU +zI +Ta +mh +mp +yN +qV +qV +"} +(18,1,1) = {" +qV +qV +QP +QP +QP +tM +tM +QP +Ap +Ta +Ta +Ta +Ta +Ln +Ln +Ln +Ln +Ln +Ln +Ln +Ln +QD +yp +PQ +fa +Xk +fo +OP +DS +ae +Ta +Ap +yN +Ap +qV +qV +"} +(19,1,1) = {" +qV +qV +QP +QP +LI +QP +tM +QP +Ap +Ap +Ta +Ta +Ta +Ln +ID +Ey +FN +qX +Ri +sr +Ln +db +pw +zI +Xm +pt +tG +LE +dM +zI +Ta +Ta +Ap +Ap +qV +qV +"} +(20,1,1) = {" +qV +qV +QP +QP +QP +vC +QP +tM +QP +Ap +Ta +Ta +Ta +Ln +vG +mj +NP +hy +dJ +cr +EA +Jj +cB +zI +zI +zI +kk +KB +zI +zI +Ta +Ta +Ap +Ap +qV +qV +"} +(21,1,1) = {" +qV +qV +Ap +tM +tM +QP +QP +QP +QP +Ap +Ta +Ta +Ta +Ln +Oe +ys +Wo +Eq +TM +lu +Ln +oi +bA +fg +Ta +zI +wO +sM +oO +Ta +Ta +Ta +Ap +Ap +qV +qV +"} +(22,1,1) = {" +qV +qV +Ap +QP +tM +QP +LI +vC +QP +Ap +Ta +Ta +Ta +Ln +Ln +Ln +Ln +Ln +Ln +Ln +OI +vu +gY +Ln +Ta +zI +jN +nc +zI +Ta +Ta +Ta +Pj +Ap +qV +qV +"} +(23,1,1) = {" +qV +Ap +Ap +QP +QP +tM +QP +QP +QP +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +Oo +gT +Ln +Ta +zI +zI +zI +zI +Ta +Ta +Ta +Ap +Ap +qV +qV +"} +(24,1,1) = {" +qV +Ap +Ap +Ap +QP +tM +QP +vC +QP +Ap +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ln +NV +nY +Ln +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +qV +qV +qV +"} +(25,1,1) = {" +qV +qV +Ap +Ap +QP +QP +UB +QP +QP +Ap +Ap +Ta +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +Cx +mU +lZ +GB +GB +GB +GB +GB +Ta +Ta +Ta +Ap +qV +qV +qV +"} +(26,1,1) = {" +qV +qV +Pj +Ap +Ap +QP +QP +QP +Ap +Ap +Ap +Ta +lZ +ih +gr +SC +bv +BM +KV +qv +Ut +hC +MF +QS +GB +Bb +Jq +uv +GB +GB +GB +Ta +Ap +qV +qV +qV +"} +(27,1,1) = {" +qV +qV +Ap +Ap +Ap +Ap +QP +QP +Ap +Ap +Ap +Ap +lZ +na +EH +AB +Li +Li +qo +dm +Ip +pa +yZ +Ef +GB +hX +dT +bm +FW +hA +GB +Ta +TS +Ap +qV +qV +"} +(28,1,1) = {" +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +wn +Wc +Nt +aD +vY +NK +QY +tY +tY +FQ +rQ +ya +tJ +Ty +pS +lK +fl +mf +GB +Ta +TS +TS +qV +qV +"} +(29,1,1) = {" +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +BL +wn +MU +gN +Op +Mr +pW +UV +YL +ZY +kz +BB +kA +BF +cM +aw +FW +hA +GB +Ta +Tp +TS +qV +qV +"} +(30,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +BL +wn +NI +XE +cX +Ax +Gy +mc +te +OS +qC +GB +Jn +MX +to +GB +GB +GB +Ta +BO +TS +qV +qV +"} +(31,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +lZ +GB +GB +GB +wz +GB +Ta +Ta +Ta +TS +BO +qV +qV +"} +(32,1,1) = {" +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +Ap +Ap +yN +yN +yN +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ta +qq +Rb +qq +Ta +Ta +Tp +TS +BO +qV +qV +"} +(33,1,1) = {" +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +yN +mp +mp +mp +yN +yN +Ap +Ta +Ta +Ta +Ta +Ta +Ta +Ta +Ap +Ap +Ap +Ap +Ap +Ap +Ap +bL +BO +qV +qV +"} +(34,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +yN +mp +mp +mp +mp +mp +yN +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +Tp +qV +qV +"} +(35,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +yN +mp +mp +xv +yN +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Ap +Pj +Ap +Ap +Ap +Ap +Ap +Ap +qV +qV +"} +(36,1,1) = {" +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +Ap +Ap +Ap +Ap +Ap +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +qV +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 138b1e9d31ed..935a852fac76 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -721,7 +721,7 @@ /obj/structure/cable/green{ icon_state = "1-4" }, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_x = 5 }, /turf/open/floor/pod, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm index 15c3d93cb826..6415f9e79293 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_biodome_winter.dmm @@ -608,7 +608,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "fs" = ( @@ -829,7 +829,7 @@ /area/ruin/unpowered/winter_biodome) "kb" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/breadslice/plain, +/obj/item/food/breadslice/plain, /obj/item/reagent_containers/food/snacks/grown/cabbage, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/cabin) @@ -896,7 +896,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/living_quarters) "lq" = ( @@ -952,7 +952,7 @@ "mD" = ( /obj/effect/turf_decal/solgov/wood/center, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/living_quarters) "mX" = ( @@ -1006,8 +1006,8 @@ "oR" = ( /obj/effect/turf_decal/corner/opaque/solgovblue/diagonal, /obj/structure/closet/secure_closet/freezer, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/item/reagent_containers/food/snacks/grown/cabbage, /obj/effect/decal/cleanable/dirt/dust, @@ -1081,7 +1081,7 @@ }, /obj/effect/turf_decal/corner/opaque/solgovgold/diagonal, /obj/effect/decal/cleanable/dirt/dust, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plasteel/white, /area/ruin/unpowered/winter_biodome/engineering) "qt" = ( @@ -1467,7 +1467,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/gibs/up, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, @@ -1925,7 +1925,7 @@ /turf/open/floor/wood, /area/ruin/unpowered/winter_biodome/sauna) "Lf" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/grass/snow, /area/ruin/unpowered/winter_biodome) "Lt" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm index e5756e7dbdf5..b71bfb250aee 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_buried_shrine.dmm @@ -542,7 +542,7 @@ /area/ruin/unpowered/buried_shrine) "nq" = ( /obj/structure/stone_tile/surrounding, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "nz" = ( @@ -664,7 +664,7 @@ dir = 5 }, /obj/structure/chair/wood, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "qT" = ( @@ -931,7 +931,7 @@ /area/ruin/unpowered/buried_shrine) "wM" = ( /obj/structure/stone_tile/slab, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "wS" = ( @@ -1647,7 +1647,7 @@ /obj/structure/stone_tile/cracked{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/buried_shrine) "QR" = ( @@ -1864,7 +1864,7 @@ /obj/structure/stone_tile{ dir = 1 }, -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril, +/obj/structure/spawner/burrow/lava_planet, /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/ruin/unpowered/buried_shrine) "Xr" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index 9630c75b4f25..0064e874017d 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -2716,7 +2716,7 @@ /obj/item/ammo_box/magazine/smgm9mm{ start_empty = 1 }, -/obj/item/gun/ballistic/automatic/smg/proto, +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) "zC" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm new file mode 100644 index 000000000000..df70f94b314b --- /dev/null +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -0,0 +1,6628 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ah" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery) +"aj" = ( +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"av" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"aB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/chair/sofa/brown/old/right/directional/south, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"aC" = ( +/obj/structure/catwalk/over, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aE" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/reagent_containers/food/condiment/sugar{ + pixel_y = 13; + pixel_x = -2; + layer = 2.8 + }, +/obj/item/stock_parts/micro_laser{ + pixel_y = 16; + pixel_x = 6; + layer = 2.8 + }, +/obj/machinery/reagentgrinder, +/obj/item/stock_parts/scanning_module{ + pixel_x = -6; + pixel_y = 6; + layer = 2.8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 10; + pixel_x = 10 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"aG" = ( +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aJ" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"ba" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"bd" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/reagent_dispensers/watertank/high, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"be" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"br" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock/external, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"bu" = ( +/obj/structure/chair/sofa/brown/corpo/left/directional/west, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"bz" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "f"; + pixel_x = 6; + color = "#0094FF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"bH" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4; + target_pressure = 500; + name = "Air to Distro" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"bI" = ( +/obj/structure/window/reinforced, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -6 + }, +/obj/machinery/light_switch{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = 5; + dir = 8 + }, +/obj/effect/decal/cleanable/generic, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"bS" = ( +/obj/machinery/washing_machine, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/crew) +"bT" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/structure/railing/corner{ + dir = 8; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/old/left/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"bY" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"cf" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/door/window/northleft, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"co" = ( +/obj/structure/catwalk/over, +/obj/structure/fermenting_barrel, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"cp" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"cw" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/obj/structure/grille/broken, +/obj/structure/barricade/wooden, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"cA" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/decal/cleanable/generic, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"cP" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/condiment/sugar, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 3 + }, +/obj/structure/closet/crate/freezer, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"cQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"cS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -16 + }, +/obj/item/stock_parts/capacitor{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/weldingtool/largetank{ + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"dn" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock3" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dw" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dI" = ( +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dJ" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"dK" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"dP" = ( +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/machinery/door/window/southright, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"dU" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dZ" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"ed" = ( +/turf/closed/wall/rust, +/area/ruin/rockplanet/distillery) +"eh" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"em" = ( +/obj/structure/flora/ash/leaf_shroom, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"en" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/storage/bottles/moonshine/sealed, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"eF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/crew) +"eG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"fl" = ( +/obj/structure/reagent_dispensers/cooking_oil{ + name = "moonshine vat"; + desc = "A huge metal vat with a tap on the front. Filled with moonshine."; + reagent_id = /datum/reagent/consumable/ethanol/moonshine + }, +/obj/structure/fermenting_barrel/distiller{ + pixel_y = -14; + density = 0 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"fs" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/greenglow, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/ruin/rockplanet/distillery) +"fv" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 8; + id = "frontier_door"; + name = "Door Lock"; + pixel_x = 23; + pixel_y = -2; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 1 + }, +/area/ruin/rockplanet/distillery) +"fF" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fJ" = ( +/obj/structure/catwalk/over, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"fM" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"fO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fW" = ( +/obj/structure/rack, +/obj/item/storage/bottles/moonshine{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"gg" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gk" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/structure/mopbucket, +/obj/item/holosign_creator/janibarrier, +/obj/item/mop, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gu" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"gw" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/item/toy/cards/deck{ + pixel_x = 6; + pixel_y = -4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"gA" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_box/magazine/pistolm9mm{ + pixel_y = 6; + pixel_x = 12; + layer = 3.1 + }, +/obj/item/ammo_box/magazine/pistolm9mm{ + pixel_y = 6; + pixel_x = 6; + start_empty = 1; + layer = 3.1 + }, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/obj/item/ammo_casing/c9mm, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"gM" = ( +/obj/machinery/door/airlock, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"gU" = ( +/obj/structure/catwalk/over, +/obj/structure/table/glass, +/obj/item/cigbutt{ + pixel_x = 4 + }, +/obj/item/cigbutt{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/item/electronics/firealarm{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/sol_dry{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"gX" = ( +/obj/structure/reagent_dispensers/beerkeg{ + reagent_id = /datum/reagent/consumable/ethanol/moonshine; + name = "moonshine keg"; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers." + }, +/obj/effect/turf_decal/industrial/loading/white{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hi" = ( +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 8 + }, +/obj/item/clothing/head/beret/sec/frontier{ + pixel_x = -4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hy" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hA" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/reagent_containers/food/snacks/chips{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 8; + pixel_x = 6 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hH" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/airlock/external/glass, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"hN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/chair/sofa/brown/old/right/directional/south, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"hP" = ( +/obj/structure/catwalk/over, +/obj/machinery/computer/atmos_alert/retro{ + dir = 1 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"hS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hY" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ih" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/safe/floor, +/obj/effect/decal/cleanable/crayon{ + icon_state = "credit" + }, +/obj/item/spacecash/bundle/loadsamoney, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"ir" = ( +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/obj/machinery/porta_turret/ship/weak, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/ruin/rockplanet/distillery/office) +"iy" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ji" = ( +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jm" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"jE" = ( +/obj/structure/catwalk/over, +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"jI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/corpo/right/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"jM" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/office) +"jO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Input to Air" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"jS" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jX" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_y = 3; + pixel_x = 6 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"kd" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/obj/item/bedsheet/dorms, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"kn" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kq" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"ky" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + name = "dead grass"; + desc = "A sparse patch of grass without color."; + light_range = 0; + light_power = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kC" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"kO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/west, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/item/trash/plate{ + pixel_y = 16 + }, +/obj/item/reagent_containers/food/snacks/donkpocket/warm/pizza{ + pixel_y = 18 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"kT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/dim/directional/north, +/obj/structure/chair/sofa/brown/old/directional/south, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"kZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"lc" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lD" = ( +/turf/closed/wall/r_wall, +/area/overmap_encounter/planetoid/cave/explored) +"lE" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/crew) +"lK" = ( +/obj/structure/dresser, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 8 + }, +/obj/item/toy/plush/carpplushie{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"lL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/turretid/lethal{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"lQ" = ( +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ruin/rockplanet/distillery/shuttle) +"me" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mk" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"mp" = ( +/obj/structure/cable/yellow{ + icon_state = "2-6" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mq" = ( +/obj/item/kirbyplants{ + icon_state = "plant-14"; + layer = 3.8 + }, +/obj/effect/decal/cleanable/glass, +/obj/item/broken_bottle{ + pixel_x = 8 + }, +/obj/item/shard{ + pixel_x = -4 + }, +/obj/item/pushbroom{ + pixel_y = -12; + pixel_x = 5; + layer = 3.9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"mv" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/folder/red{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/folder/yellow{ + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"mE" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"mF" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"mK" = ( +/turf/open/floor/plasteel/stairs/wood{ + color = "#5B3E1D" + }, +/area/ruin/rockplanet/distillery/saloon) +"mX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"mY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 4 + }, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ne" = ( +/obj/structure/table, +/obj/item/stack/cable_coil/yellow, +/obj/item/stack/cable_coil/red{ + pixel_y = 3 + }, +/obj/item/stock_parts/manipulator{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"nf" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "Window Shutter"; + id = "engi_window" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/volume_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"ng" = ( +/obj/effect/turf_decal/industrial/loading, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"nm" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"nr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"nA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"nR" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nX" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/bicaridine{ + pixel_x = -6 + }, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/glass/bottle/bicaridine{ + pixel_x = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"nY" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"oh" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"om" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/hydroponics, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = 8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"oq" = ( +/obj/structure/flora/ash/garden/waste, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"oO" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/mine/pressure/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oU" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"oY" = ( +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/frame, +/obj/item/circuitboard/machine/shuttle/engine/electric, +/obj/item/stack/cable_coil/cut/red, +/obj/item/stock_parts/capacitor, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"pa" = ( +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"pm" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pD" = ( +/obj/structure/fermenting_barrel/distiller{ + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/crumpled/muddy/fluff/distillery{ + name = "note"; + default_raw_text = "Scored this from an SRM ship passing through the sector. Handy if anything happens to our current still." + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"pL" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 1 + }, +/obj/structure/toilet, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/mob/living/simple_animal/hostile/human/frontier, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"pM" = ( +/obj/structure/girder/displaced, +/obj/structure/cable/yellow{ + icon_state = "4-5" + }, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pQ" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/stamp{ + pixel_y = 16; + pixel_x = 5 + }, +/obj/item/stamp/denied{ + pixel_y = 16; + pixel_x = -5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_y = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"qe" = ( +/obj/structure/reagent_dispensers/water_cooler{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery) +"qj" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ql" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/distillery/office) +"qm" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"qo" = ( +/obj/structure/curtain/cloth/grey, +/obj/structure/bed{ + dir = 8; + icon_state = "dirty_mattress" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"qu" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"qw" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qQ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qX" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/grunge, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"qY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/office) +"re" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rh" = ( +/obj/structure/flora/tree/dead/tall, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rs" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rF" = ( +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/chair/sofa/brown/old/corner, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"rH" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery) +"rJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 12; + pixel_y = 6 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 14 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/structure/chair/sofa/brown/old/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"rT" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"rW" = ( +/obj/item/mine/pressure/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sb" = ( +/obj/machinery/vending/cola/space_up, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"si" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/item/spacecash/bundle/c10, +/obj/item/spacecash/bundle/c1{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"sm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4; + filter_types = list("co2","bz","water_vapor","miasma","freon","pluox","tritium","n20","no2","nob"); + widenet = 1 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"sx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"sy" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/saloon) +"sE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-20"; + pixel_y = 8 + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken2" + }, +/area/ruin/rockplanet/distillery/saloon) +"sQ" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/closet/crate/freezer, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"tc" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"te" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"to" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/lighter/greyscale{ + pixel_x = 7; + pixel_y = -1 + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_x = -5; + list_reagents = list(/datum/reagent/oxygen = 50) + }, +/obj/item/reagent_containers/glass/beaker{ + pixel_y = 12; + list_reagents = list(/datum/reagent/carbon = 50) + }, +/obj/item/reagent_containers/syringe{ + pixel_y = 6 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"tw" = ( +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tx" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tA" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/item/storage/bottles{ + icon_state = "bottlecrate_0" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"tB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/newspaper{ + pixel_x = -4; + pixel_y = 2 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"tP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"tQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/saloon) +"uf" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uk" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ut" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"uv" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + id = "pod_fore" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/rockplanet/distillery/shuttle) +"uw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken5" + }, +/area/ruin/rockplanet/distillery) +"uy" = ( +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/catwalk/over, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/machinery/door/window/southleft, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"uE" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uG" = ( +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uL" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/engineering) +"uP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"uS" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/siding/white/end{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"uU" = ( +/obj/effect/turf_decal/ntlogo, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"uX" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "dist_cargo" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"vo" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/door/window/brigdoor/southleft{ + req_one_access_txt = "10" + }, +/obj/structure/closet/wall/red/directional/west{ + secure = 1; + locked = 1 + }, +/obj/item/storage/toolbox/emergency/shuttle/electric, +/obj/item/ammo_box/a44roum_speedloader, +/obj/item/gun/ballistic/revolver/shadow, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"vC" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/glowshroom, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"vF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/glass, +/obj/item/seeds/corn{ + pixel_y = 6; + pixel_x = -2 + }, +/obj/item/seeds/corn{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = -2; + pixel_x = 3 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 3; + pixel_x = 4 + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery) +"vX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/filingcabinet/double/grey, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/folder/yellow, +/obj/item/folder/documents, +/obj/item/folder/red, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"wb" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = -32 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wd" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 1 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wk" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ws" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"wy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wB" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock3" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wH" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "engi_window" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 1 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/engineering) +"wT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"wU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wV" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/engineering) +"wX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"xc" = ( +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/pen{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/hand_labeler{ + pixel_y = -4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"xf" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/wrench, +/obj/item/wirecutters, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"xs" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"xA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-6" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery/crew) +"xM" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"xN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/sign/poster/retro/smile{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/netherworld/migo{ + name = "Dog"; + faction = list("Frontiersmen") + }, +/obj/structure/bed/dogbed, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"xO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"xT" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/engineering) +"yf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/rack, +/obj/item/reagent_containers/food/condiment/sugar{ + pixel_y = 13; + pixel_x = -2; + layer = 2.8 + }, +/obj/item/reagent_containers/food/condiment/sugar{ + pixel_y = 7; + pixel_x = -2; + layer = 2.8 + }, +/obj/item/wrench{ + pixel_y = 4 + }, +/obj/item/screwdriver, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"yr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yw" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"yL" = ( +/obj/structure/closet/crate/bin, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"yO" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/sink{ + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"yS" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/rockplanet/distillery/crew) +"yW" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/pistol/commander/no_mag, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"ze" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/ruin/rockplanet/distillery) +"zk" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/distillery/crew) +"zn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/light/broken/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"zw" = ( +/obj/machinery/autolathe, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"zx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"zy" = ( +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/crew) +"zJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"zX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "dist_cargo" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"zZ" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ag" = ( +/obj/effect/turf_decal/siding/white/end, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ai" = ( +/obj/structure/grille, +/obj/structure/cable/yellow, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"Am" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"At" = ( +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Aw" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery) +"AC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AE" = ( +/obj/machinery/door/airlock/engineering, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"AI" = ( +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AJ" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/chem_dispenser/drinks{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"AV" = ( +/obj/machinery/atmospherics/components/unary/passive_vent/layer2, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AY" = ( +/obj/item/stack/ore/salvage/scrapgold/five{ + pixel_x = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery/engineering) +"Be" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/stairs{ + dir = 4 + }, +/area/ruin/rockplanet/distillery) +"Bk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 2 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bn" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bq" = ( +/obj/item/chair/stool/bar{ + pixel_y = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Bs" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bx" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BD" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/wrapping, +/obj/item/storage/bottles/moonshine, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"BJ" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"BO" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"BT" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/sign/poster/retro/radio{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1; + filter_types = list("co2","bz","water_vapor","miasma","freon","pluox","tritium","n20","no2","nob"); + widenet = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" + }, +/area/ruin/rockplanet/distillery/crew) +"Ch" = ( +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/table/glass, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 8 + }, +/obj/item/clipboard{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/paper{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/pen, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Cn" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Cp" = ( +/turf/closed/wall/r_wall/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Cr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Cz" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CA" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/office) +"CL" = ( +/obj/structure/fluff/glowshroom, +/obj/machinery/button/door{ + pixel_y = 26; + name = "Cargo Door"; + id = "dist_cargo" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"CM" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"CN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "foam_plating" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CQ" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = 8; + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"CR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"CW" = ( +/obj/machinery/fax/admin/frontiersmen, +/obj/structure/table/wood/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Dk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Dw" = ( +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DE" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DW" = ( +/obj/effect/turf_decal/siding/white/end{ + dir = 4 + }, +/obj/structure/toilet{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"DX" = ( +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ef" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Ei" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ej" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing{ + dir = 1; + layer = 2.7 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 8; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/mug/coco{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = -4 + }, +/obj/item/spacecash/bundle/c10{ + pixel_y = -2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ex" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"EF" = ( +/obj/structure/chair/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"EI" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_x = -16; + color = "#FF7742" + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Fk" = ( +/obj/machinery/light/floor, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fm" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fn" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fs" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ft" = ( +/obj/effect/turf_decal/industrial/outline/red, +/obj/structure/salvageable/machine, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"FA" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/office) +"FB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 8; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"FI" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 14; + pixel_x = -4 + }, +/obj/item/newspaper{ + pixel_x = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Gb" = ( +/obj/structure/chair/stool/bar{ + dir = 4; + pixel_x = 6 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Gc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Gd" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Gg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Go" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"GE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"GH" = ( +/obj/structure/catwalk/over, +/obj/structure/closet/crate/hydroponics, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 2 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 2 + }, +/obj/item/seeds/corn, +/obj/item/seeds/corn, +/obj/item/seeds/corn, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 4 + }, +/obj/item/reagent_containers/food/snacks/grown/corn{ + pixel_y = 4 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Hf" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + layer = 3.3 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -6; + pixel_x = -22; + name = "Aft Door"; + id = "pod_aft" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -32; + name = "Window Shutters"; + id = "pod_window" + }, +/obj/machinery/door/window/brigdoor/northleft{ + req_one_access_txt = "10" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "Fore Door"; + id = "pod_fore" + }, +/obj/effect/decal/cleanable/oil, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"Hg" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Hi" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Hu" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/mine/pressure/explosive/rusty/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hv" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HM" = ( +/obj/structure/table, +/obj/item/reagent_scanner{ + pixel_y = 18 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 3; + pixel_y = 8 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"HO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"HT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken4" + }, +/area/ruin/rockplanet/distillery/saloon) +"Ig" = ( +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ir" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken7" + }, +/area/ruin/rockplanet/distillery/saloon) +"Iz" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/red, +/obj/effect/spawner/lootdrop/random_computer_circuit_common, +/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/lootdrop/random_machine_circuit_common, +/obj/effect/spawner/lootdrop/random_machine_circuit_common, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"IA" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"IN" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"IZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ja" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/crate/secure/weapon{ + name = "ammo crate" + }, +/obj/item/ammo_box/a357{ + pixel_x = -3 + }, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/ammo_box/c9mm/ap, +/obj/item/ammo_box/magazine/illestren_a850r, +/obj/item/ammo_box/magazine/co9mm{ + start_empty = 1 + }, +/obj/item/ammo_box/magazine/co9mm{ + start_empty = 1 + }, +/obj/item/ammo_box/a357{ + pixel_x = 3 + }, +/obj/machinery/button/door{ + name = "Armory Door Lock"; + pixel_y = -6; + pixel_x = -22; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "frontier_armory"; + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Jc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Je" = ( +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ruin/rockplanet/distillery/saloon) +"JC" = ( +/obj/item/chair, +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"JD" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"JI" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JN" = ( +/obj/structure/flora/driftlog{ + pixel_y = -15; + pixel_x = 9; + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JO" = ( +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JS" = ( +/obj/structure/table, +/obj/item/kirbyplants{ + icon_state = "plant-11"; + pixel_y = 6 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"JZ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ka" = ( +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + reagent_id = /datum/reagent/consumable/ethanol/moonshine; + name = "moonshine keg"; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + pixel_x = -8; + layer = 2.8 + }, +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + reagent_id = /datum/reagent/consumable/ethanol/moonshine; + name = "moonshine keg"; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + pixel_x = 8; + pixel_y = -2 + }, +/obj/structure/reagent_dispensers/beerkeg{ + anchored = 1; + reagent_id = /datum/reagent/consumable/ethanol/moonshine; + name = "moonshine keg"; + desc = "A keg full of liver-shredding spirits brewed by amateur bootleggers."; + pixel_x = -4; + pixel_y = 14; + layer = 3 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Kf" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/cigbutt{ + pixel_y = 3 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Km" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"Kt" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Kx" = ( +/obj/structure/salvageable/machine, +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KA" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/office) +"KF" = ( +/obj/structure/flora/ash/cacti, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 6 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ld" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Lm" = ( +/obj/structure/bed, +/obj/item/bedsheet/brown, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"LB" = ( +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"LM" = ( +/obj/item/shard{ + pixel_x = 12 + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/structure/holosign/barrier/wetsign/infinite, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LW" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Md" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Mf" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Mm" = ( +/obj/structure/flora/ausbushes/sunnybush{ + layer = 3 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/plastic, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Mx" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"MA" = ( +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "mudskipper_engine" + }, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"MD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"MS" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/south{ + buildstage = 0 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/lootdrop/maintenance/four, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery) +"Nj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/secure_closet/freezer/wall/directional/east, +/obj/item/reagent_containers/food/snacks/chips, +/obj/item/food/butterdog, +/obj/item/reagent_containers/food/snacks/chips{ + pixel_x = 2 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = -6 + }, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/spacecash/bundle/c500, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 8 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Nk" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Nr" = ( +/turf/template_noop, +/area/template_noop) +"Ns" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/distillery/crew) +"Nx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/holopad/emergency/bar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"NC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"NE" = ( +/obj/structure/flora/ausbushes/sparsegrass/hell{ + name = "dead grass"; + desc = "A sparse patch of grass without color."; + light_range = 0; + light_power = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NM" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/computer/helm{ + dir = 8; + layer = 3.3; + name = "Locked Helm Console"; + desc = "No way you're getting this thing off the ground." + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"NR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/rockplanet/distillery/crew) +"Ob" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Od" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/sofa/brown/old/corner/directional/south, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Oe" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-9" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Os" = ( +/obj/machinery/vending/snack/random{ + tilted = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Ow" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/yellow{ + icon_state = "0-1" + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Oz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"OB" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery/saloon) +"OK" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"OO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/structure/chair/sofa/brown/old/left/directional/north, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"OV" = ( +/obj/structure/closet/secure_closet{ + icon_state = "armory"; + name = "armor locker" + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/obj/item/clothing/head/helmet/swat/nanotrasen, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/head/beret/sec/frontier, +/obj/item/clothing/gloves/combat, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Pl" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "9-10" + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/tank/air, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"PI" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) +"PL" = ( +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"PP" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/shuttle) +"PV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PZ" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Qm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Qr" = ( +/obj/structure/catwalk/over, +/obj/item/storage/bottles/moonshine{ + pixel_y = 6 + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "panelscorched" + }, +/area/ruin/rockplanet/distillery/saloon) +"QB" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"QP" = ( +/turf/closed/wall/r_wall/rust, +/area/ruin/rockplanet/distillery/engineering) +"Rd" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/cable/yellow{ + icon_state = "5-10" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rn" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_y = 12; + pixel_x = 8 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Rp" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/cable/yellow{ + icon_state = "1-5" + }, +/obj/machinery/light/small/directional/west, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rr" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Ru" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rw" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/item/trash/popcorn{ + pixel_y = 12; + pixel_x = 7 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"RB" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "k"; + pixel_x = -5; + color = "#0094FF" + }, +/obj/effect/decal/cleanable/crayon{ + icon_state = "u"; + pixel_x = -16; + color = "#0094FF" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"RD" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_aft" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ruin/rockplanet/distillery/shuttle) +"RM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 9 + }, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RO" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RR" = ( +/turf/closed/wall/r_wall, +/area/ruin/rockplanet/distillery/crew) +"Sk" = ( +/obj/effect/turf_decal/industrial/loading{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper/crumpled/muddy/fluff/distillery{ + pixel_y = -12 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Sq" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/red, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + list_reagents = null; + pixel_x = 6 + }, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Sr" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/saloon) +"Ss" = ( +/obj/structure/flora/driftlog{ + pixel_y = 2; + pixel_x = -6 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sx" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_y = 2; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/bottle/hooch{ + pixel_y = -4; + pixel_x = 7 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"SF" = ( +/obj/structure/girder, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/stack/ore/salvage/scrapmetal, +/turf/open/floor/plating/rust, +/area/ruin/rockplanet/distillery/office) +"SG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/office) +"Ta" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Td" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/chem_jug{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/glass/filter{ + pixel_x = -9; + pixel_y = 2 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"Tl" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/fluff/glowshroom, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg1" + }, +/area/ruin/rockplanet/distillery) +"To" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/east, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Tp" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Tt" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"TB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/crew) +"TG" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"TK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"TR" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/storage/bottles/moonshine, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/crew) +"TW" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Uo" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"Uw" = ( +/obj/structure/chair/wood{ + dir = 8; + pixel_x = -4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Ux" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Uy" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/head/fedora/det_hat{ + pixel_x = -4 + }, +/obj/item/clothing/head/beret/sec/frontier{ + pixel_x = 4 + }, +/obj/item/cigbutt{ + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"UA" = ( +/obj/structure/flora/rock/rockplanet{ + icon_state = "redrock2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/rockplanet/distillery/office) +"UJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"UU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery) +"Va" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + id_tag = "frontier_armory"; + locked = 1; + security_level = 4 + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery/office) +"Vf" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/fluff/glowshroom, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/crew) +"Vg" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + filter_types = list("co2","bz","water_vapor","miasma","freon","pluox","tritium","n20","no2","nob"); + widenet = 1 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Vj" = ( +/obj/effect/turf_decal/ntlogo, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/crew) +"Vx" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/railing{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vz" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"VG" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/light/directional/east, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VJ" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/sign/warning/electricshock{ + pixel_y = 28 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/engineering) +"VM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/brushed, +/area/ruin/rockplanet/distillery/engineering) +"VO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/rockplanet/distillery/crew) +"VP" = ( +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VW" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Wc" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wg" = ( +/obj/structure/cable{ + icon_state = "5-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wj" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Wm" = ( +/obj/structure/table/wood/poker, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 10 + }, +/obj/item/spacecash/bundle/c1{ + pixel_y = 8 + }, +/obj/item/spacecash/bundle/c100, +/obj/item/spacecash/bundle/c10{ + pixel_x = 4 + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Wp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Wu" = ( +/turf/closed/wall, +/area/ruin/rockplanet/distillery/saloon) +"WB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/neutral/filled/line, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WE" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xf" = ( +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/turf/open/floor/plating/rockplanet/lit{ + icon_state = "platingdmg2" + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xg" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xl" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/chem_dispenser/drinks/beer{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"Xn" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"Xq" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + name = "Armory Door Lock"; + pixel_y = 24; + pixel_x = 6; + normaldoorcontrol = 1; + specialfunctions = 4; + id = "frontier_armory" + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/wood, +/area/ruin/rockplanet/distillery/office) +"XD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/airlock/grunge{ + dir = 4; + id_tag = "frontier_door" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"XF" = ( +/obj/item/shard{ + pixel_y = 8 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XU" = ( +/obj/structure/railing/corner{ + layer = 4.1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_y = 12; + pixel_x = -2 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"XV" = ( +/obj/effect/turf_decal/ntlogo{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery) +"XY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/rockplanet{ + icon_state = "wood-broken5" + }, +/area/ruin/rockplanet/distillery/saloon) +"Yh" = ( +/obj/machinery/door/airlock/grunge, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/distillery) +"Yo" = ( +/obj/item/mine/pressure/explosive/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yq" = ( +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/rockplanet/distillery/crew) +"YE" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zh" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating/rust/rockplanet/lit, +/area/ruin/rockplanet/distillery) +"Zm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 6 + }, +/obj/item/reagent_containers/food/snacks/deadmouse{ + pixel_x = 8; + pixel_y = 6; + layer = 2.9 + }, +/obj/structure/chair/sofa/brown/old/corner/directional/west, +/turf/open/floor/plasteel/patterned/brushed/rockplanet, +/area/ruin/rockplanet/distillery/saloon) +"ZX" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ruin/rockplanet/distillery/shuttle) + +(1,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(2,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(3,1,1) = {" +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(4,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +jE +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(5,1,1) = {" +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(6,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +RR +RR +RR +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(7,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +pL +PL +RR +hY +hY +hY +hY +hY +lD +hY +hY +lD +hY +hY +Cp +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(8,1,1) = {" +Nr +hY +hY +hY +hY +hY +hY +RR +lE +TG +RR +RR +hY +hY +hY +Bk +bm +bm +bm +bm +bm +bm +bm +mY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(9,1,1) = {" +hY +hY +hY +hY +hY +RR +RR +RR +uy +Vz +cf +RR +hY +hY +Cp +WB +be +LB +LB +ji +ji +LB +Fk +kT +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(10,1,1) = {" +hY +hY +hY +hY +hY +RR +yO +gM +Xn +Gg +zn +RR +hY +hY +hY +WB +LB +uG +lU +RD +lU +uG +hi +kT +nR +oq +ky +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(11,1,1) = {" +hY +hY +hY +hY +hY +RR +DW +lE +dP +cA +Ob +RR +hY +hY +hY +WB +LB +PI +lU +BD +lU +oY +LB +kT +nR +qw +qj +ky +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(12,1,1) = {" +Nr +qQ +hY +hY +uL +uL +xT +xT +xT +lE +nm +RR +RR +RR +RR +WB +LB +ZX +Hf +mF +vo +jm +ji +Qm +nR +nR +nR +tw +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(13,1,1) = {" +Nr +LW +qQ +aC +QP +PD +nf +zw +xT +kO +Rw +zk +tP +sm +RR +wU +ji +qm +NM +PP +bI +Ai +XF +kT +nR +nR +oq +qQ +ky +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} +(14,1,1) = {" +nR +Kt +ky +AV +wH +xf +bH +jO +AE +NC +zy +hH +GE +av +Uo +WB +ji +lU +lU +Km +lU +lU +uG +kT +nR +nR +qQ +Kx +lc +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +"} +(15,1,1) = {" +nR +nR +qQ +wb +uL +uS +zJ +AY +xT +Vg +jF +RR +RR +RR +RR +WB +LB +ji +lU +uv +lU +ji +LB +kT +nR +rH +ed +rH +rH +ed +ed +rH +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +"} +(16,1,1) = {" +nR +ky +oq +hY +uL +VJ +wV +VM +xT +lE +Yq +lE +Gc +kC +yS +WB +Fk +LB +LB +dE +ji +ji +Fk +kT +nR +rH +Td +HM +fl +Sk +Mr +rH +hY +hY +hY +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +Nr +"} +(17,1,1) = {" +Nr +hY +hY +hY +uL +dK +cS +ne +xT +nr +TB +xA +jX +JS +yS +nU +nT +JZ +fO +hS +RM +JZ +nT +wd +nR +rH +CS +Tt +Qp +Tn +yI +rH +ed +ed +rH +rH +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +"} +(18,1,1) = {" +hY +hY +hY +hY +uL +uL +xT +xT +xT +aB +tB +eG +sx +kd +RR +Tl +Ru +nR +wz +me +kT +nR +nR +nR +gg +ed +GH +ze +vF +aE +to +rH +Sx +xc +tA +rH +hY +hY +hY +hY +hY +Nr +Nr +Nr +Nr +"} +(19,1,1) = {" +hY +hY +hY +hY +hY +KA +Lm +ut +jM +kU +Ns +nA +qo +RR +RR +RR +yS +NR +KV +me +kT +nR +Xg +Xg +Xg +ed +yf +vD +fv +QB +Ow +rH +XU +Wj +fM +Hg +hY +hY +hY +hY +hY +hY +nR +Nr +Nr +"} +(20,1,1) = {" +Nr +hY +hY +hY +hY +KA +lK +te +jM +Od +bX +zx +bS +RR +TR +ng +qX +Fn +Fn +ws +kT +nR +rH +ed +rH +rH +rH +rH +rH +XD +rH +rH +Be +Zh +pD +Hg +hY +hY +hY +hY +hY +hY +Xg +nR +Nr +"} +(21,1,1) = {" +Nr +Nr +hY +hY +hY +KA +jM +Am +jM +jM +jM +NU +PZ +RR +bd +kq +RR +IZ +fO +ws +kT +Xg +rH +cP +fJ +fW +rH +mq +qu +uU +MS +rH +wX +mX +fs +ed +hY +hY +hY +hY +hY +Tl +Xg +nR +Nr +"} +(22,1,1) = {" +Nr +hY +hY +hY +hY +KA +ih +qY +xO +CW +jM +mk +lE +RR +Iz +rT +yS +NE +wz +hS +kT +Xg +Nk +om +Aw +Dk +Yh +ah +dJ +XV +kZ +Yh +Ld +uw +Ft +Hg +hY +hY +hY +hY +Wc +Dw +Xg +nR +nR +"} +(23,1,1) = {" +Nr +hY +hY +hY +hY +KA +lL +mv +eh +yL +jM +VO +Vf +zk +sQ +rT +yS +qj +wz +iT +kT +dw +Nk +Sq +Cr +co +rH +sb +gU +jI +bu +rH +qe +UJ +hP +Hg +hY +hY +hY +Wc +uX +oh +nR +nR +nR +"} +(24,1,1) = {" +Nr +hY +hY +hY +hY +KA +Xq +gA +FA +gv +CA +bz +Vj +zk +TR +kq +yS +Kt +wz +hS +kT +Tl +ed +CL +wT +VW +rH +Nk +Nk +Nk +Nk +rH +Ch +UU +nY +rH +hY +hY +Xg +pM +Cn +Fs +nR +nR +nR +"} +(25,1,1) = {" +hY +hY +hY +hY +hY +KA +wx +pQ +bY +aJ +jM +RB +EI +zk +en +nX +RR +nR +WB +ws +Qm +nR +rH +zX +vf +zX +rH +Mm +Bx +Kt +ky +rH +rH +xs +ed +rH +Xg +mp +AI +DE +jS +Xg +qw +nR +nR +"} +(26,1,1) = {" +hY +hY +hY +hY +hY +KA +vX +Oz +UI +SV +jM +xN +BT +RR +zk +zk +yS +KF +wz +ws +kT +nR +Mm +rs +hS +Vx +nR +nR +nR +uE +qj +qQ +rs +Bn +Rp +nR +nR +nR +dI +uk +Xg +re +Yo +nR +Nr +"} +(27,1,1) = {" +hY +hY +hY +hY +hY +KA +KA +Va +KA +KA +jM +LD +Rr +zk +tP +sm +RR +NR +KV +aG +FB +lS +uf +IN +Wg +bT +uf +uf +wk +uf +uf +uf +tx +Rd +bT +uf +uf +bm +JP +uk +Xg +nR +nR +Nr +Nr +"} +(28,1,1) = {" +Nr +hY +hY +hY +hY +SF +Ja +ql +OV +RR +dZ +Go +Gd +br +GE +av +Uo +HB +yw +RO +Ex +Xf +JO +fF +Oe +WE +Hv +Ig +CR +HB +wy +HB +Mx +wy +HB +AC +SG +DX +Qm +nR +nR +nR +nR +nR +Nr +"} +(29,1,1) = {" +Nr +Nr +hY +hY +hY +KA +KA +cp +yW +RR +Os +eF +Ef +RR +yS +RR +yS +IZ +nT +nT +JZ +JZ +Pl +kn +Cz +kn +kn +vC +lQ +VP +kn +kn +Cz +kn +kn +iy +kn +hy +PV +nR +nR +nR +nR +nR +nR +"} +(30,1,1) = {" +Nr +Nr +hY +hY +hY +hY +KA +KA +KA +RR +RR +RR +yS +yS +Xg +Ru +nR +nR +Dw +Dw +nR +nR +re +uE +nR +qQ +ky +Fm +CN +Vx +ky +em +Kt +nR +LM +gk +Xg +YE +At +uk +Xg +dw +Xg +Hu +nR +"} +(31,1,1) = {" +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +qw +nR +Cn +dU +nR +nR +VG +Kt +qj +Wu +Wu +BJ +Wu +Wu +Wu +MA +MA +cw +Wu +Wu +aj +ir +pm +yr +Dw +Xg +qw +nR +"} +(32,1,1) = {" +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Tl +Xg +nR +Cn +nR +Dw +JN +Xg +Wu +Wu +Wu +Wu +Wu +Wu +Mf +oU +Ag +Wu +uP +JC +pa +mE +OB +Wu +hY +hY +Wc +DE +dn +Xg +nR +nR +"} +(33,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Ta +Dw +nR +nR +Xg +wB +Wu +HO +TW +tQ +Wp +Wu +Je +hA +Uy +Wu +ba +Rn +IA +Ej +OK +Wu +hY +hY +hY +Wc +Dw +oO +Xg +nR +"} +(34,1,1) = {" +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Bs +JI +JI +Cn +Xg +rh +Ru +Wu +IS +gw +Wm +Tp +Wu +Jc +Sr +BO +mK +TK +Hi +tc +XY +Wp +Wu +hY +hY +hY +hY +Dw +Cn +Xg +nR +"} +(35,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +Xg +Cn +Xg +Dw +Dw +gg +zZ +Wc +hY +Wu +EF +si +CQ +Tp +CM +cQ +oD +Ir +mK +sy +Gb +Bq +To +Ux +Wu +hY +hY +hY +hY +Tl +Xg +Xg +nR +"} +(36,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +Xg +Ss +Xg +UA +Cn +nR +rW +Fs +hY +hY +Wu +sE +MD +Uw +Ux +Wu +hN +FI +OO +Wu +hq +JD +Kf +Wu +Md +Wu +Wu +hY +hY +hY +Cn +Fs +nR +nR +"} +(37,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +qw +gu +nR +nR +Xg +Xg +hY +hY +Wu +Wu +Wu +Wu +Wu +Wu +rF +rJ +Zm +Wu +Qr +Nx +Ei +Wu +xM +Ka +Wu +hY +hY +hY +hY +Xg +nR +nR +"} +(38,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +nR +nR +Tl +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Wu +Wu +Wu +Wu +HT +OB +Nj +CM +FD +gX +Wu +hY +hY +hY +hY +Xg +nR +Nr +"} +(39,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +nR +nR +nR +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Xl +AJ +Wu +Wu +Wu +Wu +Wu +hY +hY +hY +hY +Xg +nR +Nr +"} +(40,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Wu +Wu +Wu +Wu +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +"} +(41,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +Xg +nR +"} +(42,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +nR +nR +Nr +"} +(43,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +hY +hY +Nr +hY +hY +hY +hY +hY +hY +hY +hY +Xg +Xg +Xg +Xg +nR +Nr +Nr +"} +(44,1,1) = {" +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +hY +hY +hY +Nr +Nr +hY +hY +hY +Nr +hY +hY +Nr +Nr +Nr +Nr +Nr +Nr +Nr +Nr +"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index f59cff023b4a..117a109576c8 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -213,7 +213,7 @@ /turf/open/floor/plating, /area/ruin) "ii" = ( -/obj/item/ammo_box/aac_300blk_stripper, +/obj/item/ammo_box/a762_stripper, /turf/open/floor/wood, /area/ruin) "iK" = ( @@ -1184,8 +1184,8 @@ /area/ruin) "Tl" = ( /obj/structure/table, -/obj/item/ammo_box/aac_300blk_stripper, -/obj/item/ammo_box/aac_300blk_stripper, +/obj/item/ammo_box/a762_stripper, +/obj/item/ammo_box/a762_stripper, /turf/open/floor/concrete, /area/ruin) "TH" = ( diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm index 3585b4dcc1e3..1c1d689c267a 100644 --- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm +++ b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm @@ -601,7 +601,7 @@ /area/ruin/space/has_grav/corporatemine/crewquarters) "nN" = ( /obj/structure/closet/cabinet, -/obj/item/gun/ballistic/automatic/pistol/suppressed, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/ammo_box/magazine/m10mm, /obj/item/clothing/under/syndicate/donk, /obj/item/clothing/suit/hazardvest/donk/qm, @@ -1577,7 +1577,7 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/space) "Iv" = ( -/obj/structure/spawner/mining/hivelord, +/obj/structure/spawner/burrow/asteroid, /turf/open/floor/plating/asteroid/airless, /area/ruin/space) "IE" = ( @@ -2036,7 +2036,7 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/space) "TO" = ( -/obj/structure/spawner/mining/goliath, +/obj/structure/spawner/burrow/asteroid, /turf/open/floor/plating/asteroid/airless, /area/ruin/space) "TR" = ( diff --git a/_maps/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/RandomRuins/SpaceRuins/onehalf.dmm index 85f087ec38a9..0ee697760b25 100644 --- a/_maps/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/RandomRuins/SpaceRuins/onehalf.dmm @@ -2034,12 +2034,6 @@ }, /turf/open/space, /area/space/nearstation) -"Ra" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/ruin/space/has_grav/onehalf) "Rv" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/airless{ @@ -3328,7 +3322,7 @@ UM cp ZX Gv -Ra +Gv cU YE bU diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index b76ae63a86e7..3d05cfb13d35 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -1739,7 +1739,7 @@ /area/ruin/space/has_grav/powerpuzzle/secure) "sc" = ( /obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/item/reagent_containers/food/snacks/cakeslice/birthday, +/obj/item/food/cakeslice/birthday, /obj/effect/decal/cleanable/confetti, /obj/machinery/light/small/broken/directional/east, /obj/structure/toilet, diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index 45591d25dde5..99ccda138d00 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -3490,7 +3490,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 9 }, -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /turf/open/floor/carpet/nanoweave/beige, /area/ruin/space/has_grav/singularitylab/cargo) "nT" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index 0f5d01fb7de8..eb48bcae1626 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -3606,7 +3606,7 @@ /area/ruin/space/has_grav/spacemall/shop) "nS" = ( /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/item/reagent_containers/food/snacks/store/bread/spidermeat, +/obj/item/food/bread/spidermeat, /obj/structure/table, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/dorms) @@ -6776,7 +6776,7 @@ dir = 8 }, /obj/item/trash/plate, -/obj/item/reagent_containers/food/snacks/breadslice/moldy{ +/obj/item/food/breadslice/moldy{ pixel_y = 6 }, /obj/item/reagent_containers/food/snacks/spiderling{ diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index 31c53d09a82e..e1a64004decb 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -1398,7 +1398,7 @@ dir = 4 }, /obj/machinery/door/airlock/engineering{ - name = "Mech Lab"; + name = "Exosuit Lab"; dir = 4 }, /obj/machinery/door/firedoor/border_only{ @@ -2577,7 +2577,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mechlab) "DY" = ( /obj/machinery/door/airlock/engineering{ - name = "Mech Lab"; + name = "Exosuit Lab"; dir = 4 }, /obj/effect/decal/cleanable/glass, @@ -2723,7 +2723,7 @@ }, /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) @@ -2771,7 +2771,7 @@ "Hj" = ( /obj/machinery/light/dim/directional/south, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/tech/techmaint, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -3016,7 +3016,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/south, /mob/living/simple_animal/hostile/human/syndicate/melee{ - name = "Syndicate Mech Pilot" + name = "Syndicate Exosuit Pilot" }, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay1) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm index 1b6d9d85aafa..f422e4ef1eb8 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm @@ -797,7 +797,7 @@ /turf/open/floor/wood/waste, /area/ruin/wasteplanet) "Fn" = ( -/obj/item/gun/ballistic/automatic/smg/proto{ +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ pixel_y = -18 }, /obj/item/ammo_casing/spent{ diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm index ddbaaf262714..b97069f886ba 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_unhonorable.dmm @@ -137,7 +137,7 @@ /turf/open/floor/plating, /area/ruin/wasteplanet/wasteplanet_radiation/containment) "iT" = ( -/obj/structure/spawner/wasteplanet/hivebot/low_threat, +/obj/structure/spawner/hivebot, /turf/open/floor/plating/asteroid/wasteplanet, /area/ruin/wasteplanet/wasteplanet_radiation) "jh" = ( diff --git a/_maps/configs/independent_beluga.json b/_maps/configs/independent_beluga.json index 6d7926a8e845..0449bc3a8cae 100644 --- a/_maps/configs/independent_beluga.json +++ b/_maps/configs/independent_beluga.json @@ -12,7 +12,7 @@ "Service" ], "starting_funds": 4000, - "limit": 2, + "limit": 1, "job_slots": { "Captain": { "outfit": "/datum/outfit/job/independent/captain", diff --git a/_maps/configs/independent_dwayne.json b/_maps/configs/independent_dwayne.json index 64f68af68752..26027d6fb524 100644 --- a/_maps/configs/independent_dwayne.json +++ b/_maps/configs/independent_dwayne.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Mark.II Dwayne-class Long Range Mining Transport", - "prefix": "ISV", + "prefix": "SV", "namelists": [ "GENERAL", "SPACE", @@ -10,11 +10,12 @@ ], "map_short_name": "Mk.II Dwayne-class ", "map_path": "_maps/shuttles/independent/independent_dwayne.dmm", - "description": "The Dwayne is one of the older classes of ships commonly seen on the Frontier, and one of the few such classes that doesn’t also carry a reputation for nightmarish conditions or high accident rates. Originally conceived of as a “mothership” for Nanotrasen mining shuttles that could enable long-duration mining missions at minimal cost, severe budget overruns and issues with the mining shuttle docking system left Nanotrasen with a massive number of mostly-completed hulls upon the project’s cancellation. These hulls were then quickly refurbished and sold on the civilian market, where they proved an immediate success on the Frontier. Contemporary Dwaynes can typically be found carrying a variety of mining equipment and extensive modifications unique to their captains. Recently-available aftermarket modifications have solved the Dwayne’s longstanding shuttle dock issues, allowing modern Dwaynes to finally serve their original design purpose, provided the captain is able to source a shuttle.", + "description": "The Dwayne is one of the older classes of ships commonly seen on the Frontier, and one of the few such classes that doesn’t also carry a reputation for nightmarish conditions or high accident rates. Originally conceived of as a “mothership” for Nanotrasen mining shuttles that could enable long-duration mining missions at minimal cost, severe budget overruns and issues with the mining shuttle docking system left Nanotrasen with a massive number of mostly-completed hulls upon the project’s cancellation. These hulls were then quickly refurbished and sold on the civilian market, where they proved an immediate success on the Frontier. Contemporary Dwaynes can typically be found carrying a variety of mining equipment and extensive modifications unique to their captains.", "tags": [ "Mining", - "Generalist" + "Cargo" ], + "starting_funds": 4000, "limit": 1, "job_slots": { "Captain": { @@ -24,23 +25,20 @@ }, "Foreman": { "outfit": "/datum/outfit/job/independent/quartermaster/western", - "slots": 1 - }, - "Ship's Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", - "slots": 1 - }, - "Ship's Engineer": { - "outfit": "/datum/outfit/job/independent/engineer", + "officer": true, "slots": 1 }, "Asteroid Miner": { "outfit": "/datum/outfit/job/independent/miner/hazard", "slots": 2 }, + "Mechanic": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 1 + }, "Deckhand": { "outfit": "/datum/outfit/job/independent/assistant", - "slots": 3 + "slots": 1 } }, "enabled": true diff --git a/_maps/configs/independent_kilo.json b/_maps/configs/independent_kilo.json index b1304f2e78bb..cab2eb292c51 100644 --- a/_maps/configs/independent_kilo.json +++ b/_maps/configs/independent_kilo.json @@ -1,40 +1,36 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Kilo-class Mining Ship", - "description": "The Kilo-class is a miniscule mining ship that stretches the definition of an independently-capable spacecraft. Beginning life long ago as a series of purpose-built mining shuttles intended for use on Frontier outposts, progressive cycles of over-engineering for a longer mission duration eventually produced the lumpen, claustrophobic Kilo seen today. Once quite numerous, Kilos are still a common “barn find” on abandoned stations and forgotten storage bays, and their extreme age and poor storage conditions typically leaves them in especially poor condition. Kilo crews are often considered to be quite eccentric even by Frontier standards, and some spacers insist even a well-balanced spacer will quickly come unglued in the Kilo’s “unique” environment.", + "description": "The Kilo-class is a very old and miniscule pattern of mining ship, produced in vast numbers over the centuries and commonly found in scrapyards or forgotten in storage. Most examples on the Frontier have been restored by Miskilamo Spacefaring using parts from other nonfunctional Kilos, producing a ship that is as inexpensive as it is cramped and unreliable. The low cost and ease of repair or replacement nevertheless make the Kilo very popular among budget-minded captains.", "tags": [ - "Generalist" + "Mining" ], - "prefix": "ISV", + "prefix": "SV", "namelists": [ "GENERAL", "SPACE", "NATURAL" ], "map_short_name": "Kilo-class", - "starting_funds": 1500, + "starting_funds": 3500, "map_path": "_maps/shuttles/independent/independent_kilo.dmm", "job_slots": { "Captain": { - "outfit": "/datum/outfit/job/independent/captain/western", + "outfit": "/datum/outfit/job/independent/captain/cheap", "officer": true, "slots": 1 }, - "Ship's Doctor": { - "outfit": "/datum/outfit/job/independent/doctor", + "Asteroid Miner": { + "outfit": "/datum/outfit/job/independent/miner/hazard", "slots": 1 }, - "Ship's Engineer": { + "Mechanic": { "outfit": "/datum/outfit/job/independent/engineer", "slots": 1 }, - "Asteroid Miner": { - "outfit": "/datum/outfit/job/independent/miner", - "slots": 1 - }, "Deckhand": { "outfit": "/datum/outfit/job/independent/assistant", - "slots": 1 + "slots": 2 } }, "enabled": true diff --git a/_maps/configs/independent_mudskipper.json b/_maps/configs/independent_mudskipper.json index 9f4cf32e0cf8..6119b39865d0 100644 --- a/_maps/configs/independent_mudskipper.json +++ b/_maps/configs/independent_mudskipper.json @@ -14,7 +14,7 @@ "SPACE" ], "map_path": "_maps/shuttles/independent/independent_mudskipper.dmm", - "limit": 2, + "limit": 1, "starting_funds": 1500, "job_slots": { "Salvage Leader": { diff --git a/_maps/configs/independent_rigger.json b/_maps/configs/independent_rigger.json index e36b57ca750a..9fce68833fa0 100644 --- a/_maps/configs/independent_rigger.json +++ b/_maps/configs/independent_rigger.json @@ -8,7 +8,7 @@ "NATURAL" ], "map_short_name": "Riggs-class", - "description": "The Riggs-class is Kasagi-Fischer Partnership’s mainstay in the independent ship market. Spacious, affordable, and versatile, the Riggs offers basic capabilities for everything a Frontier spacer might need in a convenient, easy-to-modify platform, and by default come equipped with a basic medbay, a small security office, atmospherics recycling and equipment to support an APLU utility mech. Thanks to this versatility, the Riggs has become extremely popular among moderately-wealthy independent captains, and can be found doing everything from mining to shipping to surveying Frontier planets.", + "description": "The Riggs-class is Kasagi-Fischer Partnership’s mainstay in the independent ship market. Spacious, affordable, and versatile, the Riggs offers basic capabilities for everything a Frontier spacer might need in a convenient, easy-to-modify platform, and by default come equipped with a basic medbay, a small security office, atmospherics recycling and equipment to support an APLU utility exosuit. Thanks to this versatility, the Riggs has become extremely popular among moderately-wealthy independent captains, and can be found doing everything from mining to shipping to surveying Frontier planets.", "tags": [ "Mining", "Medical", diff --git a/_maps/configs/independent_schmiedeberg.json b/_maps/configs/independent_schmiedeberg.json index d7dd360bb1e4..e9cffc680320 100644 --- a/_maps/configs/independent_schmiedeberg.json +++ b/_maps/configs/independent_schmiedeberg.json @@ -14,7 +14,7 @@ "SUNS", "GENERAL" ], - "limit": 2, + "limit": 1, "job_slots": { "Chief Pharmacist": { "outfit": "/datum/outfit/job/independent/cmo/pharma", diff --git a/_maps/configs/independent_sunskipper.json b/_maps/configs/independent_sunskipper.json index 08a4a56f9fde..ee17e126cc34 100644 --- a/_maps/configs/independent_sunskipper.json +++ b/_maps/configs/independent_sunskipper.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", "map_name": "Sunskipper-class Culinary Vessel", - "prefix": "ISV", + "prefix": "SV", "namelists": ["CRUISE", "NATURAL"], "map_short_name": "Sunskipper-class", "map_path": "_maps/shuttles/independent/independent_sunskipper.dmm", diff --git a/_maps/configs/inteq_colossus.json b/_maps/configs/inteq_colossus.json index 29337cb015a2..718ecb9f1295 100644 --- a/_maps/configs/inteq_colossus.json +++ b/_maps/configs/inteq_colossus.json @@ -18,7 +18,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, diff --git a/_maps/configs/inteq_hound.json b/_maps/configs/inteq_hound.json index cad19884158f..3d3617263f61 100644 --- a/_maps/configs/inteq_hound.json +++ b/_maps/configs/inteq_hound.json @@ -17,7 +17,7 @@ "limit": 2, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, diff --git a/_maps/configs/inteq_talos.json b/_maps/configs/inteq_talos.json index e65253ad3239..858255729809 100644 --- a/_maps/configs/inteq_talos.json +++ b/_maps/configs/inteq_talos.json @@ -18,7 +18,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, @@ -27,7 +27,7 @@ "officer": true, "slots": 1 }, - "Artificer Class II": { + "Honorable Artificer": { "outfit": "/datum/outfit/job/inteq/ce", "officer": true, "slots": 1 @@ -36,17 +36,17 @@ "outfit": "/datum/outfit/job/inteq/engineer", "slots": 3 }, - "Corpsman": { - "outfit": "/datum/outfit/job/inteq/paramedic", - "slots": 2 - }, "Enforcer": { "outfit": "/datum/outfit/job/inteq/security", "slots": 1 }, + "Corpsman": { + "outfit": "/datum/outfit/job/inteq/paramedic", + "slots": 1 + }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", - "slots": 4 + "slots": 4 } }, "enabled": true diff --git a/_maps/configs/inteq_valor.json b/_maps/configs/inteq_valor.json index 92162ac1a5da..1a3c957cc7b9 100644 --- a/_maps/configs/inteq_valor.json +++ b/_maps/configs/inteq_valor.json @@ -23,9 +23,18 @@ "officer": true, "slots": 1 }, + "Shuttle Pilot": { + "outfit": "/datum/outfit/job/inteq/warden/pilot", + "officer": true, + "slots": 1 + }, + "Shuttle Corpsman": { + "outfit": "/datum/outfit/job/inteq/paramedic/empty", + "slots": 1 + }, "Corpsman": { "outfit": "/datum/outfit/job/inteq/paramedic/empty", - "slots": 3 + "slots": 2 }, "Enforcer": { "outfit": "/datum/outfit/job/inteq/security/empty", diff --git a/_maps/configs/inteq_vaquero.json b/_maps/configs/inteq_vaquero.json index e8d790a526dc..459b7353d292 100644 --- a/_maps/configs/inteq_vaquero.json +++ b/_maps/configs/inteq_vaquero.json @@ -15,7 +15,7 @@ "limit": 1, "job_slots": { "Vanguard": { - "outfit": "/datum/outfit/job/inteq/captain", + "outfit": "/datum/outfit/job/inteq/captain/empty", "officer": true, "slots": 1 }, diff --git a/_maps/configs/nanotrasen_gecko.json b/_maps/configs/nanotrasen_gecko.json index 9ba0672f03db..01568c3c1d53 100644 --- a/_maps/configs/nanotrasen_gecko.json +++ b/_maps/configs/nanotrasen_gecko.json @@ -14,7 +14,7 @@ "Mining", "Engineering" ], - "limit": 2, + "limit": 1, "starting_funds": 5000, "job_slots": { "Captain": { diff --git a/_maps/configs/nanotrasen_heron.json b/_maps/configs/nanotrasen_heron.json index 80bf87c0cd15..45264c827156 100644 --- a/_maps/configs/nanotrasen_heron.json +++ b/_maps/configs/nanotrasen_heron.json @@ -45,7 +45,7 @@ "outfit": "/datum/outfit/job/nanotrasen/security/ert/engi", "slots": 1 }, - "Mech Pilot":{ + "Exosuit Pilot":{ "outfit": "/datum/outfit/job/nanotrasen/security/mech_pilot", "slots": 1 }, diff --git a/_maps/configs/syndicate_aegis.json b/_maps/configs/syndicate_aegis.json deleted file mode 100644 index 5946a8e78343..000000000000 --- a/_maps/configs/syndicate_aegis.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "prefix": "SUNS", - "map_name": "Aegis-class Long Term Care Ship", - "map_short_name": "Aegis-class", - "map_path": "_maps/shuttles/syndicate/syndicate_aegis.dmm", - "description": "Approximately a third of the way through the ICW, it became apparent that the Syndicate could not muster the sheer throwaway manpower that Nanotrasen could with its swaths of mercenaries and disposable personnel. Instead, the Syndicate began to adopt a much more conservative approach to maintaining personnel, by establishing an initiative to create a host of medical vessels designed to rescue and rehabilitate the fallen. While the Li Tieguai filled the rescue role, the Aegis-Class was to fill the rehabilitation role. Featuring a host of ‘quality of life’ features for long-term patients (a full bar, a hydroponics setup, and so on), an expansive medical bay and an array of comfort fixtures like couches and gardens, the Aegis is perfect for aspiring doctors or wounded patients.", - "tags": [ - "Botany", - "Medical", - "RP Focus" - ], - "map_id": "syndicate_aegis", - "limit": 1, - "namelists": [ - "SUNS", - "SPACE", - "GENERAL" - ], - "job_slots": { - "Captain": { - "outfit": "/datum/outfit/job/syndicate/captain/suns", - "officer": true, - "slots": 1 - }, - - "Lead Doctor": { - "outfit": "/datum/outfit/job/syndicate/cmo/suns", - "slots": 1 - }, - - "Ship Doctor":{ - "outfit": "/datum/outfit/job/syndicate/doctor/suns", - "slots": 2 - }, - - "Mechanic": { - "outfit": "/datum/outfit/job/syndicate/engineer/suns", - "slots": 1 - }, - - "Deck Service Assistant": { - "outfit": "/datum/outfit/job/syndicate/botanist/suns", - "slots": 2 - }, - - "Ship Psychologist": { - "outfit": "/datum/outfit/job/syndicate/psychologist/suns", - "slots": 1 - }, - - "Long Term Patient": { - "outfit": "/datum/outfit/job/syndicate/patient", - "slots": 2 - } - }, - "enabled": true -} diff --git a/_maps/configs/syndicate_panacea.json b/_maps/configs/syndicate_panacea.json new file mode 100644 index 000000000000..5ac45d571829 --- /dev/null +++ b/_maps/configs/syndicate_panacea.json @@ -0,0 +1,64 @@ +{ + "prefix": "SUNS", + "map_name": "Panacea-class Infirm Vessel", + "map_short_name": "Panacea-class", + "map_path": "_maps/shuttles/syndicate/syndicate_panacea.dmm", + "description": "Shortly after Solcon breached the Oort Cloud, SUNS joined into the Syndicate Coalition. Holding close ties to both the ACLF and GEC, students jumped at the opportunity to see the rest of the galaxy. The Panacea-class was the first of its kind out of Sol, moving typically planetside inpatient care to a space vessel and jumping system to system. The Panacea class is a moderately well supplied ship, allowing for emergency pharmaceutical compounding, mental and physical therapy, and general medical work, while doubling as a student run vessel.", + "tags": [ + "Generalist", + "Medical", + "RP Focus" + ], + "starting_funds": 1000, + "map_id": "syndicate_panacea", + "limit": 1, + "namelists": [ + "SUNS", + "SPACE", + "GENERAL" + ], + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/syndicate/captain/suns", + "officer": true, + "slots": 1 + }, + + "Academic": { + "outfit": "/datum/outfit/job/syndicate/head_of_personnel/suns", + "officer": true, + "slots": 1 + }, + + "Peacekeeper": { + "outfit": "/datum/outfit/job/syndicate/security/suns", + "slots": 1 + }, + + "Ship Doctor":{ + "outfit": "/datum/outfit/job/syndicate/doctor/suns", + "slots": 2 + }, + + "Mechanic": { + "outfit": "/datum/outfit/job/syndicate/engineer/suns", + "slots": 2 + }, + + "Ship Psychologist": { + "outfit": "/datum/outfit/job/syndicate/psychologist/suns", + "slots": 1 + }, + + "Student Mixologist": { + "outfit": "/datum/outfit/job/syndicate/bartender/suns", + "slots": 1 + }, + + "Long Term Patient": { + "outfit": "/datum/outfit/job/syndicate/patient", + "slots": 5 + } + }, + "enabled": true +} diff --git a/_maps/example_ship_config.json b/_maps/example_ship_config.json index 7c34d7bc6841..0f4129fa3d5d 100644 --- a/_maps/example_ship_config.json +++ b/_maps/example_ship_config.json @@ -5,7 +5,7 @@ "prefix": "STSV", "namelists": ["GENERAL", "SPACE", "MYTHOLOGICAL", "WEAPONS"], "map_path": "_maps/shuttles/shiptest/null.dmm", - "limit": 2, + "limit": 1, "spawn_time_coeff": 1.5, "officer_time_coeff": 0.5, "job_slots": { diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index b37a44a0c8f6..2f531a149ffe 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -1084,11 +1084,11 @@ /area/centcom/control) "apm" = ( /obj/structure/rack, -/obj/item/gun/ballistic/automatic/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ pixel_x = 1; pixel_y = 4 }, -/obj/item/gun/ballistic/automatic/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ pixel_x = -4; pixel_y = -2 }, @@ -3043,10 +3043,6 @@ /obj/structure/table/wood, /turf/open/floor/plasteel, /area/wizard_station) -"aEX" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/wizard_station) "aEY" = ( /obj/structure/table/wood, /obj/item/bikehorn/golden{ @@ -11574,8 +11570,8 @@ /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /obj/item/reagent_containers/food/snacks/meat/slab/xeno, -/obj/item/reagent_containers/food/snacks/spaghetti, -/obj/item/reagent_containers/food/snacks/spaghetti, +/obj/item/food/spaghetti/raw, +/obj/item/food/spaghetti/raw, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, /obj/item/reagent_containers/food/snacks/meat/rawcutlet, @@ -23766,7 +23762,7 @@ auE aEc auE aAx -aEX +aEW aqZ aqZ aGr diff --git a/_maps/outpost/hangar/nt_asteroid_20x20.dmm b/_maps/outpost/hangar/nt_asteroid_20x20.dmm index 118f810e93f8..858d984f4603 100644 --- a/_maps/outpost/hangar/nt_asteroid_20x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_20x20.dmm @@ -370,7 +370,7 @@ }, /area/hangar) "jw" = ( -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /obj/structure/railing{ dir = 8; layer = 4.1 diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm index b57c4972362c..312e0443aeea 100644 --- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_40x20.dmm @@ -839,7 +839,7 @@ }, /area/hangar) "tH" = ( -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /obj/item/toy/plush/knight{ pixel_y = 25; pixel_x = 9 diff --git a/_maps/outpost/hangar/nt_asteroid_40x40.dmm b/_maps/outpost/hangar/nt_asteroid_40x40.dmm index 48649aedf4d8..005b657e38ee 100644 --- a/_maps/outpost/hangar/nt_asteroid_40x40.dmm +++ b/_maps/outpost/hangar/nt_asteroid_40x40.dmm @@ -60,7 +60,7 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/machinery/light/directional/east, diff --git a/_maps/outpost/hangar/nt_asteroid_56x20.dmm b/_maps/outpost/hangar/nt_asteroid_56x20.dmm index 9dac115ca5e7..11ba5baac070 100644 --- a/_maps/outpost/hangar/nt_asteroid_56x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_56x20.dmm @@ -284,7 +284,7 @@ }, /area/hangar) "kx" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8; pixel_x = 7 }, diff --git a/_maps/outpost/hangar/nt_asteroid_56x40.dmm b/_maps/outpost/hangar/nt_asteroid_56x40.dmm index a3018e28aa32..5d66d8966d0b 100644 --- a/_maps/outpost/hangar/nt_asteroid_56x40.dmm +++ b/_maps/outpost/hangar/nt_asteroid_56x40.dmm @@ -723,7 +723,7 @@ }, /area/hangar) "Ed" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8; pixel_x = 7 }, diff --git a/_maps/outpost/hangar/nt_ice_20x20.dmm b/_maps/outpost/hangar/nt_ice_20x20.dmm index 06e76cbe6b5b..03321bfceaa3 100644 --- a/_maps/outpost/hangar/nt_ice_20x20.dmm +++ b/_maps/outpost/hangar/nt_ice_20x20.dmm @@ -837,7 +837,7 @@ /obj/effect/turf_decal/siding/white/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pressure_valve, +/obj/machinery/atmospherics/components/binary/volume_pump, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; diff --git a/_maps/outpost/hangar/nt_ice_40x20.dmm b/_maps/outpost/hangar/nt_ice_40x20.dmm index defafdc3b085..dc4366bfd54b 100644 --- a/_maps/outpost/hangar/nt_ice_40x20.dmm +++ b/_maps/outpost/hangar/nt_ice_40x20.dmm @@ -305,7 +305,7 @@ /obj/effect/turf_decal/siding/white/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pressure_valve, +/obj/machinery/atmospherics/components/binary/volume_pump, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; diff --git a/_maps/outpost/hangar/nt_ice_40x40.dmm b/_maps/outpost/hangar/nt_ice_40x40.dmm index 62c3858641a5..69d81767fd7f 100644 --- a/_maps/outpost/hangar/nt_ice_40x40.dmm +++ b/_maps/outpost/hangar/nt_ice_40x40.dmm @@ -1398,7 +1398,7 @@ /obj/effect/turf_decal/siding/white/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pressure_valve, +/obj/machinery/atmospherics/components/binary/volume_pump, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; diff --git a/_maps/outpost/hangar/nt_ice_56x20.dmm b/_maps/outpost/hangar/nt_ice_56x20.dmm index 08deb1360025..0966a1e60fa2 100644 --- a/_maps/outpost/hangar/nt_ice_56x20.dmm +++ b/_maps/outpost/hangar/nt_ice_56x20.dmm @@ -322,20 +322,6 @@ planetary_atmos = 1 }, /area/hangar) -"hD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "if" = ( /obj/machinery/door/airlock/outpost, /obj/machinery/atmospherics/pipe/simple/yellow/hidden, @@ -934,7 +920,7 @@ /obj/effect/turf_decal/siding/white/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pressure_valve, +/obj/machinery/atmospherics/components/binary/volume_pump, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; @@ -3996,7 +3982,7 @@ Hr ag yh nD -hD +TK AZ Vu OZ diff --git a/_maps/outpost/hangar/nt_ice_56x40.dmm b/_maps/outpost/hangar/nt_ice_56x40.dmm index d484671d2f94..b89f435a4a8c 100644 --- a/_maps/outpost/hangar/nt_ice_56x40.dmm +++ b/_maps/outpost/hangar/nt_ice_56x40.dmm @@ -443,7 +443,7 @@ /obj/effect/turf_decal/siding/white/corner{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pressure_valve, +/obj/machinery/atmospherics/components/binary/volume_pump, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; @@ -1185,20 +1185,6 @@ planetary_atmos = 1 }, /area/hangar) -"Eo" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Eu" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/atmospherics/pipe/simple/orange/hidden, @@ -5258,7 +5244,7 @@ tj aH Zj qN -Eo +AW pa Od aK diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 7560d2921d2c..fee7b6d66bd4 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -189,8 +189,9 @@ dir = 10 }, /obj/machinery/computer/electrolyzer_console{ - pixel_y = -31; - density = 0 + pixel_y = -18; + density = 0; + dir = 1 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo) diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm index d1a184d736fc..08f1322e7c60 100644 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ b/_maps/outpost/nanotrasen_asteroid.dmm @@ -125,7 +125,7 @@ /area/outpost/maintenance/fore) "aE" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/cakeslice/birthday{ +/obj/item/food/cakeslice/birthday{ pixel_x = -3; pixel_y = -5 }, @@ -5585,7 +5585,7 @@ /turf/open/floor/concrete/reinforced, /area/outpost/maintenance/aft) "tW" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/techfloor{ diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index d029c3dc86a8..70fb809c4c95 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -2852,8 +2852,9 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/computer/electrolyzer_console{ - pixel_x = 32; - density = 0 + pixel_x = 20; + density = 0; + dir = 8 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) @@ -6219,7 +6220,8 @@ /obj/machinery/mineral/processing_unit_console{ machinedir = 8; output_dir = 1; - pixel_x = 32 + pixel_x = 20; + dir = 8 }, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) diff --git a/_maps/ship_config_schema.json b/_maps/ship_config_schema.json index 2afd8e065170..4c29f272413d 100644 --- a/_maps/ship_config_schema.json +++ b/_maps/ship_config_schema.json @@ -134,7 +134,7 @@ "description": "The amount of ships that can be spawned in by players in a round at once.", "minimum": 0, "maximum": 100, - "default": 2 + "default": 1 }, "starting_funds":{ "title": "Ship Starting Funds", diff --git a/_maps/shuttles/independent/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm index 1eae63fcac48..c8ef49a3b35e 100644 --- a/_maps/shuttles/independent/independent_beluga.dmm +++ b/_maps/shuttles/independent/independent_beluga.dmm @@ -4742,7 +4742,7 @@ /area/ship/crew) "UO" = ( /obj/effect/turf_decal/industrial/traffic/corner, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/machinery/light/directional/south, diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm index 0e1e4e9439b5..577290c6581c 100644 --- a/_maps/shuttles/independent/independent_box.dmm +++ b/_maps/shuttles/independent/independent_box.dmm @@ -1802,7 +1802,7 @@ /obj/effect/turf_decal/corner/opaque/blue{ dir = 4 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/machinery/firealarm/directional/south, diff --git a/_maps/shuttles/independent/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm index c34ad8349987..08fd116f2536 100644 --- a/_maps/shuttles/independent/independent_bubble.dmm +++ b/_maps/shuttles/independent/independent_bubble.dmm @@ -1164,7 +1164,7 @@ }, /obj/item/circuitboard/computer/selling_pad_control, /obj/item/circuitboard/machine/selling_pad, -/obj/item/circuitboard/computer/cargo/express, +/obj/item/circuitboard/computer/cargo, /obj/structure/closet/crate/engineering, /turf/open/floor/plasteel, /area/ship/cargo) diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index ef1435cb1558..533709f94692 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -1,31 +1,51 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "ak" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/effect/landmark/start/captain, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"ap" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/sleeper{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/cyan{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/mono, -/area/ship/medical) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ap" = ( +/turf/closed/wall, +/area/ship/crew/dorm) "as" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "6-8" }, -/obj/effect/turf_decal/techfloor{ - dir = 9 +/obj/structure/cable/cyan{ + icon_state = "1-6" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/turf/open/floor/plating, +/area/ship/storage/eva) +"ax" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "aD" = ( /obj/machinery/power/shuttle/engine/electric{ dir = 4 @@ -36,16 +56,31 @@ /turf/open/floor/plating/airless, /area/ship/engineering) "aI" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "aR" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -10 + }, +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "aS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/layer2{ dir = 1 @@ -58,2233 +93,3404 @@ }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) -"aY" = ( +"aV" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/wood, -/area/ship/crew) -"bb" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"aY" = ( +/obj/structure/sink/kitchen{ + dir = 4; + pixel_y = -6 }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/sign/poster/official/bless_this_spess{ + pixel_x = -32 }, -/obj/machinery/door/window/northright{ - dir = 4; - name = "Engine Access" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"bb" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/item/stack/packageWrap{ + pixel_y = 9; + pixel_x = -7 }, -/turf/open/floor/plating, -/area/ship/engineering) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "bf" = ( -/obj/effect/turf_decal/number/zero, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plating, -/area/ship/construction) +/area/ship/cargo) "bj" = ( /turf/closed/wall, -/area/ship/crew) +/area/ship/crew/toilet) "bl" = ( -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 2; - launch_status = 0; - name = "mining ship"; - port_direction = 8; - preferred_direction = 4 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "mining_ship_atmosgen"; - locked = 1 - }, -/obj/machinery/door/poddoor{ - id = "mining_ship_port" +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/office{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"bo" = ( +/obj/structure/cable/cyan{ + icon_state = "2-9" }, /turf/open/floor/plating, /area/ship/cargo) "bv" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/structure/cable/cyan{ + icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ icon_state = "1-8" }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/hallway/central) +"bx" = ( +/obj/structure/chair/sofa/brown/old/left/directional/south, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/airalarm/directional/east, +/obj/machinery/newscaster/directional/north{ + pixel_x = -13 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) "bE" = ( -/obj/machinery/cryopod{ +/obj/machinery/door/airlock/grunge{ + name = "Bathroom" + }, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/machinery/computer/cryopod/directional/south, -/turf/open/floor/wood, -/area/ship/crew) +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/toilet) +"bO" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating, +/area/ship/storage/eva) "bP" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ + dir = 8 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/components/trinary/mixer{ +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plating, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "bW" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ - icon_state = "2-8" + icon_state = "0-8" }, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"cc" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "cf" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/curtain/bounty, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/ship/crew) +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/obj/structure/closet/secure_closet{ + icon_state = "cabinet"; + name = "Captain's wardobe"; + req_access_txt = "20"; + close_sound = 'sound/machines/wooden_closet_close.ogg'; + open_sound = 'sound/machines/wooden_closet_open.ogg'; + desc = "It's a card-locked cabinet." + }, +/obj/item/storage/backpack/satchel/cap, +/obj/item/storage/backpack/messenger/com, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/clothing/shoes/cowboy/fancy, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/suit/armor/vest/capcarapace/duster, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/head/caphat, +/obj/item/clothing/head/caphat/cowboy, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 11; + pixel_y = -19 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/ship/crew/dorm) +"cw" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/bridge) +"cL" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/machinery/firealarm/directional/north, +/obj/item/circuitboard/machine/pipedispenser, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"dh" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/r_wall, +/area/ship/crew/canteen) "dx" = ( -/obj/machinery/light/directional/south, -/obj/structure/ore_box, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_box/c38_box, +/obj/item/ammo_box/c38_box, +/obj/item/ammo_box/c38_box, +/obj/structure/closet/crate/secure/plasma{ + name = "ammo crate"; + desc = "A secure ammo crate." + }, +/obj/effect/turf_decal/ntspaceworks_big/two{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "dy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"dK" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/machinery/door/airlock/medical, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"dK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"dQ" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/cryo) +"ec" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "ei" = ( -/turf/closed/wall/r_wall, -/area/ship/medical) +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/crew/cryo) +"eu" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "eH" = ( -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/industrial/loading, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/arrows, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "eM" = ( /turf/closed/wall, /area/ship/cargo) "fl" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 8 +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1; + name = "fuel mixer"; + node1_concentration = 0.33; + node2_concentration = 0.67; + target_pressure = 500 }, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "fp" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/turf/template_noop, -/area/template_noop) -"fy" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 4 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/engineering) -"fV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 8 +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"fy" = ( +/obj/structure/catwalk, +/obj/item/clothing/head/cone{ + pixel_x = 3; + pixel_y = -2 }, -/turf/open/floor/plating, -/area/ship/medical) -"fY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"fz" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"gf" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_y = 32 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"fV" = ( +/obj/structure/closet/cabinet{ + name = "wardrobe" }, -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-6" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 +/obj/item/storage/backpack/satchel/explorer, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/storage/backpack/satchel/explorer, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/suit/jacket/leather/duster, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/head/cowboy, +/obj/item/clothing/head/cowboy, +/obj/item/clothing/glasses/heat, +/obj/item/clothing/glasses/heat, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"fY" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 }, -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/machinery/power/ship_gravity, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/insectguts, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"gf" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/engineering) "gm" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech/grid, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 + }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, /area/ship/engineering) "gs" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 + dir = 6 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"gu" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/closet/firecloset/full{ - anchored = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"gu" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/cargo) "gF" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fire, /turf/open/floor/plating/airless, /area/ship/engineering) "gT" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 13 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 5 }, -/obj/structure/closet/wall/directional/north, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"he" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/cable/cyan{ + icon_state = "0-1" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"hd" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 }, +/obj/structure/grille, /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/catwalk/over, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, +/area/ship/crew/canteen) +"he" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "hy" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"hK" = ( -/obj/structure/window/reinforced{ +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hB" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/machinery/door/window/northleft{ - dir = 4; - name = "Engine Access" +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"hK" = ( +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8; + name = "connector port (Fuel)" }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"hZ" = ( -/obj/structure/cable{ - icon_state = "2-8" +"hO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/atmospherics/components/unary/portables_connector{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plating, +/obj/structure/cable/cyan{ + icon_state = "5-10" + }, +/obj/effect/turf_decal/ntspaceworks_big/three, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"hZ" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "ig" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + piping_layer = 2 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "in" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "dwayne_mining_field"; + locked = 1 + }, /obj/machinery/door/poddoor{ - id = "mining_ship_port" + id = "dwayne_mining" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/cyan{ + icon_state = "0-2" }, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/storage/eva) "iq" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 }, -/obj/effect/turf_decal/box, -/obj/structure/tank_dispenser/oxygen, +/obj/structure/closet/emcloset/wall/directional/west, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "ir" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/effect/turf_decal/techfloor{ - dir = 6 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "iZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/techfloor{ + dir = 6 }, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/corner/opaque/yellow/border{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jS" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/cyan{ + icon_state = "0-9" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ja" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 }, +/obj/structure/closet/crate/engineering/electrical, +/obj/item/radio/intercom/directional/east, +/obj/item/stack/sheet/mineral/plasma/ten, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"jz" = ( +/obj/structure/cable/yellow, /obj/machinery/power/solar, /obj/effect/turf_decal/solarpanel, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"jS" = ( +/obj/structure/chair/sofa/brown/old/left/directional/north, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) "kb" = ( -/obj/effect/turf_decal/corner/opaque/blue{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/white{ - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/area/ship/crew) -"kf" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"kf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 }, -/obj/effect/turf_decal/industrial/caution{ +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "kM" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/corner/opaque/yellow/half, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"kO" = ( -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/structure/cable/cyan{ + icon_state = "5-10" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"kQ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 +/obj/effect/turf_decal/ntspaceworks_big/three{ + dir = 1 }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plating, -/area/ship/engineering) -"ls" = ( -/obj/structure/cable, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"kO" = ( +/obj/effect/decal/cleanable/food/tomato_smudge, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"kQ" = ( +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/north, /obj/machinery/power/terminal{ - dir = 8 + dir = 4; + layer = 2.30 + }, +/obj/structure/cable/yellow{ + icon_state = "0-6" + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster{ + pixel_x = -5; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = 10; + pixel_y = 3 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"lv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +"ld" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/crew/canteen) +"ls" = ( +/obj/machinery/power/smes/shuttle/precharged{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/door/window/northleft{ + dir = 4; + name = "Engine Access" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) -"lD" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/window/plasma/reinforced{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plating, +/area/ship/engineering) +"lv" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"lD" = ( +/obj/structure/cable/yellow{ + icon_state = "4-9" + }, /obj/effect/turf_decal/techfloor{ - dir = 8 + dir = 1 }, -/obj/machinery/door/airlock/engineering{ - dir = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "ma" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech/techmaint, +/obj/structure/cable/cyan{ + icon_state = "1-4" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, /area/ship/engineering) +"mf" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/item/c_tube{ + pixel_y = 3 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/cargo) "mr" = ( -/obj/effect/turf_decal/ntspaceworks_big/six, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /turf/open/floor/plating, -/area/ship/construction) +/area/ship/storage/eva) "ms" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"mv" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow, /turf/open/floor/plating/airless, -/area/ship/bridge) +/area/ship/external/dark) "my" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel/white{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/area/ship/crew) +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "mA" = ( -/obj/structure/table/reinforced, -/obj/item/gps{ - gpstag = "NTREC1"; - pixel_x = -9; - pixel_y = 7 +/obj/effect/turf_decal/industrial/warning/corner, +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"mC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 7 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 }, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/blue/half, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"mC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/monitor/retro{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/cyan{ + icon_state = "1-10" + }, +/turf/open/floor/plating, /area/ship/engineering) "mE" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/effect/turf_decal/techfloor{ + dir = 5 }, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 8 +/obj/effect/decal/cleanable/oil, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/light_switch{ + dir = 2; + pixel_y = 20 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) "mF" = ( /turf/closed/wall, /area/ship/engineering) -"nf" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half, -/turf/open/floor/plasteel, +"mJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/item/radio/weather_monitor{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/reagent_containers/food/drinks/mug{ + pixel_x = -8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"mR" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew/cryo) +"mX" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"nf" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/mineral/processing_unit_console{ + pixel_y = -18; + machinedir = 8; + output_dir = 1; + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "nr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "nJ" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/components/unary/portables_connector/layer2{ + name = "connector port (Air)" }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/crew) +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "nL" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/structure/closet/crate/internals, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/ntspaceworks_big/seven{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "nY" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plating/airless, -/area/ship/external) +/turf/closed/wall/r_wall, +/area/ship/crew/canteen) "oa" = ( -/obj/machinery/atmospherics/pipe/manifold/general/hidden{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ dir = 8 }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "5-9" +/obj/structure/cable/cyan, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"of" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/independent/mining/eva, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "om" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/catwalk/over, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/closet/wall/orange/directional/west{ + name = "Mechanic's locker" + }, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/storage/backpack/satchel/eng, +/obj/item/storage/backpack/messenger/engi, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/toggle/hazard, +/obj/item/clothing/head/hardhat/dblue, +/obj/item/clothing/glasses/welding, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "or" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"oB" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel, -/area/ship/cargo) -"oC" = ( -/turf/closed/wall, -/area/ship/medical) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/dept/mining, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"ow" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"oy" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/quartermaster{ + populate = 0; + name = "\proper Foreman's locker" + }, +/obj/item/storage/backpack/satchel/eng, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/rank/security/detective, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/jacket/leather/duster{ + name = "foreman's duster"; + desc = "A long, utilitarian leather coat. Ideal for protecting its wearer from rain, sun, dust and paperwork." + }, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/head/cowboy/sec, +/obj/item/clothing/head/hardhat/orange, +/obj/item/clothing/head/hardhat/white, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"oB" = ( +/obj/machinery/conveyor_switch/oneway{ + pixel_y = 15; + pixel_x = 11; + id = "smelter_dwayne" + }, +/obj/structure/railing{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"oC" = ( +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 11; + pixel_y = 20 + }, +/obj/structure/chair, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "oE" = ( -/obj/structure/sink{ - pixel_y = 17 +/obj/effect/turf_decal/industrial/warning, +/obj/structure/table, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 }, -/obj/structure/mirror{ - pixel_y = 28 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-6" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 9 +/obj/item/radio{ + pixel_y = 5 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"oR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/obj/item/radio{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"oJ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = 6 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/pen/fourcolor, +/obj/item/toy/crayon/spraycan{ + pixel_x = -9; + pixel_y = 17 }, -/turf/open/floor/plating, -/area/ship/crew) -"pl" = ( -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 4; - id = "mining_ship_atmosgen"; - locked = 1 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"oQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/machinery/door/poddoor{ - id = "mining_ship_port" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/turf/open/floor/plating, +/obj/structure/cable/cyan{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"pn" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" +"oR" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 10 +/obj/structure/cable/cyan{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"pl" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 1 + }, +/obj/machinery/computer/crew, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pn" = ( +/turf/closed/wall, +/area/ship/crew/cryo) "pq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow/half, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "pt" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "pv" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/helm/viewscreen/directional/east, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/comfy/orange/directional/west, -/turf/open/floor/wood, -/area/ship/crew) +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 12; + pixel_y = 20 + }, +/obj/machinery/vending/coffee, +/obj/item/trash/candle{ + pixel_y = 18; + pixel_x = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "pS" = ( -/obj/effect/turf_decal/box, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel, -/area/ship/cargo) -"qg" = ( -/obj/machinery/holopad/emergency/command, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"qz" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ dir = 4 }, -/turf/open/floor/plasteel, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"qK" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 +"qg" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ql" = ( +/obj/structure/cable/yellow, +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/plasteel/white{ - dir = 1 +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"qt" = ( +/obj/structure/cable/yellow{ + icon_state = "6-9" }, -/area/ship/crew) -"qO" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -2 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/glass{ + name = "Common Room" }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 1; - pixel_y = -3 +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"qz" = ( +/turf/closed/wall/r_wall, +/area/ship/storage/eva) +"qK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -3 +/obj/item/cigbutt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "6-8" }, -/obj/structure/closet/crate{ - name = "food crate" +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/structure/cable{ +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"qO" = ( +/obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/ship/engineering) +"rq" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/machinery/autolathe, +/obj/machinery/light_switch{ + dir = 2; + pixel_x = -12; + pixel_y = 20 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "rE" = ( /turf/closed/wall/r_wall, /area/ship/bridge) "sg" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "sp" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/landmark/start/medical_doctor, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 8 +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -26 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) "sD" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/dept/cargo{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "sM" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/structure/frame/computer/retro{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"sP" = ( -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"sZ" = ( -/obj/machinery/vending/wallmed{ - pixel_y = 28 +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Bridge"; + req_one_access = list(20,41) }, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"tj" = ( +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" + }, +/area/ship/bridge) +"sP" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"sZ" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"tj" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "tq" = ( /turf/closed/wall/r_wall, /area/ship/engineering) -"tX" = ( -/obj/structure/ore_box, +"tJ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 + dir = 10 }, +/obj/item/stack/sheet/cardboard, /turf/open/floor/plating, /area/ship/cargo) +"tX" = ( +/obj/effect/turf_decal/ntspaceworks_big/eight{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "uc" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/closed/wall, +/area/ship/storage/eva) "uk" = ( -/turf/open/floor/plating, -/area/ship/construction) -"uP" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/structure/window/reinforced{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/door/window/northleft{ +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"ul" = ( +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"uP" = ( +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 4; - name = "Engine Access" + id = "dwayne_cargo_field"; + locked = 1 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/structure/cable/cyan{ + icon_state = "0-1" }, /turf/open/floor/plating, -/area/ship/engineering) -"uT" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, /area/ship/cargo) +"uT" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_y = 0; + pixel_x = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) "vb" = ( -/obj/effect/turf_decal/box, -/obj/machinery/ore_silo, -/turf/open/floor/plasteel, +/obj/machinery/conveyor/inverted{ + dir = 9; + id = "smelter_dwayne" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"ve" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/item/stack/sheet/cardboard{ + amount = 2 + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "vf" = ( -/obj/effect/turf_decal/ntspaceworks_big/seven, -/turf/open/floor/plating, -/area/ship/construction) +/obj/structure/closet/crate, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "vj" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/sign/poster/contraband/winchester{ + pixel_y = -32 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vm" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/r_wall, +/area/ship/crew/toilet) +"vn" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/yellow/bordercorner{ - dir = 8 +/obj/machinery/door/window/northright{ + dir = 4; + name = "Engine Access" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vn" = ( /obj/structure/cable{ - icon_state = "0-4" + icon_state = "0-8" }, -/obj/machinery/power/terminal{ - dir = 8 +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ +/obj/structure/window/plasma/reinforced{ dir = 8 }, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plating, /area/ship/engineering) "vw" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/ship/crew) -"vA" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 }, -/obj/effect/turf_decal/box, +/obj/item/kitchen/knife, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-5" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/paicard, -/turf/open/floor/plasteel, -/area/ship/cargo) +/turf/open/floor/plating, +/area/ship/storage/eva) "vJ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"vQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; dir = 4 }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"wh" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/engineering) +"vQ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "5-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"wh" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -12; + pixel_y = -20 + }, +/obj/machinery/suit_storage_unit/independent/mining/eva, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "wv" = ( /turf/closed/wall, /area/ship/bridge) "ww" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/mineral/titanium/twenty, -/obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/closet/crate/secure/exo, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/head/hardhat/mining, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plating, +/area/ship/storage/eva) "wW" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "xh" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/hallway/central) "xr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"xP" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 8 }, -/turf/open/floor/plating, -/area/ship/crew) +/obj/machinery/light/directional/west, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance/two, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "yu" = ( -/obj/machinery/mineral/ore_redemption{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow/border{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/structure/cable/cyan{ + icon_state = "5-8" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/light/directional/east, +/obj/structure/frame/machine{ + anchored = 1; + state = 2; + icon_state = "box_1" }, -/turf/open/floor/plasteel, -/area/ship/crew) +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) "yx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/structure/closet/wall/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) +/obj/item/towel{ + pixel_y = 4; + pixel_x = 4 + }, +/obj/item/towel{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/soap{ + pixel_x = -1; + pixel_y = -2 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) "yJ" = ( +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"yN" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/cable/yellow{ + icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/turf/open/floor/plating/airless, +/area/ship/external/dark) "za" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 8 +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/power/solar, +/turf/open/floor/plating, +/area/ship/external/dark) "zc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"zi" = ( +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, +/obj/machinery/power/solar, +/turf/open/floor/plating, +/area/ship/external/dark) +"zl" = ( +/obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/airlock/command/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"zq" = ( -/obj/structure/catwalk, -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ dir = 1 }, -/turf/open/floor/plating/airless, -/area/ship/external) -"zF" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/door/airlock/mining/glass{ + name = "Mining Hangar" }, -/mob/living/simple_animal/turtle, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ +/obj/structure/cable/cyan{ icon_state = "1-2" }, /turf/open/floor/plasteel, +/area/ship/storage/eva) +"zq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zt" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/independent/mining/eva, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zF" = ( +/obj/structure/ore_box, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 8 + }, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"zI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/cigbutt, +/obj/effect/turf_decal/ntspaceworks_big/two, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "zK" = ( -/obj/machinery/button/shieldwallgen{ - id = "mining_ship_atmosgen"; - pixel_x = 8; - pixel_y = 21 - }, -/obj/machinery/button/door{ - id = "mining_ship_port"; - name = "Port Hangar Shutters"; - pixel_x = -2; - pixel_y = 23 +/obj/effect/decal/cleanable/glass, +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/storage/eva) "zQ" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/yellow, -/obj/machinery/power/terminal{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/closet/firecloset/wall/directional/west, +/obj/structure/cable/cyan{ + icon_state = "2-5" }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"zY" = ( +/obj/structure/sign/warning/fire{ + pixel_y = -20; + pixel_x = -10 + }, +/obj/machinery/atmospherics/components/unary/portables_connector{ + dir = 8; + name = "connector port (Fuel)" + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "AD" = ( -/obj/effect/landmark/start/assistant, +/obj/structure/cable/cyan{ + icon_state = "4-9" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -10 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "AE" = ( -/obj/machinery/atmospherics/pipe/simple/general/hidden{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "AQ" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/structure/cable{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"AY" = ( +/obj/structure/sign/poster/rilena/random{ + pixel_x = 32 + }, +/obj/structure/cable/cyan{ icon_state = "1-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +/obj/structure/cable/cyan{ + icon_state = "0-1" }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Cn" = ( -/obj/structure/catwalk, -/turf/closed/wall, -/area/ship/engineering) -"Cp" = ( -/turf/open/floor/plasteel, -/area/ship/cargo) -"CD" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 10 +/obj/structure/cable/yellow{ + icon_state = "9-10" + }, +/obj/machinery/computer/monitor{ + dir = 8; + icon_state = "computer-left" }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"CO" = ( -/obj/structure/window/reinforced{ +"Bq" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/bridge) +"Bx" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"BX" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/machinery/door/window/northright{ +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Cp" = ( +/obj/machinery/light/directional/west, +/obj/machinery/mineral/unloading_machine{ + input_dir = 1; + output_dir = 2 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"CB" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/yesdiag, +/area/ship/engineering) +"CD" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, +/obj/machinery/door/window/northleft{ dir = 4; name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; dir = 4 }, +/obj/structure/window/plasma/reinforced{ + dir = 8 + }, /turf/open/floor/plating, /area/ship/engineering) +"CO" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) "CP" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plating, /area/ship/engineering) -"DG" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin, -/obj/item/folder/yellow, -/obj/item/folder/yellow, -/obj/item/pen, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Cockpit"; - pixel_x = -30; - pixel_y = 30 - }, -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/corner/opaque/blue/half{ +"CS" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 1 }, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"DJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/large, +/obj/effect/spawner/lootdrop/maintenance/three, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ds" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/turf/open/floor/plasteel/white{ - dir = 1 + icon_state = "4-8" }, -/area/ship/crew) -"Ee" = ( -/obj/item/kirbyplants/random, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Ex" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"DG" = ( /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/structure/cable{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Fd" = ( /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "5-10" }, -/obj/effect/turf_decal/corner/opaque/yellow/bordercorner, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Fn" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/floor/plating, -/area/ship/cargo) -"Fz" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/door/airlock{ + name = "Dormitory" }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"FP" = ( -/turf/open/floor/plating, -/area/ship/cargo) -"FS" = ( +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm) +"DJ" = ( /obj/structure/cable/yellow{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"DR" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"Gr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/turf/open/floor/plating/airless, -/area/ship/bridge) -"Gx" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/yellow/border, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"GU" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"GW" = ( -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/emergency{ - pixel_x = -12 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/paperplane{ + dir = 4; + pixel_x = 14; + pixel_y = -8 }, -/obj/item/megaphone{ - pixel_x = 3; - pixel_y = 1 +/turf/open/floor/plating, +/area/ship/hallway/central) +"Ee" = ( +/obj/structure/sink{ + pixel_y = 19 }, -/obj/effect/turf_decal/corner/opaque/blue/half, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"He" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" +/obj/structure/mirror{ + pixel_y = 28; + layer = 2.89 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/structure/catwalk/over, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Ex" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, -/area/ship/engineering) -"Hh" = ( -/obj/structure/cable{ - icon_state = "1-2" +/area/ship/storage/eva) +"Ez" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable/cyan{ + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/door/airlock/external{ - name = "Hangar Airlock" +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"EE" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/ship/crew) -"HI" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Fd" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Fn" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 + }, +/obj/structure/ore_box, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Fq" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew/dorm) +"Fz" = ( +/obj/structure/table/wood, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/reagent_containers/food/snacks/chips{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = -11; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"FH" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"HP" = ( -/mob/living/simple_animal/butterfly{ - color = "#DBB17F"; - desc = "A moth."; - name = "moth" +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Ia" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"FN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FP" = ( +/obj/structure/closet/crate/large, +/obj/machinery/portable_atmospherics/canister/hydrogen, /turf/open/floor/plating, -/area/ship/crew) -"Ip" = ( -/obj/machinery/door/poddoor{ - id = "mining_ship_starboard" +/area/ship/cargo) +"FR" = ( +/obj/structure/closet/cardboard, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/construction) -"Is" = ( -/obj/effect/turf_decal/ntspaceworks_big/five, -/turf/open/floor/plating, -/area/ship/construction) -"IF" = ( -/obj/machinery/power/port_gen/pacman, +/obj/item/caution, +/obj/item/caution, +/obj/item/caution, +/obj/item/reagent_containers/glass/bucket, +/obj/item/storage/bag/trash, +/obj/item/mop, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"FS" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"IJ" = ( /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Gl" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/machinery/airalarm/directional/east, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Gr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/door/airlock/medical, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/mono, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"IK" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 4 +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, +/area/ship/bridge) +"Gx" = ( +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"GH" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/ntspaceworks_big/four, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"IT" = ( -/obj/structure/table, -/obj/item/storage/firstaid/o2{ - pixel_x = 4; - pixel_y = 3 +"GN" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 4 }, -/obj/item/storage/firstaid/fire, -/obj/item/storage/firstaid/medical{ - pixel_x = -5; - pixel_y = -4 +/obj/machinery/light/directional/east, +/obj/structure/closet/crate/engineering, +/obj/item/t_scanner/adv_mining_scanner/lesser{ + pixel_y = -3 }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/mono, -/area/ship/medical) -"IZ" = ( -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket"; - pixel_x = -4; - pixel_y = -4 +/obj/item/pickaxe/drill{ + pixel_y = -2 }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket" +/obj/item/pickaxe/drill{ + pixel_y = -2 }, -/obj/item/clothing/suit/hazardvest{ - desc = "A high-visibility lifejacket complete with whistle and slot for oxygen tanks."; - name = "emergency lifejacket"; - pixel_x = 4; +/obj/item/pinpointer/mineral{ pixel_y = 4 }, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -4; - pixel_y = -4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"GU" = ( +/obj/docking_port/mobile{ + can_move_docking_ports = 1; + dir = 2; + launch_status = 0; + name = "mining ship"; + port_direction = 8; + preferred_direction = 4 }, -/obj/item/clothing/head/hardhat/mining, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = 4; - pixel_y = 4 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "dwayne_mining_field"; + locked = 1 }, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/gps/mining, -/obj/item/clothing/glasses/meson/prescription, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/meson, -/obj/item/t_scanner/adv_mining_scanner/lesser, -/obj/item/gun/energy/kinetic_accelerator, -/obj/item/pickaxe/silver, -/obj/item/pickaxe/silver, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/structure/closet/wall/directional/north{ - name = "equipment closet" +/obj/machinery/door/poddoor{ + id = "dwayne_mining" }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/structure/cable/cyan{ + icon_state = "0-2" }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Jg" = ( -/obj/effect/landmark/start/quartermaster, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Jn" = ( -/obj/effect/turf_decal/ntspaceworks_big/four, /turf/open/floor/plating, -/area/ship/construction) -"Jq" = ( -/obj/effect/turf_decal/ntspaceworks_big/two, -/turf/open/floor/plating, -/area/ship/construction) -"Jy" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/borderfloor{ +/area/ship/storage/eva) +"GW" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/bridge) +"He" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "5-6" + }, +/obj/structure/cable/cyan{ + icon_state = "4-5" + }, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Hh" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/cargo) +"HE" = ( +/obj/effect/turf_decal/solarpanel, +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew/canteen) +"HI" = ( +/obj/machinery/door/airlock/external{ dir = 4 }, -/obj/machinery/computer/operating/retro{ - dir = 4 +/turf/open/floor/plating, +/area/ship/engineering) +"HP" = ( +/obj/machinery/light/dim/directional/east, +/obj/structure/toilet{ + dir = 8; + pixel_y = 7; + pixel_x = 6 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"JH" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/head/hardhat/mining{ - pixel_x = -18; - pixel_y = 8 +/obj/effect/decal/cleanable/vomit/old{ + pixel_y = 13; + pixel_x = -10 }, -/obj/item/phone{ - pixel_x = 5; - pixel_y = 8 +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Ia" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/obj/item/areaeditor/shuttle{ - pixel_x = -11 +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Ip" = ( +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" }, -/obj/effect/turf_decal/corner/opaque/blue/half{ +/turf/open/floor/plating, +/area/ship/cargo) +"Is" = ( +/obj/structure/closet/crate/science, +/obj/item/paicard, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/ship/cargo) +"IF" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/computer/cargo{ dir = 1 }, -/obj/item/radio/intercom/wideband/directional/east, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/obj/item/clothing/head/caphat/cowboy, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/mono/dark, /area/ship/bridge) -"Ka" = ( -/obj/machinery/status_display/shuttle, -/turf/closed/wall, +"IJ" = ( +/obj/machinery/vending/cigarette, +/obj/item/toy/figure/miner{ + pixel_y = 17; + toysay = "Careful out there! Frontier is deadly this time of the year!... Or any time of the year, actually..."; + pixel_x = -4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"IK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/obj/effect/turf_decal/ntspaceworks_big/five{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"IT" = ( +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, /area/ship/bridge) -"Kc" = ( +"IZ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 25; - pixel_y = -25 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Jg" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "smelter_dwayne" }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"KO" = ( -/obj/effect/turf_decal/ntspaceworks_big/three, -/turf/open/floor/plating, -/area/ship/construction) -"LH" = ( +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) +"Jk" = ( /obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" + id = "dwayne_windows"; + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, -/area/ship/engineering) -"LJ" = ( -/obj/machinery/vending/cola/random, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"LK" = ( -/obj/machinery/power/solar_control{ +/area/ship/crew/canteen) +"Jn" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Jq" = ( +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Jy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/storage/overmap_ship/electric/directional/east, -/turf/open/floor/plasteel/tech/grid, -/area/ship/engineering) -"LN" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plating, -/area/ship/construction) -"LZ" = ( -/turf/closed/wall/r_wall, -/area/ship/crew) -"Mb" = ( -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast" +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"JE" = ( +/obj/effect/decal/cleanable/ash, +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/ship/crew) -"Mg" = ( +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"JH" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-10" }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"JZ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/table, +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/item/decal_painter{ + pixel_x = -2; + pixel_y = 3 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/item/hand_labeler{ + pixel_x = 13; + pixel_y = -1 }, -/obj/effect/turf_decal/techfloor{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ka" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Kc" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/electrical{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/clothing/head/welding{ + pixel_x = -2; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"Mn" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +"Kz" = ( +/obj/effect/turf_decal/corner/opaque/ntblue/half{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "dwayne_windows"; + name = "Fore Window Control"; + pixel_x = -10; + pixel_y = 20; + dir = 2 + }, +/obj/machinery/computer/helm{ dir = 8 }, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) -"Mo" = ( -/obj/structure/closet/crate/large, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/item/circuitboard/machine/chem_dispenser/drinks, -/obj/item/circuitboard/computer/arcade/orion_trail, -/obj/item/kinetic_crusher, -/obj/effect/turf_decal/box, -/obj/item/vending_refill/mining_equipment, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +"KO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/cyan{ + icon_state = "6-9" + }, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"Mz" = ( -/obj/structure/bed, -/obj/item/bedsheet/brown, -/obj/structure/curtain/bounty, -/obj/structure/sign/poster/official/no_erp{ - pixel_y = 32 +"LH" = ( +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 }, -/turf/open/floor/wood, -/area/ship/crew) -"MB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "2-8" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"MD" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "5-10" }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil/red{ - pixel_x = 2; - pixel_y = 6 +/obj/structure/cable/yellow{ + icon_state = "1-10" }, -/obj/item/stock_parts/cell/high/plus, -/obj/structure/cable{ - icon_state = "1-6" +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 7 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"LJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"LK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "Air to Distro" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plating, /area/ship/engineering) -"MG" = ( +"LN" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, /obj/structure/cable/yellow{ - icon_state = "1-2" + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"LZ" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/secure_closet/freezer/wall/directional/south{ + name = "kitchen cabinet" + }, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/item/storage/cans/sixbeer, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/candy, +/obj/item/reagent_containers/food/snacks/candy, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Mb" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Hangar" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Mg" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 1 }, -/obj/machinery/light_switch{ - pixel_x = 21; - pixel_y = 25 +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"MQ" = ( -/obj/structure/cable/yellow{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Mk" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/engineering) +"Mn" = ( +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Mo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "5-10" + }, +/turf/open/floor/plating, +/area/ship/storage/eva) +"Mz" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/box/white{ + color = "#283674" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"MB" = ( +/obj/machinery/door/airlock/hatch{ + name = "Cryogenics" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ icon_state = "1-2" }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 1; - name = "Air to Distro"; - target_pressure = 500 +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"MD" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "1-4" }, /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "0-1" }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"MG" = ( +/turf/closed/wall/r_wall, +/area/ship/crew/dorm) +"MQ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/button/door{ + id = "dwayne_engines"; + name = "Aft Window Control"; + pixel_x = -20; + pixel_y = 0; + dir = 4 + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "MT" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ship/storage/eva) "Nf" = ( -/obj/effect/turf_decal/number/five, /obj/effect/turf_decal/industrial/warning, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/ship/construction) +/area/ship/cargo) "Nw" = ( -/obj/machinery/status_display/shuttle, -/turf/closed/wall, +/obj/structure/cable/cyan{ + icon_state = "4-8" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/cyan{ + icon_state = "6-8" + }, +/turf/open/floor/plating, /area/ship/engineering) -"NM" = ( -/obj/structure/cable/yellow, +"NC" = ( /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "0-8" }, /obj/machinery/power/solar, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, /obj/effect/turf_decal/solarpanel, /turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/external/dark) +"NE" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/light/directional/east, +/obj/machinery/power/solar_control{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"NM" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 2 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) "NN" = ( -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/fifty, -/obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "6-9" }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"NT" = ( +/obj/structure/closet/cardboard, +/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_y = 2 + }, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_y = -3; + pixel_x = 7 + }, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_x = -6 + }, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_y = -3 + }, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/effect/spawner/lootdrop/glowstick{ + pixel_x = -4; + pixel_y = -4 + }, +/turf/open/floor/plating, +/area/ship/storage/eva) +"NW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/ntspaceworks_big/five, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Op" = ( -/obj/item/vending_refill/mining_equipment{ - pixel_y = -8 +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/tracker, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Ou" = ( +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 2 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Ov" = ( +/obj/structure/closet/cardboard, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 4 + }, +/obj/item/chair/plastic{ + pixel_y = 8 + }, +/obj/item/chair/plastic{ + pixel_y = 11 + }, +/obj/effect/turf_decal/ntspaceworks_big/one, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Oz" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/ntblue/half, +/obj/machinery/newscaster/directional/west, +/obj/item/megaphone/cargo{ + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"OJ" = ( +/turf/template_noop, +/area/template_noop) +"OL" = ( +/obj/machinery/light/directional/west, +/obj/structure/filingcabinet/filingcabinet{ + dir = 4; + pixel_x = -10 + }, +/obj/effect/turf_decal/corner/opaque/ntblue/border{ + dir = 8 + }, +/obj/item/flashlight/flare, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/mask/breath, +/obj/item/reagent_containers/food/drinks/bottle/whiskey, +/obj/item/ammo_box/c38, +/obj/item/ammo_box/c38, +/obj/item/gun/ballistic/revolver/detective, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"OP" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/cable/yellow{ + icon_state = "6-9" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"OQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + id = "dwayne_cargo_field"; + pixel_x = 1; + pixel_y = -19; + dir = 1 + }, +/obj/machinery/button/door{ + id = "dwayne_cargo"; + name = "Blast Doors"; + pixel_x = -8; + pixel_y = -20; + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"OW" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/structure/closet/crate/large, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/spawner/lootdrop/plushie, +/obj/effect/spawner/lootdrop/plushie, +/obj/effect/spawner/lootdrop/plushie, +/obj/effect/spawner/lootdrop/plushie, +/obj/effect/spawner/lootdrop/plushie, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Pd" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/ntspaceworks_big/four{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Pe" = ( +/obj/structure/catwalk, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"Ph" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/storage/eva) +"Pl" = ( +/obj/structure/cable/yellow{ + icon_state = "4-6" + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/turf/closed/wall/r_wall, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, /area/ship/engineering) -"OJ" = ( -/turf/template_noop, -/area/template_noop) -"OL" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ +"Po" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "2-9" + }, +/mob/living/simple_animal/turtle{ dir = 4 }, -/obj/machinery/computer/helm/retro{ +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ship/crew/dorm) +"Px" = ( +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"OP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/machinery/computer/cryopod/directional/east, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -12; + pixel_y = -19 }, -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +/obj/item/radio/intercom/directional/south{ + pixel_x = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"OW" = ( -/obj/effect/turf_decal/number/one, +/turf/open/floor/plasteel/tech, +/area/ship/crew/cryo) +"PH" = ( /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/plating, -/area/ship/construction) -"Pd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/machinery/light_switch{ - pixel_x = 25; - pixel_y = -25 +/obj/structure/chair/comfy/shuttle{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"PU" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled{ dir = 8 }, -/turf/open/floor/plasteel, -/area/ship/cargo) -"Ph" = ( +/obj/item/folder/yellow, +/obj/item/folder/yellow, +/obj/item/folder/blue, +/obj/item/folder, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel, +/obj/item/pen, +/obj/item/pen, +/obj/effect/turf_decal/ntspaceworks_big/eight, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) -"Pl" = ( -/obj/structure/rack, -/obj/item/storage/toolbox/electrical{ - pixel_x = 1; - pixel_y = 6 +"Qe" = ( +/obj/structure/window{ + dir = 4 }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1; + pixel_y = 0 }, -/obj/item/clothing/head/welding{ +/obj/item/bikehorn/rubberducky/plasticducky{ pixel_x = -2; - pixel_y = 1 + pixel_y = 3 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" +/obj/structure/catwalk/over/plated_catwalk/white, +/obj/machinery/door/window/northleft{ + name = "Shower Door" }, -/obj/structure/cable, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/reagent_containers/glass/beaker{ - list_reagents = list(/datum/reagent/fuel=50) +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/toilet) +"Qg" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable/cyan{ + icon_state = "0-8" }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) -"Po" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/power/tracker, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) -"Px" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable/yellow{ - icon_state = "2-4" +"Qj" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/item/stack/sheet/cardboard{ + amount = 2 }, -/obj/effect/turf_decal/corner/opaque/white/mono, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"PU" = ( -/obj/effect/turf_decal/ntspaceworks_big/one, -/turf/open/floor/plating, -/area/ship/construction) -"Qe" = ( -/turf/open/floor/plasteel/grimy, -/area/ship/crew) +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Qp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/door/airlock/external{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, /area/ship/engineering) "QG" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/structure/closet/crate/miningcar{ + name = "mining cart" }, -/obj/structure/closet/crate/large, -/obj/machinery/portable_atmospherics/canister/hydrogen, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "QI" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/obj/structure/reagent_dispensers/watertank, -/obj/item/storage/bag/trash{ - pixel_x = 6 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable/yellow{ + icon_state = "2-5" }, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/cable/cyan{ + icon_state = "1-10" + }, +/turf/open/floor/plating, /area/ship/engineering) "QO" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/yellow/half, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/item/cigbutt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "RA" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/cigbutt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"RJ" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"RN" = ( +/turf/closed/wall/r_wall/yesdiag, +/area/ship/storage/eva) +"RS" = ( +/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + id = "dwayne_mining_field"; + pixel_x = 1; + pixel_y = 19 + }, +/obj/machinery/button/door{ + id = "dwayne_mining"; + name = "Blast Doors"; + pixel_x = -8; + pixel_y = 20 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"RT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"RU" = ( +/obj/structure/closet/crate/internals, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/oxygen/yellow, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/turf/open/floor/plating, +/area/ship/storage/eva) +"Se" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/machinery/door/airlock/engineering{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Bridge"; + req_one_access = list(20,41) }, -/turf/open/floor/plasteel, -/area/ship/engineering) -"RN" = ( -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/structure/table, -/obj/item/book/manual/wiki/surgery, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/gloves/color/latex/nitrile, -/obj/effect/turf_decal/borderfloor{ +/obj/structure/cable/cyan{ + icon_state = "4-10" + }, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" + }, +/area/ship/bridge) +"Sg" = ( +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"RS" = ( -/obj/structure/bed, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/borderfloor{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/obj/effect/turf_decal/corner/opaque/blue/half{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"RT" = ( -/obj/structure/chair/comfy/shuttle{ +/obj/structure/cable/cyan{ + icon_state = "6-10" + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"St" = ( +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; dir = 4 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) -"RU" = ( -/obj/structure/closet/crate/wooden, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/suit/hooded/explorer, -/obj/item/clothing/suit/hooded/explorer, -/turf/open/floor/plating, -/area/ship/cargo) -"Se" = ( -/obj/effect/turf_decal/corner/opaque/blue/half{ +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"SB" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"SI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/cyan{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Tl" = ( +/obj/machinery/washing_machine, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/toilet) +"Tz" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ship/crew/dorm) +"TO" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"TP" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) +"TR" = ( +/obj/structure/chair/sofa/brown/old/right/directional/north, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"Ub" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/cryopod, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/crew/cryo) +"Uj" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half{ dir = 4 }, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"Um" = ( +/turf/closed/wall, +/area/ship/crew/canteen) +"Un" = ( +/obj/effect/decal/cleanable/ash, +/obj/structure/railing{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Sg" = ( -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"St" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/effect/turf_decal/corner/opaque/yellow/half{ + dir = 8 }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"SB" = ( -/obj/effect/turf_decal/ntspaceworks_big/eight, -/turf/open/floor/plating, -/area/ship/construction) -"Tl" = ( -/obj/structure/chair/comfy/orange/directional/north, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"TP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/structure/guncloset/shotgun{ + name = "rifle locker"; + desc = "A locker that holds rifles." }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"UD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/crate/medical, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/obj/item/reagent_containers/hypospray/medipen/survival, +/obj/item/reagent_containers/hypospray/medipen/survival{ + pixel_y = -4 }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/crew) -"Ub" = ( -/obj/structure/bed/roller, -/obj/item/bedsheet/medical, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/white/mono, -/obj/effect/turf_decal/corner/opaque/blue/border{ - dir = 1 +/obj/item/storage/pill_bottle/charcoal/less, +/obj/structure/cable/cyan{ + icon_state = "5-10" }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/mono/white, -/area/ship/medical) -"Um" = ( -/obj/structure/table/wood, -/obj/machinery/microwave, -/turf/open/floor/plasteel/grimy, -/area/ship/crew) -"Un" = ( -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel, +/obj/effect/turf_decal/ntspaceworks_big/six, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "UP" = ( -/obj/machinery/door/airlock/external{ - dir = 4 +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15; + dir = 8 }, -/obj/structure/cable/yellow{ +/turf/template_noop, +/area/template_noop) +"UX" = ( +/obj/structure/cable/cyan{ + icon_state = "2-8" + }, +/obj/structure/cable/cyan{ + icon_state = "1-8" + }, +/obj/structure/cable/cyan{ icon_state = "4-8" }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating, -/area/ship/engineering) +/area/ship/hallway/central) "UY" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/structure/closet/crate, -/obj/effect/turf_decal/box, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) "Vb" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/dresser{ + dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - id = "mining_ship_blast"; - dir = 8 +/obj/machinery/light/directional/west, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 14; + pixel_x = 3 }, -/turf/open/floor/plating, -/area/ship/medical) +/turf/open/floor/wood, +/area/ship/crew/dorm) "Vv" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-10" - }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plating, /area/ship/engineering) "VP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 }, -/obj/structure/closet/emcloset/anchored, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) +"VZ" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_windows"; + dir = 4 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, +/area/ship/crew/dorm) "Wi" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/autolathe, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/machinery/mineral/processing_unit{ + output_dir = 4; + input_dir = 8 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/dark, +/area/ship/storage/eva) "Wm" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/yellow/three_quarters{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/structure/cable/cyan{ + icon_state = "2-5" }, -/obj/structure/guncloset/shotgun, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/obj/item/gun/ballistic/shotgun/flamingarrow, -/turf/open/floor/plasteel, -/area/ship/cargo) -"WE" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/cyan{ + icon_state = "2-9" }, -/obj/machinery/light_switch{ - pixel_x = -25; - pixel_y = -25; - dir = 4 +/turf/open/floor/plasteel/patterned/grid, +/area/ship/storage/eva) +"WE" = ( +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/effect/turf_decal/techfloor{ - dir = 10 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/hallway/central) +"WK" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/cargo) "WL" = ( -/obj/structure/table, -/obj/item/storage/belt/utility, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 7 +/obj/machinery/door/poddoor/preopen{ + id = "dwayne_engines"; + dir = 2 }, -/obj/machinery/light/directional/west, -/obj/item/storage/box/lights/mixed, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/turf/open/floor/plasteel/tech/grid, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/turf/open/floor/plating, /area/ship/engineering) "WZ" = ( -/obj/structure/cable/yellow, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/item/kirbyplants/random{ + pixel_y = 18; + pixel_x = -8 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/obj/machinery/power/solar, -/obj/effect/turf_decal/solarpanel, -/turf/open/floor/plating/airless, -/area/ship/external) +/area/ship/crew/dorm) "Xk" = ( +/obj/effect/turf_decal/corner/opaque/yellow/half, +/obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/ship/construction) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Xl" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Xm" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/cyan{ + icon_state = "0-8" }, -/obj/effect/turf_decal/corner/opaque/ntblue/half{ - dir = 4 +/obj/machinery/light_switch{ + dir = 2; + pixel_x = -12; + pixel_y = 20 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Xn" = ( -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plasteel/stairs{ + dir = 4; + color = "#555555" }, -/obj/structure/cable{ - icon_state = "1-8" +/area/ship/bridge) +"Xn" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "Xo" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/button/door{ - id = "mining_ship_blast"; - name = "Blast Door Control"; - pixel_y = 28 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/corner/opaque/black{ + dir = 6 }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "Xw" = ( -/obj/structure/table, -/obj/item/defibrillator/loaded, -/obj/item/stack/medical/suture, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/glass/bottle/epinephrine{ - pixel_x = -4 +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/salad/oatmeal{ + pixel_y = 14; + pixel_x = 10; + desc = "A nice bowl of oatmeal. You aren't quite sure how long it's been sitting here." }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = 7; - pixel_y = 4 +/obj/structure/cable/yellow{ + icon_state = "4-9" }, /obj/structure/cable/yellow{ - icon_state = "4-8" + icon_state = "2-9" + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 1; + pixel_x = -5 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"XC" = ( +/obj/structure/chair/sofa/brown/old/right/directional/south, +/obj/item/radio/intercom/directional/north, +/obj/item/cigbutt/cigarbutt{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/wood, +/area/ship/crew/canteen) +"YA" = ( +/obj/machinery/power/solar, +/obj/effect/turf_decal/solarpanel, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" }, -/obj/item/storage/belt/medical, -/turf/open/floor/plasteel/mono, -/area/ship/medical) +/turf/open/floor/plating/airless, +/area/ship/external/dark) "YE" = ( -/obj/structure/catwalk/over, -/obj/machinery/computer/helm/viewscreen/directional/north, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/turf/open/floor/plating, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "YJ" = ( /turf/closed/wall/r_wall, /area/ship/cargo) -"YN" = ( -/turf/closed/wall/r_wall, -/area/ship/construction) +"YN" = ( +/obj/machinery/door/poddoor{ + id = "dwayne_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "dwayne_cargo_field"; + locked = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-1" + }, +/turf/open/floor/plating, +/area/ship/cargo) +"YY" = ( +/obj/structure/closet/crate/trashcart, +/obj/item/trash/candy, +/obj/item/trash/sosjerky, +/obj/item/trash/can/food/beans, +/obj/effect/spawner/lootdrop/maintenance, +/obj/structure/cable/cyan{ + icon_state = "2-5" + }, +/obj/structure/cable/cyan{ + icon_state = "5-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "Zj" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/button/door{ - dir = 1; - id = "mining_ship_starboard"; - name = "Starboard Hangar Shutters"; - pixel_y = -21 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"Zv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 22 +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"Zv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/cyan{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "ZA" = ( -/obj/effect/turf_decal/corner/opaque/yellow/half{ - dir = 1 - }, /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/ship/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/storage/eva) "ZK" = ( /obj/machinery/door/poddoor{ - id = "mining_ship_port" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" + id = "dwayne_mining" }, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/storage/eva) "ZL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/caution{ dir = 4 }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) +"ZQ" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "ZR" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/crew) +/obj/structure/sign/poster/official/safety_internals{ + pixel_y = -32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) (1,1,1) = {" OJ @@ -2294,11 +3500,10 @@ OJ OJ OJ OJ -mF -mF +OJ UP -mF -mF +OJ +OJ OJ OJ OJ @@ -2313,12 +3518,11 @@ OJ OJ OJ OJ -OJ -CP -St +CB +mF HI -aS -CP +mF +CB OJ OJ OJ @@ -2329,58 +3533,55 @@ OJ (3,1,1) = {" OJ OJ -mF -gF -aD -Cn OJ -LH +OJ +OJ +OJ +CP iq ZL -gu -ig -zq -Cn -aD -gF -mF +aS +CP +OJ +OJ +OJ +OJ +OJ OJ "} (4,1,1) = {" OJ -OJ -tq -hK -bb -tq +mF +gF +aD +mF fy -tq -tq +WL +Ou Qp -tq -tq -fy -tq -uP -CO -tq +PH +WL +Pe +mF +aD +gF +mF OJ "} (5,1,1) = {" OJ -OJ tq CD vn -WL -IF -IF -as +tq +Mk +tq +tq kf -WE -vJ +tq +tq vJ -MD +tq ls gm tq @@ -2388,8 +3589,7 @@ OJ "} (6,1,1) = {" OJ -OJ -Op +tq YE bP om @@ -2408,7 +3608,6 @@ OJ "} (7,1,1) = {" OJ -OJ tq kQ hZ @@ -2428,106 +3627,100 @@ OJ "} (8,1,1) = {" OJ -YJ -YJ -YJ -YJ -YJ -YJ -YJ +tq +Ez +AY +NE +Qg +ow lD Nw RA +nJ +Kc +ig +hK +zY tq -tq -tq -tq -tq -tq -tq +OJ "} (9,1,1) = {" -OJ -YJ +RN qz -aR -uT -za -pS -eM +uc +uc +uc +uc +uc mE yu iZ -bj -uk -uk -uk -uk -LN -YN +eM +eM +eM +eM +eM +YJ +gu "} (10,1,1) = {" -OJ -pl +qz MT eH Cp Jg vb -eM +uc Sg -AD +mF Zj -bj -uk -uk -uk -uk -Xk -Ip +eM +pS +ve +xP +SI +mX +YJ "} (11,1,1) = {" -OJ in -MT -FP +mr +as Un oB Wi -eM +uc aI -TP +AD ZR -bj -uk -uk -uk -uk -Xk -Ip +eM +CS +Ov +NW +YY +mf +uP "} (12,1,1) = {" -OJ -in +ZK Fn vA NN pq nf uc -or +LN lv -sD -Mb -uk -uk -uk -uk -Xk +mA +eM +cL +zI +UD +FR +Nf Ip "} (13,1,1) = {" -fp ZK ZA QG @@ -2536,160 +3729,152 @@ zF QO Ex wW -nJ +lv sg Hh -uk -uk -uk -uk -Xk +bb +hO +WK +ul +Qj Ip "} (14,1,1) = {" -OJ -in -Fn -FP +ZK +eu +NT tX Pd Wm -uc +zl or -lv +UX sD Mb -uk -uk +oQ +GH PU Is Xk Ip "} (15,1,1) = {" -OJ -in +ZK Ph -FP +bO nL kM -YJ -YJ +TO +Ex IZ -lv +WE dK -bj -uk +Hh +zc uk Jq -mr +FP Nf Ip "} (16,1,1) = {" -OJ -bl -Fn +ZK +eu ww Mo dx -YJ -LJ -Sg +wh +uc +EE lv tj -bj -uk -uk +eM +rq +tJ KO vf bf Ip "} (17,1,1) = {" -OJ -YJ +GU zK -FP +JE IK RU -YJ -GU -Sg +of +uc +fz lv Fd -bj -uk -uk +eM +JZ +bl Jn -SB +bo OW YN "} (18,1,1) = {" -OJ -YJ -YJ -ei -ei -ei -ei -oC +qz +RS +Uj +GN +zq +zt +uc kb -lv +FH pt -bj -LZ -LZ -LZ -LZ -LZ -LZ +eM +oJ +ja +oy +cc +OQ +YJ "} (19,1,1) = {" -OJ -OJ -sP -ei -Jy -RS RN -oC +qz +uc +uc +uc +uc +uc my -lv +DR Gx -bj -Mz -cf -bE -LZ -sP -OJ +eM +eM +eM +eM +eM +YJ +gu "} (20,1,1) = {" OJ -OJ -FS -ei +mR +dQ oE sp pn oC -my +ec oR -Gx -bj +dy +bE gT yx Qe -Mb -FS +bj +vm OJ "} (21,1,1) = {" OJ -OJ -FS +zi ei Ub gs @@ -2702,143 +3887,212 @@ bj Ee HP Tl -Mb -FS +bj +vm OJ "} (22,1,1) = {" OJ -OJ -FS +za ei sZ Px -Kc +pn IJ DJ xh vj -wh -MG -Fz Um -Mb -FS +Um +Um +Um +Um +dh OJ "} (23,1,1) = {" OJ -OJ FS -ei -IT -Xw +MG +ap +ap +ap ap -oC Xl AQ OP -bj +Um pv aY vw -LZ -FS +LJ +nY OJ "} (24,1,1) = {" OJ -OJ FS -ei +MG fV Vb -rE -wv +cf +ap vQ Ka -zc -wv -rE +Zv +qt +fp Ia xr LZ -FS +nY OJ "} (25,1,1) = {" OJ -OJ -bW +FS NM WZ Po -ms +Tz DG Zv qg Mn -mA +Um ms kO hy -NM nY +HE OJ "} (26,1,1) = {" OJ -OJ -OJ -OJ -jS -jS -ms -JH +YA +CO +aV +sP +LH +ap Xo ak RT -GW -ms -jS +Um +XC +Xw jS -OJ -OJ +hd +MD OJ "} (27,1,1) = {" OJ +RJ +NM +ZQ +JH +Gl +ap +Se +wv +sM +Um +bx +Fz +TR +ld +RJ OJ +"} +(28,1,1) = {" OJ -OJ -OJ -OJ -rE +bW +Fq +St +VZ rE -Se +wv +Xm OL -sM -rE +Gr +wv rE +Ds +Jk +HE +bW OJ +"} +(29,1,1) = {" OJ OJ +TP +ax +Op +Bq +mJ +FN +Mz +Jy +Oz +IT +NC +ql +jz OJ OJ "} -(28,1,1) = {" +(30,1,1) = {" +OJ +OJ +OJ +TP +yN +Bq +pl +hB +Bx +BX +IF +IT +SB +mv +OJ OJ OJ +"} +(31,1,1) = {" OJ OJ OJ OJ OJ +GW rE -Gr -Gr -Gr +Kz +uT +aR rE +GW +OJ +OJ +OJ +OJ +OJ +"} +(32,1,1) = {" +OJ +OJ +OJ +OJ +OJ +OJ +GW +cw +cw +cw +GW OJ OJ OJ diff --git a/_maps/shuttles/independent/independent_junker.dmm b/_maps/shuttles/independent/independent_junker.dmm index a5b4354e7456..136e6e6e17fb 100644 --- a/_maps/shuttles/independent/independent_junker.dmm +++ b/_maps/shuttles/independent/independent_junker.dmm @@ -2277,7 +2277,7 @@ }, /obj/effect/decal/cleanable/glass, /obj/structure/safe/floor, -/obj/item/circuitboard/computer/cargo/express, +/obj/item/circuitboard/computer/cargo, /turf/open/floor/pod/dark, /area/ship/crew/office) "Rj" = ( diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index a4c390afde8d..8e307abc2825 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -3,213 +3,186 @@ /turf/template_noop, /area/template_noop) "ac" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, +/turf/closed/wall/r_wall, /area/ship/cargo) "ak" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/power/shuttle/engine/fueled/plasma, +/turf/open/floor/plating/airless, +/area/ship/engineering) "am" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" - }, -/obj/structure/window/reinforced{ +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "ar" = ( -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 +/obj/machinery/atmospherics/components/unary/shuttle/heater, +/obj/structure/window/reinforced/tinted{ + dir = 8 }, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plating/airless, +/area/ship/engineering) "av" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 }, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/structure/sign/poster/random{ + pixel_y = 32 }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/table_frame, +/obj/item/shard, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "ay" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/decal/cleanable/glass, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "aC" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ dir = 1 }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/pink{ + icon_state = "0-2" + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"aJ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/structure/chair/bench/olive/directional/east, +/obj/structure/railing{ dir = 8 }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plating, -/area/ship/cargo) -"aJ" = ( -/obj/structure/sign/warning/enginesafety, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/hallway/port) "aS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/tank/air{ - piping_layer = 2 +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0; + anchored = 1 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/item/storage/backpack/industrial, +/obj/item/clothing/under/rank/engineering/engineer, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/head/hardhat/dblue, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) "aU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "0-8" }, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/sign/warning/fire{ - pixel_x = 32; - pixel_y = -32 +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 }, +/obj/effect/decal/cleanable/glass, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "aZ" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/reagentgrinder{ - desc = "Used to grind things up into raw materials and liquids."; - pixel_y = 5 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#E3994E" }, -/obj/machinery/light/directional/south, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/yew, +/area/ship/crew) "bg" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/machinery/light/small/directional/south{ + pixel_x = -5 + }, +/obj/machinery/light_switch{ + pixel_x = 5; + dir = 1; + pixel_y = -19 }, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/hallway/port) "bm" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/emcloset/anchored, -/obj/machinery/button/door{ - id = "ntms_exterior"; - name = "NTMS-037 External Lock"; - normaldoorcontrol = 1; - pixel_x = -25; - pixel_y = -8; - specialfunctions = 4 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/advanced_airlock_controller{ - pixel_x = -28; - pixel_y = 3 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/ship/maintenance/fore) "bn" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/power/shuttle/engine/electric, +/turf/open/floor/plating/airless, +/area/ship/engineering) "by" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "bA" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"bF" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/bridge) -"bG" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Gear Room" +/obj/structure/chair/plastic, +/obj/structure/cable/pink{ + icon_state = "4-6" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/effect/decal/cleanable/blood/old, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 5; + pixel_x = -14; + list_reagents = null }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"bF" = ( +/turf/closed/wall, +/area/ship/bridge) +"bG" = ( +/obj/structure/cable/pink{ + icon_state = "5-8" }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -217,2186 +190,1909 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "bH" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, +/obj/machinery/firealarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 5 }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "bL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "1-8" }, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ship/hallway/central) "bM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate, -/obj/item/shovel, -/obj/item/pickaxe, -/obj/item/storage/box/lights/mixed, -/obj/item/mining_scanner, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/gun/energy/kinetic_accelerator, -/turf/open/floor/plating, -/area/ship/cargo) -"bP" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable/pink{ + icon_state = "1-9" + }, /turf/open/floor/plating, +/area/ship/hallway/port) +"bP" = ( +/turf/closed/wall/r_wall, /area/ship/bridge) "bQ" = ( -/obj/effect/decal/cleanable/blood/old, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ +/turf/open/floor/plating, +/area/ship/engineering) +"bT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"bU" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/effect/turf_decal/ntspaceworks_small/left, /turf/open/floor/plating, -/area/ship/engineering/engine) -"bT" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" +/area/ship/hallway/port) +"bV" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-10" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/turf/open/floor/mineral/titanium/yellow, -/area/ship/cargo) -"bU" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = 7 + }, +/obj/machinery/firealarm/directional/south{ + pixel_x = -5 + }, +/turf/open/floor/plating, +/area/ship/hallway/port) +"bX" = ( +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "Cargo Bay" + }, +/obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/machinery/atmospherics/components/binary/valve/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 + dir = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"bV" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Engineering" +/obj/effect/turf_decal/borderfloor{ + dir = 8 }, /obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 8 }, /obj/machinery/door/firedoor/border_only{ - dir = 8 + dir = 4 }, -/obj/structure/cable{ +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"bY" = ( +/obj/structure/cable/pink{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/engineering/engine) -"bX" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/box/corners{ - dir = 1 + dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"bY" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "bZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ +/obj/structure/closet/crate/secure/exo, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/drill, +/obj/item/pinpointer/mineral, +/obj/structure/cable/pink{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "ca" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable/pink{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19; + pixel_x = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -6 + }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "cb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/smes/engineering{ - charge = 1e+006 +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 +/obj/effect/turf_decal/box/corners{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/decal/cleanable/dirt, +/obj/machinery/portable_atmospherics/canister/toxins, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering) +"cf" = ( +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "kilofield"; + dir = 8 }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cf" = ( -/obj/structure/sign/warning/vacuum/external, -/turf/closed/wall/mineral/titanium/nodiagonal, +/obj/structure/cable/pink{ + icon_state = "0-10" + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "ci" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/structure/ore_box, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "cj" = ( -/obj/structure/tank_dispenser/oxygen, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/structure/closet/crate/internals, +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/box/corners, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/oxygen, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "ck" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 4 - }, -/obj/item/flashlight{ - pixel_x = 3; - pixel_y = 3 +/obj/machinery/door/airlock{ + name = "Dormitory" }, -/obj/item/clothing/head/welding{ - pixel_x = -2; - pixel_y = 1 +/obj/structure/cable/pink{ + icon_state = "5-9" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/structure/cable/pink{ + icon_state = "2-9" }, -/obj/machinery/firealarm/directional/east, -/obj/machinery/light_switch{ - pixel_y = -20; +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel, +/area/ship/crew/dorm) "cq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/small/built/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/crew/dorm) "cr" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 +/obj/machinery/power/smes/engineering, +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/item/wrench, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow, -/obj/machinery/light/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plasteel, +/area/ship/engineering) "cw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/command{ - name = "Ship Control" +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/cable{ - icon_state = "1-2" +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 7; + pixel_x = -6; + list_reagents = list(/datum/reagent/consumable/ethanol/beer = 10) }, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#E3994E" + }, +/turf/open/floor/wood/yew, +/area/ship/crew) "cB" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/structure/closet/secure_closet/miner{ + populate = 0; + anchored = 1 + }, +/obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 }, -/turf/open/floor/plating, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/item/storage/backpack/explorer, +/obj/item/clothing/shoes/workboots/mining, +/obj/item/clothing/under/rank/cargo/miner/hazard, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/armor/vest/old, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/glasses/meson, +/obj/item/clothing/head/hardhat/mining, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "cC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/door/airlock/engineering{ + dir = 8; + name = "Engine Bay" }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/structure/cable/pink{ + icon_state = "6-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/port) "cJ" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/emcloset/anchored, -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32 +/obj/structure/chair/handrail{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/south, -/obj/structure/sign/warning/xeno_mining{ - pixel_x = 32 +/obj/machinery/advanced_airlock_controller{ + pixel_y = -21 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"cK" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/decal/cleanable/crayon{ + icon_state = "space"; + pixel_y = 2; + pixel_x = 6; + paint_colour = "#FF0000" }, -/turf/open/floor/plating, -/area/ship/cargo) -"cM" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/pink{ + icon_state = "0-9" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 13 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) +"cK" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plasteel/mono/dark, +/area/ship/external/dark) +"cM" = ( +/obj/structure/cable/pink{ + icon_state = "5-8" }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/machinery/meter/atmos, -/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/pink{ + icon_state = "6-8" + }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "cP" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating/airless, +/area/ship/hallway/port) "cV" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Ship Saloon" - }, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/pink{ + icon_state = "2-9" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) -"cW" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "2-5" }, -/obj/machinery/door/window/westright{ - dir = 4 +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"cW" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/sink/kitchen{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/effect/decal/cleanable/blood/old, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -12 }, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/turf/open/floor/plasteel/white, +/area/ship/crew) +"cY" = ( +/obj/structure/cable/pink{ + icon_state = "0-4" }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ + dir = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"cY" = ( -/obj/effect/decal/cleanable/greenglow, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, +/turf/open/floor/plating, +/area/ship/engineering) +"cZ" = ( +/obj/machinery/power/ship_gravity, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/machinery/button/door{ - name = "Shutter Control"; - dir = 4; - pixel_y = -7; - pixel_x = -23; - id = "kiloengine" - }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable/pink{ + icon_state = "0-8" }, -/obj/machinery/power/ship_gravity, /turf/open/floor/plating, -/area/ship/engineering/engine) -"cZ" = ( -/obj/structure/closet/secure_closet/personal, -/obj/item/gun/energy/laser/retro, -/obj/structure/plaque/static_plaque/golden/captain{ - pixel_x = -32 - }, -/obj/item/paicard, -/obj/item/clothing/shoes/cowboy/white, -/obj/item/clothing/head/caphat/cowboy, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/spacecash/bundle/c1000, -/obj/item/clothing/suit/armor/vest/capcarapace/duster, -/turf/open/floor/carpet, -/area/ship/crew) +/area/ship/engineering) "da" = ( -/obj/structure/chair/comfy/orange/directional/north{ - buildstackamount = 0; - color = "#c45c57" +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"dc" = ( +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = -11 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/status_display{ - pixel_y = 32; - pixel_x = -32 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/carpet, -/area/ship/crew) -"dc" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "0-1" }, -/obj/machinery/microwave{ - pixel_y = 5 +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/stack/tile/plasteel{ + pixel_x = 7; + pixel_y = -8 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/hallway/central) "de" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/door/airlock/grunge{ + name = "Cryogenics" + }, +/obj/structure/cable/pink{ + icon_state = "2-9" }, /obj/machinery/door/firedoor/border_only, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/turf/open/floor/plasteel, +/area/ship/hallway/central) "dt" = ( -/obj/machinery/vending/boozeomat/all_access, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew/canteen/kitchen) +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel, +/area/ship/hallway/central) "dF" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, -/obj/structure/catwalk, -/turf/open/floor/plating/airless, -/area/ship/external) -"eo" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/weldingtool/largetank, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ +/obj/effect/turf_decal/miskilamo_small/right{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/general/hidden{ dir = 10 }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/external/dark) +"eo" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable/cyan{ + icon_state = "0-2" + }, /obj/effect/turf_decal/industrial/warning{ - dir = 5 + dir = 4 }, -/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "eN" = ( /obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/button/door{ - id = "kilocargo"; - name = "Cargo Bay Control"; - pixel_x = 25; - pixel_y = 7; dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/button/shieldwallgen{ - dir = 8; - pixel_y = -6; - pixel_x = 24; - id = "kiloshield" - }, -/turf/open/floor/plating, +/obj/machinery/light/directional/west, +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "fs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, /obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 + dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plating, +/area/ship/engineering) "fu" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/black/mono, +/turf/closed/wall/r_wall/yesdiag, +/area/ship/cargo) +"fv" = ( +/obj/structure/cable/cyan{ + icon_state = "1-10" }, -/obj/machinery/door/window/westright{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"fv" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/ntspaceworks_small, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "gp" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/closet/wall/blue/directional/north{ + name = "Captain's locker" + }, +/obj/item/clothing/under/rank/command/captain/suit, +/obj/item/clothing/under/rank/command/captain/skirt, +/obj/item/storage/backpack/captain, +/obj/item/clothing/gloves/color/white, +/obj/item/clothing/shoes/sneakers/brown, +/obj/item/clothing/suit/jacket/leather/duster/command, +/obj/item/clothing/glasses/cheapsuns, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/item/ammo_box/a12g/rubbershot, +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ + spawnwithmagazine = 0 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/structure/cable/pink{ + icon_state = "4-10" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel, /area/ship/bridge) "gs" = ( -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-10" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 6 }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/ntspaceworks_small/right, +/obj/item/cigbutt, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "gC" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/terminal{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/item/storage/toolbox/electrical{ + pixel_x = -3; + pixel_y = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/structure/table, +/obj/machinery/light/small/directional/west, +/obj/item/clothing/glasses/welding{ + pixel_y = -9; + pixel_x = 5 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "hh" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - name = "engine fuel pump" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, +/obj/structure/chair, +/obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "hN" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/shower{ - pixel_y = 18 +/obj/machinery/mineral/processing_unit{ + input_dir = 8 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/industrial/warning{ +/obj/structure/railing/corner{ dir = 8 }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20; - pixel_y = -12 - }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "hR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = -2; - pixel_y = 2 - }, -/obj/item/stack/rods/fifty, -/obj/item/storage/toolbox/electrical{ - pixel_x = -3; - pixel_y = 8 +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 6 }, -/obj/item/stock_parts/cell/high{ - charge = 100; - maxcharge = 15000; - pixel_x = 3; - pixel_y = -1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, -/obj/item/stack/sheet/metal/fifty, -/turf/open/floor/mineral/plastitanium, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "hS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Bunk A" +/obj/structure/chair/sofa/brown/old/left/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#E3994E" + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/wood/yew, /area/ship/crew) "ig" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Bathroom" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/east, +/obj/item/mop{ + pixel_x = 17 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 8; + pixel_y = 7; + list_reagents = list(/datum/reagent/water = 20) }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) -"im" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/rack, -/obj/item/storage/box/lights/mixed, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"im" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/turf/open/floor/plating/airless, +/area/ship/hallway/central) "io" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/table_frame, -/obj/item/stack/sheet/metal, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"iM" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/blood/old, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 4 }, -/obj/machinery/conveyor_switch/oneway{ - id = "NTMSLoad"; - name = "Off Ramp"; - pixel_y = 9; - pixel_x = -8 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/conveyor_switch/oneway{ - id = "NTMSLoad2"; - name = "On Ramp"; - pixel_x = 4 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/plating, -/area/ship/cargo) -"iT" = ( -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel/mono, +/area/ship/bridge) +"iM" = ( +/obj/structure/cable/pink{ + icon_state = "2-6" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"jl" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/structure/chair/bench/beige/directional/east{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"iT" = ( +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/effect/decal/cleanable/food/flour, +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plasteel/white, +/area/ship/crew) +"jl" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = 0; + output_dir = 4; + pixel_x = 20; + dir = 8; + machinedir = 1 }, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/loading, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "jx" = ( -/obj/machinery/autolathe, -/obj/machinery/status_display{ +/obj/machinery/conveyor{ + id = "kiloconveyor"; + dir = 4 + }, +/obj/structure/sign/poster/random{ pixel_y = 32 }, -/turf/open/floor/mineral/plastitanium, +/obj/structure/railing, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "jK" = ( -/obj/item/stack/rods, -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"jU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/high, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/light/directional/north, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19; + pixel_x = -10 + }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plating, -/area/ship/engineering/engine) -"kb" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/area/ship/bridge) +"jU" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/box/corners{ dir = 4 }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/port) +"kb" = ( +/obj/structure/chair/handrail, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) "kA" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering/engine) +/turf/closed/wall/r_wall, +/area/ship/engineering) "mr" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/eva, +/obj/item/clothing/head/helmet/space/eva, +/obj/item/clothing/mask/breath, +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/turf_decal/box/corners, +/obj/structure/cable/pink{ + icon_state = "1-5" + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "mz" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/crew) -"nd" = ( +/obj/structure/bed, +/obj/item/bedsheet/dorms, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 20 + }, +/obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "2-4" +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"nd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "8-9" }, -/turf/open/floor/mineral/titanium/blue, +/obj/structure/cable/pink{ + icon_state = "1-5" + }, +/turf/open/floor/plating, /area/ship/bridge) "ng" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable{ +/obj/structure/cable/pink{ icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/power/terminal{ dir = 8 }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"nJ" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/decal/cleanable/glass, +/obj/structure/cable/pink{ + icon_state = "4-5" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/cigbutt, /turf/open/floor/plating, -/area/ship/cargo) -"nO" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" +/area/ship/engineering) +"nJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/obj/structure/window/reinforced{ +/obj/machinery/button/door{ + id = "kilocargo"; + name = "blast door control"; + pixel_x = -20; + pixel_y = 7; dir = 4 }, -/obj/structure/plasticflaps, -/turf/open/floor/plating, -/area/ship/cargo) -"oj" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -2; + pixel_x = -19; + id = "kilofield" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 +/obj/item/clothing/head/cone{ + pixel_y = 4; + pixel_x = -8 }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"nO" = ( +/turf/closed/wall/r_wall, +/area/ship/hallway/central) +"oj" = ( +/obj/structure/table, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden, +/obj/machinery/cell_charger, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "oP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1 +/obj/structure/table, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/item/stack/sheet/mineral/plasma/ten, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 11; + pixel_x = -13; + list_reagents = null }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "pV" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/mob/living/simple_animal/hostile/netherworld/migo{ - environment_smash = 0; - faction = list("neutral"); - melee_damage_lower = 5; - melee_damage_upper = 10; - name = "maurice" +/obj/machinery/conveyor_switch/oneway{ + id = "kiloconveyor"; + pixel_x = 11; + pixel_y = 14; + layer = 3.09 }, -/turf/open/floor/mineral/titanium/yellow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "qv" = ( -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" - }, -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "kiloshield"; +/obj/machinery/door/airlock/external{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/cargo) -"qw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, /obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/atmospherics/pipe/layer_manifold{ +/turf/open/floor/plating/airless, +/area/ship/maintenance/fore) +"qw" = ( +/obj/machinery/door/airlock/external{ dir = 4 }, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; +/obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) "rc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/cargo) +/area/ship/hallway/port) "rq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-8" }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/turf/open/floor/plating, +/area/ship/hallway/central) "rO" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/machinery/door/airlock/glass{ + dir = 8; + name = "Crew Quarters" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ +/obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"rW" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/turf/open/floor/plasteel, +/area/ship/crew) +"rW" = ( +/turf/closed/wall/yesdiag, +/area/ship/maintenance/fore) "sD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/chair/sofa/brown/right/directional/south, -/turf/open/floor/wood{ - icon_state = "wood-broken3" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/area/ship/crew/canteen/kitchen) +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ship/hallway/central) "sG" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable/pink{ + icon_state = "1-10" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = 13; - pixel_y = 21 +/obj/structure/cable/pink{ + icon_state = "6-10" }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "sW" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/computer/cargo/express{ +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/computer/cargo/retro{ dir = 8 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "vv" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door" + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/bridge) +/turf/open/floor/plating/airless, +/area/ship/hallway/central) "vU" = ( -/obj/docking_port/stationary{ - width = 30; - height = 15; - dwidth = 15 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/turf/template_noop, -/area/template_noop) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) "wc" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Ship Lockers" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/toy/cards/deck{ + pixel_y = 22 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/reagent_containers/food/snacks/sandwich{ + pixel_y = 9; + pixel_x = -1 }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/wood/yew, /area/ship/crew) "wh" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 +/turf/closed/wall/r_wall, +/area/ship/crew/dorm) +"xe" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"xe" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "6-10" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) +/turf/open/floor/plasteel/tech/grid, +/area/ship/maintenance/fore) "xk" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray, -/obj/item/reagent_containers/food/snacks/burger/bearger, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken3" - }, -/area/ship/crew/canteen/kitchen) +/turf/closed/wall, +/area/ship/hallway/central) "xF" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "8-9" }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew) -"yd" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/terminal{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 11 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#E3994E" }, +/turf/open/floor/wood/yew, +/area/ship/crew/dorm) +"yd" = ( +/obj/structure/catwalk/over/plated_catwalk, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, +/obj/structure/cable/pink{ + icon_state = "4-8" + }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/meter/atmos/layer2, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "yn" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass{ - amount = 10 +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 }, -/obj/item/storage/box/lights/bulbs, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10 +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -8 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/pink{ + icon_state = "0-10" }, -/obj/machinery/light/directional/west, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/effect/decal/cleanable/cobweb, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/item/reagent_containers/food/drinks/soda_cans/cola, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/item/reagent_containers/food/snacks/icecreamsandwich, +/obj/item/reagent_containers/food/snacks/icecreamsandwich, +/turf/open/floor/plasteel/white, +/area/ship/crew) "yF" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/crew/canteen/kitchen) +/turf/closed/wall/r_wall, +/area/ship/crew) "zc" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ +/obj/effect/turf_decal/corner_techfloor_grid{ + dir = 8 + }, +/obj/structure/curtain, +/obj/machinery/shower{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6; +/obj/item/soap{ pixel_y = 4 }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/condiment/enzyme{ - layer = 5; - pixel_x = 12; - pixel_y = 6 +/obj/item/bikehorn/rubberducky/plasticducky{ + pixel_x = -9; + pixel_y = -7 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/freezer, +/area/ship/crew) "zH" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 2 - }, -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/ship/crew/canteen/kitchen) -"AB" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 + dir = 4 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"AE" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/shuttle{ - name = "Captain's Quarters" +/obj/structure/cable/pink{ + icon_state = "5-9" }, -/obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/firedoor/border_only{ - dir = 4 + dir = 8 }, /obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + name = "Dormitory"; dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 8; + color = "#E3994E" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#E3994E" }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/wood/yew, /area/ship/crew) -"AP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/turretid{ - icon_state = "control_kill"; - lethal = 1; - locked = 0; - name = "Mining Turret control panel"; - pixel_x = -28; - pixel_y = 6; - req_access = null - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +"AB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"AE" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility/skirt, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/pink{ + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 +/obj/effect/turf_decal/siding/wood{ + dir = 1; + color = "#E3994E" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/turf/open/floor/wood/yew, +/area/ship/crew/dorm) +"AP" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump"; + target_pressure = 500 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/engineering) "AQ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/engineering) "AV" = ( -/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/cyan{ + icon_state = "4-5" + }, +/obj/structure/cable/pink{ + icon_state = "0-6" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/machinery/power/terminal{ dir = 8 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/ship/engineering) +"Bm" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/ship/engineering/engine) -"Bm" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/ship/crew) +/area/ship/engineering) "Bu" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door" - }, -/turf/open/floor/plating, +/turf/closed/wall/r_wall/yesdiag, /area/ship/bridge) "BP" = ( /obj/structure/chair/comfy/shuttle{ dir = 4 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "BS" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_bridge"; - name = "Garage DoorCockpit Emergency Blast Door"; + id = "kilobridge"; dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/ship/bridge) "Co" = ( -/obj/effect/decal/cleanable/oil, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/turf/open/floor/plating, +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + name = "Mining Shuttle"; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/plasteel/patterned/ridged, /area/ship/cargo) "Cv" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/cable/pink{ + icon_state = "2-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/turf/open/floor/mineral/titanium/yellow, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/crate/medical, +/obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/storage/firstaid/regular, +/obj/item/roller, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Da" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) -"Ds" = ( -/obj/structure/table, /obj/effect/decal/cleanable/dirt, -/obj/item/folder/yellow{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/paper/crumpled/bloody{ - default_raw_text = "We struck gold, literally. We found some good rocks out near Centurai-II rich with the stuff. Kae said he and Milos found something out while prospecting, some sort of glowing cube. It's jammed in there good, so we're anchoring until we sort this out..."; - pixel_x = 4; - pixel_y = 4 +/obj/item/cigbutt, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/cargo) +"Ds" = ( +/obj/structure/filingcabinet/chestdrawer{ + dir = 8 }, -/obj/item/gps{ - gpstag = "NTMS-037"; - pixel_x = -9; - pixel_y = 4 +/obj/item/folder/blue, +/obj/item/folder/yellow, +/obj/item/folder, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/item/computer_hardware/card_slot, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/pink{ + icon_state = "0-8" }, -/obj/machinery/firealarm/directional/north, -/obj/item/areaeditor/shuttle, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel, /area/ship/bridge) "Ew" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair/sofa/brown/corner/directional/south, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light/small/directional/east, -/turf/open/floor/wood{ - icon_state = "wood-broken" +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -19; + pixel_x = -8 }, -/area/ship/crew/canteen/kitchen) +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/pink{ + icon_state = "4-6" + }, +/obj/item/cigbutt, +/turf/open/floor/plating, +/area/ship/hallway/central) "EG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/cryopod, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light/small/directional/north, -/obj/machinery/computer/cryopod/directional/west, -/turf/open/floor/wood, +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/white, /area/ship/crew) "EU" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/door/airlock/command{ - name = "Ship Control"; - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -5 }, -/obj/machinery/door/firedoor/border_only{ +/obj/item/cigbutt, +/obj/machinery/computer/cryopod/retro/directional/west, +/turf/open/floor/plasteel, +/area/ship/hallway/central) +"GK" = ( +/obj/structure/table, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = 20 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/radio{ + pixel_y = 5 }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) -"GK" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/item/radio{ + pixel_y = 5 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/item/radio{ + pixel_y = 5 }, -/turf/open/floor/mineral/titanium/blue, -/area/ship/bridge) +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) "GM" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/item/radio/intercom/wideband/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/computer/crew/retro{ + dir = 4 + }, +/obj/structure/cable/pink{ + icon_state = "4-6" + }, +/obj/structure/sign/poster/random{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, /area/ship/bridge) "HP" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" +/obj/item/kirbyplants/fullysynthetic{ + pixel_x = 11 }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 4; + color = "#E3994E" }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/obj/effect/decal/cleanable/confetti, +/obj/item/cigbutt, +/turf/open/floor/wood/yew, +/area/ship/crew) "Ih" = ( -/obj/structure/table, -/obj/item/wrench, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium, +/obj/structure/cable/pink{ + icon_state = "1-6" + }, +/obj/structure/ore_box, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Jf" = ( -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering/engine) +/turf/closed/wall/r_wall, +/area/ship/hallway/port) +"Jt" = ( +/obj/structure/sign/warning/docking, +/turf/closed/wall/yesdiag, +/area/ship/maintenance/fore) "Kz" = ( -/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, /obj/structure/rack, -/obj/item/storage/toolbox/emergency, -/obj/item/circuitboard/machine/ore_redemption, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 +/obj/item/stack/sheet/plastic/five, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/obj/effect/turf_decal/box/corners{ + dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "KB" = ( +/turf/closed/wall, +/area/ship/maintenance/fore) +"KM" = ( +/obj/machinery/atmospherics/components/binary/valve/layer4, /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/decal/cleanable/blood/old, +/obj/effect/decal/cleanable/oil/streak, +/obj/item/cigbutt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/turf/open/floor/plasteel, +/area/ship/hallway/port) +"KR" = ( +/obj/machinery/door/airlock/mining/glass{ + name = "Cargo Bay" }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 +/obj/structure/cable/pink{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ship/cargo) -"KM" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/ore_box, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/effect/turf_decal/borderfloor, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 1; - name = "Scrubbers to Outside" +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/central) +"La" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/cargo) -"KR" = ( -/obj/structure/table/wood, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = 5 +/obj/item/clothing/head/cone{ + pixel_y = 4; + pixel_x = 11 }, -/obj/item/crowbar/red, -/obj/item/lighter{ - pixel_x = -8; - pixel_y = 8 +/obj/structure/extinguisher_cabinet/directional/east{ + pixel_y = 7 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet, -/area/ship/crew) -"La" = ( -/obj/effect/spawner/structure/window/shuttle, -/obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" +/obj/machinery/firealarm/directional/east{ + pixel_y = -5 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, +/obj/item/cigbutt, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "LC" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 8 +/obj/structure/cable/cyan{ + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/pink{ + icon_state = "2-5" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "Mj" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/suit_storage_unit/independent/mining/eva, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/mineral/unloading_machine, +/obj/structure/railing, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "MI" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/window/reinforced/spawner, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/obj/machinery/power/smes/shuttle, +/obj/structure/window/reinforced/tinted{ + dir = 8 }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; +/obj/effect/turf_decal/industrial/warning{ dir = 4 }, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "MY" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 - }, -/obj/item/gun/energy/e_gun/mini, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/shoes/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/item/clothing/head/cowboy, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/structure/chair/sofa/brown/old/corner/directional/north, +/obj/structure/sign/poster/random{ + pixel_y = 0; + pixel_x = -32 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -5 }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/wood/yew, /area/ship/crew) "Ng" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/cable{ +/obj/structure/cable/pink{ icon_state = "1-8" }, -/turf/open/floor/plating, -/area/ship/engineering/engine) -"Nq" = ( -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - id = "kilocargo"; - name = "NTMS-037 Bay Blast Door" +/obj/structure/cable/pink{ + icon_state = "4-9" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/pink{ + icon_state = "8-10" }, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 8; - id = "kiloshield" +/mob/living/simple_animal/hostile/netherworld/migo{ + environment_smash = 0; + faction = list("neutral"); + melee_damage_lower = 5; + melee_damage_upper = 10; + name = "maurice" }, /turf/open/floor/plating, +/area/ship/engineering) +"Nq" = ( +/turf/closed/wall/r_wall/yesdiag, /area/ship/cargo) "NB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/machinery/door/airlock/grunge{ + dir = 8; + name = "Bathroom" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/machinery/door/firedoor/border_only{ + dir = 4 }, -/obj/machinery/status_display{ - pixel_x = -32; - pixel_y = -32 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew) "NI" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/sink{ + dir = 8; + pixel_x = 14 }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/structure/mirror{ + pixel_x = 24; + pixel_y = 0 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/structure/toilet{ + pixel_y = 18 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/light/small/directional/north{ + pixel_x = 11 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"NT" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 20 }, /obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-8" +/obj/item/storage/pill_bottle/happy{ + pixel_x = 12; + pixel_y = 12 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 +/mob/living/simple_animal/hostile/cockroach, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/crew) +"NT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 }, -/turf/open/floor/mineral/titanium/blue, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "NU" = ( -/obj/machinery/conveyor{ - id = "NTMSLoad2"; - name = "on ramp" - }, -/obj/structure/window/reinforced{ - dir = 8 +/obj/structure/table/wood, +/obj/structure/cable/pink{ + icon_state = "2-5" }, -/turf/open/floor/plating, -/area/ship/cargo) -"OH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/item/flashlight/lamp/green{ + pixel_y = 3 + }, +/obj/structure/sign/poster/random{ + pixel_y = 0; + pixel_x = -32 + }, +/turf/open/floor/carpet, +/area/ship/crew/dorm) +"Of" = ( +/turf/closed/wall/r_wall, +/area/ship/maintenance/fore) +"OH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/industrial/warning{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/decal/cleanable/blood/old, +/obj/structure/cable/pink{ + icon_state = "2-10" }, -/turf/open/floor/mineral/titanium/yellow, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Pg" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/helm{ +/obj/machinery/computer/helm/retro{ dir = 8 }, -/obj/machinery/light/directional/east, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "PS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - pixel_y = -23; - dir = 1 - }, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/closet/crate/internals, -/obj/item/tank/internals/oxygen, -/obj/item/tank/internals/oxygen{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/table/reinforced, +/obj/machinery/microwave, +/turf/open/floor/plasteel/white, +/area/ship/crew) "PW" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 - }, -/turf/closed/wall/mineral/titanium, -/area/ship/bridge) +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew/dorm) "Qw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 +/obj/structure/sign/warning/docking, +/turf/closed/wall, +/area/ship/maintenance/fore) +"Rq" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor{ + id = "kilowindows" }, -/obj/machinery/door/airlock/external{ - name = "Mining Airlock"; +/turf/open/floor/plating/airless, +/area/ship/crew/dorm) +"RJ" = ( +/obj/structure/chair/stool{ dir = 8 }, -/obj/docking_port/mobile{ - dir = 4; - launch_status = 0; - name = "Mining Shuttle"; - preferred_direction = 4; - port_direction = 2 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/cargo) -"Rq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 6 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) -"RJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/button/door{ + pixel_y = 20; + pixel_x = -6; + id = "kilowindows"; + name = "Window Lockdown" }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/machinery/button/door{ + pixel_y = 20; + pixel_x = 6; + id = "kilobridge"; + name = "Bridge Lockdown" }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light_switch{ - pixel_x = -13; - pixel_y = 23 +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable/pink{ + icon_state = "2-8" }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel, /area/ship/bridge) "Sx" = ( -/obj/structure/closet/secure_closet/freezer{ - locked = 0; - name = "fridge" - }, -/obj/item/reagent_containers/food/snacks/sausage, -/obj/item/reagent_containers/food/snacks/sandwich, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +/obj/effect/turf_decal/corner/opaque/red/diagonal, +/obj/structure/table/reinforced, +/obj/item/cutting_board{ + anchored = 1 }, -/obj/item/storage/cans/sixbeer, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/canteen/kitchen) +/obj/item/kitchen/knife, +/turf/open/floor/plasteel/white, +/area/ship/crew) "Ti" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/ship/crew) "Tn" = ( -/obj/machinery/power/smes/shuttle{ - dir = 4 - }, -/obj/machinery/door/window/westright{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/window/reinforced/spawner/north, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - id = "kiloengine"; - name = "Engine Shutters"; - dir = 8 +/obj/structure/bed, +/obj/structure/cable/pink{ + icon_state = "1-6" }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/obj/item/bedsheet/dorms, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "To" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/item/storage/bag/trash{ - pixel_x = 6 +/obj/machinery/door/poddoor{ + id = "kilocargo" }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/cable, -/obj/effect/turf_decal/industrial/warning{ - dir = 2 +/obj/structure/cable/pink{ + icon_state = "0-6" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "kilofield"; + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/cargo) "TD" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "whiteship_bridge"; - name = "Bridge Blast Door Control"; - pixel_x = -6; - pixel_y = -2; - dir = 1 +/obj/machinery/light/directional/south, +/obj/structure/table/reinforced, +/obj/item/megaphone/cargo{ + pixel_y = 5; + pixel_x = 4 }, -/obj/machinery/button/door{ - id = "whiteship_windows"; - name = "Windows Blast Door Control"; - pixel_x = -6; - pixel_y = 8; - dir = 1 +/obj/item/cigbutt{ + pixel_y = 5; + pixel_x = -17 }, -/obj/item/radio{ - pixel_x = 6; - pixel_y = 4 - }, -/turf/open/floor/mineral/plastitanium, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "TG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/closed/wall, +/area/ship/hallway/port) "Ua" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plating/airless, +/area/ship/engineering) "Ud" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/item/wrench, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plating, +/turf/closed/wall, /area/ship/cargo) "Un" = ( -/obj/effect/spawner/structure/window/shuttle, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor{ - id = "whiteship_windows"; - name = "Exterior Window Blast Door" + id = "kilowindows" }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) +/turf/open/floor/plating/airless, +/area/ship/hallway/port) "Uv" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/obj/item/shard, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"UY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15; dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/wood, +/turf/template_noop, +/area/template_noop) +"UY" = ( +/obj/structure/chair/sofa/brown/old/right/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/yew, /area/ship/crew) "Va" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/structure/closet/crate/secure/weapon, +/obj/structure/cable/pink{ + icon_state = "6-10" }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/mineral/titanium/yellow, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 2 + }, +/obj/structure/cable/pink{ + icon_state = "9-10" + }, +/obj/effect/decal/cleanable/oil, +/obj/item/ammo_box/a12g, +/obj/item/gun/ballistic/shotgun/doublebarrel/no_mag, +/turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Vd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/suit_storage_unit/independent/engineering, +/obj/structure/cable/pink{ + icon_state = "8-10" + }, +/obj/structure/cable/pink{ + icon_state = "5-10" + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/turf_decal/industrial/warning{ - dir = 6 + dir = 4 + }, +/obj/machinery/light/small/directional/east{ + pixel_y = 8 + }, +/obj/machinery/firealarm/directional/east{ + pixel_y = -2 }, +/obj/effect/decal/cleanable/oil, /turf/open/floor/plating, -/area/ship/engineering/engine) +/area/ship/engineering) "Vh" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 1 +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen{ - dir = 1; - name = "NTMS-037 Monitor"; - network = list("ntms"); - pixel_y = -30 +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/stack/cable_coil/cut, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) +/turf/open/floor/plating, +/area/ship/engineering) "Vq" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10 +/turf/closed/wall/r_wall/yesdiag, +/area/ship/crew) +"Vt" = ( +/obj/effect/turf_decal/miskilamo_small{ + dir = 1 }, -/turf/closed/wall/mineral/titanium, -/area/ship/crew/canteen/kitchen) +/turf/open/floor/plasteel/mono/dark, +/area/ship/external/dark) "Vx" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/toilet{ - dir = 4; - pixel_x = -7 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 14 - }, -/obj/machinery/shower{ - pixel_x = -11; - pixel_y = 18 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/newscaster/directional/north, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/carpet/blue, -/area/ship/crew) +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt, +/turf/open/floor/carpet, +/area/ship/crew/dorm) "VQ" = ( -/obj/machinery/conveyor{ - dir = 1; - id = "NTMSLoad"; - name = "off ramp" - }, -/obj/structure/window/reinforced{ - dir = 4 +/obj/effect/turf_decal/miskilamo_small/left{ + dir = 1 }, -/turf/open/floor/plating, -/area/ship/cargo) +/turf/open/floor/plasteel/mono/dark, +/area/ship/external/dark) "We" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/rack, -/obj/item/storage/belt/utility, -/obj/item/radio{ - pixel_x = -3; - pixel_y = 3 +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/borderfloor{ + dir = 1 }, -/obj/item/radio, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/pink, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/item/reagent_containers/food/drinks/bottle/absinthe, +/obj/item/clothing/suit/space/hardsuit/mining/independent, +/obj/item/clothing/mask/breath, +/obj/structure/cable/pink{ + icon_state = "1-5" + }, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Xd" = ( -/obj/structure/chair/comfy/shuttle, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "1-4" +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -7 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 +/obj/item/pen/fourcolor, +/obj/machinery/airalarm/directional/south, +/obj/item/radio/intercom/wideband/directional/west, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 7; + pixel_x = 10 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "XQ" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical{ - pixel_y = 6 - }, -/obj/item/spacecash/bundle/c200, -/turf/open/floor/mineral/plastitanium, -/area/ship/bridge) -"XR" = ( -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 +/obj/machinery/cryopod{ + dir = 8 }, -/obj/effect/decal/cleanable/greenglow, -/obj/item/stock_parts/cell/gun/mini, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/under/utility/skirt, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/toggle/hazard, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, /obj/effect/turf_decal/industrial/warning{ - dir = 1 + dir = 8 }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"XR" = ( +/turf/closed/wall, /area/ship/crew) "Yu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plating, -/area/ship/cargo) +/obj/structure/grille, +/obj/structure/window/fulltile, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating/airless, +/area/ship/crew) "YJ" = ( -/obj/machinery/washing_machine, -/obj/effect/turf_decal/trimline/opaque/white/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ +/obj/structure/dresser{ dir = 1 }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 +/obj/item/reagent_containers/food/drinks/beer{ + pixel_y = 12; + pixel_x = -9 }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew) +/turf/open/floor/wood/yew, +/area/ship/crew/dorm) "YL" = ( -/obj/effect/decal/cleanable/greenglow, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, +/obj/structure/chair/sofa/brown/old/directional/east, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 + dir = 5 }, -/turf/open/floor/plasteel/showroomfloor, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/yew, /area/ship/crew) "ZC" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/syndi_cakes, -/obj/item/organ/stomach, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = 23 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/effect/turf_decal/industrial/warning/corner{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/ship/crew/canteen/kitchen) +/obj/effect/turf_decal/siding/wood{ + dir = 5; + color = "#E3994E" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/yew, +/area/ship/crew) "ZG" = ( -/obj/structure/falsewall/titanium, +/obj/structure/cable/pink{ + icon_state = "4-9" + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/cockroach, /turf/open/floor/plating, -/area/ship/crew) +/area/ship/engineering) (1,1,1) = {" aa aa -aa AQ ak +AQ bn bn -kA -bn bn +AQ ak AQ aa @@ -2405,14 +2101,13 @@ aa (2,1,1) = {" aa aa -aa kA ar -cW +kA +MI +MI MI kA -Tn -fu ar kA aa @@ -2421,8 +2116,7 @@ aa (3,1,1) = {" aa aa -aa -Jf +kA av bQ AV @@ -2430,15 +2124,14 @@ cY ng gC oj -Un +Ua aa aa "} (4,1,1) = {" aa aa -aa -Jf +kA eo fv LC @@ -2446,115 +2139,108 @@ Ng cM hh oP -Un +Ua aa aa "} (5,1,1) = {" aa aa -aa -Jf -Jf +kA +AQ gs aU Vd -mz +fs ZG -mz -mz +AP +kA aa aa "} (6,1,1) = {" aa aa -aa -Jf +Ua cb yd cr -mz -mz +AQ +Vh cZ Bm -Ti +kA aa aa "} (7,1,1) = {" aa aa -aa Ua aS ca cq -mz -KR -da -UY -Ti +cq +cq +cq +cq +wh aa aa "} (8,1,1) = {" aa aa -aa -Ua +Jf TG cC -To -mz -mz +cq mz +NU +Tn AE -mz +wh PW aa "} (9,1,1) = {" aa aa -aa Jf jU bU ck -mz +sG Vx ig xF YJ -Ti +Rq aa "} (10,1,1) = {" aa -aa -aa -Jf +cK +Un aJ bV -Jf -mz -mz -mz -sG XR -mz +XR +zH +XR +XR +XR +yF aa "} (11,1,1) = {" aa -aa dF cP KM bg +XR yn -mz EG hS YL @@ -2564,103 +2250,96 @@ aa "} (12,1,1) = {" aa -ac -ac -ac +Vt +Un iM rc Yu -mz -mz -mz +Sx +iT +cw wc -mz -mz +UY +Ti aa "} (13,1,1) = {" aa -qv VQ -nO +Jf aC bM -cK +XR PS -bA +cW ZC HP aZ -bA +yF Vq "} (14,1,1) = {" -vU -rq -iT -de -bL +aa +fu +ac +Ud bX Ud -nJ -cV +XR +XR rO -wh +XR NB -Sx +XR yF "} (15,1,1) = {" -aa Nq -NU +ac am eN bY cB -Co +im dt sD xk NI zc -bA +yF "} (16,1,1) = {" -aa -ac -ac -ac -ac +To +nJ +da +AB bZ Kz im bA Ew -zH -Rq -dc -yF +xk +xk +xk +nO "} (17,1,1) = {" -aa -aa -ac +Co +cV Ih -ac +Da bG -ac -ac -bA -bA -bA +vU +KR +bL +rq +de EU -bA -bA +dc +vv "} (18,1,1) = {" -aa -aa +cf La hR Va @@ -2669,15 +2348,14 @@ cj bF bF io -AP +bF GK XQ vv "} (19,1,1) = {" -aa -aa -La +Nq +ac Mj ay bT @@ -2685,14 +2363,13 @@ ci bF GM jK -fs -Da -Vh bF +bF +bF +bP "} (20,1,1) = {" aa -aa ac jx pV @@ -2703,66 +2380,77 @@ RJ nd bH Xd -Uv bF +bP "} (21,1,1) = {" aa -aa ac hN jl OH mr -cw +bF gp NT BP TD -BS +bP Bu "} (22,1,1) = {" aa -aa -ac -ac -AB +Of +Of +Of xe -cf -bF +Of +bP Ds sW Pg BS -Bu +BS aa "} (23,1,1) = {" aa -aa -ac +KB bm KB kb cJ -bF bP -bF -bF -Bu +bP +BS +BS +BS aa aa "} (24,1,1) = {" aa -aa rW -ac +KB Qw qw -ac -rW +qv +Jt +aa +aa +aa +aa +aa +aa +"} +(25,1,1) = {" +aa +aa +aa +aa +Uv +aa +aa aa aa aa diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm index 7e96d8f93b53..248ee9240efd 100644 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ b/_maps/shuttles/independent/independent_lagoon.dmm @@ -256,7 +256,7 @@ /turf/open/floor/plasteel, /area/ship/external) "bt" = ( -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 4 }, /turf/open/floor/plasteel/patterned/cargo_one, @@ -930,12 +930,6 @@ }, /turf/open/floor/carpet/nanoweave/red, /area/ship/crew/canteen) -"fZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) "gb" = ( /turf/open/floor/plasteel, /area/ship/hallway/fore) @@ -1150,9 +1144,6 @@ /turf/open/floor/wood, /area/ship/crew/library) "hK" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ dir = 4 }, @@ -2078,7 +2069,7 @@ pixel_y = 1 }, /obj/item/toy/cards/deck, -/obj/item/reagent_containers/food/snacks/butterbiscuit{ +/obj/item/food/butterbiscuit{ pixel_x = 6; pixel_y = 6 }, @@ -2507,12 +2498,6 @@ /obj/effect/turf_decal/corner/opaque/white/diagonal, /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) -"qq" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/engineering) "qu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 @@ -3147,7 +3132,6 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) "uV" = ( -/obj/structure/closet/radiation, /obj/machinery/firealarm/directional/west, /turf/open/floor/plating, /area/ship/engineering) @@ -5503,6 +5487,11 @@ /obj/effect/turf_decal/industrial/radiation{ dir = 10 }, +/obj/machinery/button/ignition/incinerator/atmos{ + dir = 4; + pixel_x = -27; + pixel_y = 8 + }, /turf/open/floor/plating, /area/ship/engineering) "LB" = ( @@ -5560,12 +5549,6 @@ /turf/open/floor/light, /area/ship/engineering) "Me" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/item/weldingtool, -/obj/item/weldingtool, /obj/machinery/button/door/incinerator_vent_atmos_aux{ dir = 4; pixel_x = -28; @@ -5581,6 +5564,9 @@ pixel_x = -28; pixel_y = -8 }, +/obj/machinery/computer/atmos_control/incinerator{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/engineering) "Mf" = ( @@ -5610,13 +5596,11 @@ /turf/open/floor/wood, /area/ship/crew/library) "Mr" = ( -/obj/machinery/computer/atmos_control/incinerator{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, /obj/effect/turf_decal/trimline/opaque/green/arrow_ccw, +/obj/structure/closet/radiation, /turf/open/floor/plating, /area/ship/engineering) "Mx" = ( @@ -5888,6 +5872,7 @@ /area/ship/hallway/fore) "Pc" = ( /obj/machinery/air_sensor/atmos/incinerator_tank, +/obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine, /area/ship/engineering) "Pe" = ( @@ -7664,7 +7649,7 @@ Pn Bz Pn Nr -qq +Pn hK Pc FA @@ -7705,7 +7690,7 @@ eS Vc Pn VS -fZ +Pn NB cT RC diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index f82cdc7ba748..d7a3341b8927 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -913,7 +913,7 @@ /obj/structure/sign/warning/incident{ pixel_x = -32 }, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 4 }, /turf/open/floor/plasteel/tech/grid, diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index daf3cf9ecdb3..632337fab263 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -845,7 +845,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/airlock/mining/glass{ - name = "Mech Bay" + name = "Exosuit Bay" }, /turf/open/floor/plasteel/tech, /area/ship/cargo) @@ -869,7 +869,7 @@ "kG" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /turf/open/floor/engine/hull/interior, /area/ship/cargo) @@ -1488,7 +1488,7 @@ "sT" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /obj/structure/cable{ icon_state = "0-2" @@ -2231,7 +2231,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /obj/item/radio/intercom/directional/north, /turf/open/floor/carpet/blue, /area/ship/bridge) @@ -3309,7 +3309,7 @@ "Oy" = ( /obj/machinery/door/poddoor{ id = "riggs_cargo"; - name = "Mech Bay Blast Door" + name = "Exosuit Bay Blast Door" }, /obj/structure/cable{ icon_state = "0-2" diff --git a/_maps/shuttles/independent/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm index 454e7503cb52..ce7b407a4731 100644 --- a/_maps/shuttles/independent/independent_schmiedeberg.dmm +++ b/_maps/shuttles/independent/independent_schmiedeberg.dmm @@ -756,7 +756,7 @@ /turf/open/floor/wood/walnut, /area/ship/crew/canteen) "ka" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/item/radio/intercom/directional/south, diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 13599cc298cf..f147aeb82276 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -1895,7 +1895,6 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, -/obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ship/engineering/engine) @@ -2215,12 +2214,6 @@ /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating, /area/ship/hallway/fore) -"sV" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/ship/engineering/engine) "sX" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -2299,9 +2292,6 @@ "tU" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /turf/open/floor/plating, /area/ship/engineering/engine) "tX" = ( @@ -2935,9 +2925,6 @@ pixel_x = -23; pixel_y = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, /turf/open/floor/plating, /area/ship/engineering/engine) "yU" = ( @@ -4406,9 +4393,6 @@ pixel_x = -4; pixel_y = 10 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) "LQ" = ( @@ -5480,7 +5464,7 @@ /obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ dir = 1 }, -/obj/machinery/computer/cargo/express/retro, +/obj/machinery/computer/cargo/retro, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "VD" = ( @@ -5912,11 +5896,6 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering) "Zn" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/item/weldingtool/mini, /turf/open/floor/plating, /area/ship/engineering/engine) "Zr" = ( @@ -6109,7 +6088,7 @@ pr NK yP qk -sV +Zn CZ vz on diff --git a/_maps/shuttles/independent/independent_sunskipper.dmm b/_maps/shuttles/independent/independent_sunskipper.dmm index 61c49a25295e..de92179a11f7 100644 --- a/_maps/shuttles/independent/independent_sunskipper.dmm +++ b/_maps/shuttles/independent/independent_sunskipper.dmm @@ -1560,6 +1560,9 @@ /obj/structure/cable/green{ icon_state = "4-9" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /turf/open/floor/carpet/nanoweave, /area/ship/crew/cryo) "tP" = ( @@ -2047,7 +2050,7 @@ /turf/open/floor/plasteel/tech, /area/ship/cargo) "AP" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ icon_state = "computer-right"; dir = 8 }, diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm index 08738bbe821f..641a74a202ef 100644 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -2735,7 +2735,7 @@ /area/ship/crew/crewtwo) "wA" = ( /obj/structure/table, -/obj/item/reagent_containers/food/snacks/cakeslice/lime, +/obj/item/food/cakeslice/lime, /obj/item/kitchen/fork/plastic{ pixel_x = -11 }, @@ -3515,7 +3515,7 @@ /area/ship/crew/hydroponics) "CH" = ( /obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/garlicbread, +/obj/item/food/garlicbread, /obj/item/reagent_containers/food/snacks/grown/citrus/orange{ pixel_x = -8; pixel_y = 7 @@ -6032,11 +6032,11 @@ pixel_x = -11; pixel_y = 11 }, -/obj/item/reagent_containers/food/snacks/store/bread/banana{ +/obj/item/food/bread/banana{ pixel_x = 14; pixel_y = 1 }, -/obj/item/reagent_containers/food/snacks/breadslice/banana, +/obj/item/food/breadslice/banana, /turf/open/floor/plasteel, /area/ship/crew/cryo) "Vg" = ( diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index d5ed70873819..5925b9c0acdd 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -852,7 +852,7 @@ /area/ship/hallway/fore) "iX" = ( /obj/item/radio/intercom/wideband/directional/south, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/effect/turf_decal/borderfloor, @@ -3429,7 +3429,7 @@ /obj/item/ammo_box/magazine/gal{ pixel_x = 5 }, -/obj/item/gun/ballistic/automatic/gal/inteq{ +/obj/item/gun/ballistic/automatic/marksman/gal/inteq{ pixel_x = -8; pixel_y = 3 }, diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm index 5616d1d2d4b0..da82ccbf26b7 100644 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ b/_maps/shuttles/inteq/inteq_hound.dmm @@ -1580,7 +1580,7 @@ dir = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/machinery/computer/cargo/express, +/obj/machinery/computer/cargo, /obj/item/radio/intercom/wideband/directional/north{ pixel_y = 25; pixel_x = 6 diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 1e08e3912dc6..dc0e84542cae 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -2,7 +2,7 @@ "ab" = ( /obj/structure/sign/number/four, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "ae" = ( /obj/structure/cable{ icon_state = "4-8" @@ -25,14 +25,14 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "ag" = ( -/obj/structure/window/reinforced/survival_pod{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "ak" = ( /obj/structure/cable{ icon_state = "2-8" @@ -41,25 +41,38 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "an" = ( -/obj/machinery/telecomms/processor/preset_four{ - autolinkers = list("processor4","bus"); - network = "irmg_commnet" +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "ao" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering/communications) +/area/ship/storage) "ap" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/engine/atmos, -/obj/item/tank/jetpack/oxygen, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "as" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -82,10 +95,19 @@ /area/ship/engineering/engine) "au" = ( /obj/machinery/light/directional/east, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/server/presets/common{ + autolinkers = list("common","hub"); + freq_listening = list(1459); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) +"aD" = ( +/obj/machinery/computer/telecomms/monitor{ + network = "irmg_commnet" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "aH" = ( /obj/machinery/button/door{ dir = 4; @@ -167,7 +189,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "bb" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/grunge{ @@ -232,13 +254,11 @@ icon_state = "0-8" }, /obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/telecomms/server/presets/common{ - autolinkers = list("common","hub"); - freq_listening = list(1459); - network = "irmg_commnet" +/obj/machinery/computer/rdconsole/core{ + dir = 8 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "bI" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -253,7 +273,7 @@ /obj/structure/mopbucket, /obj/item/reagent_containers/glass/bucket, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "bM" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/machinery/door/poddoor{ @@ -277,14 +297,16 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/structure/rack, /obj/machinery/light/directional/south, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ icon_state = "0-4" }, -/obj/item/pickaxe/mini, -/obj/item/pickaxe/mini, +/obj/structure/crate_shelf, +/obj/structure/closet/crate, +/obj/item/roller, +/obj/item/roller, +/obj/item/roller, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ce" = ( @@ -326,7 +348,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "cn" = ( /obj/machinery/light/directional/south, /obj/structure/railing{ @@ -417,9 +439,6 @@ name = "waste input pump"; on = 0 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 8 }, @@ -445,19 +464,11 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "cT" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/window/northleft{ - req_access_txt = "61" - }, -/obj/machinery/door/window/southright{ - req_access_txt = "61" - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/machinery/navbeacon/wayfinding{ + location = "talos_workshop" }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "cV" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/storage) @@ -525,7 +536,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "dw" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable{ @@ -540,7 +551,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "dE" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -583,7 +594,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ej" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -624,9 +635,6 @@ /turf/open/floor/plating, /area/ship/engineering) "em" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, @@ -641,6 +649,9 @@ piping_layer = 5 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "eu" = ( @@ -669,13 +680,16 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "eC" = ( -/obj/structure/table, -/obj/item/mecha_parts/mecha_equipment/rcd, -/obj/item/mecha_parts/mecha_equipment/cable_layer, -/obj/item/radio/intercom/directional/west, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "irmg_commnet" + }, +/obj/structure/window/reinforced/survival_pod, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "eK" = ( /obj/effect/turf_decal/trimline/opaque/yellow/corner{ dir = 4 @@ -749,7 +763,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "fg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -778,18 +792,27 @@ /obj/structure/grille, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "fo" = ( -/obj/machinery/rnd/production/protolathe/department/engineering, /obj/machinery/camera/autoname{ dir = 9 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1347,1359); + network = "irmg_commnet" + }, +/obj/structure/window/reinforced/survival_pod, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "fr" = ( /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "fC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -820,17 +843,17 @@ /area/ship/bridge) "fK" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "fN" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "fU" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "fX" = ( /obj/structure/chair/stool{ dir = 1 @@ -913,14 +936,14 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "go" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "gp" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -956,13 +979,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"gF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "gG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1061,18 +1077,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/closet/crate{ - name = "sandbags crate" - }, -/obj/item/storage/box/emptysandbags{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/storage/box/emptysandbags, -/obj/item/storage/box/emptysandbags{ - pixel_x = 5; - pixel_y = -5 - }, +/obj/structure/crate_shelf, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "hc" = ( @@ -1115,11 +1120,11 @@ "hm" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "hw" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "hz" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/table/wood, @@ -1133,7 +1138,7 @@ pixel_y = 6 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "hG" = ( /obj/structure/railing{ dir = 6; @@ -1245,7 +1250,7 @@ /obj/item/cigbutt, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "im" = ( /obj/structure/railing{ dir = 4 @@ -1273,7 +1278,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "iy" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -1384,19 +1389,25 @@ }, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "iW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/navbeacon/wayfinding{ + location = "talos_telecomms" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "iZ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/corner, /obj/effect/turf_decal/siding/thinplating/corner, @@ -1442,7 +1453,7 @@ "jj" = ( /obj/structure/sign/warning/vacuum, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "jl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1472,7 +1483,7 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "jw" = ( /obj/structure/cable{ icon_state = "1-8" @@ -1486,7 +1497,7 @@ /turf/open/floor/carpet/orange, /area/ship/bridge) "jH" = ( -/obj/structure/cable/yellow{ +/obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/door/firedoor/border_only, @@ -1498,17 +1509,36 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/highsecurity{ - name = "Communications"; - req_access_txt = "61" +/obj/machinery/door/airlock/engineering{ + name = "Storage Bay"; + req_access_txt = "10" }, /turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) -"jJ" = ( -/obj/machinery/light/directional/east, -/obj/machinery/rnd/production/circuit_imprinter/department/engi, -/turf/open/floor/plasteel/tech/grid, /area/ship/storage) +"jJ" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/folder/syndicate{ + desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; + name = "folder" + }, +/obj/item/pen, +/obj/item/multitool{ + pixel_x = 12; + pixel_y = 8 + }, +/obj/machinery/light/directional/south, +/obj/item/radio/intercom/directional/north{ + dir = 4; + freerange = 1; + freqlock = 1; + frequency = 1347; + name = "IRMG shortwave intercom"; + pixel_x = 31; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "jP" = ( /obj/effect/turf_decal/siding/white{ dir = 1 @@ -1571,13 +1601,13 @@ /area/ship/hallway/central) "jW" = ( /obj/machinery/light/directional/east, -/obj/machinery/computer/telecomms/server{ - dir = 1; - network = "irmg_commnet" - }, /obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/structure/closet/toolcloset/empty, +/obj/item/rcl/pre_loaded, +/obj/item/storage/toolbox/electrical, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "jX" = ( /obj/structure/sign/warning/securearea, /turf/closed/wall/mineral/plastitanium/nodiagonal, @@ -1612,8 +1642,8 @@ }, /obj/item/clothing/glasses/meson, /obj/machinery/light_switch{ - pixel_x = 20; dir = 8; + pixel_x = 20; pixel_y = 11 }, /turf/open/floor/plasteel/tech/grid, @@ -1654,14 +1684,14 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ks" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "kD" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -1671,7 +1701,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "kM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1732,16 +1762,13 @@ /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) "ls" = ( -/obj/machinery/telecomms/server/presets/inteq{ - autolinkers = list("inteq","hub"); - freq_listening = list(1347); - network = "irmg_commnet" - }, /obj/structure/cable{ icon_state = "1-4" }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "lt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1751,9 +1778,6 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "lA" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, /obj/structure/cable/yellow{ icon_state = "1-8" }, @@ -1772,22 +1796,16 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "lB" = ( -/obj/structure/closet/crate/medical, -/obj/item/storage/backpack/satchel/med, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/glasses/hud/health, -/obj/item/storage/belt/medical/webbing, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/under/syndicate/inteq/corpsman, /obj/structure/railing, /obj/effect/turf_decal/box/corners{ dir = 8 }, /obj/item/radio/intercom/directional/west, -/obj/item/storage/box/bodybags, /obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/storage/bag/ore, +/obj/item/pickaxe/mini, +/obj/item/pickaxe/mini, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "lC" = ( @@ -1815,7 +1833,7 @@ "lI" = ( /obj/structure/grille, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "lM" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1833,7 +1851,7 @@ dir = 1 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "lO" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1884,7 +1902,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "mi" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -1929,15 +1947,18 @@ /area/ship/security) "ms" = ( /obj/machinery/light/directional/west, -/obj/machinery/power/smes/engineering, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "1-2" }, -/obj/structure/sign/warning/coldtemp{ - pixel_x = -32 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 }, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "mw" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1958,18 +1979,11 @@ /turf/open/floor/plasteel/tech, /area/ship/bridge) "mz" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 9 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "mC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1999,7 +2013,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "mJ" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/atmospherics/pipe/layer_manifold{ @@ -2091,10 +2105,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) -"nh" = ( -/obj/structure/bed/roller, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) "nl" = ( /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -2163,17 +2173,17 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nE" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, -/area/ship/engineering/communications) +/area/ship/storage) "nF" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nH" = ( /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/turf_decal/industrial/warning/fulltile, @@ -2182,7 +2192,7 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "nJ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 @@ -2266,26 +2276,16 @@ "od" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/port) +/area/ship/maintenance/port) "og" = ( -/obj/structure/catwalk, -/obj/structure/marker_beacon{ - picked_color = "Burgundy" - }, -/turf/open/floor/plating/airless, -/area/ship/external/dark) +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/communications) "oi" = ( -/obj/item/storage/firstaid/medical{ - pixel_x = -5 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 5 - }, /obj/machinery/camera/autoname, /obj/machinery/status_display/shuttle{ pixel_y = 32 }, -/obj/structure/table, +/obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "om" = ( @@ -2298,9 +2298,8 @@ /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "on" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2330,7 +2329,7 @@ /turf/open/floor/plasteel/tech, /area/ship/security/armory) "os" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2389,7 +2388,7 @@ }, /obj/item/trash/popcorn, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "oG" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, @@ -2397,7 +2396,7 @@ /obj/structure/closet/cardboard, /obj/effect/spawner/lootdrop/maintenance/three, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "oR" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2413,7 +2412,7 @@ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "oT" = ( /obj/structure/cable{ icon_state = "2-4" @@ -2456,7 +2455,7 @@ "oY" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "pb" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/jukebox/boombox{ @@ -2464,7 +2463,7 @@ pixel_y = -11 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "pf" = ( /obj/structure/cable{ icon_state = "0-4" @@ -2520,7 +2519,7 @@ valve_open = 1 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "pu" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -2561,7 +2560,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "pL" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -2626,11 +2625,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/navbeacon/wayfinding{ - location = "talos_telecomms" - }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/machinery/rnd/production/protolathe/department/engineering, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "qe" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2672,8 +2669,8 @@ dir = 4 }, /obj/machinery/light_switch{ - pixel_x = 19; dir = 8; + pixel_x = 19; pixel_y = 11 }, /turf/open/floor/plasteel/patterned/grid, @@ -2692,7 +2689,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "qr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2707,14 +2704,14 @@ name = "Access Door Control"; pixel_x = 21; pixel_y = -6; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/button/shieldwallgen{ dir = 8; id = "talos_tank_air"; pixel_x = 19; pixel_y = 4; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -2783,8 +2780,8 @@ }, /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 + pixel_x = -12; + pixel_y = 23 }, /obj/structure/cable{ icon_state = "0-8" @@ -2833,8 +2830,8 @@ dir = 9 }, /obj/machinery/light_switch{ - pixel_x = 20; dir = 8; + pixel_x = 20; pixel_y = 11 }, /turf/open/floor/plasteel/tech, @@ -2897,7 +2894,7 @@ "rw" = ( /obj/structure/chair/comfy/grey/directional/north, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "rB" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, /turf/open/floor/engine/hull/reinforced, @@ -2921,7 +2918,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "rP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -2961,40 +2958,29 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/dark/hidden/layer1, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/engine) -"sa" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/ship/cargo) -"sc" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/folder/syndicate{ - desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; - name = "folder" - }, -/obj/item/pen, -/obj/item/multitool{ - pixel_x = 12; - pixel_y = 8 - }, -/obj/item/radio/intercom/directional/north{ - freerange = 1; - freqlock = 1; - frequency = 1347; - name = "IRMG shortwave intercom" +/obj/machinery/button/ignition/incinerator/atmos{ + dir = 4; + pixel_x = -30; + pixel_y = 12 }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engine) +"sa" = ( +/obj/effect/turf_decal/box/corners, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ship/cargo) +"sc" = ( /obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/machinery/rnd/server, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "si" = ( /obj/structure/sign/warning/vacuum, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "sl" = ( /obj/machinery/door/airlock/maintenance_hatch{ dir = 4 @@ -3006,7 +2992,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sn" = ( /obj/structure/chair/stool{ dir = 1 @@ -3059,7 +3045,7 @@ /area/template_noop) "sy" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "sA" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -3076,7 +3062,7 @@ pixel_y = -32 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sD" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, @@ -3084,7 +3070,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "sF" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -3242,11 +3228,11 @@ icon_state = "2-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "ti" = ( /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "tp" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3289,7 +3275,7 @@ "ts" = ( /obj/structure/sign/number/one, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "tu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 @@ -3301,8 +3287,14 @@ dir = 6 }, /obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "tA" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/engineering) @@ -3338,14 +3330,27 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) +"tM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/obj/effect/landmark/start/station_engineer, +/obj/structure/chair/office, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "tO" = ( -/obj/machinery/computer/telecomms/monitor{ - dir = 1; - network = "irmg_commnet" +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "tT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -3381,13 +3386,13 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "uc" = ( /obj/structure/sign/poster/contraband/random{ pixel_y = 32 }, /turf/open/floor/carpet, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "ud" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -3419,10 +3424,10 @@ }, /obj/item/gun/ballistic/shotgun/bulldog/inteq/no_mag{ pixel_x = -8; - pixel_y = 8; + pixel_y = 8 }, /obj/item/gun/ballistic/shotgun/bulldog/inteq/no_mag{ - pixel_x = -12; + pixel_x = -12 }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -3441,7 +3446,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "up" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -3466,10 +3471,10 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/structure/closet/crate/freezer/blood, /obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, /obj/machinery/airalarm/directional/west, +/obj/machinery/autolathe, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "uC" = ( @@ -3496,22 +3501,17 @@ /turf/open/floor/plating, /area/ship/engineering) "uE" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/navbeacon/wayfinding{ - location = "talos_workshop" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "uI" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "uO" = ( /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/iv_drip, +/obj/structure/table, +/obj/item/storage/box/cups, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "vi" = ( @@ -3519,7 +3519,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "vn" = ( /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -3547,7 +3547,7 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew) "vp" = ( -/turf/closed/wall/mineral/plastitanium, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/communications) "vv" = ( /obj/structure/cable/yellow{ @@ -3585,36 +3585,15 @@ /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "vM" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "ce"; - name = "artificer class II's locker"; - req_access = null; - req_access_txt = "56" - }, -/obj/item/clothing/under/syndicate/inteq/artificer, -/obj/item/clothing/under/syndicate/inteq/skirt/artificer, -/obj/item/storage/backpack/industrial, -/obj/item/clothing/suit/toggle/industrial, -/obj/item/clothing/head/hardhat/white, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, -/obj/item/clothing/gloves/combat, -/obj/item/megaphone/cargo{ - name = "engineering megaphone" - }, -/obj/item/stamp/ce{ - name = "artificer class II's rubber stamp" +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/welding, -/obj/item/pipe_dispenser, -/obj/item/storage/belt/utility/chief{ - name = "\improper Artificer Class II's toolbelt" +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "vP" = ( /obj/item/cigbutt, /turf/open/floor/plasteel/dark, @@ -3672,14 +3651,14 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "wb" = ( -/obj/structure/window/reinforced/survival_pod{ - dir = 8 +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 4 }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/storage) "wc" = ( /obj/structure/cable{ icon_state = "1-8" @@ -3724,10 +3703,16 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "wx" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "wy" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3804,7 +3789,7 @@ "wU" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "wY" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/trimline/opaque/yellow/line{ @@ -3879,13 +3864,22 @@ "xj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/cryo) +"xk" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 4; + height = 15; + width = 15 + }, +/turf/template_noop, +/area/template_noop) "xl" = ( -/obj/machinery/telecomms/bus/preset_four{ - autolinkers = list("hub","processor4","bus"); - network = "irmg_commnet" +/obj/machinery/mech_bay_recharge_port, +/obj/machinery/status_display/shuttle{ + pixel_y = -32 }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "xn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3916,18 +3910,17 @@ /turf/open/floor/plasteel/dark, /area/ship/engineering) "xz" = ( -/obj/machinery/telecomms/broadcaster/preset_right{ - autolinkers = list("broadcasterB","hub"); - network = "irmg_commnet" - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, +/obj/structure/table, +/obj/item/storage/toolbox/mechanical, +/obj/item/weldingtool/largetank, +/obj/item/clothing/glasses/welding, +/obj/item/multitool, +/obj/item/radio/intercom/directional/west, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "xB" = ( /obj/machinery/light/small/directional/east, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -3954,14 +3947,11 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "xI" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/canteen) "xK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, /obj/structure/cable{ icon_state = "4-8" }, @@ -4028,10 +4018,20 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/structure/cable/yellow, -/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/area/ship/storage) "yj" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -4069,7 +4069,7 @@ /area/ship/hallway/central) "yp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "yq" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 @@ -4091,14 +4091,12 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "yr" = ( -/obj/structure/chair/office, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/landmark/start/chief_engineer, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/machinery/rnd/production/circuit_imprinter/department/engi, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "yx" = ( /obj/structure/table/reinforced, /obj/machinery/computer/secure_data/laptop, @@ -4140,7 +4138,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "yS" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4166,7 +4164,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "zf" = ( /obj/item/storage/backpack/messenger/inteq, /obj/item/storage/backpack/messenger/inteq, @@ -4191,7 +4189,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "zh" = ( /obj/machinery/holopad/emergency/command, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -4221,8 +4219,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/engineering/communications) +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/mecha_parts/mecha_equipment/rcd, +/obj/item/mecha_parts/mecha_equipment/cable_layer, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "zu" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -4258,17 +4260,14 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 10 - }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "zB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/trashcart, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "zE" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /obj/structure/cable{ @@ -4307,18 +4306,18 @@ icon_state = "2-4" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "zR" = ( /obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/autoname{ + dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 6 }, -/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "zT" = ( /obj/structure/chair/stool/bar{ dir = 8 @@ -4346,7 +4345,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Ag" = ( /obj/structure/chair/stool{ dir = 1 @@ -4394,7 +4393,7 @@ /area/ship/crew/toilet) "Ap" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Ar" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{ dir = 4; @@ -4431,7 +4430,7 @@ "AB" = ( /obj/docking_port/stationary{ dir = 4; - dwidth = 4; + dwidth = 3; height = 15; width = 6 }, @@ -4486,7 +4485,7 @@ /obj/item/mop, /obj/item/pushbroom, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "AO" = ( /obj/machinery/suit_storage_unit/inherit/industrial, /obj/item/clothing/suit/space/hardsuit/engine, @@ -4586,7 +4585,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) +/area/ship/storage/port) "BJ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4614,26 +4613,32 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "BP" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "BS" = ( /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/machinery/mineral/ore_redemption{ - dir = 4; - input_dir = 4; - output_dir = 0 - }, /obj/machinery/light_switch{ dir = 4; pixel_x = -19 }, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/brute{ + pixel_x = -8; + pixel_y = 0 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 9; + pixel_y = 0 + }, +/obj/item/storage/box/bodybags, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "BY" = ( @@ -4706,7 +4711,7 @@ /obj/item/book/random, /obj/item/book/random, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "CK" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -4720,13 +4725,9 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "CP" = ( /obj/effect/turf_decal/borderfloor, -/obj/machinery/door/airlock/engineering{ - name = "Storage Bay"; - req_access_txt = "10" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -4736,13 +4737,16 @@ /obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/highsecurity{ + name = "Communications"; + req_access_txt = "61" + }, /turf/open/floor/plasteel/tech, -/area/ship/storage) +/area/ship/engineering/communications) "CS" = ( /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/structure/bed/roller, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) @@ -4813,7 +4817,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/structure/reagent_dispensers/watertank, +/obj/structure/crate_shelf, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ds" = ( @@ -4833,7 +4837,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "DC" = ( /obj/effect/turf_decal/box/corners, /obj/structure/closet/crate{ @@ -4853,11 +4857,12 @@ /obj/item/clothing/ears/earmuffs, /obj/item/clothing/ears/earmuffs, /obj/effect/decal/cleanable/dirt, +/obj/structure/crate_shelf, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "DO" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "DQ" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -4889,9 +4894,12 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Eg" = ( -/obj/machinery/mech_bay_recharge_port, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "Ep" = ( /obj/item/trash/can, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -4904,22 +4912,23 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Ex" = ( /obj/structure/cable{ icon_state = "1-4" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "EC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ + dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "EL" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4947,7 +4956,7 @@ "Ff" = ( /obj/structure/sign/number/nine, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Fh" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ @@ -4955,7 +4964,7 @@ }, /obj/item/cigbutt, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Fi" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, @@ -4965,23 +4974,17 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "Fk" = ( -/obj/structure/catwalk, -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, /obj/structure/marker_beacon{ picked_color = "Burgundy" }, +/obj/structure/catwalk, /turf/open/floor/plating/airless, /area/ship/external/dark) "Fl" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Fm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5095,7 +5098,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "FV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/railing, @@ -5139,7 +5142,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Gm" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/airlock/external, @@ -5152,7 +5155,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Gr" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/incinerator_input{ dir = 8 @@ -5190,7 +5193,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Gv" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -5213,13 +5216,12 @@ /area/ship/crew/canteen) "Gz" = ( /obj/machinery/light/directional/south, -/obj/machinery/telecomms/hub{ - autolinkers = list("hub","bus","relay","messaging","inteq","common","broadcasterB","receiverB"); - id = "IRMG Communications Hub"; - network = "irmg_commnet" +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/mecha/working/ripley/cargo{ + name = "\improper APLU 'Big Boss'" }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/storage) "GA" = ( /obj/machinery/porta_turret/ship/weak{ dir = 5 @@ -5253,7 +5255,7 @@ /obj/effect/decal/cleanable/blood/old, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "GR" = ( /obj/structure/bed, /obj/item/bedsheet/brown, @@ -5284,7 +5286,7 @@ icon_state = "1-8" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "He" = ( /obj/effect/turf_decal/techfloor{ dir = 4 @@ -5310,22 +5312,24 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/robot_debris, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Hl" = ( -/obj/machinery/airalarm/directional/east, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/weldingtool/largetank, -/obj/item/clothing/glasses/welding, -/obj/item/multitool, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/computer/telecomms/server{ + network = "irmg_commnet" + }, +/obj/item/radio/intercom/directional/north{ + dir = 4; + pixel_x = 31; + pixel_y = 0 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Ho" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Hp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5347,6 +5351,7 @@ /area/ship/engineering) "HD" = ( /obj/machinery/firealarm/directional/south, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "HI" = ( @@ -5379,7 +5384,7 @@ "If" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Io" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -5455,7 +5460,7 @@ /obj/item/circuitboard/machine/telecomms/message_server, /obj/item/circuitboard/machine/pacman, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "ID" = ( /obj/machinery/door/airlock/public/glass{ name = "Cryogenic Storage" @@ -5478,7 +5483,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/firecloset, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "IJ" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -5534,7 +5539,7 @@ "Jk" = ( /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Jo" = ( /obj/structure/cable{ icon_state = "2-5" @@ -5556,16 +5561,16 @@ id = "talos_tank_fuel"; pixel_x = 19; pixel_y = 4; - req_access_txt = "24" + req_access_txt = "56" }, /obj/machinery/button/door{ - color = "red"; + color = null; dir = 8; id = "talos_tank_fuel"; - name = "Access Door Control (DANGER) (EXTREMELY DANGEROUS) (DO NOT PRESS)"; + name = "Access Door Control"; pixel_x = 21; pixel_y = -6; - req_access_txt = "24" + req_access_txt = "56" }, /obj/structure/cable{ icon_state = "1-8" @@ -5605,7 +5610,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "JP" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -5682,8 +5687,19 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Kf" = ( -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/window/northleft{ + req_access_txt = "61" + }, +/obj/machinery/door/window/southright{ + req_access_txt = "61" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "Ks" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5727,7 +5743,7 @@ icon_state = "0-2" }, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "KF" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5750,7 +5766,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "KR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5769,7 +5785,7 @@ icon_state = "1-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "KY" = ( /obj/effect/turf_decal/borderfloor, /obj/machinery/door/airlock/public/glass{ @@ -5847,7 +5863,7 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "LJ" = ( /obj/structure/cable/yellow{ icon_state = "1-8" @@ -5898,14 +5914,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "LU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5923,16 +5939,11 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "LV" = ( -/obj/machinery/telecomms/receiver/preset_right{ - autolinkers = list("receiverB","hub"); - freq_listening = list(1347,1359); - network = "irmg_commnet" - }, -/obj/structure/window/reinforced/survival_pod{ - dir = 1 - }, -/turf/open/floor/circuit/telecomms/mainframe, -/area/ship/engineering/communications) +/obj/machinery/autolathe, +/obj/item/stack/sheet/metal/five, +/obj/item/stack/sheet/glass/five, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage) "Ma" = ( /obj/effect/turf_decal/industrial/fire{ dir = 4 @@ -5943,6 +5954,9 @@ /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, /area/ship/engineering/engine) +"Me" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/template_noop) "Mf" = ( /obj/structure/chair{ dir = 4 @@ -5994,7 +6008,7 @@ }, /obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Mx" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -6012,35 +6026,30 @@ icon_state = "0-2" }, /obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = -12 + pixel_x = -12; + pixel_y = 23 }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "My" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/tank/jetpack/carbondioxide, +/obj/item/clothing/suit/space/hardsuit/engine/elite, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/communications) "MC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/effect/landmark/start/chief_engineer, +/obj/structure/chair/office{ + dir = 1 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 }, /turf/open/floor/plasteel/dark, -/area/ship/storage) +/area/ship/engineering/communications) "MK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -6052,7 +6061,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "MS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6075,7 +6084,19 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/ore_box, +/obj/structure/crate_shelf, +/obj/structure/closet/crate{ + name = "sandbags crate" + }, +/obj/item/storage/box/emptysandbags{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags{ + pixel_x = -5; + pixel_y = 5 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "MX" = ( @@ -6101,17 +6122,17 @@ icon_state = "2-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Ng" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Ni" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Nj" = ( /obj/effect/turf_decal/box/corners, /obj/machinery/button/shieldwallgen{ @@ -6129,6 +6150,7 @@ }, /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Nk" = ( @@ -6161,7 +6183,7 @@ }, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "NK" = ( /turf/open/floor/engine/air, /area/ship/engineering/engine) @@ -6208,19 +6230,52 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Oc" = ( -/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Oi" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "Ok" = ( -/obj/machinery/rnd/server, +/obj/structure/closet/secure_closet{ + anchored = 1; + icon_state = "ce"; + name = "honorable artificer's locker"; + req_access_txt = "56" + }, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/skirt/artificer, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/clothing/head/hardhat/white, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/gloves/combat, +/obj/item/megaphone/cargo{ + name = "engineering megaphone" + }, +/obj/item/stamp/ce{ + name = "honorable artificer's rubber stamp" + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/welding, +/obj/item/pipe_dispenser, +/obj/item/storage/belt/utility/chief{ + name = "honorable artificer's toolbelt" + }, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/area/ship/engineering/communications) "Oq" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -6278,12 +6333,19 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Pf" = ( /obj/structure/catwalk, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/external/dark) +"Pi" = ( +/obj/structure/catwalk, +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/plating/airless, +/area/ship/external/dark) "Pk" = ( /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -6304,12 +6366,13 @@ /area/ship/engineering/engine) "Pp" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Pr" = ( /obj/machinery/air_sensor/atmos/incinerator_tank, /obj/machinery/atmospherics/pipe/simple/purple/hidden{ dir = 4 }, +/obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) "Ps" = ( @@ -6323,7 +6386,7 @@ /obj/effect/spawner/lootdrop/maintenance/three, /obj/structure/closet/crate, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Pw" = ( /obj/machinery/porta_turret/ship/weak{ dir = 10 @@ -6354,7 +6417,7 @@ dir = 1 }, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/storage/port) "PJ" = ( /obj/effect/turf_decal/techfloor{ dir = 1 @@ -6483,7 +6546,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "QC" = ( /obj/structure/chair/stool{ dir = 1 @@ -6512,11 +6575,8 @@ "QS" = ( /obj/structure/sign/number/eight, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "QU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1; @@ -6536,7 +6596,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "QW" = ( /obj/structure/cable{ icon_state = "2-4" @@ -6544,7 +6604,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "QZ" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 8; @@ -6560,14 +6620,11 @@ /turf/open/floor/engine/hull/reinforced/interior, /area/ship/engineering/engine) "Rc" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 5 +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Rg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6586,14 +6643,14 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Rp" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Rs" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ @@ -6606,7 +6663,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Ry" = ( /obj/structure/cable{ icon_state = "0-4" @@ -6659,16 +6716,22 @@ }, /turf/open/floor/carpet/black, /area/ship/crew/dorm) +"RO" = ( +/obj/machinery/porta_turret/ship/weak{ + dir = 6 + }, +/turf/closed/wall/mineral/plastitanium, +/area/template_noop) "RT" = ( /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "RV" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/plasma, /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, -/area/ship/cargo/port) +/area/ship/maintenance/port) "RW" = ( /obj/machinery/turretid/lethal{ pixel_y = 32 @@ -6687,7 +6750,7 @@ dir = 4 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Si" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 1 @@ -6742,9 +6805,12 @@ /turf/open/floor/plating, /area/ship/engineering) "Su" = ( -/obj/machinery/computer/mech_bay_power_console, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "SB" = ( /obj/structure/cable{ icon_state = "1-8" @@ -6789,7 +6855,7 @@ /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "SI" = ( /obj/structure/cable{ icon_state = "2-8" @@ -6812,14 +6878,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "SK" = ( -/obj/structure/closet/toolcloset/empty, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical, -/obj/item/rcl/pre_loaded, /obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/terminal{ + dir = 1 + }, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/area/ship/engineering/communications) "SL" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 @@ -6867,14 +6934,15 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Tg" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ + dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/yellow/line{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Tj" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6884,7 +6952,6 @@ /area/ship/bridge) "Tq" = ( /obj/effect/turf_decal/box/corners, -/obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "TA" = ( @@ -6915,7 +6982,7 @@ icon_state = "4-8" }, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "TH" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/effect/decal/cleanable/dirt, @@ -6923,7 +6990,7 @@ /obj/machinery/door/airlock/maintenance_hatch, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "TK" = ( /obj/structure/window/reinforced{ dir = 4 @@ -6957,12 +7024,12 @@ "TN" = ( /obj/structure/falsewall/plastitanium, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "TO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "TS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6994,7 +7061,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/secure/loot, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Uc" = ( /obj/structure/cable{ icon_state = "1-4" @@ -7094,15 +7161,15 @@ dir = 1 }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Uy" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "UD" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) +/area/ship/storage/port) "UG" = ( /obj/machinery/button/door{ dir = 4; @@ -7133,6 +7200,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4, /turf/open/floor/plasteel/tech, /area/ship/engineering) +"UO" = ( +/obj/machinery/light/directional/south, +/turf/template_noop, +/area/template_noop) "UP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7156,7 +7227,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Ve" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -7177,15 +7248,12 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "Vg" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/dark, -/area/ship/storage) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/engineering/communications) "Vj" = ( /obj/structure/table/reinforced, /obj/structure/sign/poster/contraband/red_rum{ @@ -7213,7 +7281,7 @@ /obj/machinery/light/small/directional/south, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "Vr" = ( /obj/item/trash/boritos, /turf/open/floor/plasteel/grimy, @@ -7224,7 +7292,7 @@ }, /obj/structure/grille, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Vz" = ( /obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, /turf/open/floor/plating, @@ -7253,7 +7321,6 @@ }, /obj/machinery/button/door{ id = "talos_tank_burn"; - name = "Access Door Control"; pixel_x = 4; pixel_y = 21; req_access = null; @@ -7305,7 +7372,7 @@ "Wd" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "We" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7334,7 +7401,7 @@ "Wg" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Wh" = ( /obj/structure/cable{ icon_state = "4-8" @@ -7351,7 +7418,7 @@ }, /obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/storage/port) "Wp" = ( /obj/structure/window/reinforced{ dir = 4 @@ -7368,7 +7435,7 @@ /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Wz" = ( /obj/machinery/computer/helm{ dir = 8 @@ -7537,7 +7604,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Yt" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -7599,7 +7666,15 @@ "YI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) +"YK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/storage) "YU" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ @@ -7610,33 +7685,34 @@ }, /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "YX" = ( /obj/structure/grille, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "YZ" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Zb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/garbage, /turf/open/floor/plating/airless, -/area/ship/cargo/port) +/area/ship/maintenance/port) "Zc" = ( -/obj/mecha/working/ripley/cargo{ - name = "\improper APLU 'Big Boss'" - }, -/obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/status_display/shuttle{ pixel_y = 32 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/storage) +/obj/machinery/telecomms/hub{ + autolinkers = list("hub","bus","relay","messaging","inteq","common","broadcasterB","receiverB"); + id = "IRMG Communications Hub"; + network = "irmg_commnet" + }, +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "Zd" = ( /obj/machinery/door/airlock{ dir = 4; @@ -7663,7 +7739,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/firecloset, /turf/open/floor/plating/airless, -/area/ship/cargo/starboard) +/area/ship/maintenance/starboard) "Zj" = ( /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, @@ -7680,7 +7756,7 @@ name = "vanguard's spare bedsheet" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) "Zn" = ( /obj/structure/closet/emcloset/empty{ anchored = 1; @@ -7701,7 +7777,7 @@ /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) +/area/ship/storage/port) "Zo" = ( /obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ @@ -7727,15 +7803,13 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Zu" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/cable, +/obj/machinery/power/smes/engineering, +/obj/structure/sign/warning/coldtemp{ + pixel_x = -32 }, -/obj/machinery/autolathe, -/obj/item/stack/sheet/metal/five, -/obj/item/stack/sheet/glass/five, /turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/area/ship/engineering/communications) "ZB" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -7777,31 +7851,33 @@ /area/ship/engineering/engine) "ZU" = ( /obj/machinery/light/directional/west, -/obj/machinery/computer/rdconsole/core{ - dir = 4 +/obj/machinery/telecomms/server/presets/inteq{ + autolinkers = list("inteq","hub"); + freq_listening = list(1347); + network = "irmg_commnet" }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) +/turf/open/floor/circuit/telecomms/mainframe, +/area/ship/engineering/communications) "ZV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/cardboard, /obj/effect/spawner/lootdrop/maintenance/three, /turf/open/floor/plating/airless, -/area/ship/maintenance/port) +/area/ship/storage/port) "ZY" = ( /obj/structure/cable{ icon_state = "2-4" }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/airless, -/area/ship/maintenance/starboard) +/area/ship/storage/starboard) (1,1,1) = {" sw sw sw -sw +Pi sw sw tA @@ -7827,15 +7903,15 @@ ie sw sw sw -og +sw sw sw "} (2,1,1) = {" sw +Fk sw -sw -sw +MV sw hL OF @@ -7861,15 +7937,15 @@ pU Ar sw sw -MV +sw sw sw "} (3,1,1) = {" sw +MV sw -sw -sw +MV sw ia bM @@ -7895,15 +7971,15 @@ WH Pm sw sw -MV +sw sw sw "} (4,1,1) = {" sw +MV sw -sw -sw +MV sw vE OF @@ -7929,19 +8005,19 @@ pU pU sw sw -MV +sw sw sw "} (5,1,1) = {" sw Bd -sV -sV -sV -sV -sV -sV +vp +vp +vp +vp +vp +vp AO cj qD @@ -7959,23 +8035,23 @@ lA cF xK QU -ao -ao -ao -ao -ao +sV +sV +sV +sV +sV Pw sw "} (6,1,1) = {" -cV -sV +og +vp ZU eC Zu SK Ok -sV +vp HB MS yL @@ -7998,18 +8074,18 @@ yc ms xz ls -ao -vp +sV +cV "} (7,1,1) = {" -sV +vp Eg mz EC My LT zz -sV +vp Sj Qq ek @@ -8027,16 +8103,16 @@ bA pU lq mJ -ao +sV tu ap ag Oi xl -ao +sV "} (8,1,1) = {" -sV +vp Zc Vg Kf @@ -8065,19 +8141,19 @@ nE qc wx cT -Oi +YK Gz ao "} (9,1,1) = {" -sV +vp Su Rc Tg -Tg +aD MC zR -sV +vp jY gk iE @@ -8099,19 +8175,19 @@ nE zt vM wb -Oi +tM an -ao +sV "} (10,1,1) = {" -cV -sV +og +vp au fo Hl jJ -sV -sV +vp +vp sW sW sW @@ -8129,19 +8205,19 @@ xI pU NK NK -ao +sV yr tO LV bF -ao -vp +sV +cV "} (11,1,1) = {" sw GA -sV -sV +vp +vp sW sW sW @@ -8163,19 +8239,19 @@ xI pU NK NK -ao +sV sc jW -ao -ao +sV +sV Xa -MV +sw "} (12,1,1) = {" sw +MV sw -sw -cV +og sW zf GG @@ -8197,17 +8273,17 @@ xI pU pU pU -ao -ao -ao -vp -MV +sV +sV +sV +cV +sw +sw sw -MV "} (13,1,1) = {" sw -sw +MV sw sw sW @@ -8235,13 +8311,13 @@ An la sw sw -MV sw -MV +sw +sw "} (14,1,1) = {" sw -sw +MV sw JT sW @@ -8269,13 +8345,13 @@ qo la sw sw -MV sw -MV +sw +sw "} (15,1,1) = {" sw -sw +MV sw mU hg @@ -8303,13 +8379,13 @@ hT hT hT sw -MV sw -MV +sw +sw "} (16,1,1) = {" sw -sw +Pi sw mU Ml @@ -8337,9 +8413,9 @@ wD ot hT sw -MV sw -MV +sw +sw "} (17,1,1) = {" sw @@ -8370,10 +8446,10 @@ hT Zo Fe zw +xk +sw sw -MV sw -Fk "} (18,1,1) = {" sw @@ -8405,7 +8481,7 @@ zo NC hT sw -og +sw sw sw "} @@ -8516,7 +8592,7 @@ sw sw sw sw -sw +Me lC Ks IT @@ -8560,7 +8636,7 @@ zh jc Lc uO -gF +Ic nY ua MW @@ -8584,7 +8660,7 @@ sw sw sw sw -sw +UO lC ae bU @@ -8594,7 +8670,7 @@ WR Tj mX oi -nh +Oc iy qB Oc @@ -8652,7 +8728,7 @@ sw sw sw sw -sw +Me lC qF Zj @@ -8685,8 +8761,8 @@ sw sw sw sw -sw -sw +Me +RO lC UP gp @@ -9622,7 +9698,7 @@ sw sw sw sw -sw +jd sw sw sw diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index b98d0f2f13cd..0b41578dd31b 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -81,27 +81,8 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "aW" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Medbay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plasteel/dark, -/area/ship/medical) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "bh" = ( /obj/structure/railing{ dir = 6 @@ -115,34 +96,15 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bv" = ( -/obj/effect/turf_decal/box/white/corners, -/obj/effect/turf_decal/box/white/corners{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) - }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel, /area/ship/crew/office) "bx" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/turf/open/floor/plasteel/patterned, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "bB" = ( /turf/closed/wall/mineral/plastitanium, @@ -262,14 +224,10 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/maintenance/port) "cE" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/patterned, +/obj/machinery/autolathe, +/turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "cI" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "4-8" }, @@ -279,8 +237,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid, +/obj/machinery/light_switch{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, /area/ship/cargo) "cW" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ @@ -389,6 +351,7 @@ /obj/effect/turf_decal/trimline/opaque/brown/line{ dir = 1 }, +/obj/structure/chair, /turf/open/floor/plasteel/dark, /area/ship/medical) "dG" = ( @@ -457,6 +420,10 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "ec" = ( @@ -508,7 +475,6 @@ /area/ship/bridge) "el" = ( /obj/docking_port/mobile{ - can_move_docking_ports = 1; dir = 2; name = "valor docking port"; port_direction = 8; @@ -532,10 +498,16 @@ /obj/item/storage/box/zipties, /obj/item/reagent_containers/spray/pepper, /obj/item/megaphone/sec, -/obj/item/clothing/suit/armor/vest/alt, -/obj/item/clothing/suit/armor/vest/alt, +/obj/item/clothing/suit/armor/vest, +/obj/item/clothing/suit/armor/vest, /obj/item/kitchen/knife/combat/survival, /obj/item/kitchen/knife/combat/survival, +/obj/machinery/recharger{ + pixel_x = -16; + pixel_y = 5 + }, +/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, +/obj/item/clothing/mask/gas/sechailer/balaclava/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "ey" = ( @@ -558,21 +530,28 @@ "eU" = ( /obj/structure/table, /obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 7 + pixel_x = -7; + pixel_y = 10 }, /obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = 8; + pixel_x = -1; pixel_y = 3 }, /obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/button/door{ + id = "valor_surgery"; + name = "Privacy Shutters"; + pixel_y = 8; + dir = 1; + pixel_x = 8 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "eV" = ( -/obj/structure/closet/firecloset/wall/directional/south, /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/closet/firecloset/wall/directional/south, /turf/open/floor/plating, /area/ship/maintenance/port) "eZ" = ( @@ -600,14 +579,19 @@ /obj/effect/spawner/lootdrop/ration, /obj/effect/spawner/lootdrop/ration, /obj/item/storage/ration/crayons, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "fj" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/structure/closet/secure_closet/medical2, /obj/machinery/airalarm/directional/north, +/obj/machinery/vending/medical/syndicate_access{ + name = "\improper InteqMed Plus" + }, /turf/open/floor/plasteel/dark, /area/ship/medical) "fE" = ( @@ -630,7 +614,8 @@ /area/ship/cargo) "fK" = ( /obj/machinery/computer/crew{ - dir = 8 + dir = 8; + icon_state = "computer-middle" }, /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -642,33 +627,43 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "fN" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "fO" = ( /obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) + icon_state = "prisoner"; + name = "shuttle pilot locker"; + req_access = list(3); + icon_door = "prisoner" }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/effect/turf_decal/siding/thinplating, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/suit/armor/vest/alt, +/obj/item/radio/headset/inteq, +/obj/item/clothing/gloves/fingerless, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/clothing/glasses/hud/security/sunglasses/inteq, +/obj/item/clothing/head/helmet/swat/inteq, +/obj/item/clothing/mask/gas/sechailer, +/turf/open/floor/plasteel, /area/ship/crew/office) "gb" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 }, +/obj/machinery/light/directional/west, +/obj/structure/chair/sofa/brown/left{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "gh" = ( @@ -678,14 +673,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "2-8" }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) @@ -740,14 +735,7 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "gq" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/light/small/directional/east, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20 - }, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "gt" = ( /obj/effect/decal/cleanable/dirt, @@ -767,11 +755,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/dark, /area/ship/medical) "gZ" = ( @@ -796,6 +785,9 @@ "hl" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/chair/sofa/brown/right{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "hm" = ( @@ -870,7 +862,7 @@ dir = 8; pixel_x = 12 }, -/turf/open/floor/plasteel/white, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "id" = ( /obj/structure/cable{ @@ -897,6 +889,7 @@ }, /obj/structure/chair/sofa/brown/left/directional/west, /obj/structure/closet/firecloset/wall/directional/south, +/obj/machinery/computer/helm/viewscreen/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "ix" = ( @@ -912,13 +905,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) -"iI" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/traffic/corner, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "iN" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 5 @@ -971,7 +957,11 @@ /obj/structure/cable{ icon_state = "2-8" }, -/turf/open/floor/plasteel/patterned/cargo_one, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "jk" = ( /obj/structure/cable{ @@ -1017,15 +1007,9 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "jG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/stand_clear{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/machinery/rnd/server, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "jL" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, @@ -1036,12 +1020,13 @@ /turf/open/floor/plating, /area/ship/medical) "jN" = ( -/obj/structure/chair/office/light, +/obj/structure/chair/office, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable{ icon_state = "0-4" }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "jQ" = ( /obj/structure/catwalk/over/plated_catwalk, @@ -1068,14 +1053,18 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/bridge) "jT" = ( -/obj/structure/sign/poster/contraband/cardinal_port_starboard{ - pixel_y = 32 +/obj/structure/rack, +/obj/item/roller, +/obj/item/roller{ + pixel_x = -1; + pixel_y = 8 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/item/roller{ + pixel_x = 1; + pixel_y = 16 }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "jU" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 @@ -1130,20 +1119,11 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"ky" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plating, -/area/ship/hallway/port) "kG" = ( /obj/effect/turf_decal/techfloor{ dir = 8 }, +/obj/structure/closet/crate/bin, /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "kH" = ( @@ -1186,19 +1166,20 @@ "kL" = ( /obj/machinery/light/directional/south, /obj/structure/rack, +/obj/item/stack/sheet/metal/fifty, +/obj/item/stack/sheet/glass/fifty, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "kW" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, -/obj/structure/closet/crate/bin, -/obj/item/trash/chips, -/obj/item/trash/energybar, -/obj/item/trash/cheesie, -/obj/item/trash/pistachios, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/obj/machinery/door/airlock/grunge{ + name = "Medbay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/medical) "lc" = ( /obj/structure/catwalk/over/plated_catwalk/dark, /obj/structure/cable{ @@ -1278,10 +1259,6 @@ /area/ship/crew/canteen) "lN" = ( /obj/structure/table, -/obj/machinery/computer/med_data/laptop{ - dir = 1; - pixel_y = 8 - }, /obj/machinery/door/window/southleft, /obj/structure/window/reinforced{ dir = 8 @@ -1290,6 +1267,7 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/effect/turf_decal/corner/transparent/inteqbrown/full, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "lW" = ( @@ -1361,8 +1339,11 @@ /turf/open/floor/plasteel/tech, /area/ship/medical) "mt" = ( -/obj/machinery/autolathe, -/turf/open/floor/plasteel/patterned/ridged, +/obj/structure/rack, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/obj/item/tank/internals/plasmaman/full, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "mw" = ( /obj/effect/turf_decal/trimline/opaque/brown/warning{ @@ -1412,30 +1393,19 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/dorm) "mG" = ( -/obj/structure/closet/secure_closet{ - icon_state = "med_secure"; - name = "corpsman's locker"; - req_access = list(5) - }, -/obj/item/clothing/under/syndicate/inteq/corpsman, -/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, -/obj/item/clothing/suit/armor/inteq/corpsman, -/obj/item/clothing/head/soft/inteq/corpsman, -/obj/effect/turf_decal/box/white/corners{ +/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ dir = 1 }, -/obj/effect/turf_decal/box/white/corners{ - dir = 8 +/obj/structure/table, +/obj/item/book/manual/wiki/piloting{ + pixel_x = 7; + pixel_y = 7 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 10 +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 11 }, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/pinpointer/crew, -/obj/item/storage/belt/medical/webbing, -/obj/item/storage/firstaid/regular, -/turf/open/floor/plasteel/patterned/ridged, +/turf/open/floor/plasteel, /area/ship/crew/office) "mH" = ( /obj/machinery/power/apc/auto_name/directional/east, @@ -1537,7 +1507,7 @@ dir = 1 }, /obj/machinery/door/airlock/medical/glass{ - name = "Surgical Bay #2" + name = "Surgical Bay" }, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -1601,13 +1571,6 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "oz" = ( -/obj/structure/railing{ - dir = 4; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor/corner{ - dir = 4 - }, /obj/structure/cable{ icon_state = "6-8" }, @@ -1615,8 +1578,8 @@ /area/ship/cargo) "oC" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/orange, /obj/effect/turf_decal/techfloor{ dir = 1 }, @@ -1754,10 +1717,8 @@ /area/ship/crew/cryo) "pC" = ( /obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/white, +/obj/structure/curtain, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "pL" = ( /obj/machinery/power/terminal{ @@ -1801,22 +1762,44 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "qe" = ( -/obj/effect/turf_decal/industrial/traffic, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) -"qk" = ( -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/techfloor{ +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/siding/thinplating{ dir = 4 }, -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) +"qk" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/hatch, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) "qt" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "qA" = ( @@ -1859,6 +1842,9 @@ "qR" = ( /obj/structure/grille, /obj/structure/window/plasma/reinforced/plastitanium, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "valor_surgery" + }, /turf/open/floor/plating, /area/ship/medical) "qW" = ( @@ -1913,11 +1899,10 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" }, /turf/open/floor/plasteel/dark, /area/ship/medical) @@ -1971,7 +1956,6 @@ "sc" = ( /obj/structure/rack, /obj/machinery/firealarm/directional/east, -/obj/item/radio/intercom/directional/south, /obj/item/defibrillator/loaded{ pixel_x = 3; pixel_y = 10 @@ -1980,6 +1964,10 @@ pixel_x = -2; pixel_y = 2 }, +/obj/machinery/smartfridge/bloodbank/preloaded{ + density = 0; + pixel_y = -32 + }, /turf/open/floor/plasteel/mono/white, /area/ship/medical) "se" = ( @@ -2004,27 +1992,24 @@ /obj/effect/turf_decal/borderfloorwhite{ dir = 1 }, -/obj/machinery/door/airlock/medical/glass{ - name = "Surgical Bay #1" +/obj/machinery/door/airlock/medical{ + name = "Morgue" }, /turf/open/floor/plasteel/white, /area/ship/medical) "ss" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/patterned, +/obj/structure/rack, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/obj/item/pickaxe/emergency, +/turf/open/floor/plasteel/mono/dark, /area/ship/cargo) "su" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/brown/line{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/chair, -/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, /area/ship/medical) "sy" = ( @@ -2059,7 +2044,6 @@ /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, -/obj/machinery/recharger, /turf/open/floor/plasteel/dark, /area/ship/security) "sz" = ( @@ -2118,10 +2102,6 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "te" = ( -/obj/structure/railing{ - dir = 1; - layer = 2.9 - }, /obj/effect/turf_decal/borderfloor{ dir = 1 }, @@ -2137,6 +2117,9 @@ /obj/item/target/syndicate{ pixel_y = 5 }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "tf" = ( @@ -2163,20 +2146,8 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "tj" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 20 - }, -/turf/open/floor/plasteel/tech/grid, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "tk" = ( /obj/structure/reagent_dispensers/watertank, @@ -2218,25 +2189,17 @@ "tS" = ( /obj/effect/turf_decal/siding/thinplating, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "tZ" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew/office) "ua" = ( -/obj/effect/turf_decal/siding/thinplating/corner, /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "un" = ( @@ -2261,16 +2224,16 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "ux" = ( -/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/effect/turf_decal/trimline/opaque/brown/warning{ + dir = 1 }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/medical) "uA" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 4 @@ -2293,19 +2256,16 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/noticeboard{ pixel_y = 28 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "uS" = ( @@ -2329,12 +2289,10 @@ /turf/open/floor/plating, /area/ship/cargo) "vh" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/hallway/port) "vi" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 8 @@ -2481,7 +2439,8 @@ dir = 10 }, /obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "wS" = ( /obj/machinery/power/terminal{ @@ -2506,18 +2465,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "xg" = ( -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/medical) "xj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/cargo) @@ -2530,6 +2483,9 @@ dir = 1; pixel_y = -20 }, +/obj/structure/chair{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "xp" = ( @@ -2554,24 +2510,16 @@ "xr" = ( /obj/structure/table, /obj/item/paper_bin, -/obj/item/folder/white{ - pixel_x = -15; - pixel_y = -1 - }, /obj/item/pen, /obj/structure/window/reinforced, /obj/structure/window/reinforced{ dir = 4 }, -/obj/item/toy/figure/paramedic{ - name = "Corpsman action figure"; - pixel_x = -13; - pixel_y = 14 - }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/effect/turf_decal/corner/transparent/inteqbrown/full, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "xs" = ( @@ -2672,19 +2620,15 @@ dir = 4 }, /obj/structure/rack, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "yK" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/medical) +/obj/effect/turf_decal/industrial/traffic/corner, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "yN" = ( /obj/structure/chair/office/dark, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2717,7 +2661,8 @@ /area/ship/maintenance/port) "zi" = ( /obj/machinery/computer/helm{ - dir = 8 + dir = 8; + icon_state = "computer-middle" }, /obj/effect/turf_decal/corner/opaque/yellow, /obj/effect/turf_decal/corner/opaque/brown{ @@ -2741,15 +2686,17 @@ }, /obj/machinery/airalarm/directional/south, /obj/machinery/fax/inteq{ - pixel_y = 3 + pixel_y = 6 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "zs" = ( -/obj/effect/turf_decal/siding/thinplating, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "zA" = ( @@ -2767,23 +2714,18 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "zC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 }, -/obj/machinery/smartfridge/bloodbank/preloaded{ - density = 0; - pixel_y = 32 +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 }, -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plasteel/mono/dark, +/turf/open/floor/plasteel/dark, /area/ship/medical) "zD" = ( -/obj/machinery/computer/operating{ - dir = 4 - }, -/obj/effect/turf_decal/borderfloorwhite, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "zE" = ( /obj/effect/turf_decal/siding/thinplating/dark{ @@ -2823,34 +2765,20 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "zI" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Cargo Bay" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/effect/turf_decal/borderfloorblack, +/obj/machinery/door/airlock/hatch, /turf/open/floor/plasteel/patterned, /area/ship/medical) "zK" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/airlock/public/glass{ - name = "Supply Storage" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 +/obj/docking_port/stationary{ + dir = 4; + dwidth = 15; + height = 15; + name = "valor airlock dock"; + width = 15 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/turf/template_noop, +/area/template_noop) "zL" = ( /obj/structure/chair{ dir = 1 @@ -2868,22 +2796,10 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "zS" = ( -/obj/structure/table, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 }, -/obj/item/storage/box/masks{ - pixel_x = -7; - pixel_y = 10 - }, -/obj/item/storage/box/gloves{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/structure/sign/poster/official/walk{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/mono/dark, +/turf/open/floor/plasteel/dark, /area/ship/medical) "zT" = ( /obj/structure/railing, @@ -2932,24 +2848,19 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Au" = ( -/obj/structure/rack, -/obj/item/roller, -/obj/item/roller{ - pixel_x = -1; - pixel_y = 8 - }, -/obj/item/roller{ - pixel_x = 1; - pixel_y = 16 - }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/item/reagent_containers/blood/universal, +/obj/machinery/iv_drip, /turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/area/ship/medical) "Av" = ( /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -2958,17 +2869,25 @@ /area/ship/maintenance/starboard) "AE" = ( /obj/structure/table, +/obj/machinery/airalarm/directional/east, +/obj/item/storage/box/gloves{ + pixel_x = -6; + pixel_y = 4 + }, /obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 7 + pixel_x = 4; + pixel_y = 14 }, -/obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = 8; - pixel_y = 3 +/obj/effect/turf_decal/borderfloorblack, +/obj/item/reagent_containers/glass/bottle/formaldehyde{ + pixel_x = 9; + pixel_y = 4 }, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/borderfloorwhite, -/turf/open/floor/plasteel/white, +/obj/item/reagent_containers/syringe{ + pixel_y = -4; + pixel_x = -7 + }, +/turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "AG" = ( /obj/structure/bed, @@ -3069,7 +2988,10 @@ /obj/structure/sign/poster/official/help_others{ pixel_y = 32 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ + dir = 1 + }, +/turf/open/floor/plasteel, /area/ship/crew/office) "BL" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3090,14 +3012,11 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "BV" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "valor_external" +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plating, +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "Cb" = ( /obj/effect/turf_decal/industrial/traffic{ @@ -3134,14 +3053,28 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "CC" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/hallway/port) +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/box/white/corners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "CF" = ( /obj/structure/table/optable, /obj/machinery/defibrillator_mount/loaded{ @@ -3309,22 +3242,15 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "DR" = ( -/obj/machinery/door/airlock/hatch{ - name = "Cargo Bay" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/door/airlock/hatch{ + name = "Port Hallway" }, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "DT" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, @@ -3393,18 +3319,16 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "EE" = ( -/obj/effect/turf_decal/trimline/opaque/brown/line{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/structure/chair, -/obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/light_switch{ dir = 8; pixel_x = 20 }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/brown/line{ + dir = 5 + }, /turf/open/floor/plasteel/dark, /area/ship/medical) "EJ" = ( @@ -3467,6 +3391,10 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ff" = ( @@ -3490,18 +3418,6 @@ }, /turf/open/floor/plasteel/dark, /area/ship/medical) -"Ft" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "FF" = ( /obj/structure/bed, /obj/item/bedsheet/brown, @@ -3545,9 +3461,8 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "FY" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/stairs, -/area/ship/cargo) +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) "FZ" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -3571,7 +3486,8 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "Go" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3625,8 +3541,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) @@ -3640,18 +3559,14 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Hw" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ +/obj/effect/turf_decal/borderfloorblack{ dir = 1 }, -/obj/machinery/door/airlock/public/glass{ - name = "EVA Storage" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 10 +/obj/machinery/door/airlock/hatch{ + name = "Port Hallway" }, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "HA" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -3759,10 +3674,8 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Io" = ( -/obj/machinery/rnd/server, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/turf/open/floor/plasteel/patterned, +/area/ship/medical) "IA" = ( /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 1 @@ -3791,15 +3704,12 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "IL" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -20 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) "IM" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 @@ -3851,6 +3761,15 @@ "Jn" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, +/obj/structure/table, +/obj/item/storage/box/masks{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/storage/box/gloves{ + pixel_x = 8; + pixel_y = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/medical) "Jt" = ( @@ -3875,19 +3794,11 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "JS" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 1 }, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, -/turf/open/floor/plasteel/patterned/cargo_one, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "JT" = ( /obj/docking_port/stationary{ @@ -3937,10 +3848,14 @@ /area/ship/crew/canteen) "Kn" = ( /obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Ko" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/effect/turf_decal/corner/opaque/brown{ @@ -3962,6 +3877,10 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Kz" = ( @@ -3999,18 +3918,9 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "KU" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "KV" = ( @@ -4096,12 +4006,14 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "Ls" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ dir = 4 }, -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "LH" = ( /obj/machinery/light/floor, /obj/structure/cable{ @@ -4121,20 +4033,38 @@ }, /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/button/door{ + id = "valor_surgery"; + name = "Privacy Shutters"; + pixel_y = -23; + dir = 1; + pixel_x = -7 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "LL" = ( -/obj/structure/rack, -/obj/item/pickaxe/emergency, -/obj/item/pickaxe/emergency, -/obj/item/pickaxe/emergency, -/obj/machinery/airalarm/directional/east, -/obj/machinery/light_switch{ - dir = 1; - pixel_y = -20 +/obj/structure/closet/secure_closet{ + icon_state = "med_secure"; + name = "corpsman's locker"; + req_access = list(5) + }, +/obj/item/storage/firstaid/regular, +/obj/item/storage/belt/medical/webbing, +/obj/item/pinpointer/crew, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/messenger/med, +/obj/item/clothing/head/soft/inteq/corpsman, +/obj/item/clothing/suit/armor/inteq/corpsman, +/obj/item/clothing/under/syndicate/inteq/skirt/corpsman, +/obj/item/clothing/under/syndicate/inteq/corpsman, +/obj/effect/turf_decal/box/white/corners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 }, /turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/area/ship/medical) "LR" = ( /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 @@ -4189,9 +4119,6 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "ME" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medical Office" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only{ @@ -4201,6 +4128,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/door/airlock/grunge{ + req_access = list(3) + }, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "MK" = ( @@ -4213,13 +4143,16 @@ /turf/open/floor/plating/airless, /area/ship/external/dark) "MR" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/patterned/ridged, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Nh" = ( /turf/closed/wall/mineral/plastitanium, @@ -4369,11 +4302,13 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Oj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/patterned, +/turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Ok" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -4412,40 +4347,40 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "OK" = ( -/obj/machinery/iv_drip/saline, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/effect/turf_decal/borderfloorblack, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) "OM" = ( /turf/open/floor/pod, /area/ship/cargo) "OR" = ( -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "OT" = ( -/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "OV" = ( -/obj/structure/catwalk/over/plated_catwalk/dark, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/small/directional/east, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/medical) +/turf/open/floor/plasteel/patterned/grid, +/area/ship/hallway/port) "Pb" = ( /obj/machinery/power/terminal{ dir = 8 @@ -4505,7 +4440,8 @@ dir = 1; pixel_y = -20 }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "PL" = ( /obj/effect/turf_decal/siding/thinplating/dark{ @@ -4539,19 +4475,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) -"Qd" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) "Qk" = ( /obj/structure/table, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -4583,7 +4506,8 @@ dir = 4 }, /obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/turf/open/floor/plasteel, /area/ship/crew/office) "Qw" = ( /obj/effect/turf_decal/siding/thinplating{ @@ -4605,6 +4529,12 @@ /obj/structure/sign/warning/vacuum{ pixel_x = 32 }, +/obj/structure/table/glass, +/obj/machinery/computer/med_data/laptop{ + dir = 8; + pixel_y = 7; + pixel_x = 3 + }, /turf/open/floor/plasteel/tech, /area/ship/medical) "QG" = ( @@ -4648,20 +4578,11 @@ dir = 10 }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/sign/warning/incident{ - pixel_y = 32 - }, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Re" = ( -/obj/structure/closet/crate/freezer, -/obj/machinery/iv_drip, -/obj/item/reagent_containers/blood/universal, -/obj/item/reagent_containers/blood/universal, -/obj/item/reagent_containers/blood/universal, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/turf/open/floor/plasteel/dark, +/area/ship/medical) "Rh" = ( /turf/closed/wall/mineral/plastitanium, /area/ship/security) @@ -4721,6 +4642,9 @@ "Sd" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/light/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sf" = ( @@ -4736,12 +4660,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sh" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/ship/hallway/central) "Sl" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -4870,17 +4797,9 @@ /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 4 - }, /obj/effect/turf_decal/trimline/opaque/brown/warning{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/dark, /area/ship/medical) "Uj" = ( @@ -4939,7 +4858,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/machinery/light/directional/south, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "UO" = ( @@ -4955,6 +4873,8 @@ /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Ve" = ( +/obj/structure/table, +/obj/machinery/cell_charger, /turf/open/floor/plasteel/tech, /area/ship/medical) "Vp" = ( @@ -4985,8 +4905,7 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, -/obj/structure/closet/firecloset, -/turf/open/floor/plasteel/tech, +/turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/hallway/central) "VB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ @@ -5121,6 +5040,7 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/firealarm/directional/west, +/obj/structure/chair, /turf/open/floor/plasteel/dark, /area/ship/medical) "WQ" = ( @@ -5148,11 +5068,9 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/machinery/vending/medical/syndicate_access{ - name = "\improper InteqMed Plus" - }, /obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/dark, /area/ship/medical) "Xi" = ( /obj/structure/chair{ @@ -5177,8 +5095,8 @@ /area/ship/crew/dorm) "Xu" = ( /obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, +/obj/item/clothing/suit/space/orange, +/obj/item/clothing/head/helmet/space/orange, /obj/effect/turf_decal/techfloor{ dir = 1 }, @@ -5200,9 +5118,23 @@ /turf/open/floor/plasteel/dark, /area/ship/medical) "Xx" = ( -/obj/structure/closet/secure_closet/medical1, /obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ + dir = 1 + }, +/obj/structure/table, +/obj/item/storage/toolbox/emergency/shuttle{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/item/gps{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/gps{ + pixel_x = 2 + }, +/turf/open/floor/plasteel, /area/ship/crew/office) "XD" = ( /obj/effect/turf_decal/siding/thinplating/dark/corner{ @@ -5254,12 +5186,6 @@ }, /turf/open/floor/plasteel/patterned/grid, /area/ship/crew/canteen) -"XU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) "Yd" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 4 @@ -5297,11 +5223,9 @@ /turf/open/floor/plasteel/patterned/brushed, /area/ship/crew/canteen) "Yt" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned, -/area/ship/cargo) +/obj/machinery/rnd/production/techfab/department/medical, +/turf/open/floor/plasteel/patterned/ridged, +/area/ship/medical) "Yu" = ( /obj/effect/turf_decal/techfloor, /obj/structure/closet/firecloset, @@ -5314,9 +5238,11 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/medical) "Yx" = ( -/obj/machinery/rnd/production/techfab/department/medical, -/turf/open/floor/plasteel/patterned/ridged, -/area/ship/cargo) +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/medical) "YF" = ( /obj/machinery/power/terminal{ dir = 8 @@ -5329,14 +5255,14 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "YL" = ( -/obj/structure/grille, -/obj/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "valor_external" +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/ship/hallway/central) +/turf/open/floor/plasteel/dark, +/area/ship/medical) "YM" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -5403,12 +5329,8 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "Zf" = ( -/obj/structure/railing{ - dir = 4; - layer = 2.9 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 +/obj/structure/sign/warning/incident{ + pixel_y = 32 }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -5556,7 +5478,7 @@ Td Nh xj qG -iI +yK Cb Cb Cb @@ -5589,7 +5511,7 @@ Td xj og FI -qe +tj OM OM OM @@ -5622,7 +5544,7 @@ Td xj rL uS -qe +tj OM OM OM @@ -5655,7 +5577,7 @@ Td xj sZ uS -qe +tj OM OM OM @@ -5669,7 +5591,7 @@ Td bB LI ns -qR +LI pC zD LI @@ -5688,13 +5610,13 @@ Td xj GF uS -qe +tj OM OM OM OM Kz -rL +cE xj Td Td @@ -5702,9 +5624,9 @@ Td WC WO gp -qR -Yi -bI +LI +FY +OK LI "} (9,1,1) = {" @@ -5721,7 +5643,7 @@ Td xj Ch FI -qe +tj OM OM OM @@ -5754,7 +5676,7 @@ DU HC Zf oz -qe +tj OM OM OM @@ -5780,25 +5702,25 @@ Rh Zu uB ua -Wp -CC -ky -CC +OV +aW +aW +aW DR -Qd -FY +ZF +ZF kH Mn Ea -jG +Ls Mn de KU zI -yK -OV -yK -aW +Re +Re +xg +Re Ui gU nK @@ -5813,11 +5735,11 @@ jN lN gh zs -HC -HC -HC -HC -HC +fN +OR +OR +OR +Wp OT JS jj @@ -5826,13 +5748,13 @@ Kp Kn dQ Fa -Ft -LI -LI -LI -LI -LI +MR +qk su +su +YL +su +ux rO qR Yi @@ -5847,11 +5769,11 @@ xr Hg tS HC -MR vh -fN -xj -tj +vh +vh +HC +cI te fe Ok @@ -5859,11 +5781,11 @@ Xf as HL ec -xg -xj -Au -Re -OK +Md +LI +LI +LI +LI LI EE oy @@ -5880,11 +5802,11 @@ tZ An Sd HC -Oj -XU -XU +ss +bx +mt xj -cI +nX Jd qA UQ @@ -5892,11 +5814,11 @@ hm Cc JJ zT -Md -xj -XU -XU -cE +nX +LI +jG +Io +Au LI LI dN @@ -5913,11 +5835,11 @@ tZ Qc AP HC -bx -ss -Sh +gq +gq +gq Hw -ux +nX ct TB AM @@ -5926,10 +5848,10 @@ dO yy bh nX -zK -Yt +LI Yt -IL +Io +jT LI zS pt @@ -5946,10 +5868,10 @@ ME iN xl HC -OR gq -LL -Nh +gq +gq +xj Rc bF Hi @@ -5959,11 +5881,11 @@ tH Ff jQ qX -xj +LI Yx Io -mt -LI +Io +kW zC Ye mw @@ -5979,9 +5901,9 @@ tZ VD Um DT -DT -DT -DT +Oj +Oj +Oj DT DT DT @@ -5990,13 +5912,13 @@ NE DT nz DT -Tw -Tw -DT -DT -DT DT DT +LI +CC +qe +LL +LI Xg Uj dl @@ -6013,8 +5935,8 @@ ty dp DT Vy -qk -Ls +Vy +Vy DT fE sJ @@ -6026,8 +5948,8 @@ zG Qw jU DT -kW -qk +Vy +Vy Vy DT fj @@ -6046,7 +5968,7 @@ ma CH jk lc -lc +Sh lc ht jw @@ -6060,7 +5982,7 @@ GR hj id lc -lc +Sh lc bR XD @@ -6078,8 +6000,8 @@ mI gn qZ DT -kG -kG +IL +BV kG Tw Lb @@ -6092,9 +6014,9 @@ zO lE WX DT -jT -kG kG +BV +IL DT zA mx @@ -6111,9 +6033,9 @@ uA Pk Ei DT -YL -YL -BV +DT +DT +DT DT mZ Yd @@ -6125,9 +6047,9 @@ Ik Od ie DT -YL -YL -YL +DT +DT +DT DT LI zE @@ -6526,7 +6448,7 @@ Td Td Td Td -Td +zK Td Td Td diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 23a80717b42f..9e8f7d6c81f5 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -2897,7 +2897,7 @@ /turf/open/floor/plasteel/tech, /area/ship/cargo) "TK" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/yellow, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index b723b020aa36..e5890b401cfa 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -2530,7 +2530,7 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "Lv" = ( -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/nsorange, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm index 8314f17e288c..351f188e3369 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm @@ -263,9 +263,6 @@ }, /area/ship/maintenance/starboard) "cv" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /obj/machinery/igniter/incinerator_atmos, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -426,7 +423,6 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew) "dZ" = ( -/obj/effect/spawner/lootdrop/maintenance, /obj/effect/turf_decal/ntspaceworks_big/one{ dir = 4 }, @@ -2843,9 +2839,6 @@ /turf/open/floor/plating, /area/ship/maintenance/fore) "CF" = ( -/obj/structure/disposalpipe/segment{ - dir = 8 - }, /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/engine, /area/ship/engineering/engine) @@ -4290,7 +4283,7 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew) "RK" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 4 }, /obj/item/radio/intercom/directional/west, @@ -4360,9 +4353,6 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) "Sv" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/machinery/power/generator{ dir = 4 }, @@ -4906,7 +4896,6 @@ /area/ship/hallway/fore) "WN" = ( /obj/machinery/atmospherics/components/binary/circulator, -/obj/structure/disposalpipe/segment, /turf/open/floor/engine, /area/ship/engineering/engine) "WR" = ( @@ -5257,9 +5246,13 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "ZS" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/button/ignition/incinerator/atmos{ + dir = 4; + pixel_x = -23; + pixel_y = -3 + }, /turf/open/floor/plating, /area/ship/engineering/engine) "ZX" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index a742a35fafe9..e72766239a4f 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -2003,7 +2003,7 @@ dir = 1 }, /obj/machinery/door/airlock/research{ - name = "Mech Bay" + name = "Exosuit Bay" }, /turf/open/floor/plasteel/patterned/grid, /area/ship/science/robotics) @@ -3374,13 +3374,13 @@ "mt" = ( /obj/structure/window/reinforced/spawner, /obj/structure/rack, -/obj/item/gun/ballistic/automatic/smg/proto{ +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ pixel_y = 3 }, -/obj/item/gun/ballistic/automatic/smg/proto{ +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ pixel_y = -2 }, -/obj/item/gun/ballistic/automatic/smg/proto{ +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto{ pixel_y = -7 }, /turf/open/floor/plasteel/tech, @@ -3481,7 +3481,7 @@ dir = 1 }, /obj/machinery/door/airlock/research{ - name = "Mech Bay" + name = "Exosuit Bay" }, /turf/open/floor/plasteel/patterned/grid, /area/ship/science/robotics) @@ -4557,7 +4557,7 @@ }, /obj/machinery/door/poddoor{ id = "heron_mechbayshut"; - name = "Mechbay Shutters" + name = "Exosuit Bay Shutters" }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/science/robotics) @@ -7282,7 +7282,7 @@ "AC" = ( /obj/machinery/door/poddoor{ id = "heron_mechbayshut"; - name = "Mechbay Shutters" + name = "Exosuit Bay Shutters" }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/science/robotics) @@ -10099,7 +10099,7 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "LS" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/structure/railing{ @@ -11850,7 +11850,7 @@ }, /obj/machinery/door/poddoor{ id = "heron_mechbayshut"; - name = "Mechbay Shutters" + name = "Exosuit Bay Shutters" }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/science/robotics) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm index 9abfe4c6c6cb..663a567b8bbc 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm @@ -1107,7 +1107,7 @@ /turf/open/floor/plasteel/dark, /area/ship/cargo) "dg" = ( -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/blue/three_quarters{ @@ -2647,7 +2647,7 @@ /area/ship/cargo) "Du" = ( /obj/effect/turf_decal/corner/transparent/neutral/full, -/obj/machinery/computer/cargo/express/retro{ +/obj/machinery/computer/cargo/retro{ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index f5ffea852281..928fc6bd90ee 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -4024,7 +4024,7 @@ /turf/open/floor/plasteel, /area/ship/security/prison) "xT" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /turf/open/floor/plasteel/telecomms_floor, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm index 774f1d57cc40..0c860abb9e20 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm @@ -95,7 +95,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/corner/opaque/brown{ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index a106a307bb18..342ffb8fa928 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -464,7 +464,7 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/port) "eE" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /turf/open/floor/plasteel/tech, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm index f910af5043c8..802756c19d04 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm @@ -440,6 +440,7 @@ /area/ship/hallway/central) "dO" = ( /obj/machinery/atmospherics/components/trinary/mixer/flipped/layer4, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech, /area/ship/engineering/atmospherics) "dS" = ( @@ -3365,9 +3366,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/item/paper/crumpled{ - default_raw_text = "66% Oxy (Node 1) to 34% Plasma (Node 2) works great at 500 kPa." - }, /obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "engine fuel pump" @@ -4235,7 +4233,7 @@ "JA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /turf/open/floor/plasteel/dark, diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 919770509bec..e016ef725525 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -464,7 +464,7 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/hallway/port) "dK" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/structure/catwalk/over/plated_catwalk/dark, diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 07bd4710a9b1..4bc354b31b5c 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -55,8 +55,8 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "watchdog_holo" +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "tortuga_holo" }, /turf/open/floor/plating, /area/ship/cargo) @@ -173,6 +173,10 @@ pixel_x = -9; dir = 8 }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -6; + pixel_y = -3 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "ci" = ( @@ -268,8 +272,9 @@ /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "dE" = ( -/obj/structure/table, -/obj/item/storage/cans/sixbeer, +/obj/structure/chair/sofa/brown/old/right{ + dir = 1 + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "dF" = ( @@ -393,7 +398,9 @@ pixel_x = -22; pixel_y = -10 }, -/obj/structure/rack, +/obj/structure/salvageable/computer{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "ff" = ( @@ -406,6 +413,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_y = 32 + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "fj" = ( @@ -755,6 +765,7 @@ icon_state = "0-8" }, /obj/item/stack/sheet/mineral/plasma/twenty, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "iW" = ( @@ -826,6 +837,7 @@ "jt" = ( /obj/machinery/telecomms/relay/preset/frontiersmen, /obj/machinery/door/window/southleft, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "jA" = ( @@ -833,7 +845,6 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, @@ -1026,6 +1037,9 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/ship/security/armory) "ml" = ( @@ -1303,6 +1317,9 @@ /area/ship/cargo) "oU" = ( /obj/structure/table, +/obj/item/grown/corncob{ + pixel_y = 8 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew/canteen) "oV" = ( @@ -1407,6 +1424,7 @@ icon_state = "0-10" }, /obj/item/stack/sheet/mineral/plasma/twenty, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "qD" = ( @@ -1493,6 +1511,14 @@ }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) +"sM" = ( +/obj/structure/table, +/obj/item/desk_flag/trans{ + pixel_x = 9; + pixel_y = -6 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) "sQ" = ( /turf/closed/wall, /area/ship/maintenance/starboard) @@ -1555,6 +1581,7 @@ }, /obj/structure/curtain/cloth, /obj/item/bedsheet/dorms, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/carpet, /area/ship/crew) "tI" = ( @@ -1704,6 +1731,7 @@ reagent_id = /datum/reagent/fuel/oil; tank_volume = 3000 }, +/obj/effect/turf_decal/industrial/hatch, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "va" = ( @@ -1791,6 +1819,10 @@ "wg" = ( /obj/machinery/blackbox_recorder, /obj/machinery/door/window/southright, +/obj/structure/sign/poster/retro/radio{ + pixel_y = 32 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "wp" = ( @@ -1818,6 +1850,13 @@ /area/ship/cargo) "wH" = ( /obj/machinery/light/directional/north, +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/decal/cleanable/plasma{ + pixel_x = 18; + pixel_y = -5 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "wL" = ( @@ -1834,11 +1873,15 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "wQ" = ( /obj/effect/turf_decal/box/corners, /obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/mono, /area/ship/cargo) "wY" = ( @@ -2014,6 +2057,16 @@ /obj/item/bedsheet/dorms, /turf/open/floor/carpet, /area/ship/crew) +"Av" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 4 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) "Az" = ( /obj/structure/curtain/bounty, /obj/machinery/light_switch{ @@ -2050,9 +2103,9 @@ /turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "BF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech/grid, +/obj/effect/turf_decal/borderfloor, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "BG" = ( /obj/structure/cable/yellow{ @@ -2170,8 +2223,8 @@ /obj/structure/cable/yellow{ icon_state = "6-8" }, -/obj/structure/chair/plastic{ - dir = 4 +/obj/structure/chair/sofa/brown/old/left{ + dir = 1 }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) @@ -2394,6 +2447,8 @@ /obj/structure/cable/yellow{ icon_state = "5-8" }, +/obj/structure/closet/secure_closet/engineering_welding, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "Gr" = ( @@ -2428,6 +2483,7 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, +/obj/effect/turf_decal/industrial/warning, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "GM" = ( @@ -2510,6 +2566,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "HY" = ( @@ -2725,8 +2782,8 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "watchdog_holo"; +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "tortuga_holo"; dir = 1 }, /obj/machinery/door/poddoor/shutters{ @@ -2759,6 +2816,9 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/retro/smile{ + pixel_x = -32 + }, /turf/open/floor/plasteel, /area/ship/crew/canteen) "Lb" = ( @@ -2790,17 +2850,29 @@ icon_state = "plating_rust" }, /area/ship/maintenance) +"Lo" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/door_assembly/door_assembly_hatch{ + dir = 4 + }, +/turf/open/floor/plating/airless, +/area/ship/maintenance) "Lt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/chair/plastic{ - dir = 8 - }, +/obj/structure/table, +/obj/item/storage/cans/sixbeer, +/obj/machinery/cell_charger, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Lz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, /turf/open/floor/mineral/titanium, /area/ship/security/armory) "LG" = ( @@ -2830,6 +2902,16 @@ /turf/open/floor/plasteel/elevatorshaft, /area/ship/cargo) "Mb" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, +/obj/item/cigbutt{ + pixel_x = -13; + pixel_y = -3 + }, /turf/open/floor/pod/dark, /area/ship/maintenance/starboard) "Mk" = ( @@ -2852,6 +2934,19 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/canteen) +"Ml" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/cargo) "Mn" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/railing{ @@ -2870,9 +2965,6 @@ /area/ship/cargo) "Mo" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing/corner{ - dir = 1 - }, /obj/effect/turf_decal/industrial/stand_clear, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2939,6 +3031,11 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_x = 8; + pixel_y = -5 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "MO" = ( @@ -2984,6 +3081,11 @@ icon_state = "computer-right" }, /obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_4"; + pixel_x = -9; + pixel_y = -6 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "Ol" = ( @@ -3060,6 +3162,20 @@ }, /turf/open/floor/plating/airless, /area/ship/maintenance) +"OH" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/cargo) "OI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -3073,6 +3189,19 @@ }, /turf/open/floor/plasteel/dark, /area/ship/bridge) +"OP" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/item/clothing/head/hardhat{ + pixel_x = 8; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance/port) "Pa" = ( /obj/structure/table/glass, /obj/effect/turf_decal/corner/opaque/blue/full, @@ -3179,6 +3308,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, +/obj/structure/tank_dispenser/oxygen, /turf/open/floor/plasteel/mono, /area/ship/cargo) "QM" = ( @@ -3215,7 +3345,7 @@ pixel_x = -3 }, /obj/machinery/button/shieldwallgen{ - id = "watchdog_holo"; + id = "tortuga_holo"; pixel_x = 8; pixel_y = 23 }, @@ -3251,6 +3381,7 @@ icon_state = "4-8" }, /obj/structure/closet/secure_closet/engineering_electrical, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "RH" = ( @@ -3387,6 +3518,8 @@ }, /obj/machinery/light/directional/south, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/hatch, +/obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "SV" = ( @@ -3472,6 +3605,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/closet/emcloset, /turf/open/floor/pod/dark, /area/ship/maintenance/port) "UE" = ( @@ -3498,6 +3632,14 @@ /obj/machinery/door/firedoor/heavy, /turf/open/floor/plating/airless, /area/ship/maintenance) +"Vb" = ( +/obj/machinery/suit_storage_unit/industrial{ + suit_type = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/mineral/plastitanium, +/area/ship/security/armory) "Vd" = ( /obj/structure/curtain/bounty, /turf/open/floor/plasteel, @@ -3587,9 +3729,6 @@ /area/ship/cargo) "VE" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing/corner{ - dir = 8 - }, /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, @@ -3694,6 +3833,16 @@ "Wx" = ( /turf/closed/wall/r_wall/rust, /area/ship/crew/canteen) +"WA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/ripped{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) "WF" = ( /turf/closed/wall/rust, /area/ship/cargo) @@ -3726,8 +3875,9 @@ /obj/structure/cable/yellow{ icon_state = "4-9" }, -/obj/structure/closet/secure_closet/engineering_welding, /obj/effect/decal/cleanable/dirt, +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/borderfloorblack/full, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "Xs" = ( @@ -3986,6 +4136,13 @@ }, /turf/open/floor/plating/airless, /area/ship/maintenance) +"ZY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/ship/security/armory) (1,1,1) = {" Ek @@ -4211,15 +4368,15 @@ oH Ek tq lh -Uo -EB +OH +Rn DG DG DG DG DG -uL -ld +Rn +Ml Td WF Ek @@ -4240,7 +4397,7 @@ Ek Ek Ek oH -HX +OP HX oH CG @@ -4253,7 +4410,7 @@ DG DG DG DG -BF +Rn Mo Td WF @@ -4288,7 +4445,7 @@ DG DG DG DG -BF +Rn ID Td Ko @@ -4420,7 +4577,7 @@ yl va Uw CG -VP +WA Uo OF tT @@ -4570,7 +4727,7 @@ wF uh nc nc -Td +BF Ko uQ GA @@ -4692,7 +4849,7 @@ QJ QJ QJ QJ -MI +Lo Ab rU Xc @@ -4745,7 +4902,7 @@ Yu qD jV Lz -dm +ZY mg qD qD @@ -4806,7 +4963,7 @@ Vg Ab jJ QT -oU +sM CE bD ng @@ -4852,7 +5009,7 @@ hU gD yH FP -hz +Vb qD MH Eb @@ -4945,7 +5102,7 @@ PV yd rU Lb -gQ +Av gQ LG YI @@ -5166,7 +5323,7 @@ oq SJ mB mw -MI +Lo QJ QJ QJ diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index e4a85560cb67..5ef138ad19db 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -3609,7 +3609,7 @@ /turf/open/floor/wood/maple, /area/ship/crew/cryo) "Sg" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/effect/turf_decal/spline/fancy/wood{ diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index 13e78929b4dc..012261bda246 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -350,7 +350,7 @@ /turf/open/floor/wood, /area/ship/crew) "da" = ( -/obj/machinery/computer/cargo/express/solgov{ +/obj/machinery/computer/cargo/solgov{ dir = 4 }, /obj/item/radio/intercom/directional/west, diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index da2a6b032eaa..f2cf61f1f33b 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -1848,10 +1848,10 @@ /area/ship/crew/canteen/kitchen) "mz" = ( /obj/structure/closet/crate, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -2139,7 +2139,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "nO" = ( -/obj/machinery/computer/cargo/express/solgov, +/obj/machinery/computer/cargo/solgov, /turf/open/floor/wood/maple, /area/ship/bridge) "nR" = ( @@ -2282,6 +2282,7 @@ dir = 4; name = "Fuel Mixer" }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "oH" = ( diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index b099e500aee9..4700c74ee7b0 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -731,10 +731,10 @@ /area/ship/hallway/starboard) "hh" = ( /obj/structure/closet/crate, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, -/obj/item/reagent_containers/food/snacks/store/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, +/obj/item/food/bread/plain, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -2725,7 +2725,7 @@ /obj/structure/railing/wood{ dir = 8 }, -/obj/machinery/computer/cargo/express/solgov{ +/obj/machinery/computer/cargo/solgov{ dir = 4 }, /obj/effect/turf_decal/siding/wood{ diff --git a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt index 732d43938f30..14a2fff4895e 100644 --- a/_maps/shuttles/subshuttles/Subshuttle Catalog.txt +++ b/_maps/shuttles/subshuttles/Subshuttle Catalog.txt @@ -13,6 +13,11 @@ Size = "12x7" Purpose = "A multi-role dropship used by almost every group faring space. Its ease of manufacture and high mobility makes it ideal for transport." File Path = "_maps\shuttles\subshuttles\indepenent_kunai.dmm" +Name = "Tanto-class Drop Pod" +Size = "6x5" +Purpose = "A combat-ready drop pod designed for quick deployment in hectic battles. Its lack of holofields makes it unsuitable for environments without sufficient atmosphere, unless depressurised beforehand." +File Path = "_maps\shuttles\subshuttles\indepenent_kunai.dmm" + Name = "Haste-class Patient Recovery Ship" Size = "6x4" Purpose = "A small, nimble ship utilized as an ambulance by Inteq forces." diff --git a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm index 821918d660f2..d9c361701213 100644 --- a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm +++ b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm @@ -3,18 +3,15 @@ /obj/structure/cable/yellow{ icon_state = "4-9" }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "c" = ( /obj/machinery/door/poddoor/shutters{ id = "brawler_starboard" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_starboard_holo"; - dir = 8 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "brawler_starboard_holo" }, /obj/structure/cable/yellow, /turf/open/floor/engine/hull/interior, @@ -73,6 +70,55 @@ "k" = ( /turf/template_noop, /area/template_noop) +"l" = ( +/obj/machinery/door/poddoor/shutters{ + id = "brawler_starboard" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "brawler_starboard_holo" + }, +/obj/structure/cable/yellow, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 7; + pixel_x = -23; + id = "brawler_starboard" + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = -7; + pixel_x = -23; + id = "brawler_starboard_holo"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) +"m" = ( +/obj/machinery/button/door{ + pixel_x = -23; + pixel_y = -7; + id = "brawler_port"; + dir = 4 + }, +/obj/machinery/button/shieldwallgen{ + pixel_y = 7; + pixel_x = -23; + id = "brawler_port_holo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "brawler_port_holo" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 1; + id = "brawler_port" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/bridge) "o" = ( /obj/structure/grille, /obj/structure/window/reinforced{ @@ -91,7 +137,6 @@ pixel_x = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/engineering, /obj/effect/turf_decal/siding/thinplating/end{ dir = 8 }, @@ -112,10 +157,17 @@ /obj/structure/cable/yellow{ icon_state = "0-5" }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable/yellow{ + icon_state = "2-10" + }, /turf/open/floor/plasteel, /area/ship/bridge) "r" = ( -/obj/machinery/power/shieldwallgen/atmos{ +/obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "brawler_aft_holo"; dir = 1 }, @@ -151,9 +203,6 @@ /obj/structure/cable/yellow{ icon_state = "4-10" }, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "v" = ( @@ -186,9 +235,9 @@ dir = 1; id = "brawler_port" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_port_holo"; - dir = 8 +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "brawler_port_holo" }, /obj/structure/cable/yellow{ icon_state = "0-2" @@ -219,29 +268,9 @@ dir = 1; id = "brawler_port" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_port_holo"; - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/button/door{ - pixel_x = -23; - pixel_y = -7; - id = "brawler_port"; - dir = 4 - }, -/obj/machinery/button/shieldwallgen{ - pixel_y = 7; - pixel_x = -23; - id = "brawler_port_holo"; - dir = 4 - }, /turf/open/floor/engine/hull/interior, /area/ship/bridge) "B" = ( -/obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt, /obj/item/trash/can/food{ pixel_x = 7; @@ -263,6 +292,9 @@ pixel_y = 2 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "D" = ( @@ -291,7 +323,7 @@ dir = 8; id = "brawler_aft" }, -/obj/machinery/power/shieldwallgen/atmos{ +/obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "brawler_aft_holo" }, /obj/structure/cable/yellow{ @@ -323,6 +355,9 @@ /obj/effect/decal/cleanable/wrapping{ pixel_y = 25 }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/bridge) "I" = ( @@ -336,9 +371,7 @@ dir = 1 }, /obj/machinery/power/smes/shuttle/precharged, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, +/obj/structure/cable, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "J" = ( @@ -366,6 +399,7 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/light/floor, /turf/open/floor/plasteel, /area/ship/bridge) "L" = ( @@ -388,23 +422,6 @@ /obj/machinery/door/poddoor/shutters{ id = "brawler_starboard" }, -/obj/machinery/power/shieldwallgen/atmos{ - id = "brawler_starboard_holo"; - dir = 4 - }, -/obj/structure/cable/yellow, -/obj/machinery/button/door{ - dir = 4; - pixel_y = 7; - pixel_x = -23; - id = "brawler_starboard" - }, -/obj/machinery/button/shieldwallgen{ - pixel_y = -7; - pixel_x = -23; - id = "brawler_starboard_holo"; - dir = 4 - }, /turf/open/floor/engine/hull/interior, /area/ship/bridge) "N" = ( @@ -431,7 +448,6 @@ /turf/open/floor/plasteel, /area/ship/bridge) "P" = ( -/obj/machinery/light/directional/south, /obj/structure/cable/yellow{ icon_state = "5-8" }, @@ -524,11 +540,11 @@ k "} (3,1,1) = {" k -W +m C p G -W +l k "} (4,1,1) = {" diff --git a/_maps/shuttles/subshuttles/independent_tanto.dmm b/_maps/shuttles/subshuttles/independent_tanto.dmm new file mode 100644 index 000000000000..e99e605fed4b --- /dev/null +++ b/_maps/shuttles/subshuttles/independent_tanto.dmm @@ -0,0 +1,333 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"e" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/pod, +/area/ship/storage) +"f" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_aft" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/docking_port/mobile{ + dir = 4; + name = "tanto pod"; + port_direction = 2; + preferred_direction = 4 + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"l" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + layer = 3.3 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -6; + pixel_x = -22; + name = "Aft Door"; + id = "pod_aft" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -32; + name = "Window Shutters"; + id = "pod_window" + }, +/obj/machinery/door/window/brigdoor/northleft, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 6; + pixel_x = -22; + name = "Fore Door"; + id = "pod_fore" + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"n" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/landmark/ert_shuttle_brief_spawn, +/turf/open/floor/pod, +/area/ship/storage) +"p" = ( +/obj/structure/grille, +/obj/structure/window/reinforced, +/obj/structure/cable/yellow, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"s" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod, +/area/ship/storage) +"w" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage) +"x" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/wrench, +/obj/machinery/door/window/brigdoor/southleft, +/obj/structure/closet/wall/red/directional/west{ + secure = 1; + locked = 1 + }, +/obj/item/pickaxe/mini, +/obj/item/flashlight/flare{ + pixel_y = 3 + }, +/obj/item/flashlight/flare, +/obj/item/flashlight/flare{ + pixel_y = -3 + }, +/obj/item/storage/toolbox/emergency/shuttle/electric, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/obj/item/tank/internals/emergency_oxygen/double, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"z" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/computer/helm{ + dir = 8; + layer = 3.3 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"C" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"E" = ( +/obj/structure/grille, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"J" = ( +/obj/structure/window/reinforced, +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/light/small/directional/east{ + pixel_y = -6 + }, +/obj/machinery/light_switch{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = 5; + dir = 8 + }, +/obj/effect/landmark/ert_shuttle_spawn, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/storage) +"K" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod, +/area/ship/storage) +"L" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "pod_fore" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/storage) +"S" = ( +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/machinery/power/smes/shuttle/micro/precharged{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pod_window" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) +"Y" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/storage) + +(1,1,1) = {" +a +w +f +w +a +"} +(2,1,1) = {" +Y +w +e +w +Y +"} +(3,1,1) = {" +C +l +K +x +S +"} +(4,1,1) = {" +E +z +s +J +p +"} +(5,1,1) = {" +w +w +n +w +w +"} +(6,1,1) = {" +a +w +L +w +a +"} diff --git a/_maps/shuttles/subshuttles/inteq_haste.dmm b/_maps/shuttles/subshuttles/inteq_haste.dmm index 74144c3fe930..25324d952a5e 100644 --- a/_maps/shuttles/subshuttles/inteq_haste.dmm +++ b/_maps/shuttles/subshuttles/inteq_haste.dmm @@ -54,16 +54,15 @@ /obj/structure/cable/yellow{ icon_state = "2-8" }, -/obj/machinery/light_switch{ - pixel_y = 22; - pixel_x = 10 - }, /obj/effect/turf_decal/techfloor{ dir = 1 }, /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 8 }, +/obj/structure/chair/handrail{ + pixel_y = 7 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "F" = ( @@ -221,6 +220,10 @@ /obj/structure/cable/yellow{ icon_state = "4-10" }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 10 + }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) diff --git a/_maps/shuttles/syndicate/syndicate_aegis.dmm b/_maps/shuttles/syndicate/syndicate_aegis.dmm deleted file mode 100644 index 3e66121e59b1..000000000000 --- a/_maps/shuttles/syndicate/syndicate_aegis.dmm +++ /dev/null @@ -1,6485 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"ag" = ( -/obj/structure/table/wood/reinforced, -/obj/item/toy/plush/knight{ - pixel_x = 7; - pixel_y = 13 - }, -/obj/item/paper_bin{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"ah" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/clothing/neck/stripedredscarf, -/obj/item/clothing/neck/tie/red, -/obj/structure/closet/wall/red/directional/east{ - name = "Captain's Locker"; - req_access_txt = "20" - }, -/obj/item/storage/belt/sabre, -/obj/item/reagent_containers/glass/beaker/unholywater, -/obj/item/clothing/mask/breath/suns, -/obj/item/clothing/gloves/suns/captain, -/obj/item/clothing/neck/cloak/suns/cap, -/obj/item/clothing/head/suns/captain, -/obj/item/clothing/shoes/combat/suns, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain, -/obj/item/clothing/under/syndicate/suns/captain, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/mask/gas/suns, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"aB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"aE" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/structure/curtain/cloth/grey, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_y = 22 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/janitor) -"aG" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/item/reagent_containers/food/snacks/grown/moonflower{ - pixel_x = 9 - }, -/obj/item/reagent_containers/food/snacks/grown/harebell, -/obj/item/storage/bag/plants, -/obj/item/circuitboard/machine/plantgenes, -/obj/item/hatchet, -/obj/item/shovel/spade, -/obj/item/cultivator, -/obj/item/reagent_containers/glass/bucket, -/obj/structure/closet/wall/white/directional/north{ - color = "#50C878"; - name = "Produce Production Locker" - }, -/obj/item/storage/box/disks_plantgene, -/obj/item/clothing/gloves/botanic_leather, -/obj/item/circuitboard/machine/hydroponics, -/obj/item/circuitboard/machine/hydroponics, -/obj/item/circuitboard/machine/hydroponics, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"aJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"aL" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/office) -"aP" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"aQ" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/food/plant_smudge, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"aW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"bc" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/closet/wall/directional/east{ - icon_door = "orange_wall"; - name = "Mining equipment" - }, -/obj/item/gps/mining, -/obj/item/pickaxe, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/radio, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/shoes/jackboots/suns, -/obj/item/clothing/mask/gas/suns, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"bf" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/codespeak_manual, -/obj/item/flashlight/lamp{ - pixel_x = -4; - pixel_y = 7 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"bp" = ( -/obj/structure/table/wood/reinforced, -/obj/item/areaeditor/shuttle{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/machinery/button/door{ - id = "exterior"; - name = "Exterior lockdown"; - pixel_x = -7; - pixel_y = -2 - }, -/obj/machinery/button/door{ - id = "shipbridge"; - name = "Bridge lockdown"; - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"bs" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bt" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"bw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/clothing/under/rank/medical/psychiatrist, -/obj/item/stack/sheet/mineral/wood/fifty, -/obj/item/lighter, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/white, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/glasses/red, -/obj/item/clothing/neck/tie/red, -/obj/item/clothing/under/rank/civilian/lawyer/galaxy/red, -/obj/item/folder/red, -/obj/item/laser_pointer/red, -/obj/item/clipboard, -/obj/structure/closet/wall/red/directional/north{ - name = "Psychologists Locker" - }, -/obj/item/clothing/head/suns, -/obj/item/clothing/gloves/suns/xo, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/gloves/color/latex/nitrile/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/sneakers/suns, -/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat, -/obj/item/clothing/mask/surgical/suns, -/obj/item/clothing/gloves/suns/xo, -/obj/item/flashlight/pen, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"bx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"by" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door{ - pixel_x = -22; - specialfunctions = 4; - id = "psyc"; - normaldoorcontrol = 1; - dir = 4; - pixel_y = 0 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"bD" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/table/wood/reinforced, -/obj/item/toy/cards/deck/cas, -/obj/item/toy/cards/deck/cas/black{ - pixel_x = 5 - }, -/obj/item/toy/plush/slimeplushie{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 4; - pixel_y = 9 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"bE" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"cc" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"cd" = ( -/obj/structure/catwalk/over, -/obj/effect/turf_decal/isf_small/left, -/turf/open/floor/plating, -/area/ship/engineering) -"ck" = ( -/obj/structure/table, -/obj/item/roller{ - pixel_x = -6; - pixel_y = 12 - }, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/mask/breath/medical, -/obj/item/storage/box/bodybags{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/tank/internals/anesthetic, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/warning/nosmoking{ - pixel_x = 30 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"cp" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/structure/curtain/cloth/fancy, -/obj/item/toy/plush/nukeplushie, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"cr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/departments/restroom{ - pixel_y = 32 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"cs" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"cw" = ( -/obj/machinery/shower{ - pixel_y = 14 - }, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth, -/obj/item/soap/syndie, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"cE" = ( -/obj/structure/toilet{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"cF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/science) -"cQ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"cS" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"db" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/shrink_cw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"dg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/flour, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"di" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"dq" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"dw" = ( -/obj/structure/bed/dogbed, -/obj/machinery/light/directional/south, -/mob/living/simple_animal/pet/cat/Runtime{ - desc = "The captains prized cat, it seems very friendly!"; - name = "Cheri" - }, -/obj/item/toy/cattoy, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -19; - pixel_y = -11 - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"dB" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"dH" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/item/seeds/carrot, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"dI" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"dL" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "exterior"; - name = "Exterior Shutters" - }, -/turf/open/floor/plating, -/area/ship/medical) -"dT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"dY" = ( -/obj/structure/table/wood, -/obj/item/scalpel/advanced, -/obj/item/retractor/advanced, -/obj/item/surgicaldrill/advanced, -/obj/item/healthanalyzer/advanced, -/obj/item/clothing/glasses/hud/health/sunglasses, -/obj/item/clothing/neck/stripedredscarf, -/obj/item/clothing/neck/stripedbluescarf, -/obj/structure/closet/wall/red/directional/north{ - name = "Lead Doctor's Locker" - }, -/obj/item/reagent_containers/food/drinks/bottle/holywater, -/obj/item/clothing/suit/armor/vest/security/brig_phys{ - name = "lead doctor's jacket" - }, -/obj/item/clothing/glasses/hud/health/night, -/obj/item/hypospray/mkii/CMO, -/obj/item/clothing/under/syndicate/suns/xo, -/obj/item/clothing/head/suns, -/obj/item/clothing/mask/breath/suns, -/obj/item/clothing/gloves/suns/xo, -/obj/item/clothing/head/suns/surgery, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/neck/cloak/suns/xo, -/obj/item/clothing/gloves/color/latex/nitrile/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/sneakers/suns, -/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo, -/obj/item/clothing/suit/hooded/suns, -/obj/item/clothing/suit/toggle/labcoat/suns/cmo, -/obj/item/clothing/under/syndicate/suns/sciencejumpsuit, -/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat, -/obj/item/clothing/shoes/combat/suns, -/obj/item/clothing/mask/surgical/suns, -/obj/item/clothing/glasses/science/suns, -/obj/item/flashlight/pen, -/obj/item/autosurgeon/cmo, -/turf/open/floor/carpet/blue, -/area/ship/medical) -"dZ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/janitor) -"ei" = ( -/obj/effect/decal/cleanable/glass, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/science) -"ej" = ( -/obj/machinery/shower{ - pixel_y = 14 - }, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth, -/obj/item/soap/syndie, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"es" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -14; - pixel_y = -1 - }, -/obj/structure/mirror{ - pixel_x = -30 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"ey" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"eC" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"eN" = ( -/obj/machinery/door/airlock/hatch{ - name = "Tech Lab" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/science) -"eQ" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"eW" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/wall/white/directional/east{ - name = "Bartenders Clothing" - }, -/obj/item/clothing/under/rank/civilian/bartender/skirt, -/obj/item/clothing/under/rank/civilian/bartender, -/obj/item/clothing/under/rank/civilian/bartender/purple, -/obj/item/clothing/suit/apron/purple_bartender, -/obj/item/clothing/under/rank/civilian/lawyer/galaxy, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/gloves/color/black, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/clothing/mask/breath/suns, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"ff" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"fk" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"fw" = ( -/obj/docking_port/stationary{ - dir = 8; - dwidth = 7; - height = 15; - width = 15 - }, -/turf/template_noop, -/area/template_noop) -"fD" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/window/eastleft{ - dir = 1; - name = "Engine Access" - }, -/obj/machinery/door/poddoor/shutters{ - id = "engine"; - name = "Engine Shutters" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"fE" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"fJ" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "fuel locker" - }, -/obj/item/stack/sheet/mineral/uranium/five{ - pixel_x = 2 - }, -/obj/item/stack/sheet/mineral/uranium/five{ - pixel_x = 2 - }, -/obj/item/stack/sheet/mineral/uranium/five{ - pixel_x = 2 - }, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/oil, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/item/stack/sheet/mineral/plasma/five, -/obj/effect/decal/cleanable/generic, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"fL" = ( -/obj/structure/table, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = 6 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = -6 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = -6 - }, -/obj/item/reagent_containers/hypospray/medipen{ - pixel_y = 6 - }, -/obj/item/reagent_containers/hypospray/medipen, -/obj/item/reagent_containers/hypospray/medipen/penacid{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/item/reagent_containers/hypospray/medipen/penacid{ - pixel_x = 9; - pixel_y = 7 - }, -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"go" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/cloth, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"gp" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/turf/open/floor/wood/walnut, -/area/ship/medical) -"gq" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"gt" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "cargo_ageis"; - name = "Cargo Bay" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "aegis_holo" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"gx" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - layer = 2.35; - name = "engine fuel pump" - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"gz" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/hardsuit/solgov/suns, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"gA" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/hatch{ - id_tag = "aegis_bridge"; - name = "Bridge"; - req_access_txt = "19" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"gB" = ( -/obj/machinery/light/small/directional/west{ - brightness = 3 - }, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"gE" = ( -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 8; - launch_status = 0; - port_direction = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"gK" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/glass, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/item/trash/can{ - pixel_x = -7; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plating, -/area/ship/engineering) -"gN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"gR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"gS" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 1; - name = "Helm Control" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"gU" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"gV" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/window{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - id = "engine"; - name = "Engine Shutters" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"gW" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "shipbridge"; - name = "Ship Bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"hf" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/wall/white/directional/north{ - name = "bureaucratic supplies" - }, -/obj/item/paper_bin, -/obj/item/pen/fountain, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"hl" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/canteen) -"hr" = ( -/obj/structure/table, -/obj/item/reagent_containers/spray/cleaner, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/grenade/chem_grenade/cleaner{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/soap/syndie, -/obj/item/soap/syndie, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/janitor) -"hw" = ( -/obj/machinery/power/terminal, -/obj/effect/decal/cleanable/glass, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"hz" = ( -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"hA" = ( -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"hC" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Cargo Bay" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"hM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"hR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"hS" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"hZ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"ic" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"if" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line, -/obj/structure/spider/stickyweb, -/obj/machinery/light/small/directional/east, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plating, -/area/ship/science) -"ij" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"io" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/obj/structure/toilet{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"it" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/directional/east, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"iv" = ( -/obj/effect/decal/cleanable/oil{ - icon_state = "streak3" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"iH" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = 10 - }, -/obj/machinery/sleeper/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/hatch/blue, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"iJ" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/loading/white, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"iO" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/lighter{ - pixel_x = 7; - pixel_y = -4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"jf" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"jh" = ( -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"jp" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/table_bell{ - pixel_x = 10; - pixel_y = -3 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"jq" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"jB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"jF" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/syndicate{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/tarot, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 9; - pixel_y = 10 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"jJ" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"jW" = ( -/obj/machinery/computer/crew/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"kf" = ( -/obj/structure/bed, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/bedsheet/medical, -/obj/structure/curtain, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 31 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"kj" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/janitor) -"ku" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad/emergency/command, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"kz" = ( -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/clothing/suit/toggle/suns/alt, -/obj/item/clothing/suit/toggle/suns/alt, -/obj/item/clothing/suit/toggle/suns, -/obj/item/clothing/suit/toggle/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/neck/cloak/suns, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/gloves/suns, -/obj/item/clothing/gloves/suns, -/obj/item/clothing/gloves/suns, -/obj/item/clothing/gloves/suns, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"kI" = ( -/obj/machinery/computer/med_data/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"kU" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "exterior"; - name = "Exterior Shutters" - }, -/turf/open/floor/plating, -/area/ship/crew/canteen) -"lo" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/sign/poster/contraband/syndiemoth{ - pixel_x = 32 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen) -"ls" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "cargo_ageis"; - name = "Cargo Bay" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "aegis_holo" - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"lw" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/machinery/suit_storage_unit/inherit, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/vacuum{ - pixel_x = -30 - }, -/obj/item/clothing/suit/space/syndicate/suns, -/obj/item/clothing/head/helmet/space/syndicate/suns, -/obj/item/clothing/mask/gas/suns, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"lx" = ( -/obj/machinery/autolathe, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"lN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/machinery/computer/med_data/laptop{ - dir = 1; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"lY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"md" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"mh" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/machinery/light/small/directional/east, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"mm" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/isf_small, -/turf/open/floor/plating, -/area/ship/engineering) -"mp" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"mt" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "enginestorage"; - name = "Engineering storage"; - pixel_x = 23 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"mv" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/fireplace, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"mA" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"mC" = ( -/obj/machinery/rnd/production/techfab/department/medical, -/obj/structure/spider/stickyweb, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plating/rust, -/area/ship/science) -"mE" = ( -/obj/structure/frame/computer{ - anchored = 1; - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"mG" = ( -/obj/structure/frame/machine, -/obj/structure/spider/stickyweb, -/obj/item/toy/plush/spider{ - desc = "Someone left him unchecked for a long time..."; - name = "Fredrick" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/dark, -/area/ship/science) -"mK" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/obj/machinery/holopad/emergency/kitchen, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"mM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/north, -/obj/item/trash/can/food{ - pixel_x = 8; - pixel_y = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 4; - layer = 2.35 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mQ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/advanced_airlock_controller{ - pixel_y = 28 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"mS" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - layer = 2.35 - }, -/obj/effect/turf_decal/atmos/air, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"mT" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"mV" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"nd" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"ny" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"nz" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/syndicateemblem/top/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"nA" = ( -/obj/structure/bed, -/obj/item/bedsheet/cmo{ - name = "lead doctor's bedsheet" - }, -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/carpet/blue, -/area/ship/medical) -"nY" = ( -/obj/machinery/door/airlock/hatch{ - name = "Cusodial Closet" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/tech, -/area/ship/science) -"og" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/corner/directional/north, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"or" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/item/seeds/eggplant, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"oB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood/reinforced, -/obj/item/clipboard{ - pixel_x = -5 - }, -/obj/item/paper_bin/bundlenatural, -/obj/effect/turf_decal/siding/wood, -/obj/item/pen/fountain/captain, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"oJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"oM" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/item/seeds/poppy, -/obj/item/seeds/poppy/lily, -/obj/item/seeds/sunflower, -/obj/structure/closet/crate/hydroponics, -/obj/item/seeds/random, -/obj/item/seeds/chili, -/obj/item/seeds/cherry, -/obj/item/seeds/berry, -/obj/item/seeds/cabbage, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"oP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 22 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"pb" = ( -/obj/machinery/door/airlock/hatch{ - name = "Dormitories" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"pl" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"pm" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plating, -/area/ship/engineering) -"pn" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/item/radio/intercom/directional/south, -/obj/effect/decal/cleanable/food/egg_smudge, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"pu" = ( -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"pS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"pT" = ( -/obj/machinery/power/terminal, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"qa" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/janitor) -"qe" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/obj/item/phone{ - pixel_x = 7; - pixel_y = 10 - }, -/obj/machinery/airalarm/directional/north, -/obj/item/paper_bin{ - pixel_x = -6 - }, -/obj/item/toy/figure/engineer{ - pixel_x = 14; - pixel_y = 14 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/trash/can/food{ - pixel_x = 9 - }, -/obj/item/radio/intercom/directional/east, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"qm" = ( -/obj/structure/sign/directions/supply{ - dir = 8; - pixel_y = -3 - }, -/obj/structure/sign/directions/command{ - dir = 1; - pixel_y = 8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"qt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"qv" = ( -/obj/structure/table/wood/reinforced, -/obj/item/toy/plush/hornet{ - pixel_x = -6; - pixel_y = 11 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"qy" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering) -"qA" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/glass, -/obj/item/circuitboard/machine/techfab/department/service, -/obj/item/poster/random_contraband, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"qD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"qM" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/bedsheet/syndie, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"qX" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/storage/fancy/donut_box{ - pixel_x = -4; - pixel_y = -8 - }, -/obj/item/reagent_containers/food/snacks/store/cake/bsvc{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/snacks/store/cake/bscc{ - pixel_x = -4; - pixel_y = 7 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"re" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/item/trash/can{ - pixel_x = 12; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/lighter{ - pixel_x = -6; - pixel_y = -5 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"rf" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/bedsheetbin, -/obj/machinery/light_switch{ - pixel_y = 22 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/janitor) -"rk" = ( -/mob/living/simple_animal/butterfly, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/fernybush, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"rn" = ( -/obj/machinery/door/airlock/hatch{ - name = "Medbay" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"rv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"rO" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = 12; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 9; - pixel_y = -1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"rT" = ( -/obj/structure/frame/computer, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"sb" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 1 - }, -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"sk" = ( -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Bathroom" - }, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"sm" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/flora/ausbushes/grassybush, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/bush, -/turf/open/floor/grass, -/area/ship/hallway/central) -"sr" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"sv" = ( -/obj/machinery/computer/helm, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"sE" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/item/seeds/corn, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"sN" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "enginestorage"; - name = "Engineering Storage" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"sU" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_cw{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"te" = ( -/obj/effect/turf_decal/syndicateemblem/top/right, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"tn" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1; - layer = 2.35 - }, -/obj/effect/turf_decal/atmos/plasma, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"tG" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"tJ" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 8; - name = "Crew Monitoring" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"tU" = ( -/obj/machinery/light_switch{ - pixel_x = -10; - pixel_y = 23 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north{ - pixel_y = 31; - pixel_x = 5 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"tW" = ( -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"uc" = ( -/obj/machinery/modular_computer/console/preset/command, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"ue" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"uo" = ( -/obj/effect/turf_decal/syndicateemblem/top/left, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"up" = ( -/obj/machinery/light/directional/north, -/obj/structure/chair/sofa/brown/left/directional/south, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"uA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/medical) -"uE" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/atmospherics/components/binary/pump{ - layer = 2.35; - name = "engine fuel pump" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"uF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"uM" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"vh" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/wall/white/directional/west{ - name = "Cooks Clothing" - }, -/obj/item/book/manual/wiki/cooking, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/apron/chef, -/obj/item/sharpener, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/gloves/color/white, -/obj/item/circuitboard/machine/processor, -/obj/item/circuitboard/machine/gibber, -/obj/item/circuitboard/machine/deep_fryer, -/obj/item/clothing/mask/breath/suns, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"vj" = ( -/obj/effect/turf_decal/number/five, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"vs" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Engineering locker" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/item/tank/internals/oxygen, -/obj/item/storage/toolbox/syndicate{ - name = "syndicate toolbox"; - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/storage/belt/utility/syndicate, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/item/storage/box/stockparts/t2, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/clothing/gloves/suns/yellow, -/obj/item/clothing/shoes/jackboots/suns, -/obj/item/clothing/suit/toggle/suns/workervest, -/obj/item/clothing/under/syndicate/suns/workerjumpsuit, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/head/safety_helmet/suns, -/obj/item/clothing/glasses/meson/engine, -/turf/open/floor/plating, -/area/ship/engineering) -"vw" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/glass, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"vA" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/box, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"vG" = ( -/obj/machinery/power/terminal, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"vW" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"we" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 1; - layer = 2.35 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"wh" = ( -/obj/structure/closet/syndicate{ - desc = "It's a basic storage unit."; - name = "uniform closet" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/airalarm/directional/east, -/obj/item/clothing/under/syndicate/suns/uniform3, -/obj/item/clothing/under/syndicate/suns/uniform3, -/obj/item/clothing/under/syndicate/suns/uniform2, -/obj/item/clothing/under/syndicate/suns/uniform2, -/obj/item/clothing/under/syndicate/suns, -/obj/item/clothing/under/syndicate/suns, -/obj/item/clothing/under/syndicate/suns/alt, -/obj/item/clothing/under/syndicate/suns/alt, -/obj/item/clothing/under/syndicate/suns/uniform2/alt, -/obj/item/clothing/under/syndicate/suns/uniform2/alt, -/obj/item/clothing/under/syndicate/suns/uniform3/alt, -/obj/item/clothing/under/syndicate/suns/uniform3/alt, -/obj/item/clothing/accessory/waistcoat/suns/poof, -/obj/item/clothing/accessory/waistcoat/suns/poof, -/obj/item/clothing/accessory/waistcoat/suns/ribbon, -/obj/item/clothing/accessory/waistcoat/suns/ribbon, -/obj/item/clothing/accessory/waistcoat/suns/gembow, -/obj/item/clothing/accessory/waistcoat/suns/gembow, -/obj/item/clothing/accessory/waistcoat/suns, -/obj/item/clothing/accessory/waistcoat/suns, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"wk" = ( -/turf/template_noop, -/area/template_noop) -"wC" = ( -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -8; - pixel_y = -24 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/dresser, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"wF" = ( -/obj/effect/turf_decal/number/three, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/closet/emcloset/wall/directional/north, -/obj/structure/catwalk/over, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"wM" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/structure/rack, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/mask/gas/suns, -/obj/item/holosign_creator/atmos, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"wQ" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"xf" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"xh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/wall/directional/south{ - name = "Patient Clothing Closet" - }, -/obj/effect/decal/cleanable/blood/drip, -/obj/item/clothing/under/rank/medical/gown, -/obj/item/clothing/under/rank/medical/gown, -/obj/item/clothing/under/rank/medical/gown/blue, -/obj/item/clothing/under/rank/medical/gown/blue, -/obj/item/clothing/under/rank/medical/gown/green, -/obj/item/clothing/under/rank/medical/gown/green, -/obj/item/clothing/under/rank/medical/gown/pink, -/obj/item/clothing/under/rank/medical/gown/pink, -/obj/item/clothing/shoes/sandal/slippers, -/obj/item/clothing/shoes/sandal/slippers, -/obj/item/clothing/shoes/sandal/slippers, -/obj/item/clothing/shoes/sandal/slippers, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"xq" = ( -/obj/machinery/power/terminal, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/item/trash/chips, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"xu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light_switch{ - pixel_y = 22 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"xF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"xL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = 7; - pixel_y = -4 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"xN" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_ccw, -/obj/item/stack/medical/bruise_pack{ - pixel_x = 6 - }, -/obj/item/stack/medical/ointment, -/obj/item/storage/box/bodybags{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/clothing/glasses/hud/health/prescription{ - pixel_y = 13 - }, -/obj/item/storage/bag/medical{ - pixel_x = -6 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"xO" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"xT" = ( -/obj/machinery/door/airlock/hatch{ - name = "Lead Doctor's Room"; - req_access_txt = "19" - }, -/obj/effect/turf_decal/siding/wood/end, -/turf/open/floor/wood/walnut, -/area/ship/medical) -"ya" = ( -/obj/machinery/power/terminal, -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "0-1" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"yb" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/fireaxecabinet{ - dir = 8; - pixel_x = 32 - }, -/obj/structure/table/reinforced, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/storage/toolbox/mechanical, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"yA" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/smartfridge/chemistry/preloaded{ - density = 0; - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"yC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"yV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"yZ" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"zv" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"zM" = ( -/obj/structure/cable{ - icon_state = "5-9" - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"zV" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"zW" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"zY" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/vending/cigarette/syndicate, -/obj/effect/turf_decal/box, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ae" = ( -/obj/machinery/computer/cargo/express{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"Am" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Aq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ar" = ( -/obj/machinery/door/airlock/hatch{ - id_tag = "psyc"; - name = "Psychology Office" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/tech, -/area/ship/crew/office) -"AA" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"AD" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/reagent_containers/food/drinks/modglass/large{ - pixel_x = -9; - pixel_y = 8 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"AH" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/northleft{ - dir = 2; - name = "Secure Med Storage" - }, -/obj/item/clothing/suit/straight_jacket{ - pixel_x = 6 - }, -/obj/item/clothing/mask/muzzle, -/obj/item/defibrillator/compact/loaded, -/obj/machinery/vending/wallmed{ - pixel_y = 30 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Bf" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/number/zero, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Bh" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) -"Bn" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen) -"Bq" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"BN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 8 - }, -/obj/structure/chair/comfy/grey/directional/east, -/obj/item/toy/plush/snakeplushie, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"Cc" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "cargo_ageis"; - name = "Cargo Bay" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"Cd" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Ch" = ( -/obj/machinery/smartfridge/food, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"Cq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"CC" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/structure/curtain, -/obj/structure/mirror{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"CF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"CG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"CM" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"CW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"CX" = ( -/obj/structure/catwalk/over, -/obj/item/trash/popcorn, -/obj/effect/turf_decal/isf_small/right, -/turf/open/floor/plating, -/area/ship/engineering) -"Df" = ( -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Dj" = ( -/obj/machinery/door/airlock/hatch{ - name = "Produce Production" - }, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Dk" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Dn" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_ccw{ - dir = 1; - pixel_y = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Do" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 8; - name = "swivel chair" - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Dp" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Dt" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/reagentgrinder/constructed, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"Dw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Dx" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"DC" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/science) -"DH" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/frame/computer{ - dir = 4 - }, -/obj/item/circuitboard/computer/powermonitor, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"DS" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/item/reagent_containers/food/condiment/peppermill{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"Ee" = ( -/obj/structure/chair/sofa/brown/directional/north, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"EJ" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 1 - }, -/obj/structure/window/plasma/reinforced/spawner/north, -/turf/open/floor/plating/airless, -/area/ship/engineering) -"EN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/stool/bar, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ff" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/corner/directional/east, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"Fh" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/closet/wall/orange/directional/north{ - name = "Emergency Engineering" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/item/stock_parts/cell/high, -/obj/item/stock_parts/cell/high, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 2; - pixel_y = 8 - }, -/obj/item/stack/sheet/glass/fifty{ - pixel_x = 6 - }, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/structure/catwalk/over, -/obj/item/circuitboard/machine/pacman, -/obj/item/circuitboard/machine/pacman/super, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Fj" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/item/trash/pistachios{ - pixel_x = 6; - pixel_y = -12 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/sign/warning/vacuum{ - pixel_y = 30 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Fk" = ( -/obj/machinery/biogenerator, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/seeds/watermelon, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Fo" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/science) -"Ft" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/mob/living/simple_animal/butterfly, -/obj/structure/window/reinforced, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Fv" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"FB" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"FJ" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "shipbridge"; - name = "Ship Bridge" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"FS" = ( -/obj/effect/decal/cleanable/oil/slippery, -/obj/machinery/atmospherics/pipe/layer_manifold, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"FU" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"FY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood/reinforced, -/obj/item/folder/red, -/obj/item/folder/red{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"Ga" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Gc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Gv" = ( -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/box/drinkingglasses{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/flour, -/obj/item/reagent_containers/food/condiment/sugar, -/obj/item/storage/box/donkpockets, -/obj/item/storage/box/donkpockets/donkpocketberry, -/obj/item/storage/box/donkpockets/donkpocketpizza, -/obj/item/kitchen/knife, -/obj/item/kitchen/rollingpin, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/closet/secure_closet/freezer/kitchen/wall{ - dir = 1; - pixel_y = -30 - }, -/obj/item/storage/bag/tray, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"Gx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/middle/left, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"GH" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/syndicateemblem/middle/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"GL" = ( -/obj/machinery/mineral/ore_redemption, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"GZ" = ( -/obj/effect/turf_decal/syndicateemblem/middle/right, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ho" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/closet/wall/directional/east{ - icon_door = "orange_wall"; - name = "Mining equipment" - }, -/obj/item/gps/mining, -/obj/item/pickaxe, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/radio, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/item/clothing/shoes/jackboots/suns, -/obj/item/clothing/mask/gas/suns, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Hp" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"HV" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/item/clothing/suit/space/hardsuit/mining/suns, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Im" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/hydroponics) -"It" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"Iw" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/bottle/nutrient/ez{ - pixel_x = 8 - }, -/obj/item/seeds/apple{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/seeds/chanter, -/obj/item/seeds/tomato, -/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ - pixel_x = 3; - pixel_y = 6 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Iy" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Mess Hall Prep" - }, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"IA" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/holopad/emergency/medical, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"IH" = ( -/obj/structure/catwalk/over, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/railing/corner, -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"IS" = ( -/mob/living/simple_animal/butterfly, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/bush, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Jg" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Ju" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"JB" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_ccw{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"JI" = ( -/obj/structure/closet/wall/white/med{ - name = "medical locker"; - pixel_y = 29 - }, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/storage/belt/medical/surgery, -/obj/item/clothing/neck/stripedbluescarf, -/obj/item/clothing/neck/stripedredscarf, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/item/wallframe/defib_mount, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/item/hypospray/mkii, -/obj/item/clothing/mask/surgical, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/storage/firstaid/regular, -/obj/item/clothing/glasses/hud/health/suns, -/obj/item/clothing/head/suns/surgery, -/obj/item/clothing/gloves/color/latex/nitrile/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/sneakers/suns, -/obj/item/clothing/suit/hooded/suns, -/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat, -/obj/item/clothing/under/syndicate/suns/doctorscrubs, -/obj/item/clothing/under/syndicate/suns/sciencejumpsuit, -/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat, -/obj/item/clothing/mask/surgical/suns, -/obj/item/holosign_creator/medical, -/obj/item/defibrillator/loaded, -/obj/item/flashlight/pen, -/obj/item/flashlight/pen, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"JY" = ( -/obj/item/reagent_containers/food/drinks/modglass/small, -/obj/item/reagent_containers/food/drinks/modglass/small{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"JZ" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/hallway/central) -"Ko" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Kt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/item/radio/intercom/directional/west, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ku" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"Kv" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "enginestorage"; - name = "Engineering Storage" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"KC" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"KG" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/storage/box/gum/happiness{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/machinery/light/small/directional/north, -/obj/item/storage/pill_bottle/psicodine{ - pixel_x = -7; - pixel_y = 7 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"KM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/condiment/soymilk{ - pixel_x = -4; - pixel_y = 6 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"KP" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood/walnut, -/area/ship/crew/janitor) -"KR" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/glass, -/obj/item/poster/random_contraband, -/obj/item/poster/random_contraband, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"KS" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/wood/walnut, -/area/ship/crew/hydroponics) -"KX" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"La" = ( -/obj/effect/decal/cleanable/blood/old, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"Lb" = ( -/obj/machinery/power/port_gen/pacman/super{ - anchored = 1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Lc" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/stamp/syndicate, -/obj/item/stamp/captain{ - pixel_x = 9 - }, -/obj/item/pen/red{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"Ll" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced, -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/fullgrass, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Lt" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/effect/turf_decal/industrial/caution, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Lu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/structure/bed/dogbed, -/mob/living/simple_animal/pet/cat/kitten{ - desc = "One of Cheri's offspring, it purrs with glee as you pet it."; - name = "Panko" - }, -/obj/item/toy/cattoy, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Ly" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/left, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Lz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/curtain/cloth/fancy, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"LN" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"Mb" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/power/ship_gravity, -/obj/structure/cable/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Mc" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/obj/machinery/computer/operating{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/structure/sign/warning/nosmoking{ - pixel_x = 33 - }, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Mv" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/engineering) -"Mz" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/middle, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"MH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/syndicateemblem/bottom/right, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 4 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"MP" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"MS" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"MU" = ( -/obj/structure/table, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/toxin{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/door/window/brigdoor/northright{ - dir = 2; - name = "Secure Med Storage" - }, -/obj/item/storage/box/syringes{ - pixel_x = 3; - pixel_y = 2 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"MV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Nd" = ( -/obj/machinery/seed_extractor, -/obj/machinery/light_switch{ - pixel_x = -10; - pixel_y = 26 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/item/toy/figure/botanist{ - pixel_x = -8; - pixel_y = 13 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Nn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Nv" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"NI" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"NM" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"NN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/west, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"NR" = ( -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/item/reagent_containers/food/drinks/modglass{ - pixel_x = 11; - pixel_y = -1 - }, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = 30 - }, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"NS" = ( -/obj/machinery/light/small/directional/east, -/obj/item/storage/box/drinkingglasses, -/obj/item/storage/box/drinkingglasses{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/machinery/airalarm/directional/east, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"Od" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Os" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"Oz" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"OD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"OL" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/button/door{ - id = "engine"; - name = "Engine shutter control"; - pixel_x = 9; - pixel_y = 22 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/ship/engineering) -"OV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/moth{ - pixel_y = 31 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"OW" = ( -/obj/structure/table/wood/reinforced, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 11; - pixel_y = 9 - }, -/obj/item/radio/intercom/wideband/directional/north, -/obj/machinery/fax/syndicate, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/mineral/plastitanium/red{ - icon_state = "plastitanium" - }, -/area/ship/bridge) -"Pc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Pe" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/turf/open/floor/wood/walnut, -/area/ship/crew/office) -"Pf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/hatch{ - name = "Cusodial Closet" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"Pq" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"Pt" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"PM" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Outpost Monitoring" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"PP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Bathroom" - }, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/tech, -/area/ship/crew/dorm) -"PU" = ( -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"PV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 10 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"PX" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"Qd" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Qj" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Qm" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"Qt" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/obj/structure/chair/office{ - dir = 8; - name = "swivel chair" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"QC" = ( -/obj/effect/turf_decal/siding/wood/end, -/obj/machinery/door/airlock/hatch{ - name = "Captain's Room"; - req_access_txt = "20" - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"QG" = ( -/obj/effect/decal/cleanable/glass, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/engineering) -"QI" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/catwalk/over, -/obj/effect/decal/cleanable/glass, -/obj/machinery/door/airlock/hatch{ - name = "Engineering"; - req_access_txt = "10" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/ship/engineering) -"QN" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/box, -/obj/machinery/light/directional/west, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"QV" = ( -/turf/closed/wall/r_wall/syndicate, -/area/ship/medical) -"Rg" = ( -/obj/machinery/light/directional/north, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/catwalk/over, -/obj/item/trash/boritos, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Ri" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"RF" = ( -/obj/machinery/microwave, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"RL" = ( -/obj/structure/sign/directions/medical{ - dir = 4; - pixel_y = -3 - }, -/obj/structure/sign/directions/engineering{ - pixel_y = 8 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"RS" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/obj/machinery/door/airlock/hatch, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/central) -"Sa" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Ss" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/crew/dorm) -"St" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Sy" = ( -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/shoes/laceup, -/obj/item/clothing/suit/toggle/lawyer/black, -/obj/item/clothing/under/rank/civilian/bartender{ - name = "butlers's uniform" - }, -/obj/item/clothing/under/suit/waiter/syndicate, -/obj/structure/closet/wall/red/directional/east{ - name = "Uniform Closet" - }, -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/obj/item/clothing/gloves/color/latex/nitrile/suns, -/obj/item/clothing/shoes/laceup/suns, -/obj/item/clothing/shoes/sneakers/suns, -/obj/item/clothing/suit/hooded/suns, -/obj/item/clothing/mask/surgical/suns, -/turf/open/floor/carpet/red, -/area/ship/crew/janitor) -"SF" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/cargo) -"SW" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Td" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/rack, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/maintenance/three, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/machinery/light_switch{ - pixel_y = 23; - pixel_x = 11 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Te" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/cryopod{ - dir = 4 - }, -/obj/machinery/computer/cryopod/directional/west, -/obj/machinery/light_switch{ - pixel_x = 11; - pixel_y = 23 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"Tf" = ( -/obj/structure/sign/departments/restroom, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"Ti" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_ccw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"To" = ( -/obj/structure/table, -/obj/item/reagent_containers/glass/bottle/vial/large{ - pixel_x = -8 - }, -/obj/item/reagent_containers/glass/bottle/vial/large{ - pixel_x = -8 - }, -/obj/item/reagent_containers/glass/bottle/vial/large{ - pixel_x = -8 - }, -/obj/item/reagent_containers/glass/bottle/vial/large{ - pixel_x = -8 - }, -/obj/item/reagent_containers/glass/bottle/vial/small, -/obj/item/reagent_containers/glass/bottle/vial/small, -/obj/item/reagent_containers/glass/bottle/vial/small, -/obj/item/reagent_containers/glass/bottle/vial/small, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = 7 - }, -/obj/item/reagent_containers/glass/bottle/vial/tiny{ - pixel_x = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Tt" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Chemical Closet" - }, -/obj/item/storage/bag/chemistry, -/obj/item/clothing/glasses/sunglasses/chemical, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker/large, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/glass/beaker, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/circuitboard/machine/chem_dispenser, -/obj/item/circuitboard/machine/chem_heater, -/obj/item/circuitboard/machine/chem_master, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/structure/sign/warning/chemdiamond{ - pixel_x = 30 - }, -/obj/item/flashlight/pen, -/obj/item/flashlight/pen, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Tw" = ( -/obj/machinery/vending/snack/random, -/obj/effect/turf_decal/box, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"TE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Produce Production" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"TL" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/binary/pump{ - layer = 2.35; - name = "engine fuel pump" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"TS" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/medical) -"Ul" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_cw{ - dir = 1 - }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/stamp/cmo{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/snacks/donut/jelly/berry{ - pixel_x = -5; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 9 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"Um" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Uo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Us" = ( -/obj/machinery/light/directional/south, -/obj/item/gun/ballistic/automatic/pistol, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/kitchen/knife/combat/survival, -/obj/item/kitchen/knife/combat/survival, -/obj/structure/closet/secure_closet/wall/directional/east, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"Uu" = ( -/obj/machinery/vending/dinnerware, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"UC" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/item/seeds/potato, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"UH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/airlock/hatch{ - dir = 4; - name = "Medbay" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/techfloor/hole, -/obj/effect/turf_decal/techfloor/hole/right, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"UN" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"UP" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/structure/table, -/obj/item/storage/belt/medical, -/obj/item/storage/belt/medical{ - pixel_x = 5; - pixel_y = 7 - }, -/obj/item/reagent_containers/glass/bottle/charcoal{ - pixel_x = -7; - pixel_y = 9 - }, -/obj/item/reagent_containers/glass/bottle/formaldehyde{ - pixel_x = -9; - pixel_y = -2 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/trimline/opaque/blue/filled/shrink_cw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"UY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/salt, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"Vh" = ( -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"Vq" = ( -/obj/machinery/vending/medical/syndicate_access, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Vy" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/structure/tank_dispenser/oxygen, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/aclf{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Vz" = ( -/obj/machinery/power/terminal, -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"VA" = ( -/obj/machinery/door/window/eastleft{ - dir = 1; - name = "Engine Access" - }, -/obj/machinery/door/poddoor/shutters{ - id = "engine"; - name = "Engine Shutters" - }, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"VF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"VT" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/canteen/kitchen) -"VU" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -8; - pixel_y = -24 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/science) -"Wb" = ( -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/machinery/suit_storage_unit/inherit, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/item/clothing/suit/space/syndicate/suns, -/obj/item/clothing/head/helmet/space/syndicate/suns, -/obj/item/clothing/mask/gas/suns, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Wc" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/sparsegrass, -/obj/structure/flora/ausbushes/brflowers, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/ship/hallway/central) -"Wd" = ( -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/flora/ausbushes/brflowers, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/bush, -/turf/open/floor/grass, -/area/ship/crew/canteen) -"Ws" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Wu" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"Ww" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/bedsheet/syndie, -/obj/structure/bed, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -24; - pixel_y = 10 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/office) -"Wy" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"WE" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"WG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"WL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/black/line, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"WN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood/reinforced, -/obj/item/lighter/clockwork{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/machinery/button/door{ - id = "aegis_bridge"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = -6; - pixel_y = 6; - specialfunctions = 4 - }, -/obj/machinery/button/door{ - id = "aegis_bridge"; - name = "Door Control"; - normaldoorcontrol = 1; - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/carpet/red, -/area/ship/bridge) -"WQ" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/office) -"WX" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only, -/obj/item/reagent_containers/food/condiment/saltshaker, -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"Xb" = ( -/obj/structure/table, -/obj/item/storage/firstaid/brute{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 7; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/ship/medical) -"Xd" = ( -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/structure/closet/wall/directional/east{ - name = "Uniform closet" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/obj/item/flashlight, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"Xk" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/hydroponics) -"Xr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/crew/canteen/kitchen) -"Xs" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/catwalk/over, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"XX" = ( -/obj/structure/bed, -/obj/item/bedsheet/dorms, -/obj/structure/curtain/cloth, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"XY" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"XZ" = ( -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/canteen) -"Yd" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"Yo" = ( -/obj/structure/window/plasma/reinforced/spawner/north, -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ - dir = 1 - }, -/turf/open/floor/engine/hull, -/area/ship/engineering) -"Yt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/crew/janitor) -"YA" = ( -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"YI" = ( -/obj/item/storage/cans/sixbeer, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/snacks/meat/slab, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/reagent_containers/food/condiment/milk, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/closet/secure_closet/freezer/wall/directional/south{ - name = "Kitchen Freezer" - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"YL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 6 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) -"YX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew/hydroponics) -"Zg" = ( -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/engineering) -"Zj" = ( -/obj/machinery/button/door{ - id = "cargo_ageis"; - name = "cargobay doors"; - pixel_x = 6; - pixel_y = 22 - }, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/machinery/button/shieldwallgen{ - id = "aegis_holo"; - pixel_x = -6; - pixel_y = 21 - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Zq" = ( -/obj/structure/closet/wall/orange/directional/north{ - name = "Engineering locker" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/item/tank/internals/oxygen, -/obj/item/storage/toolbox/syndicate{ - name = "syndicate toolbox"; - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/storage/belt/utility/syndicate, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/item/storage/box/stockparts/t2, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/clothing/gloves/suns/yellow, -/obj/item/clothing/shoes/jackboots/suns, -/obj/item/clothing/suit/toggle/suns/workervest, -/obj/item/clothing/under/syndicate/suns/workerjumpsuit, -/obj/item/clothing/mask/gas/suns, -/obj/item/clothing/head/safety_helmet/suns, -/obj/item/clothing/glasses/meson/engine, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/engineering) -"Zu" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/ship/crew/dorm) -"ZB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"ZD" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"ZJ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/engineering) -"ZU" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/brown/filled/line, -/turf/open/floor/plasteel/tech, -/area/ship/crew/canteen/kitchen) -"ZW" = ( -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/ship/bridge) -"ZX" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable/yellow, -/turf/open/floor/plasteel/dark, -/area/ship/medical) -"ZY" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/black/line{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/hallway/central) - -(1,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -fw -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -"} -(2,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -xO -xO -hl -kU -kU -kU -aP -ls -Cc -Cc -gt -aP -aP -aP -SF -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -"} -(3,1,1) = {" -wk -wk -wk -Ss -Ss -Ss -Ss -xO -Oz -hl -Ff -it -og -aP -Zj -Aq -lY -WG -Kt -lw -Wb -aP -Xk -Xk -Xk -Im -wk -wk -wk -wk -wk -wk -"} -(4,1,1) = {" -wk -wk -wk -Ss -cw -es -xO -go -qM -hl -up -iO -Ee -aP -iJ -GL -gR -pS -Um -Nn -Hp -aP -Nd -Uo -or -Xk -Mv -Mv -wk -wk -wk -wk -"} -(5,1,1) = {" -wk -wk -Ss -Ss -io -fk -md -gU -Lu -hl -tU -jF -Bq -hl -aP -Td -Ho -bc -Vy -SW -St -aP -Iw -gN -sE -Xk -zW -It -Mv -wk -wk -wk -"} -(6,1,1) = {" -wk -Ss -xO -xO -md -PP -md -cr -XX -hl -XZ -yZ -jq -Wd -aP -aP -aP -aP -aP -aP -hC -aP -aG -dT -UC -Xk -tG -qA -It -Mv -wk -wk -"} -(7,1,1) = {" -Ss -xO -gz -xO -Te -bx -cc -yV -Cq -pb -Bn -hS -jB -lo -ny -jJ -jJ -jJ -dI -FU -Ga -Xk -Fk -WE -dH -Xk -PU -KR -Wy -It -wk -wk -"} -(8,1,1) = {" -Ss -bf -Zu -QC -aW -bE -qD -Xd -wC -xO -kU -kU -kU -zv -rk -AA -Dp -IS -KC -NI -ij -Dj -Sa -OD -pn -Xk -It -sN -Kv -It -It -wk -"} -(9,1,1) = {" -Ss -aB -ah -xO -kz -wh -xO -xO -xO -Ss -wk -wk -wk -JZ -JZ -zv -zv -mh -Ll -Od -uF -KS -oM -YX -Df -Xk -HV -DH -pT -fD -sb -wk -"} -(10,1,1) = {" -Ss -cp -xO -Ss -Ss -xO -Ss -wk -wk -wk -wk -wk -wk -wk -wk -wk -JZ -zv -Ft -cs -VF -KS -YA -Ju -eQ -Xk -vw -dq -uE -VA -EJ -wk -"} -(11,1,1) = {" -Ss -Ss -Ss -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -JZ -zv -Jg -VF -KS -YA -YX -aQ -It -fJ -Vh -Vz -fD -sb -wk -"} -(12,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -zv -Fv -VF -Xk -Xk -TE -Ch -It -vs -zV -UN -It -It -wk -"} -(13,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -gq -FJ -FJ -FJ -gq -wk -wk -wk -wk -zv -OV -qt -WX -vh -ZU -gB -It -Zq -yb -mt -Mb -It -wk -"} -(14,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gq -uM -OW -jW -kI -uM -gq -wk -JZ -JZ -qm -Pc -ab -sr -UY -Yd -YI -It -vj -It -It -It -It -Mv -"} -(15,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gW -ag -hR -tJ -hR -dw -uM -JZ -zv -QN -vA -ZY -qt -jp -Xr -ZB -Gv -It -Bf -vW -Lb -hw -PX -It -"} -(16,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gW -rT -hR -FY -WN -xF -gW -tW -uo -Gx -Ly -PV -qt -DS -Xr -Ku -RF -It -wF -iv -mp -ya -ic -It -"} -(17,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gW -sv -gS -ku -oB -ZW -gA -Dx -nz -GH -Mz -Qd -xL -VT -mV -mK -Uu -It -OL -IH -Lt -bt -Zg -Yo -"} -(18,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gW -uc -hR -Lc -aJ -yC -gW -hA -te -GZ -MH -Qj -qt -AD -Xr -XY -Dt -It -dB -ZJ -FS -gx -tn -It -"} -(19,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gW -bp -pu -PM -hR -Us -uM -JZ -zv -zY -Tw -xf -qt -bD -Xr -mA -jh -It -MS -lx -wM -we -mS -It -"} -(20,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -gq -uM -Ae -mE -qv -uM -gq -wk -JZ -JZ -RL -Qm -EN -JY -dg -mA -hz -It -bs -zM -It -It -It -Mv -"} -(21,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -gq -FJ -FJ -FJ -gq -wk -wk -wk -wk -zv -Gc -qt -NR -eW -cS -NS -It -Fh -ue -ZD -Ko -It -wk -"} -(22,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -zv -Ri -VF -VT -VT -Iy -It -It -Xs -fE -oJ -It -It -wk -"} -(23,1,1) = {" -dZ -kj -dZ -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -JZ -zv -Pt -WL -RS -pl -KX -QI -pm -gK -cd -vG -gV -sb -wk -"} -(24,1,1) = {" -kj -di -kj -kj -kj -kj -DC -wk -wk -wk -wk -wk -wk -wk -wk -wk -JZ -zv -sm -ZY -VF -zv -WQ -WQ -WQ -It -Fj -mm -TL -VA -EJ -wk -"} -(25,1,1) = {" -kj -Yt -Wu -Pf -CG -Pq -Fo -Fo -Fo -DC -wk -wk -wk -Bh -TS -TS -TS -Wc -MP -jf -YL -Ar -by -Pe -qX -It -Rg -CX -xq -fD -sb -wk -"} -(26,1,1) = {" -kj -rf -hr -kj -KP -qa -nY -cF -VU -Fo -dL -dL -dL -TS -KG -CC -TS -MP -Dk -Tf -sk -zv -WQ -xu -KM -WQ -oP -re -Qt -It -It -wk -"} -(27,1,1) = {" -dZ -kj -kj -kj -aE -Sy -Fo -mC -db -eN -hZ -cQ -Vq -Bh -kf -xh -TS -UH -TS -zv -rO -cE -WQ -hf -BN -WQ -qy -QG -qe -It -wk -wk -"} -(28,1,1) = {" -wk -dZ -kj -kj -kj -kj -Fo -mG -if -Fo -AH -mT -fL -Bh -ej -CW -Cd -NM -iH -TS -WQ -WQ -WQ -mv -rv -WQ -mQ -It -It -Mv -wk -wk -"} -(29,1,1) = {" -wk -wk -Bh -Bh -dY -gp -Fo -Fo -ei -Fo -MU -hM -To -Bh -JI -Dn -UP -IA -MV -ZX -La -Ww -ey -eC -NN -WQ -mM -It -Mv -wk -wk -wk -"} -(30,1,1) = {" -wk -wk -wk -Bh -nA -uA -xT -Am -wQ -Ws -CF -nd -Xb -Bh -JI -Do -lN -CM -ff -Ti -TS -bw -Lz -Os -LN -WQ -gE -It -wk -wk -wk -wk -"} -(31,1,1) = {" -wk -wk -wk -Bh -TS -TS -TS -TS -Tt -ck -Dw -Nv -FB -rn -yA -Ul -xN -JB -Mc -sU -TS -WQ -WQ -WQ -WQ -aL -wk -wk -wk -wk -wk -wk -"} -(32,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -TS -TS -TS -dL -dL -dL -TS -QV -TS -TS -TS -TS -TS -TS -aL -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -"} -(33,1,1) = {" -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -wk -"} diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm index 41faf816d827..ffc2472b5dec 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm @@ -258,7 +258,7 @@ /turf/open/floor/plasteel/stairs, /area/ship/cargo) "fk" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /obj/machinery/button/door{ diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 7c7a34fd2690..ae46dc0286f3 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -952,7 +952,7 @@ "pI" = ( /obj/item/radio/intercom/wideband/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 1 }, /obj/effect/turf_decal/borderfloorblack, diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 6a4cf55d36b7..8a29a537d060 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -964,7 +964,7 @@ /obj/machinery/door/poddoor/shutters{ dir = 8; id = "syndie_mechbay"; - name = "Mechbay" + name = "Exosuit Bay" }, /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -2044,7 +2044,7 @@ /obj/machinery/button/door{ dir = 4; id = "syndie_mechbay"; - name = "mechbay door"; + name = "Exosuit Bay Door"; pixel_x = -24 }, /obj/item/radio/intercom/directional/south, @@ -2099,7 +2099,7 @@ /obj/machinery/button/door{ dir = 8; id = "syndie_mechbay"; - name = "mechbay door"; + name = "Exosuit Bay Door"; pixel_x = 24 }, /obj/effect/turf_decal/techfloor{ @@ -2475,6 +2475,7 @@ /obj/machinery/atmospherics/components/trinary/mixer/flipped{ dir = 1 }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, /turf/open/floor/plasteel/tech, /area/ship/engineering) "wJ" = ( @@ -2725,8 +2726,8 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering) "yH" = ( -/obj/item/gun/ballistic/automatic/pistol, -/obj/item/gun/ballistic/automatic/pistol{ +/obj/item/gun/ballistic/automatic/pistol/syndicate, +/obj/item/gun/ballistic/automatic/pistol/syndicate{ pixel_y = 3 }, /obj/effect/turf_decal/industrial/fire{ @@ -2875,7 +2876,7 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/item/gun/ballistic/automatic/pistol{ +/obj/item/gun/ballistic/automatic/pistol/syndicate{ pixel_y = 3 }, /obj/item/ammo_box/magazine/m10mm, @@ -3124,7 +3125,7 @@ }, /obj/item/clothing/gloves/krav_maga/combatglovesplus, /obj/item/clothing/glasses/thermal/eyepatch, -/obj/item/gun/ballistic/revolver, +/obj/item/gun/ballistic/revolver/syndicate, /obj/item/clothing/under/syndicate/sniper, /obj/item/ammo_box/a357, /obj/item/ammo_box/a357, @@ -3507,7 +3508,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) "HI" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ layer = 3 }, /obj/effect/turf_decal/techfloor{ diff --git a/_maps/shuttles/syndicate/syndicate_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_litieguai.dmm index a7e6bb4dbcf5..09ad85bc606f 100644 --- a/_maps/shuttles/syndicate/syndicate_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_litieguai.dmm @@ -1038,9 +1038,9 @@ /obj/item/ammo_box/magazine/m10mm/ap, /obj/item/ammo_box/magazine/m10mm/ap, /obj/item/ammo_box/magazine/m10mm/ap, -/obj/item/gun/ballistic/automatic/pistol, -/obj/item/gun/ballistic/automatic/pistol, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/syndicate, +/obj/item/gun/ballistic/automatic/pistol/syndicate, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/tech, /area/ship/crew) @@ -1500,7 +1500,7 @@ /obj/item/gun/syringe, /obj/item/reagent_containers/glass/bottle/sodium_thiopental, /obj/item/clothing/glasses/hud/health/night, -/obj/item/gun/ballistic/automatic/pistol, +/obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/clothing/gloves/color/latex/nitrile/evil, /obj/item/clothing/suit/toggle/labcoat/raincoat, /obj/item/clothing/shoes/combat, @@ -2608,7 +2608,7 @@ /turf/open/floor/plasteel/white, /area/ship/hallway/central) "TA" = ( -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8 }, /turf/open/floor/plasteel/dark, @@ -2849,7 +2849,7 @@ name = "captain's closet"; req_access_txt = "20" }, -/obj/item/gun/ballistic/revolver, +/obj/item/gun/ballistic/revolver/syndicate, /obj/item/clothing/suit/armor/vest/capcarapace/cybersun, /obj/item/clothing/shoes/combat, /obj/item/clothing/head/HoS/cybersun, diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm new file mode 100644 index 000000000000..4fdcc0741037 --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm @@ -0,0 +1,10357 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/structure/chair/sofa/purple/right/directional/east, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"ag" = ( +/obj/effect/turf_decal/suns/line/marble/end{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public{ + name = "Public Restroom" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet) +"al" = ( +/obj/structure/closet/firecloset/wall/directional/south, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"ar" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "0-6" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"aw" = ( +/obj/structure/janitorialcart, +/obj/item/mop, +/obj/item/storage/bag/trash, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"az" = ( +/obj/machinery/vending/snack/random, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"aA" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/item/storage/fancy/cigarettes/cigars/havana{ + pixel_y = 5 + }, +/obj/item/storage/box/matches{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"aG" = ( +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/pattern, +/area/ship/bridge) +"aH" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"aI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"aP" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"aZ" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light/floor, +/obj/structure/railing, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"bs" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"bu" = ( +/obj/structure/closet/wall/directional/west{ + icon_state = "emergency_wall"; + name = "Internals Closet" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 1; + pixel_x = -8 + }, +/obj/item/clothing/mask/breath{ + pixel_y = -5; + pixel_x = -8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"bx" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 8 + }, +/obj/item/toy/redbutton{ + pixel_y = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"bA" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"bC" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"bD" = ( +/obj/structure/closet/crate/hydroponics, +/obj/effect/turf_decal/siding/wood/end, +/obj/item/storage/bag/plants, +/obj/item/storage/bag/plants/portaseeder, +/obj/item/plant_analyzer, +/obj/item/plant_analyzer, +/obj/item/hatchet/wooden, +/obj/item/hatchet/wooden, +/obj/item/cultivator, +/obj/item/cultivator, +/obj/item/shovel/spade, +/obj/item/shovel/spade, +/obj/item/reagent_containers/glass/bottle/ammonia, +/obj/item/reagent_containers/glass/bottle/ammonia, +/obj/item/reagent_containers/glass/bottle/diethylamine, +/obj/item/reagent_containers/glass/bottle/diethylamine, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/plantbgone, +/obj/item/reagent_containers/spray/pestspray, +/obj/item/reagent_containers/spray/pestspray, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/ez, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z, +/obj/item/reagent_containers/glass/bottle/nutrient/rh, +/obj/item/reagent_containers/glass/bottle/nutrient/rh, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"bF" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"bH" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"bK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/button/door{ + id = "Panacea_emergency_shuts"; + name = "Emergency Exit Shutters"; + pixel_y = 22; + pixel_x = 20; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"bU" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 10; + pixel_y = 12 + }, +/obj/item/clothing/glasses/regular/circle, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"bV" = ( +/obj/effect/turf_decal/suns/line, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "5-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"bY" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "0-5" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"bZ" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/suns/line/fancy/fill, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"cc" = ( +/obj/structure/closet/wall/orange{ + name = "Engineering locker"; + pixel_y = 29; + dir = 1; + req_one_access = list(10, 20) + }, +/obj/item/clothing/suit/toggle/suns/workervest{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/clothing/suit/toggle/suns/workervest{ + pixel_y = 4; + pixel_x = 10 + }, +/obj/item/clothing/under/syndicate/suns/workerjumpsuit{ + pixel_y = 8 + }, +/obj/item/clothing/under/syndicate/suns/workerjumpsuit{ + pixel_y = 4 + }, +/obj/item/clothing/gloves/suns/yellow{ + pixel_y = -5; + pixel_x = -5 + }, +/obj/item/clothing/gloves/suns/yellow{ + pixel_y = -10; + pixel_x = -5 + }, +/obj/item/clothing/shoes/jackboots/suns{ + pixel_x = 3; + pixel_y = -8 + }, +/obj/item/clothing/shoes/jackboots/suns{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/head/safety_helmet/suns{ + pixel_y = 10; + pixel_x = -11 + }, +/obj/item/clothing/head/safety_helmet/suns{ + pixel_y = 4; + pixel_x = -11 + }, +/obj/effect/turf_decal/box, +/obj/item/clothing/head/welding{ + pixel_x = 7; + pixel_y = 18 + }, +/obj/item/clothing/head/welding{ + pixel_x = 7; + pixel_y = 12 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"cg" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/glass{ + name = "Kitchen" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"cj" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_out_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"cs" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_out_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"ct" = ( +/obj/structure/chair/sofa/purple/right{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"cu" = ( +/obj/structure/urinal{ + pixel_y = 28 + }, +/obj/effect/turf_decal/suns/line/marble, +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"cH" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"cM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"cQ" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"cS" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_commons_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"dd" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"de" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"df" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormthree) +"dh" = ( +/obj/structure/sink{ + dir = 8; + pixel_x = 12; + pixel_y = 4 + }, +/obj/structure/mirror{ + pixel_y = 7; + pixel_x = 23 + }, +/obj/item/towel{ + pixel_y = 21; + pixel_x = 1 + }, +/turf/open/floor/suns, +/area/ship/crew/toilet) +"di" = ( +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns, +/area/ship/bridge) +"dj" = ( +/obj/structure/sink/kitchen{ + dir = 4 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"dn" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"dp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 2 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"dy" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/security) +"dz" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/turf/open/floor/carpet/red, +/area/ship/medical/psych) +"dI" = ( +/obj/structure/closet/firecloset/wall/directional/east, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"dL" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"dS" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"dU" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Staff Beds" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"dV" = ( +/obj/effect/turf_decal/suns/line/fancy/fill, +/obj/structure/closet/wall/directional/north{ + name = "radio locker" + }, +/obj/item/radio{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/radio{ + pixel_x = 7; + pixel_y = 12 + }, +/obj/item/radio{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/radio{ + pixel_x = 7; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = 7; + pixel_y = 0 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 16 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/radio{ + pixel_x = -5; + pixel_y = 0 + }, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"dX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"dZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"ec" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts" + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"eh" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"ej" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/dorm) +"em" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/airalarm/directional/east, +/obj/item/clothing/glasses/regular{ + pixel_y = 11; + pixel_x = -3 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/book/manual/random{ + pixel_x = -4; + pixel_y = -1 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"eq" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"er" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/maintenance) +"eu" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"ez" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"eG" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_out_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"eQ" = ( +/obj/machinery/shower{ + pixel_y = 20 + }, +/obj/structure/window, +/obj/structure/curtain, +/obj/item/soap, +/turf/open/floor/suns/pattern, +/area/ship/crew/toilet/three) +"eW" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"eZ" = ( +/obj/item/clothing/shoes/sneakers/suns{ + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/clothing/shoes/sneakers/suns{ + pixel_x = -3; + pixel_y = -10 + }, +/obj/item/clothing/shoes/laceup/suns{ + pixel_y = -11; + pixel_x = -1 + }, +/obj/item/clothing/shoes/laceup/suns{ + pixel_y = -11; + pixel_x = 2 + }, +/obj/item/clothing/suit/toggle/suns{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/clothing/suit/toggle/suns{ + pixel_y = 4; + pixel_x = -7 + }, +/obj/item/clothing/suit/toggle/suns/alt{ + pixel_y = 1; + pixel_x = -3 + }, +/obj/item/clothing/suit/toggle/suns/alt{ + pixel_y = 2 + }, +/obj/item/clothing/neck/cloak/suns{ + pixel_x = 7 + }, +/obj/item/clothing/neck/cloak/suns{ + pixel_x = 11 + }, +/obj/item/clothing/gloves/suns{ + pixel_y = -6 + }, +/obj/item/clothing/gloves/suns{ + pixel_y = -6; + pixel_x = 3 + }, +/obj/item/clothing/head/suns{ + pixel_y = -6; + pixel_x = -11 + }, +/obj/item/clothing/head/suns{ + pixel_y = -6; + pixel_x = -8 + }, +/obj/structure/closet/secure_closet/suns{ + name = "Outer Wear" + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"fe" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"fj" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"fn" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/firealarm/directional/west, +/obj/structure/railing, +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"fG" = ( +/obj/machinery/computer/cargo{ + dir = 8 + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"fH" = ( +/obj/structure/chair/comfy/purple/directional/west, +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"fJ" = ( +/obj/structure/railing/corner/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"fK" = ( +/obj/item/storage/bag/chemistry{ + pixel_y = 24 + }, +/obj/structure/closet/wall/white/chem{ + pixel_y = 28; + dir = 1; + req_one_access = list(5, 20); + name = "Pharmaceutical Supply" + }, +/obj/item/reagent_containers/glass/bottle/ammonia{ + pixel_x = 11; + pixel_y = 19 + }, +/obj/item/reagent_containers/glass/bottle/sulfur{ + pixel_y = 19; + pixel_x = 4 + }, +/obj/item/reagent_containers/glass/bottle/sugar{ + pixel_y = 19; + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/sodium{ + pixel_y = 19; + pixel_x = -10 + }, +/obj/item/reagent_containers/glass/bottle/silicon{ + pixel_y = 15; + pixel_x = 15 + }, +/obj/item/reagent_containers/glass/bottle/radium{ + pixel_y = 15; + pixel_x = 8 + }, +/obj/item/reagent_containers/glass/bottle/potassium{ + pixel_y = 15; + pixel_x = 1 + }, +/obj/item/reagent_containers/glass/bottle/phosphorus{ + pixel_y = 15; + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/oxygen{ + pixel_y = 15; + pixel_x = -13 + }, +/obj/item/reagent_containers/glass/bottle/nitrogen{ + pixel_y = 12; + pixel_x = 11 + }, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_y = 12; + pixel_x = 4 + }, +/obj/item/reagent_containers/glass/bottle/mercury{ + pixel_y = 12; + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_y = 12; + pixel_x = -10 + }, +/obj/item/reagent_containers/glass/bottle/lithium{ + pixel_y = 9; + pixel_x = 15 + }, +/obj/item/reagent_containers/glass/bottle/iodine{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/reagent_containers/glass/bottle/hydrogen{ + pixel_y = 9; + pixel_x = 1 + }, +/obj/item/reagent_containers/glass/bottle/fluorine{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/ethanol{ + pixel_y = 9; + pixel_x = -13 + }, +/obj/item/reagent_containers/glass/bottle/chlorine{ + pixel_x = 11; + pixel_y = 5 + }, +/obj/item/reagent_containers/glass/bottle/carbon{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/reagent_containers/glass/bottle/bromine{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/aluminium{ + pixel_y = 5; + pixel_x = -10 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"fM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"fU" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_dorm_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"fV" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"gi" = ( +/obj/docking_port/stationary{ + dir = 4; + name = "Panacea Subshuttle Dock"; + dwidth = 7; + height = 15; + width = 15 + }, +/turf/template_noop, +/area/template_noop) +"gl" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 6 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"go" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/poddoor{ + id = "Panacea_engine_window_blasts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"gq" = ( +/obj/structure/chair/comfy/purple/corpo/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/storage/secure/safe/suns{ + dir = 8; + pixel_x = -30 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"gv" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 1 + }, +/obj/item/storage/box/actionfigure{ + pixel_y = 3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"gw" = ( +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"gy" = ( +/obj/effect/turf_decal/suns/line{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"gE" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"gN" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + piping_layer = 2 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"gR" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing/wood, +/obj/item/newspaper{ + pixel_y = 2; + pixel_x = 4 + }, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"gY" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/structure/closet/wardrobe/black, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"hc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/bed/dogbed{ + anchored = 1; + name = "Bibsy's bed" + }, +/mob/living/simple_animal/pet/cat/kitten{ + dir = 8; + name = "Bibsy" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"hd" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/hydroponics) +"hf" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"hh" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"hj" = ( +/obj/structure/chair/comfy/purple/directional/west, +/obj/machinery/button/door{ + id = "Panacea_psych_out_shut"; + name = "Window Shutters"; + pixel_y = 11; + pixel_x = 20; + dir = 8 + }, +/turf/open/floor/carpet/red, +/area/ship/crew/office) +"hl" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/crate_shelf, +/obj/structure/closet/crate{ + pixel_x = 2; + pixel_y = 4; + name = "mining gear crate" + }, +/obj/item/storage/bag/ore{ + pixel_y = 5 + }, +/obj/item/storage/bag/ore{ + pixel_y = -4 + }, +/obj/item/pickaxe{ + pixel_x = 5 + }, +/obj/item/pickaxe, +/obj/item/gps/mining{ + pixel_x = -2; + pixel_y = -8 + }, +/obj/item/gps/mining{ + pixel_x = 5; + pixel_y = -8 + }, +/obj/item/clothing/head/hardhat/mining{ + pixel_y = 2; + pixel_x = -6 + }, +/obj/item/clothing/head/hardhat/mining{ + pixel_y = 6; + pixel_x = -6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"hp" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"hr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"hs" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/red, +/area/ship/medical/psych) +"hw" = ( +/obj/structure/chair/bench/beige{ + dir = 8 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/toy/plush/moth/firewatch{ + layer = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"hC" = ( +/obj/structure/railing{ + dir = 6; + layer = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"hF" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 8 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"hG" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"hI" = ( +/obj/structure/table, +/obj/item/toy/plush/moth/rainbow{ + pixel_y = 6 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"hP" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/item/paicard{ + pixel_x = -3; + pixel_y = 3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"hS" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/structure/cable/blue{ + icon_state = "2-9" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"hW" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ic" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"ig" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"ih" = ( +/obj/structure/closet, +/obj/item/storage/box/lights/mixed{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/item/reagent_containers/glass/bucket{ + pixel_y = -1; + pixel_x = -9 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -7; + pixel_y = -6 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -13; + pixel_y = -6 + }, +/obj/item/lightreplacer{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/pushbroom, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"ij" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/box, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"ik" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/canteen) +"im" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"io" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner, +/obj/item/toy/windupToolbox{ + pixel_y = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"iu" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"iw" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/firealarm/directional/west, +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/toy/plush/goatplushie{ + pixel_x = 6; + pixel_y = 16 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"iz" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/vending/cola/blue, +/obj/item/toy/plush/moth/moonfly{ + pixel_y = 17 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"iC" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"iE" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"iF" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"iH" = ( +/obj/effect/turf_decal/suns/line/marble/corner, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"iI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts"; + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/maintenance) +"iJ" = ( +/obj/item/circuitboard/computer/powermonitor{ + pixel_x = 4 + }, +/obj/structure/frame/computer{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"iL" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/pen/fountain{ + pixel_y = 5; + pixel_x = 7 + }, +/obj/item/folder/suns{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/machinery/light/directional/east, +/obj/structure/railing{ + dir = 1; + layer = 2.5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"iM" = ( +/obj/machinery/photocopier, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"iN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/toy/plush/blahaj{ + pixel_y = 0 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"iW" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"iY" = ( +/obj/structure/table/wood/reinforced, +/obj/item/storage/box/cups{ + pixel_y = 5 + }, +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/suns, +/area/ship/bridge) +"iZ" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"js" = ( +/obj/effect/turf_decal/borderfloorwhite, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"jt" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + dir = 2; + name = "Psych's Room"; + req_one_access = list(1, 19, 20, 57, 58, 70) + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"jx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"jy" = ( +/obj/structure/chair/comfy/purple/directional, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"jD" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_dorm_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"jG" = ( +/obj/effect/turf_decal/suns/alt/fancy/top_left{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"jI" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"jJ" = ( +/obj/structure/closet/emcloset/wall/directional/east, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"jM" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 5 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"jU" = ( +/turf/open/floor/suns/dark/pattern, +/area/ship/bridge) +"jW" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"jX" = ( +/turf/open/floor/carpet/red, +/area/ship/crew/office) +"jZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/turf/open/floor/suns, +/area/ship/medical) +"ka" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"kr" = ( +/obj/structure/railing{ + dir = 6; + layer = 5 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/fishing{ + pixel_y = 8 + }, +/obj/item/storage/toolbox/fishing{ + pixel_y = 0 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"ks" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 6 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"ku" = ( +/obj/effect/turf_decal/suns/alt/fancy/middle_center{ + dir = 4 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"kw" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"kx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"kJ" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/closet/firecloset/wall/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"kU" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"kW" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"lb" = ( +/obj/effect/turf_decal/suns/capital_s/marble{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"lc" = ( +/turf/open/floor/suns, +/area/ship/crew/canteen) +"lk" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"lo" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_y = 6 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"ls" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts" + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"lu" = ( +/obj/machinery/atmospherics/components/unary/shuttle/heater{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"lB" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"lC" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"lF" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"lH" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"lK" = ( +/obj/structure/railing, +/obj/structure/chair/sofa/purple/left{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"lL" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"lR" = ( +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"lT" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder/constructed{ + pixel_y = 4; + pixel_x = -7 + }, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"lU" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"lV" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormtwo) +"lX" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/item/table_bell/brass{ + pixel_y = 1; + pixel_x = 7 + }, +/obj/item/desk_flag/suns{ + pixel_y = 13; + pixel_x = 11 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/item/pen/fourcolor{ + pixel_y = 6; + pixel_x = -8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"mb" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical/psych) +"md" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "plasma to engines pump" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"me" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/three) +"mh" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"mo" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + req_access_txt = "20"; + dir = 4; + req_access = list(20) + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"mp" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"mu" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"mB" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_bridge_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"mD" = ( +/obj/effect/turf_decal/suns/capital_u/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"mH" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_priv_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/medical/psych) +"mK" = ( +/obj/machinery/holopad/emergency, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"mN" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"mP" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "1-6" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"mR" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/airlock/public{ + dir = 4; + name = "Front Desk" + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/office/lobby) +"mS" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/structure/chair/plastic, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"mT" = ( +/obj/structure/railing/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"mU" = ( +/obj/machinery/holopad/emergency, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"mW" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/item/clothing/under/syndicate/suns/alt{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/item/clothing/under/syndicate/suns/uniform2{ + pixel_x = 5; + pixel_y = 0 + }, +/obj/item/clothing/gloves/suns{ + pixel_y = -12; + pixel_x = 5 + }, +/obj/item/clothing/shoes/laceup/suns{ + pixel_y = -11; + pixel_x = -5 + }, +/obj/item/clothing/accessory/waistcoat/suns/ribbon{ + pixel_y = -4; + pixel_x = -11 + }, +/obj/item/clothing/accessory/waistcoat/suns/poof{ + pixel_y = -5; + pixel_x = 12 + }, +/obj/item/melee/classic_baton{ + name = "wooden baton"; + pixel_y = -4 + }, +/obj/structure/closet/secure_closet{ + icon_state = "cabinet"; + req_one_access = list(20, 25); + name = "Mixologist's Closet" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"mZ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/stamp/captain{ + pixel_x = 12; + pixel_y = 11 + }, +/obj/item/stamp/syndicate{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/item/stamp/denied{ + pixel_y = 6; + pixel_x = 12 + }, +/obj/item/stamp{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/folder/red{ + pixel_x = -7; + pixel_y = -9 + }, +/obj/item/folder/blue{ + pixel_x = -2; + pixel_y = -8 + }, +/obj/item/pen/fountain{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/folder/suns{ + pixel_y = -6; + pixel_x = 6 + }, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000{ + pixel_y = -7 + }, +/turf/open/floor/suns/dark/pattern, +/area/ship/bridge) +"na" = ( +/obj/structure/closet/secure_closet/medical1{ + name = "medical supply closet" + }, +/obj/item/storage/bag/medical{ + pixel_y = -4; + pixel_x = 5 + }, +/obj/item/pinpointer/crew{ + pixel_y = -3; + pixel_x = 5 + }, +/obj/item/pinpointer/crew{ + pixel_y = 0; + pixel_x = 5; + req_one_access = list(5, 20) + }, +/obj/item/storage/box/rxglasses{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/storage/box/syringes{ + pixel_x = -8; + pixel_y = 1 + }, +/obj/item/storage/box/medipens{ + pixel_x = -8; + pixel_y = -2 + }, +/obj/item/storage/box/bodybags{ + pixel_x = -8; + pixel_y = -5 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"nc" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public{ + name = "Patient Restroom" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"nf" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"nh" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/button/door{ + id = "Panacea_engine_blasts"; + name = "Engine Blast Doors"; + dir = 8; + pixel_x = 20; + pixel_y = -8; + req_one_access = list(10, 19, 20, 57, 58) + }, +/obj/machinery/button/door{ + name = "Window Blast Doors"; + id = "Panacea_engine_window_blasts"; + pixel_x = 20; + pixel_y = 3; + dir = 8; + req_one_access = list(10, 19, 20, 57, 58) + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"nm" = ( +/obj/effect/turf_decal/suns/line/marble/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"nv" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"nA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"nG" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue{ + icon_state = "0-2" + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"nI" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"nS" = ( +/obj/effect/turf_decal/suns/capital_n/marble{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"nU" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"nZ" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"of" = ( +/obj/structure/table, +/obj/item/storage/firstaid/medical{ + pixel_y = 17; + pixel_x = -8 + }, +/obj/item/storage/firstaid/o2{ + pixel_y = 12; + pixel_x = -8 + }, +/obj/item/storage/firstaid/regular{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/storage/firstaid/brute{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 10; + pixel_y = 17 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 10; + pixel_y = 12 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"oh" = ( +/obj/machinery/photocopier, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"op" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/wallframe/intercom/table{ + dir = 4; + pixel_x = 8; + pixel_y = -6 + }, +/turf/open/floor/suns, +/area/ship/bridge) +"oq" = ( +/obj/structure/bed, +/obj/item/bedsheet/suns, +/obj/structure/curtain/cloth/grey, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 9 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"ow" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"oB" = ( +/obj/effect/turf_decal/suns/line/fancy, +/obj/effect/turf_decal/suns/line/fancy{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/medical{ + name = "Medbay"; + req_one_access = list(1, 5, 19, 57, 45) + }, +/turf/open/floor/suns, +/area/ship/medical) +"oG" = ( +/obj/machinery/shower{ + pixel_y = 12 + }, +/obj/structure/curtain, +/obj/item/soap, +/turf/open/floor/suns/pattern, +/area/ship/crew/toilet/two) +"oK" = ( +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_commons_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"oQ" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"oR" = ( +/obj/effect/turf_decal/suns/alt/fancy/middle_right{ + dir = 4 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"oS" = ( +/obj/structure/closet/wall/white/med{ + name = "medical locker"; + pixel_y = 29; + dir = 1; + req_one_access = list(5, 20) + }, +/obj/item/clothing/gloves/color/latex/nitrile/suns{ + pixel_y = -7; + pixel_x = -8 + }, +/obj/item/clothing/gloves/color/latex/nitrile/suns{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/under/syndicate/suns/doctorscrubs{ + pixel_y = 8; + pixel_x = 6 + }, +/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat{ + pixel_y = 8; + pixel_x = -7 + }, +/obj/item/clothing/under/syndicate/suns/doctorscrubs{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/clothing/suit/toggle/labcoat/suns/doctorlabcoat{ + pixel_y = 8; + pixel_x = -3 + }, +/obj/item/storage/belt/medical{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/storage/belt/medical{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 1; + pixel_x = -2 + }, +/obj/item/clothing/mask/surgical/suns{ + pixel_y = 11; + pixel_x = -2 + }, +/obj/item/clothing/mask/surgical/suns{ + pixel_y = 11; + pixel_x = 3 + }, +/obj/item/clothing/head/suns/surgery{ + pixel_y = 14; + pixel_x = -7 + }, +/obj/item/clothing/head/suns/surgery{ + pixel_y = 14; + pixel_x = -2 + }, +/obj/item/clothing/glasses/hud/health/suns{ + pixel_y = 15; + pixel_x = 6 + }, +/obj/item/clothing/glasses/hud/health/suns{ + pixel_y = 15; + pixel_x = 11 + }, +/turf/open/floor/suns, +/area/ship/medical) +"oZ" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"pi" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"pj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"pn" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"px" = ( +/obj/effect/turf_decal/suns/alt/fancy/top_right{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"pA" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"pB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"pE" = ( +/obj/machinery/computer/helm{ + dir = 8 + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"pG" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 1 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/pen/fourcolor{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/pen/fourcolor{ + pixel_y = 2; + pixel_x = 3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"pK" = ( +/obj/structure/table/wood/reinforced, +/obj/item/newspaper{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/item/clothing/glasses/regular{ + pixel_y = 7; + pixel_x = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"pM" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/item/book/manual/random{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/clothing/glasses/regular/thin{ + pixel_x = -2; + pixel_y = -3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"pO" = ( +/obj/structure/weightmachine/stacklifter, +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"pP" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"pR" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"pT" = ( +/obj/structure/urinal{ + dir = 8; + pixel_y = 1; + pixel_x = 13 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"pX" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/closet/wall/blue/directional/north{ + name = "XO's Locker"; + req_one_access = list(20, 57) + }, +/obj/item/clothing/gloves/suns/xo{ + pixel_y = -7 + }, +/obj/item/clothing/shoes/combat/suns{ + pixel_x = 8; + pixel_y = -6 + }, +/obj/item/clothing/suit/armor/vest/bulletproof/suns/xo{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/clothing/neck/cloak/suns/xo{ + pixel_y = 8; + pixel_x = 5 + }, +/obj/item/clothing/under/syndicate/suns/xo{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 13; + pixel_y = 2 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"pZ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/valve/layer4{ + dir = 4; + name = "Disposals Outlet Valve" + }, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"qb" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"qe" = ( +/obj/structure/flora/ausbushes/grassybush, +/obj/structure/flora/ausbushes/ppflowers, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"qf" = ( +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"qk" = ( +/obj/structure/table/wood/reinforced, +/obj/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = 4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"qz" = ( +/obj/machinery/power/smes/engineering{ + layer = 4 + }, +/obj/structure/railing{ + dir = 8; + layer = 4.1 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.8 + }, +/obj/structure/cable/blue, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"qA" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/cryo) +"qC" = ( +/obj/structure/closet/firecloset/wall/directional/north, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"qD" = ( +/obj/structure/closet/wall/orange{ + name = "Engineering Equipment"; + pixel_y = 29; + dir = 1; + req_one_access = list(10, 20) + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 5; + pixel_y = -8 + }, +/obj/item/clothing/gloves/color/yellow{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -6; + pixel_y = -9 + }, +/obj/item/geiger_counter{ + pixel_y = 13; + pixel_x = 7 + }, +/obj/item/geiger_counter{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/multitool{ + pixel_y = 4; + pixel_x = 13 + }, +/obj/item/multitool{ + pixel_y = 4; + pixel_x = 8 + }, +/obj/effect/turf_decal/box, +/obj/item/t_scanner{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/t_scanner{ + pixel_y = 4; + pixel_x = -11 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_x = -6 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_x = -6; + pixel_y = -4 + }, +/obj/item/storage/belt/utility/full{ + pixel_y = -10; + pixel_x = 7 + }, +/obj/item/storage/belt/utility/full{ + pixel_y = -10; + pixel_x = -7 + }, +/obj/item/holosign_creator/atmos{ + pixel_y = 14; + pixel_x = -9 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"qM" = ( +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"qQ" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"qT" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/obj/machinery/fax/syndicate, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"qZ" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "Panacea_entrance_shield" + }, +/obj/structure/cable/blue{ + icon_state = "0-10" + }, +/obj/machinery/door/poddoor{ + id = "Panacea_entrance_blast"; + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/crew/office/lobby) +"rc" = ( +/obj/structure/closet/wall/red/directional/north{ + name = "Captain's Locker"; + req_access = list(20) + }, +/obj/item/clothing/gloves/suns/captain{ + pixel_x = -7; + pixel_y = -12 + }, +/obj/item/clothing/neck/cloak/suns/cap{ + pixel_y = 4; + pixel_x = 7 + }, +/obj/item/clothing/shoes/combat/suns{ + pixel_x = 6; + pixel_y = -9 + }, +/obj/item/clothing/suit/armor/vest/bulletproof/suns/captain{ + pixel_y = -1 + }, +/obj/item/clothing/under/syndicate/suns/captain{ + pixel_y = -3; + pixel_x = -9 + }, +/obj/item/clothing/head/suns/captain{ + pixel_x = -5; + pixel_y = -11 + }, +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns{ + pixel_y = 7; + pixel_x = -4 + }, +/obj/item/ammo_box/magazine/modelh{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/ammo_box/magazine/modelh{ + pixel_y = 6; + pixel_x = -2 + }, +/obj/item/ammo_box/magazine/modelh{ + pixel_y = 6; + pixel_x = 2 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"re" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/ship/water, +/area/ship/crew/hydroponics) +"rf" = ( +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"ri" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/structure/easel, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"rk" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"rs" = ( +/obj/structure/chair/plastic, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"rB" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"rE" = ( +/obj/structure/flora/ausbushes/sunnybush, +/obj/structure/flora/ausbushes/lavendergrass, +/obj/machinery/light/directional/north, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"rG" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"rL" = ( +/obj/structure/chair/sofa/purple, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"rM" = ( +/obj/machinery/vending/snack, +/obj/item/toy/plush/sharai{ + pixel_y = 19 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm/dormtwo) +"rU" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"rX" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"sp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"sq" = ( +/obj/structure/closet/firecloset/wall/directional/west, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"ss" = ( +/turf/open/floor/suns/pattern, +/area/ship/crew/canteen) +"su" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"sD" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"sI" = ( +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"sM" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"sN" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance) +"sS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/closet/firecloset/wall/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"sY" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 5 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"td" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/turf/open/floor/suns/dark/pattern, +/area/ship/bridge) +"tg" = ( +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"th" = ( +/obj/structure/table, +/obj/structure/bedsheetbin{ + pixel_x = -1; + pixel_y = 1 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"tm" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/internals/oxygen{ + pixel_x = 1; + pixel_y = -6 + }, +/obj/item/clothing/suit/space/hardsuit/solgov/suns{ + pixel_x = -5 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"ts" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"tt" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"tB" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"tE" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"tJ" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_bridge_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"tK" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/fancy/fill, +/obj/item/toy/plush/moth/ragged{ + pixel_y = 9; + pixel_x = -7 + }, +/obj/item/toy/plush/rilena{ + pixel_x = 6; + pixel_y = 4 + }, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"tS" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 8 + }, +/obj/item/toy/plush/kari{ + pixel_y = 4; + pixel_x = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"tT" = ( +/obj/effect/turf_decal/suns/line/marble, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"ua" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"ub" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"uj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"up" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/structure/closet/crate/hydroponics{ + name = "seeds crate" + }, +/obj/item/seeds/tower, +/obj/item/seeds/tower, +/obj/item/seeds/tomato, +/obj/item/seeds/tomato, +/obj/item/seeds/tobacco, +/obj/item/seeds/tobacco, +/obj/item/seeds/wheat, +/obj/item/seeds/wheat, +/obj/item/seeds/sugarcane, +/obj/item/seeds/sugarcane, +/obj/item/seeds/soya, +/obj/item/seeds/soya, +/obj/item/seeds/potato, +/obj/item/seeds/potato, +/obj/item/seeds/nettle, +/obj/item/seeds/nettle, +/obj/item/seeds/eggplant, +/obj/item/seeds/eggplant, +/obj/item/seeds/cotton, +/obj/item/seeds/cotton, +/obj/item/seeds/corn, +/obj/item/seeds/corn, +/obj/item/seeds/coffee, +/obj/item/seeds/coffee, +/obj/item/seeds/chili, +/obj/item/seeds/chili, +/obj/item/seeds/chanter, +/obj/item/seeds/chanter, +/obj/item/seeds/carrot, +/obj/item/seeds/carrot, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"ut" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts" + }, +/turf/open/floor/plating, +/area/ship/maintenance) +"uv" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"uy" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"uI" = ( +/turf/open/floor/suns, +/area/ship/medical) +"uL" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 4 + }, +/obj/item/toy/cards/deck/cas{ + pixel_y = 8; + pixel_x = -4 + }, +/obj/item/toy/cards/deck/cas/black{ + pixel_y = 6; + pixel_x = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"uM" = ( +/obj/structure/table/wood/reinforced, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"uQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"uU" = ( +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 0 + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/ccommons) +"va" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/table/wood/reinforced, +/obj/machinery/fax/syndicate, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"vc" = ( +/obj/effect/turf_decal/suns/line/fancy, +/obj/effect/turf_decal/suns/line/fancy{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Peacekeeper's Office"; + req_one_access = list(1, 19, 20, 57, 58) + }, +/turf/open/floor/suns, +/area/ship/security) +"vd" = ( +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns, +/area/ship/bridge) +"vh" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"vi" = ( +/obj/structure/fireplace, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"vl" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 9 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"vm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"vn" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/engineering) +"vq" = ( +/obj/structure/closet/wall/blue/directional/west{ + name = "EVA Closet" + }, +/obj/structure/railing{ + dir = 1; + layer = 3 + }, +/obj/item/clothing/suit/space/syndicate/suns{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/space/syndicate/suns{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/clothing/head/helmet/space/syndicate/suns{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/clothing/head/helmet/space/syndicate/suns{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/item/clothing/suit/space/syndicate/suns{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/clothing/suit/space/syndicate/suns{ + pixel_x = -7; + pixel_y = -3 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"vv" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/suns, +/area/ship/medical) +"vw" = ( +/obj/machinery/defibrillator_mount/loaded{ + pixel_y = 14; + pixel_x = 25 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"vx" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 2; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"vG" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"vI" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"vM" = ( +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"vS" = ( +/obj/structure/curtain/cloth/grey, +/obj/machinery/recharge_station, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"vX" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"wa" = ( +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"wc" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"we" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 5 + }, +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/three) +"wi" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"wk" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"wn" = ( +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"ws" = ( +/obj/machinery/hydroponics/constructable, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"wt" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/holopad/emergency, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"wv" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"ww" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"wC" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/box, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"wH" = ( +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/table/wood/reinforced, +/obj/machinery/recharger{ + pixel_y = 9; + pixel_x = 8 + }, +/obj/item/desk_flag/suns{ + pixel_y = 2; + pixel_x = -8 + }, +/turf/open/floor/suns, +/area/ship/bridge) +"wI" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"wM" = ( +/obj/structure/window{ + dir = 8 + }, +/obj/machinery/door/window/eastright{ + dir = 2 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/pattern, +/area/ship/crew/toilet/three) +"wP" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"wT" = ( +/obj/structure/railing, +/obj/structure/table/wood/reinforced, +/obj/item/papercutter{ + pixel_x = 3; + pixel_y = 5 + }, +/obj/item/desk_flag/suns{ + pixel_y = 1; + pixel_x = 11 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"wU" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"wY" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_out_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/office) +"wZ" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"xd" = ( +/obj/structure/rack, +/obj/item/radio/intercom/directional/west, +/obj/item/holosign_creator/medical{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/holosign_creator/medical{ + pixel_y = 3; + pixel_x = 10 + }, +/obj/item/roller{ + pixel_x = -6; + pixel_y = 14 + }, +/obj/item/roller{ + pixel_x = -7; + pixel_y = 20 + }, +/obj/item/healthanalyzer{ + pixel_y = -6; + pixel_x = 4 + }, +/obj/item/healthanalyzer{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"xp" = ( +/obj/structure/table/wood/reinforced, +/obj/item/flashlight/lamp/green{ + pixel_x = -8; + pixel_y = -7 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 9; + pixel_y = 9 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"xE" = ( +/obj/structure/bed/dogbed{ + anchored = 1; + name = "Felix' bed" + }, +/mob/living/simple_animal/pet/cat/space{ + dir = 4; + name = "Felix" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"xL" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/ship/water, +/area/ship/crew/hydroponics) +"xO" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"xP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"xQ" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"xT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"xV" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -14; + pixel_y = 5 + }, +/obj/structure/mirror{ + pixel_y = 7; + pixel_x = -24 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 9 + }, +/obj/effect/turf_decal/suns/line/marble/corner, +/obj/item/towel{ + pixel_y = 22; + pixel_x = 1 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"xY" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public{ + dir = 4; + name = "Patient Dorms" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm) +"xZ" = ( +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"yf" = ( +/obj/structure/chair/comfy/purple/directional/west, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"yh" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/office) +"ym" = ( +/obj/machinery/holopad/emergency, +/turf/open/floor/suns/pattern, +/area/ship/crew/dorm) +"yp" = ( +/obj/structure/table, +/obj/item/folder/red{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/folder/suns{ + pixel_y = 0; + pixel_x = 5 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"ys" = ( +/obj/machinery/door/poddoor{ + id = "Panacea_entrance_blast"; + dir = 4 + }, +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/crew/office/lobby) +"yu" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_dorm_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"yv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"yw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"yA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"yF" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/ship/water, +/area/ship/crew/hydroponics) +"yT" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"yX" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light/floor, +/obj/structure/railing{ + dir = 10; + layer = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"zc" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"zi" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"zn" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"zz" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"zC" = ( +/obj/structure/chair/office, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"zD" = ( +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"zH" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"zJ" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + dir = 2; + name = "Bar"; + req_one_access = list(1, 19, 20, 25, 57, 58) + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"zK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/computer/helm/viewscreen/directional/west, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"zL" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"zQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"zS" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/disposalpipe/segment, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts" + }, +/turf/open/floor/plating, +/area/ship/maintenance) +"zT" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"zU" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"zV" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"zZ" = ( +/obj/structure/railing, +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 2; + pixel_x = -7 + }, +/obj/item/clipboard{ + pixel_x = 8 + }, +/obj/item/folder/blue{ + pixel_x = 16; + pixel_y = 6 + }, +/obj/item/folder/red{ + pixel_y = 3; + pixel_x = 10 + }, +/obj/item/pen/fountain{ + pixel_y = 3; + pixel_x = -7 + }, +/obj/item/folder/suns{ + pixel_y = -6; + pixel_x = 15 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"Af" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"Am" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"At" = ( +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Av" = ( +/obj/structure/table, +/obj/item/toy/plush/hornet/gay{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/toy/plush/knight{ + pixel_y = 5; + pixel_x = -3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"AM" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"AO" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"AR" = ( +/obj/structure/table, +/obj/item/storage/box/metalfoam{ + pixel_y = 14; + pixel_x = -9 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"AW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"AZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/suns, +/area/ship/security) +"Bb" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"Bc" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/bridge) +"Bd" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"Be" = ( +/obj/structure/rack, +/obj/item/wheelchair{ + pixel_y = -2 + }, +/obj/item/wheelchair{ + pixel_y = 2 + }, +/obj/item/wheelchair{ + pixel_y = 6 + }, +/obj/item/wheelchair{ + pixel_y = 10 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light/directional/east, +/obj/structure/railing, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Bk" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"Bl" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet) +"Bo" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 5 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"Bq" = ( +/obj/machinery/autolathe, +/obj/structure/railing{ + dir = 1; + layer = 2.8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Br" = ( +/obj/machinery/door/airlock/external/glass{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts"; + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/maintenance) +"Bu" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"Bw" = ( +/obj/machinery/power/shuttle/engine/fueled/plasma{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + id = "Panacea_engine_blasts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Bx" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 10 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"By" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"BD" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"BJ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 8 + }, +/obj/machinery/button/door{ + id = "Panacea_psych_priv_shut"; + name = "Privacy Shutters"; + dir = 4; + pixel_x = -20; + pixel_y = -1 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"BK" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 9 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"BM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad/emergency, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"BN" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 5 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command{ + name = "Command Deck"; + req_one_access = list(19, 20, 57, 58) + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"BT" = ( +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "Panacea_entrance_shield" + }, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "Panacea_entrance_blast"; + dir = 4 + }, +/turf/open/floor/suns/grid, +/area/ship/crew/office/lobby) +"BU" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/cryo) +"BV" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/item/storage/fancy/donut_box, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"BY" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"Ca" = ( +/obj/structure/chair/stool/bar{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ce" = ( +/obj/structure/table, +/obj/item/storage/pill_bottle/dice{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/toy/cards/deck{ + pixel_y = 11; + pixel_x = 7 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = 7 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ch" = ( +/obj/structure/railing/corner/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"Cs" = ( +/obj/structure/railing/corner, +/obj/effect/turf_decal/borderfloorwhite, +/obj/structure/cable/blue{ + icon_state = "4-9" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Cw" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 9 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Cy" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"CA" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/toilet/two) +"CD" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"CG" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/corner, +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"CK" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"CL" = ( +/obj/effect/turf_decal/suns/line{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"CQ" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/obj/structure/closet/wardrobe/mixed, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"CV" = ( +/obj/item/clothing/gloves/tackler/dolphin/suns{ + pixel_x = -8; + pixel_y = -6 + }, +/obj/item/clothing/shoes/jackboots/suns/long{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/under/syndicate/suns/pkuniform{ + pixel_y = 6; + pixel_x = -10 + }, +/obj/item/clothing/suit/toggle/suns/pkcoat{ + pixel_x = -1; + pixel_y = 4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof/suns{ + pixel_y = 4; + pixel_x = 8 + }, +/obj/item/clothing/head/welding/suns{ + pixel_y = -8; + pixel_x = -5 + }, +/obj/item/clothing/glasses/hud/security/suns{ + pixel_y = -8; + pixel_x = 5 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/structure/closet/secure_closet/suns{ + req_one_access = list(1, 20); + name = "Peacekeeper's locker" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"CY" = ( +/obj/structure/mirror{ + pixel_y = 33 + }, +/obj/structure/sink{ + pixel_y = 20 + }, +/obj/item/towel{ + pixel_y = 22; + pixel_x = -16 + }, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"Da" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Db" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"Dc" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"Dh" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/curtain, +/obj/machinery/light/directional/south, +/turf/open/floor/suns, +/area/ship/crew/toilet/two) +"Dn" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Do" = ( +/obj/structure/railing/corner/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"Dp" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_bridge_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Dq" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Du" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"Dz" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/structure/railing, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"DG" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"DH" = ( +/obj/structure/closet/emcloset/wall/directional/north, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"DI" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/item/flashlight/lamp/green{ + pixel_y = 14; + pixel_x = 16; + layer = 4 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/clothing/head/wig{ + pixel_x = 4; + pixel_y = -7 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"DJ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/medical) +"DN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"DX" = ( +/obj/machinery/vending/coffee, +/obj/item/toy/plush/tali{ + pixel_y = 19 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm/dormtwo) +"Ee" = ( +/obj/structure/railing{ + dir = 1; + layer = 2.8 + }, +/obj/machinery/power/ship_gravity, +/obj/machinery/light/directional/west, +/obj/structure/cable/blue{ + icon_state = "0-2" + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Ei" = ( +/obj/item/clothing/under/syndicate/suns/uniform2/alt{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/clothing/under/syndicate/suns/uniform2/alt{ + pixel_y = 3; + pixel_x = -8 + }, +/obj/item/clothing/under/syndicate/suns/alt{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/under/syndicate/suns/alt{ + pixel_x = -8; + pixel_y = -5 + }, +/obj/item/clothing/under/syndicate/suns{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/item/clothing/under/syndicate/suns{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/clothing/under/syndicate/suns/uniform3{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/item/clothing/under/syndicate/suns/uniform3{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/clothing/under/syndicate/suns/uniform2{ + pixel_x = 6; + pixel_y = -7 + }, +/obj/item/clothing/under/syndicate/suns/uniform2{ + pixel_x = 6; + pixel_y = -9 + }, +/obj/structure/closet/secure_closet/suns{ + name = "Uniforms" + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"Ek" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_shuts" + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"Eo" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"Er" = ( +/obj/structure/railing, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/obj/machinery/light/directional/west, +/obj/structure/cable/blue, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Es" = ( +/obj/machinery/airalarm/directional/south, +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"Eu" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ew" = ( +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 8; + pixel_y = 19 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"EE" = ( +/obj/structure/chair/sofa/purple{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"EI" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_emergency_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/maintenance) +"EK" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"EM" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"EO" = ( +/obj/machinery/computer/crew, +/obj/structure/sign/poster/solgov/suns{ + pixel_y = 32 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"ER" = ( +/obj/structure/table/wood/reinforced, +/obj/item/toy/plush/slimeplushie{ + pixel_y = 6 + }, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"EW" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/floor, +/obj/machinery/light/directional/east, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ff" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 1 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/suns/dark, +/area/ship/crew/cryo) +"Fj" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Fk" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/internals/oxygen/yellow{ + pixel_x = 1; + pixel_y = -6 + }, +/obj/item/clothing/suit/space/hardsuit/mining/suns{ + pixel_x = -4 + }, +/obj/item/clothing/mask/gas/suns{ + pixel_x = 8 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Fm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Fn" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"Fq" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + id = "Panacea_patient_dorm_shut"; + name = "Window Shutters"; + dir = 8; + pixel_x = 20; + pixel_y = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -7 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"Fr" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_dorm_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"Fs" = ( +/obj/structure/closet/firecloset/wall/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"FC" = ( +/obj/machinery/firealarm/directional/north, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/suns/pattern, +/area/ship/crew/canteen) +"FD" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/maintenance) +"FE" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"FF" = ( +/obj/effect/turf_decal/suns/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"FH" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_medbay_priv_shut" + }, +/turf/open/floor/plating, +/area/ship/medical) +"FL" = ( +/obj/structure/tank_dispenser, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/grid, +/area/ship/maintenance) +"FM" = ( +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"FO" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"FT" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"FU" = ( +/obj/structure/chair/comfy/purple/directional/east, +/turf/open/floor/carpet/red, +/area/ship/crew/office) +"FW" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"FZ" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/suns, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"Ge" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public{ + name = "Cryo" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"Gi" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office) +"Gl" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"Go" = ( +/obj/structure/filingcabinet/chestdrawer/wheeled{ + dir = 8; + pixel_y = 6; + pixel_x = -3 + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"Gx" = ( +/obj/structure/table/chem, +/obj/structure/sink/chem{ + dir = 8; + pixel_y = 6; + pixel_x = 8 + }, +/obj/item/lighter/greyscale{ + pixel_y = -12; + pixel_x = -5 + }, +/obj/item/circuitboard/machine/smartfridge{ + pixel_y = 7; + pixel_x = -5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"GA" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/public{ + dir = 4; + name = "Front Desk" + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/office/lobby) +"GI" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/table_bell/brass{ + pixel_y = 9; + pixel_x = 6 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"GJ" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"GM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock{ + name = "Staff Dorms"; + req_one_access = list(1, 5, 10, 19, 20, 25, 57, 58) + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"GN" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"GV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/railing, +/obj/machinery/photocopier, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"GW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"Ha" = ( +/obj/structure/chair/bench/beige{ + dir = 4 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/toy/plush/beeplushie{ + pixel_x = 5; + layer = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -9 + }, +/obj/machinery/button/door{ + id = "Panacea_garden_shuts"; + name = "Privacy Shutters"; + dir = 4; + pixel_x = -20; + pixel_y = -1 + }, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"Hb" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 6 + }, +/obj/vehicle/ridden/wheelchair, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Hi" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/table_bell/brass{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/structure/railing{ + dir = 1; + layer = 2.5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Hl" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Hm" = ( +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"Hn" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Ho" = ( +/obj/structure/railing{ + dir = 6 + }, +/obj/structure/closet/crate{ + name = "materials crate" + }, +/obj/item/stack/sheet/sandblock/twenty{ + pixel_x = 7 + }, +/obj/item/stack/sheet/plastic/twenty{ + pixel_x = 3 + }, +/obj/item/stack/sheet/plasteel/twenty{ + pixel_x = -1 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_x = -6 + }, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = -9 + }, +/obj/item/stack/sheet/paperframes/twenty{ + pixel_x = -12 + }, +/obj/item/stack/sheet/cotton/cloth/ten{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/stack/sheet/cotton/cloth/ten{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/stack/sheet/mineral/wood/twentyfive{ + pixel_x = -14 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Hp" = ( +/obj/structure/railing{ + dir = 10; + layer = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Hw" = ( +/obj/structure/chair, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Hy" = ( +/obj/structure/chair/plastic, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"HC" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/airalarm/directional/east, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"HL" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/dormfour) +"HO" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"HT" = ( +/obj/machinery/holopad/emergency, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/pattern, +/area/ship/bridge) +"HW" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ia" = ( +/obj/machinery/vending/boozeomat, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"Ig" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen/kitchen) +"In" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm) +"Ip" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 6 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/command{ + name = "Command Deck"; + req_one_access = list(19, 20, 57, 58) + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"It" = ( +/obj/structure/urinal{ + dir = 8; + pixel_y = 1; + pixel_x = 13 + }, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"Iw" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 1; + name = "distribution output pump" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Ix" = ( +/obj/structure/table, +/obj/machinery/computer/secure_data/laptop{ + dir = 8; + pixel_y = 5; + pixel_x = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"IB" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"IF" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/obj/item/storage/box/drinkingglasses{ + pixel_y = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"IO" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/structure/cable/blue{ + icon_state = "5-10" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"IP" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 4 + }, +/obj/item/instrument/piano_synth, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"IR" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"IY" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Ja" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"Jb" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/blue{ + icon_state = "0-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"Jg" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock{ + name = "Restroom"; + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/three) +"Jh" = ( +/obj/structure/sink/kitchen{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"Ji" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Psych's Office"; + req_one_access = list(1, 19, 20, 57, 58, 70) + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical/psych) +"Jo" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/canteen) +"Jx" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_dorm_shut"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"JA" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 8; + pixel_y = 19 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/turf/open/floor/suns, +/area/ship/security) +"JI" = ( +/obj/machinery/button/door{ + id = "Panacea_emergency_shuts"; + name = "Emergency Exit Shutters"; + pixel_y = 20; + pixel_x = -10; + dir = 2; + req_one_access = list(1, 5, 10, 19, 20, 25, 57, 58) + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 7 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"JJ" = ( +/obj/structure/table/wood, +/obj/item/food/cake/lemon{ + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"JQ" = ( +/turf/template_noop, +/area/template_noop) +"JS" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/canteen) +"JT" = ( +/obj/structure/urinal{ + pixel_y = 28 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 5 + }, +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"JU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"JV" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet) +"JX" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"Ke" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet) +"Kg" = ( +/obj/structure/railing{ + dir = 10 + }, +/obj/machinery/power/smes/engineering, +/obj/structure/cable/blue{ + icon_state = "0-2" + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Kj" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/ccommons) +"Kp" = ( +/obj/effect/turf_decal/suns/alt/fancy/top_center{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"Kr" = ( +/obj/structure/chair/comfy/purple/directional/east, +/obj/machinery/light/directional/west, +/obj/machinery/button/door{ + id = "Panacea_patient_commons_shut"; + name = "Window Shutters"; + dir = 4; + pixel_y = 21; + pixel_x = -20 + }, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"Kw" = ( +/obj/structure/railing, +/obj/structure/chair/sofa/purple/corner{ + dir = 8 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"Kx" = ( +/turf/open/floor/suns/pattern, +/area/ship/crew/ccommons) +"Kz" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"KH" = ( +/obj/effect/turf_decal/suns/line/marble/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"KI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"KN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/pen/fountain/captain{ + pixel_y = 7; + pixel_x = -8 + }, +/obj/item/folder/red{ + pixel_y = 10; + pixel_x = 4 + }, +/obj/item/folder/blue{ + pixel_y = 10; + pixel_x = 9 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"KP" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/dorm/dormthree) +"KQ" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/closet/crate{ + name = "art crate" + }, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXnineteen, +/obj/item/canvas/twentythreeXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas, +/obj/item/canvas, +/obj/item/storage/toolbox/artistic, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"KR" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"KX" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"KY" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"KZ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"Lc" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/obj/machinery/firealarm/directional/north, +/obj/machinery/button/door{ + id = "Panacea_garden_space_shuts"; + name = "Outer Window Shutters"; + pixel_y = 20; + pixel_x = 21 + }, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"Lf" = ( +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"Lh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Lp" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Lq" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering"; + req_one_access = list(1, 10, 19, 20, 57, 58) + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Lr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"Ls" = ( +/obj/machinery/light_switch{ + dir = 2; + pixel_y = 19 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"Lt" = ( +/obj/structure/mirror{ + pixel_y = 33 + }, +/obj/structure/sink{ + pixel_y = 20 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -8 + }, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"Lw" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Staff Dorms"; + req_one_access = list(1, 5, 10, 19, 20, 25, 57, 58) + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"LE" = ( +/obj/structure/table/wood/reinforced, +/obj/structure/railing/wood, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"LO" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"LQ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/public/glass{ + name = "Patient Rooms" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"LR" = ( +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"LS" = ( +/obj/structure/closet, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"LU" = ( +/obj/structure/table, +/obj/effect/turf_decal/suns/line/marble/fill/corner, +/obj/item/instrument/accordion{ + pixel_y = 5; + pixel_x = -7 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"LW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"LY" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/saltshaker{ + pixel_x = -2; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/condiment/peppermill{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/food/condiment/enzyme{ + pixel_y = 14; + pixel_x = 14 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"LZ" = ( +/obj/structure/closet/wall/red/directional/west{ + name = "equipment locker"; + req_one_access = list(1, 20) + }, +/obj/item/storage/box/zipties{ + pixel_y = 8; + pixel_x = -9 + }, +/obj/item/storage/box/flashes{ + pixel_y = 5; + pixel_x = -9 + }, +/obj/item/storage/belt/security/full{ + pixel_x = -7; + pixel_y = -9 + }, +/obj/item/stock_parts/cell/gun/solgov{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/stock_parts/cell/gun/solgov{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/ammo_box/amagpellet_claris{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/ammo_box/amagpellet_claris{ + pixel_x = -2; + pixel_y = -4 + }, +/obj/item/gun/energy/disabler{ + pixel_x = 2; + pixel_y = -7 + }, +/obj/item/gun/ballistic/automatic/powered/gauss/claris/suns{ + pixel_x = -12; + pixel_y = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"Ma" = ( +/obj/structure/railing, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Mc" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Staff Beds" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"Mg" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/reagentgrinder/constructed{ + pixel_y = 18; + pixel_x = 4 + }, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_y = 3; + pixel_x = 8 + }, +/obj/item/coin/twoheaded{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 7; + pixel_x = -3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen) +"Mm" = ( +/obj/structure/table/wood/reinforced, +/obj/item/flashlight/lamp/green{ + pixel_x = 6; + pixel_y = 13 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -6; + pixel_y = 5 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"Mo" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Mp" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"Mq" = ( +/obj/structure/chair/sofa/purple/corner/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Mz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"MA" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_patient_commons_shut" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/dormtwo) +"ML" = ( +/obj/effect/turf_decal/suns/capital_s/marble{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"MW" = ( +/obj/effect/turf_decal/suns/alt/fancy/bottom_left{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"Na" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie, +/obj/item/toy/plush/nukeplushie, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -10 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"Nd" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Nf" = ( +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/north, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/suns/dark/pattern, +/area/ship/medical/psych) +"Ng" = ( +/obj/structure/table, +/obj/item/instrument/banjo, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Nn" = ( +/obj/structure/railing{ + dir = 1; + layer = 2.8 + }, +/obj/structure/railing{ + dir = 8; + layer = 4.1 + }, +/obj/machinery/power/port_gen/pacman/super, +/obj/item/stack/sheet/mineral/uranium/twenty{ + pixel_y = 4 + }, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Nq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/suns, +/area/ship/medical) +"Nr" = ( +/obj/structure/table/wood, +/obj/item/pet_carrier, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"Nt" = ( +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"Nu" = ( +/obj/machinery/power/terminal, +/obj/structure/cable, +/obj/machinery/computer/helm/viewscreen/directional/east, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Ny" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/office) +"Nz" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/condiment/mayonnaise{ + pixel_x = 2; + pixel_y = 15 + }, +/obj/item/reagent_containers/food/condiment/ketchup{ + pixel_x = 11; + pixel_y = 10 + }, +/obj/item/reagent_containers/food/condiment/hotsauce{ + pixel_y = 16; + pixel_x = -8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"NA" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"NI" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"NJ" = ( +/obj/machinery/photocopier, +/turf/open/floor/carpet/red, +/area/ship/medical/psych) +"NY" = ( +/obj/structure/punching_bag, +/turf/open/floor/suns/dark, +/area/ship/crew/office) +"NZ" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ob" = ( +/obj/effect/turf_decal/suns/line/marble, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"Od" = ( +/obj/structure/railing, +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Oe" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Ol" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/blue, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/captain) +"On" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/dorm) +"Op" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"Or" = ( +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ou" = ( +/obj/effect/turf_decal/suns/alt/fancy/middle_left{ + dir = 4 + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"Oy" = ( +/obj/structure/railing/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"OA" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"OI" = ( +/obj/item/kirbyplants/random, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"OK" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"OL" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ywflowers, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"OQ" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = -10 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/two) +"OS" = ( +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"OZ" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Pf" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/office/lobby) +"Ps" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Pw" = ( +/obj/structure/table/wood/reinforced, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/pen/fountain{ + pixel_y = 3; + pixel_x = -7 + }, +/obj/item/clipboard{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/item/folder/suns{ + pixel_y = 4; + pixel_x = 6 + }, +/turf/open/floor/carpet/red, +/area/ship/medical/psych) +"Py" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"Pz" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"PE" = ( +/obj/machinery/vending/cigarette, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"PL" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"PM" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/canteen) +"PP" = ( +/obj/machinery/atmospherics/components/unary/tank/toxins, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"PQ" = ( +/obj/structure/curtain/cloth/grey, +/obj/machinery/recharge_station, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -6 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"Qc" = ( +/obj/structure/chair/comfy/purple/directional/west, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"Qi" = ( +/obj/machinery/vending/cola/random, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"Qj" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ql" = ( +/obj/structure/table/chem, +/obj/machinery/chem_press, +/obj/item/storage/box/pillbottles{ + pixel_y = 24; + pixel_x = 6 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"Qt" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"Qv" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Qx" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/curtain, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"Qy" = ( +/obj/effect/turf_decal/suns/line/marble, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Qz" = ( +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"QC" = ( +/obj/effect/turf_decal/suns/line/marble/corner, +/obj/structure/closet/crate/bin{ + pixel_y = 4 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"QD" = ( +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = 9 + }, +/obj/effect/turf_decal/suns/line/fancy{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns, +/area/ship/bridge) +"QG" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"QI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"QO" = ( +/obj/structure/table/chem, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 4; + pixel_x = 9 + }, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 4; + pixel_x = 18 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"QQ" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/pattern, +/area/ship/medical/psych) +"QR" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"QU" = ( +/obj/structure/chair/sofa/purple/left/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"QV" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_psych_priv_shut" + }, +/turf/open/floor/plating, +/area/ship/medical/psych) +"QZ" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ra" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/suns, +/area/ship/crew/canteen) +"Rd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/suns, +/area/ship/security) +"Re" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"Rh" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Rn" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 10; + pixel_x = 9 + }, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 3; + pixel_x = -4 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"Ro" = ( +/obj/structure/table, +/obj/item/cutting_board{ + pixel_y = 3 + }, +/obj/item/kitchen/knife/butcher{ + pixel_y = 4; + pixel_x = 4 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/clothing/suit/apron/chef{ + pixel_y = 3 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"Rt" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_bridge_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Ru" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Rx" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/ccommons) +"Ry" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 6 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"RB" = ( +/obj/item/clothing/accessory/waistcoat/suns{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/clothing/accessory/waistcoat/suns{ + pixel_x = -8; + pixel_y = -1 + }, +/obj/item/clothing/accessory/waistcoat/suns/gembow{ + pixel_y = 3 + }, +/obj/item/clothing/accessory/waistcoat/suns/gembow{ + pixel_y = -1 + }, +/obj/item/clothing/accessory/waistcoat/suns/poof{ + pixel_y = 2; + pixel_x = 9 + }, +/obj/item/clothing/accessory/waistcoat/suns/poof{ + pixel_y = -1; + pixel_x = 9 + }, +/obj/item/clothing/accessory/waistcoat/suns/ribbon{ + pixel_y = -8; + pixel_x = -8 + }, +/obj/item/clothing/accessory/waistcoat/suns/ribbon{ + pixel_y = -8; + pixel_x = -4 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 2; + pixel_y = -9 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 5; + pixel_y = -9 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 8; + pixel_y = -9 + }, +/obj/item/clothing/mask/breath/suns{ + pixel_x = 11; + pixel_y = -9 + }, +/obj/structure/closet/secure_closet/suns{ + name = "Accessories" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/blue, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormthree) +"RE" = ( +/obj/structure/table/optable, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"RG" = ( +/obj/structure/table/chem, +/obj/item/storage/box/beakers/variety{ + pixel_y = 6; + pixel_x = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"RH" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + id = "Panacea_engine_window_blasts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"RK" = ( +/obj/structure/chair/bench/beige{ + dir = 4 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"RN" = ( +/obj/structure/chair/plastic, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"RV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"RX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormthree) +"Sh" = ( +/obj/structure/urinal{ + dir = 4; + pixel_x = -14 + }, +/obj/machinery/light_switch{ + dir = 2; + pixel_x = 8; + pixel_y = 19 + }, +/turf/open/floor/suns, +/area/ship/crew/toilet) +"Sl" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet/three) +"Sp" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 1 + }, +/turf/open/floor/suns/dark/pattern, +/area/ship/bridge) +"St" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Sw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns, +/area/ship/security) +"Sx" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"SG" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"SH" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 0 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/office/lobby) +"SN" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"SO" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_bridge_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/bridge) +"SP" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"SR" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"SW" = ( +/obj/structure/railing{ + dir = 5; + layer = 2.9 + }, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/twenty{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"SY" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "2-4" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) +"SZ" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/computer/helm/viewscreen/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Tb" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_y = 4; + pixel_x = -9 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_y = 7; + pixel_x = -1 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_y = 5; + pixel_x = 7 + }, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"Td" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/disposaloutlet, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Tk" = ( +/obj/machinery/light_switch{ + dir = 2; + pixel_x = -7; + pixel_y = 19 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Tn" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 19; + dir = 8; + pixel_y = 14; + id = "Panacea_entrance_shield" + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/machinery/button/door{ + id = "Panacea_entrance_blast"; + name = "Entrace Blast Doors"; + pixel_y = 6; + pixel_x = 20; + dir = 8 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Ts" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/toilet/two) +"Tv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering) +"Tw" = ( +/obj/structure/flora/ausbushes/sparsegrass, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/lavendergrass, +/turf/open/floor/grass/ship/jungle, +/area/ship/crew/hydroponics) +"TB" = ( +/obj/structure/table, +/obj/item/toy/plush/mora{ + pixel_y = 5; + pixel_x = -3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"TD" = ( +/obj/effect/turf_decal/borderfloorwhite, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering"; + req_one_access = list(1, 10, 19, 20, 57, 58) + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"TL" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/canteen) +"TN" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"TR" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 8; + pixel_x = 6 + }, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"TS" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/door/airlock/glass{ + dir = 4; + name = "Garden" + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"TV" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Ud" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Ue" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"Uj" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/suns/pattern, +/area/ship/crew/ccommons) +"Uk" = ( +/obj/structure/chair/sofa/purple/corner/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Ur" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/item/flashlight/lamp/green{ + pixel_y = 7; + pixel_x = 6 + }, +/obj/machinery/light/directional/south, +/obj/item/toy/plush/lizardplushie{ + pixel_y = 3; + pixel_x = -5 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"Ux" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/maintenance) +"UC" = ( +/obj/effect/turf_decal/suns/alt/fancy/bottom_right{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"UE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"UF" = ( +/obj/structure/closet/emcloset/wall/directional/south, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormtwo) +"UQ" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"UT" = ( +/obj/structure/toilet{ + dir = 8; + pixel_y = 6; + pixel_x = 6 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns, +/area/ship/crew/toilet) +"UU" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable/blue, +/turf/open/floor/suns/plain, +/area/ship/crew/toilet/three) +"UX" = ( +/obj/structure/flora/ausbushes/lavendergrass, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/machinery/light/directional/west, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"Va" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Vb" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/curtain, +/turf/open/floor/suns, +/area/ship/crew/toilet/two) +"Vd" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Ve" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Vf" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"Vg" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/hatch{ + name = "Emergency Exit" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"Vi" = ( +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Vk" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Vl" = ( +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 11 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"Vm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"Vo" = ( +/obj/structure/closet/crate/medical{ + name = "anesthetics crate" + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = -2 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 3 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_x = 3; + pixel_y = 0 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/medical) +"Vr" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering) +"VF" = ( +/obj/structure/railing/corner/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 2 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"VG" = ( +/obj/structure/railing, +/obj/structure/chair/sofa/purple{ + dir = 1 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"VL" = ( +/obj/machinery/cryopod, +/turf/open/floor/suns/grid, +/area/ship/crew/cryo) +"VQ" = ( +/obj/machinery/computer/cryopod/directional/east, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"VW" = ( +/obj/machinery/vending/dinnerware, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"Wb" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Wh" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Wj" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts" + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"Wl" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "Panacea_engine_blasts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Wn" = ( +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Wr" = ( +/obj/machinery/light/directional/north, +/obj/machinery/vending/cola/random, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Wu" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/box, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"WA" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"WB" = ( +/obj/structure/urinal{ + dir = 4; + pixel_x = -14 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns, +/area/ship/crew/toilet) +"WH" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "Panacea_bridge_shuts"; + name = "Privacy Shutters"; + pixel_y = 1; + pixel_x = -20; + dir = 4; + req_one_access = list(19, 20, 57, 58) + }, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"WI" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"WP" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"WS" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"WU" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/eva{ + pixel_x = 5 + }, +/obj/item/clothing/head/helmet/space/eva{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/mask/breath{ + pixel_y = 3; + pixel_x = -6 + }, +/turf/open/floor/suns/grid, +/area/ship/maintenance) +"Xc" = ( +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Xh" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/internals/oxygen/yellow{ + pixel_x = 1; + pixel_y = -6 + }, +/obj/item/clothing/suit/space/hardsuit/mining/suns{ + pixel_x = -4 + }, +/obj/item/clothing/mask/gas/suns{ + pixel_x = 8 + }, +/turf/open/floor/suns/grid, +/area/ship/engineering) +"Xl" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 4 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = -8; + pixel_y = -7 + }, +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_x = 8; + pixel_y = 9 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/dorm) +"Xm" = ( +/obj/structure/table/wood/reinforced, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/desk_flag/suns{ + pixel_y = 13; + pixel_x = -8 + }, +/turf/open/floor/suns/diagonal{ + color = "#543C30" + }, +/area/ship/crew/dorm/dormfour) +"Xt" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable/blue, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"Xw" = ( +/obj/machinery/computer/med_data/syndie{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#543C30" + }, +/area/ship/bridge) +"XG" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/ccommons) +"XJ" = ( +/obj/effect/turf_decal/suns/line/fancy/fill{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/suns/dark, +/area/ship/bridge) +"XK" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/suns/plain, +/area/ship/crew/canteen/kitchen) +"XM" = ( +/obj/effect/turf_decal/suns/line/marble{ + dir = 4 + }, +/obj/effect/turf_decal/suns/line/marble{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/cryo) +"XN" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable/blue{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"XQ" = ( +/obj/effect/turf_decal/suns/line/marble/fill, +/obj/machinery/light/floor, +/obj/machinery/light/directional/east, +/obj/structure/railing, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"XT" = ( +/obj/machinery/disposal/bin{ + layer = 3.3 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/door/window/eastright{ + dir = 8; + req_one_access = list(1, 5, 10, 19, 20, 25, 57, 58) + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/turf/open/floor/suns/grid, +/area/ship/maintenance) +"XU" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/dorm/captain) +"Yd" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs{ + dir = 1; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"Ye" = ( +/obj/effect/turf_decal/trimline/opaque/white/filled/line{ + dir = 1 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/closet/crate/trashcart, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"Yf" = ( +/obj/structure/table, +/obj/item/newspaper{ + pixel_y = 2 + }, +/obj/item/reagent_containers/glass/maunamug{ + pixel_y = 10; + pixel_x = 2 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/office/lobby) +"Yi" = ( +/obj/structure/sink{ + pixel_y = 23 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/suns/hatch{ + color = "#D2BC9D" + }, +/area/ship/crew/hydroponics) +"Yn" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 1 + }, +/obj/structure/cable/blue{ + icon_state = "4-10" + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering) +"Yr" = ( +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/sepia, +/area/ship/crew/ccommons) +"Yu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"YG" = ( +/turf/closed/wall/mineral/titanium/exterior, +/area/ship/crew/canteen/kitchen) +"YH" = ( +/obj/structure/closet/emcloset/wall/directional/west, +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"YI" = ( +/obj/structure/chair/bench/beige{ + dir = 8 + }, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/item/toy/plush/xader{ + layer = 4 + }, +/turf/open/floor/ship/dirt, +/area/ship/crew/hydroponics) +"YL" = ( +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"YP" = ( +/obj/effect/turf_decal/borderfloorwhite{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -19; + pixel_y = 12 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/maintenance) +"Zg" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/curtain, +/obj/machinery/light/directional/south, +/turf/open/floor/suns, +/area/ship/crew/toilet/three) +"Zh" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/office/lobby) +"Zj" = ( +/obj/structure/chair/comfy/purple/directional/east, +/turf/open/floor/carpet/red, +/area/ship/crew/dorm/dormtwo) +"Zm" = ( +/obj/effect/turf_decal/suns/alt/fancy/bottom_center{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/turf/open/floor/suns, +/area/ship/crew/ccommons) +"Zo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 22; + pixel_y = -19 + }, +/obj/machinery/button/door{ + id = "Panacea_medbay_priv_shut"; + name = "Privacy Shutters"; + pixel_x = 30; + pixel_y = -20; + dir = 1; + req_one_access = list(5, 19, 20, 57, 45) + }, +/turf/open/floor/suns, +/area/ship/medical) +"Zv" = ( +/obj/effect/turf_decal/suns/line/marble/fill/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable/blue{ + icon_state = "4-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"Zz" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/tank/internals/oxygen/red{ + pixel_y = -6 + }, +/obj/item/clothing/suit/space/hardsuit/security/suns{ + pixel_x = -4 + }, +/obj/item/clothing/mask/gas/suns{ + pixel_x = 8 + }, +/turf/open/floor/suns, +/area/ship/security) +"ZE" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "Panacea_garden_space_shuts"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/hydroponics) +"ZK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/structure/cable/blue{ + icon_state = "2-8" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/medical/psych) +"ZM" = ( +/obj/structure/closet/secure_closet/freezer/kitchen, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 1 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/canteen/kitchen) +"ZO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable/blue{ + icon_state = "1-8" + }, +/obj/structure/cable/blue{ + icon_state = "1-2" + }, +/turf/open/floor/suns/hatch{ + color = "#56342A" + }, +/area/ship/crew/dorm/dormfour) +"ZR" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 11; + pixel_x = 8 + }, +/obj/item/paper_bin/bundlenatural{ + pixel_y = 6; + pixel_x = -7 + }, +/obj/item/pen/fountain{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/machinery/light/directional/east, +/obj/machinery/airalarm/directional/south, +/obj/item/desk_flag/trans{ + pixel_x = 10 + }, +/obj/item/desk_flag/suns{ + pixel_x = 3 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/security) +"ZT" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/obj/effect/turf_decal/suns/line/marble/fill{ + dir = 10 + }, +/turf/open/floor/suns/dark/plain, +/area/ship/crew/ccommons) +"ZX" = ( +/obj/effect/turf_decal/suns/line/marble/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable/blue{ + icon_state = "1-4" + }, +/turf/open/floor/suns/plain, +/area/ship/crew/dorm) + +(1,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +Tv +Wl +Wl +Tv +Bw +Bw +Tv +JQ +JQ +JQ +Tv +Bw +Bw +Tv +Wl +Wl +Tv +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(2,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +Tv +Wh +Wh +Tv +lu +lu +Tv +aP +rU +rU +Tv +lu +lu +Tv +Wh +Wh +Tv +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(3,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +vn +Tv +ua +bY +gw +hG +hG +Tv +go +RH +RH +Tv +hG +hG +gw +ar +Vr +Tv +vn +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(4,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +vn +Tv +Nd +Yn +qM +hl +nf +bA +Ee +pZ +iJ +AR +Er +wi +DN +Nn +Hp +Cs +xO +Tv +vn +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(5,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +Tv +PP +md +lF +By +kr +DN +js +Bq +Fm +Wn +hW +Ho +wi +DN +SW +St +Ma +Iw +gN +Tv +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(6,1,1) = {" +JQ +JQ +Jx +fU +In +In +In +Tv +PP +md +NA +SR +oZ +mP +OA +PL +Yu +nI +zz +vx +Vd +EM +Yd +hC +Od +Iw +gN +Tv +df +df +df +df +KP +JQ +JQ +"} +(7,1,1) = {" +JQ +yu +jD +wZ +Xl +bU +wZ +Tv +Tv +cc +EK +jx +Ve +XN +hS +qz +nh +dX +Nu +Kg +jJ +dI +UE +Qv +BD +Fk +Tv +Tv +FZ +xp +iw +FZ +df +KP +JQ +"} +(8,1,1) = {" +yu +jD +QC +JX +JX +JX +oQ +de +Tv +qD +OK +Wu +wC +Tv +Tv +Tv +Tv +Tv +Tv +Tv +Tv +Tv +NI +ij +Dn +Xh +Tv +zT +xT +sp +sp +Op +eZ +df +KP +"} +(9,1,1) = {" +Fr +Db +Ob +On +ym +ej +Kz +Ur +Tv +Tv +Lq +Tv +Tv +Tv +CV +LZ +GN +DJ +of +xd +na +Tv +Tv +Tv +TD +Tv +Tv +Mm +nU +kx +BM +uQ +RX +Ei +df +"} +(10,1,1) = {" +Fr +DI +SY +hf +tE +Fq +ZX +vS +In +bs +sD +ww +dy +JA +AZ +Bd +iM +DJ +oS +uI +uI +Vo +FH +mS +lk +ka +df +DG +uj +oq +em +PQ +Gl +RB +df +"} +(11,1,1) = {" +Fr +pM +qf +CQ +In +In +xY +In +In +kJ +ub +yA +vc +Sw +Rd +wc +yp +DJ +LO +iE +vv +ig +FH +mS +uv +Ru +HL +df +dU +df +df +df +Mc +df +df +"} +(12,1,1) = {" +Fr +Db +zn +gY +In +DX +zQ +OI +lV +QZ +sD +lR +dy +qT +Zz +Ix +ZR +DJ +RE +vw +uI +jZ +DJ +Hb +pn +SP +GM +JU +ZO +Sx +Xt +sS +im +zK +HL +"} +(13,1,1) = {" +In +In +In +In +In +rM +pj +qb +LQ +KX +WS +AM +dy +dy +dy +dy +dy +DJ +DJ +DJ +Nq +Zo +oB +yA +zV +Eu +HL +Ls +vm +Xm +lK +Qi +dp +QR +HL +"} +(14,1,1) = {" +MA +Tb +Kr +Zj +GW +aI +FT +Qz +lV +Vk +sD +lR +Bl +Sh +WB +XU +tm +gq +qk +DJ +fK +QO +DJ +dL +lk +Eu +Lw +zU +Mz +Rn +VG +az +dp +Eo +HL +"} +(15,1,1) = {" +MA +jy +zD +zD +RV +hr +dS +su +lV +tB +OZ +At +ag +JV +Ke +XU +rc +pR +KN +DJ +zC +RG +DJ +DH +lk +Eu +HL +KZ +ct +EE +Kw +PE +dp +th +HL +"} +(16,1,1) = {" +oK +jy +zD +zD +pB +LW +lV +lV +lV +QZ +sD +lR +Bl +dh +UT +XU +Na +jW +Ol +DJ +Gx +Ql +DJ +qC +lk +Eu +HL +HL +HL +HL +HL +HL +Jg +HL +HL +"} +(17,1,1) = {" +cS +ER +yf +Qc +pB +Hm +lV +Uk +ae +KR +eW +vG +Bc +Bc +Bc +Bc +Bc +mo +Bc +Bc +Bc +Bc +Bc +Ew +iF +sM +Ye +dj +aw +ih +Kj +Lt +me +Zg +Sl +"} +(18,1,1) = {" +Ts +Ts +Ts +Ts +Fn +UF +lV +rL +pK +QZ +dn +Lh +BN +vh +Dc +XJ +eh +hp +WH +nG +rB +pi +Ip +Ue +wP +Xc +Bo +jI +jI +lU +Kj +CY +me +Qx +Sl +"} +(19,1,1) = {" +Ts +xV +OQ +nc +Re +al +lV +rL +iN +QZ +sD +lR +Bc +op +wH +di +aG +HT +aG +vd +QD +iY +Bc +lR +mN +Eu +vl +hF +hF +eu +Kj +wM +we +UU +Sl +"} +(20,1,1) = {" +Ts +cu +Vb +Ts +pA +Mp +lV +Mq +QU +QZ +sD +lR +Bc +Bc +pX +Af +GV +Nt +BY +mZ +va +Bc +Bc +sI +mN +Eu +xQ +Yr +WI +LS +Kj +eQ +It +pT +Sl +"} +(21,1,1) = {" +Ts +cu +Dh +qA +qA +qA +qA +qA +Wr +QZ +eq +FO +Hn +Bc +EO +kW +zZ +jU +jU +td +Sp +Bc +KH +Ud +Oe +Fj +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +Ux +"} +(22,1,1) = {" +Ts +JT +uy +qA +tK +qQ +sY +qA +HW +xZ +KY +kw +Hl +Bc +Rt +Xw +wT +Go +fG +pE +tJ +Bc +wU +bF +Lp +Or +Vg +YP +Bu +zL +lH +sq +YH +FL +Ux +"} +(23,1,1) = {" +CA +Ts +oG +qA +dV +CG +XM +Ge +wn +wn +AW +Va +Hl +zc +mB +SO +SO +SO +SO +SO +Dp +zc +Pz +Rh +Ig +Ig +Ig +Ig +WU +WU +bK +vX +XT +Ux +er +"} +(24,1,1) = {" +JQ +CA +qA +qA +bZ +FW +BK +qA +Tk +rf +KI +iW +Hl +lR +lR +lR +lR +xE +lR +lR +lR +lR +Qy +nv +cg +Vl +Jh +Ig +Ig +Ig +iI +sN +Ux +Ux +JQ +"} +(25,1,1) = {" +JQ +rU +qA +VL +Vi +hh +Ff +qA +WA +SG +Qj +iC +Hl +lR +aH +vI +Cw +TV +Bx +aH +vI +lR +Pz +NZ +Ig +CD +Py +Bk +lT +Ig +dZ +FD +zS +Td +JQ +"} +(26,1,1) = {" +JQ +JQ +qA +VL +VQ +HC +qA +qA +aA +hP +iu +Ca +Hl +Hy +gv +tS +ZT +lR +Hy +pG +bx +ZT +Pz +Rh +BV +iH +Ja +ow +Ro +Ig +fM +mp +ut +JQ +JQ +"} +(27,1,1) = {" +JQ +JQ +BU +qA +qA +qA +TL +FC +ss +ss +fV +Ca +Hl +RN +Ng +TB +GJ +mU +RN +Ce +Av +GJ +Pz +Rh +lo +tT +LY +Bb +tg +Ig +Br +EI +Ux +JQ +JQ +"} +(28,1,1) = {" +JQ +JQ +JQ +rU +rU +TL +FM +lc +lc +ss +lX +Ca +Hl +rs +IP +LU +ks +lR +rs +uL +io +ks +Pz +Rh +iZ +tT +Nz +Bb +ZM +Ig +JI +rU +JQ +JQ +JQ +"} +(29,1,1) = {" +JQ +JQ +JQ +JQ +rU +TL +mW +ts +yw +ik +TL +bH +Hl +lR +cH +gl +jM +FO +Ry +cH +gl +lR +Pz +Rh +iZ +fe +AO +XK +Vf +Ig +TN +JQ +JQ +JQ +JQ +"} +(30,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JS +TL +IF +Ra +PM +zJ +rk +WP +IY +Ud +yT +rG +lR +nm +XG +UQ +lC +Cy +zH +GI +OS +Vm +VW +Ig +YG +JQ +JQ +JQ +JQ +JQ +"} +(31,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +TL +Mg +pP +Jo +TL +Zv +SZ +SN +Da +zi +HO +At +Dq +Mo +Da +SN +cQ +YL +Ig +gE +wv +Ig +Ig +JQ +JQ +JQ +JQ +JQ +JQ +"} +(32,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +TL +iz +xP +Ia +TL +Ji +mb +mH +mb +yX +Uj +Kx +Rx +wI +hd +bC +hd +TS +hd +up +Am +bD +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(33,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +Gi +Gi +Gi +Gi +mb +kU +BJ +NJ +QV +Dz +jG +Ou +MW +FE +Ek +RK +Ha +Ch +UX +wk +Do +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(34,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +Gi +vi +Du +Fs +jt +ZK +wt +dz +QV +aZ +Kp +ku +Zm +rX +Ek +uM +LE +mT +re +yF +Oy +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(35,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +Gi +hc +Ny +Nr +mb +QQ +fj +Pw +QV +Dz +px +oR +UC +FE +Ek +TR +gR +mT +xL +re +Oy +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(36,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +eG +FU +cM +JJ +mb +Nf +Jb +hs +QV +XQ +Uj +uU +Rx +EW +Ek +hw +YI +VF +wk +wk +fJ +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(37,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +eG +jX +cM +fH +mb +mb +mb +Zh +Zh +Zh +mR +Zh +GA +Zh +Zh +Zh +Zh +Yi +QI +ic +nA +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(38,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +eG +hj +cM +IB +yv +pO +Zh +Yf +IR +fn +gy +SH +lb +vq +bu +oh +Zh +rE +KQ +ri +Tw +Qt +ec +JQ +JQ +JQ +JQ +JQ +JQ +"} +(39,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +yh +Gi +tt +ez +vM +Es +Zh +Hw +LR +CK +FF +QG +mD +Wb +mK +wa +Zh +Lc +Lf +OL +qe +ls +Wj +JQ +JQ +JQ +JQ +JQ +JQ +"} +(40,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +yh +cj +lB +Lr +NY +Zh +Hw +LR +mu +nS +QG +bV +Hi +LR +Ps +Zh +ws +ws +ws +ZE +nZ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(41,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +cs +wY +wY +wY +Zh +Zh +hI +Be +ML +IO +CL +iL +Tn +Zh +Zh +mh +mh +mh +nZ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(42,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +Pf +Zh +Zh +qZ +ys +BT +Zh +Zh +Pf +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(43,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +lL +rU +rU +rU +rU +dd +lL +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} +(44,1,1) = {" +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +gi +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +JQ +"} diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 885275c10d50..1adef58948fe 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -906,7 +906,7 @@ }, /obj/item/clothing/suit/armor/vest/syndie, /obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/no_mag, +/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /obj/item/storage/belt/security/webbing{ @@ -1580,7 +1580,7 @@ /obj/effect/turf_decal/corner/opaque/syndiered/half{ dir = 4 }, -/obj/machinery/computer/cargo/express{ +/obj/machinery/computer/cargo{ dir = 8; icon_state = "computer-left" }, @@ -1826,7 +1826,7 @@ "kH" = ( /obj/item/clothing/suit/armor/vest/syndie, /obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/no_mag, +/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /obj/item/storage/belt/security/webbing{ @@ -2766,7 +2766,7 @@ }, /obj/item/clothing/suit/armor/vest/syndie, /obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/no_mag, +/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /obj/item/storage/belt/security/webbing{ @@ -4641,7 +4641,7 @@ }, /obj/item/clothing/suit/armor/vest/syndie, /obj/item/clothing/head/helmet/operator, -/obj/item/gun/ballistic/automatic/pistol/no_mag, +/obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag, /obj/item/ammo_box/magazine/m10mm, /obj/item/ammo_box/magazine/m10mm, /obj/item/storage/belt/security/webbing{ @@ -4672,7 +4672,7 @@ pixel_x = 6; pixel_y = 1 }, -/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate/no_mag{ +/obj/item/gun/ballistic/automatic/marksman/sniper_rifle/no_mag{ pixel_x = -3; pixel_y = 6 }, @@ -5622,11 +5622,11 @@ /obj/item/ammo_box/magazine/ebr{ pixel_y = -2 }, -/obj/item/gun/ballistic/automatic/ebr/no_mag{ +/obj/item/gun/ballistic/automatic/marksman/ebr/no_mag{ pixel_x = -7; pixel_y = 4 }, -/obj/item/gun/ballistic/automatic/ebr/no_mag, +/obj/item/gun/ballistic/automatic/marksman/ebr/no_mag, /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "Gn" = ( diff --git a/check_regex.yaml b/check_regex.yaml index d03e15391975..441f1e44d743 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -31,14 +31,14 @@ standards: - exactly: [4, "/mob text paths", '"/mob'] - exactly: [43, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - - exactly: [117, "text2path uses", "text2path"] + - exactly: [116, "text2path uses", "text2path"] - exactly: [18, "world<< uses", 'world[ \t]*<<'] - exactly: [0, "world.log<< uses", 'world.log[ \t]*<<'] - exactly: [ - 265, + 266, "non-bitwise << uses", '(? pre_attack -> target.attackby (item.attack) -> afterattack + ///Ends the attack chain. If sent early might cause posterior attacks not to happen. + #define COMPONENT_CANCEL_ATTACK_CHAIN (1<<0) + ///Skips the specific attack step, continuing for the next one to happen. + #define COMPONENT_SKIP_ATTACK (1<<1) ///from base of atom/attack_ghost(): (mob/dead/observer/ghost) #define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost" ///from base of atom/attack_hand(): (mob/user) @@ -498,84 +511,6 @@ #define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget" #define COMPONENT_HOSTILE_NO_ATTACK 1 -// /obj signals - -///from base of obj/deconstruct(): (disassembled) -#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" -///from base of code/game/machinery -#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" -///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide -#define COMSIG_OBJ_HIDE "obj_hide" - -// /obj/machinery signals - -///from /obj/machinery/obj_break(damage_flag): (damage_flag) -#define COMSIG_MACHINERY_BROKEN "machinery_broken" -///from base power_change() when power is lost -#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost" -///from base power_change() when power is restored -#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored" - -// /obj/machinery/power/supermatter_crystal signals -/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms -#define COMSIG_SUPERMATTER_DELAM_START_ALARM "sm_delam_start_alarm" -/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm -#define COMSIG_SUPERMATTER_DELAM_ALARM "sm_delam_alarm" - -// /obj/item signals -#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user) -#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob) - #define COMPONENT_NO_INTERACT 1 -#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob) - #define COMPONENT_NO_ATTACK_OBJ 1 -#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" //from base of obj/item/pre_attack(): (atom/target, mob/user, params) - #define COMPONENT_NO_ATTACK 1 -#define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) -#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) -#define COMSIG_ITEM_EQUIPPED "item_equip" //from base of obj/item/equipped(): (/mob/equipper, slot) -#define COMSIG_ITEM_DROPPED "item_drop" //from base of obj/item/dropped(): (mob/user) -#define COMSIG_ITEM_PICKUP "item_pickup" //from base of obj/item/pickup(): (/mob/taker) -#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" //from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) -#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) -#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval" //called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user) - #define COMPONENT_BLOCK_MARK_RETRIEVAL 1 -#define COMSIG_ITEM_HIT_REACT "item_hit_react" //from base of obj/item/hit_reaction(): (list/args) -#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable, mob/living/crossed) -#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" //called on item when microwaved (): (obj/machinery/microwave/M) -#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" //from base of item/sharpener/attackby(): (amount, max) - #define COMPONENT_BLOCK_SHARPEN_APPLIED 1 - #define COMPONENT_BLOCK_SHARPEN_BLOCKED 2 - #define COMPONENT_BLOCK_SHARPEN_ALREADY 4 - #define COMPONENT_BLOCK_SHARPEN_MAXED 8 -#define COMSIG_TOOL_IN_USE "tool_in_use" ///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) -#define COMSIG_TOOL_START_USE "tool_start_use" ///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) -#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" ///from [/obj/item/proc/disableEmbedding]: -#define COMSIG_MINE_TRIGGERED "minegoboom" ///from [/obj/item/mine/proc/trigger_mine]: -///from [/obj/structure/closet/supplypod/proc/endlaunch]: -#define COMSIG_SUPPLYPOD_LANDED "supplypodgoboom" - -// Item mouse siganls -#define COMSIG_ITEM_MOUSE_EXIT "item_mouse_exit" //from base of obj/item/MouseExited(): (location, control, params) -#define COMSIG_ITEM_MOUSE_ENTER "item_mouse_enter" //from base of obj/item/MouseEntered(): (location, control, params) - -///Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)] -#define COMSIG_ITEM_OFFERING "item_offering" - ///Interrupts the offer proc - #define COMPONENT_OFFER_INTERRUPT (1<<0) -///Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)] -#define COMSIG_ITEM_OFFER_TAKEN "item_offer_taken" - ///Interrupts the offer acceptance - #define COMPONENT_OFFER_TAKE_INTERRUPT (1<<0) -/// sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params) -#define COMSIG_ITEM_ATTACK_EFFECT "item_effect_attacked" - -// /obj/item signals for economy -#define COMSIG_ITEM_SOLD "item_sold" //called when an item is sold by the exports subsystem -#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" //called when a wrapped up structure is opened by hand -#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" //called when a wrapped up item is opened by hand - #define COMSIG_ITEM_SPLIT_VALUE 1 -#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" //Called when getting the item's exact ratio for cargo's profit. -#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry" //Called when getting the item's exact ratio for cargo's profit, without selling the item. /// Admin helps /// From /datum/admin_help/RemoveActive(). @@ -585,21 +520,6 @@ /// Called when the player replies. From /client/proc/cmd_admin_pm(). #define COMSIG_ADMIN_HELP_REPLIED "admin_help_replied" -// /obj/item/clothing signals -#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" //from base of obj/item/clothing/shoes/proc/step_action(): () -#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle" //from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit) - -// /obj/item/implant signals -#define COMSIG_IMPLANT_ACTIVATED "implant_activated" //from base of /obj/item/implant/proc/activate(): () -#define COMSIG_IMPLANT_IMPLANTING "implant_implanting" //from base of /obj/item/implant/proc/implant(): (list/args) - #define COMPONENT_STOP_IMPLANTING 1 -#define COMSIG_IMPLANT_OTHER "implant_other" //called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant) - //#define COMPONENT_STOP_IMPLANTING 1 //The name makes sense for both - #define COMPONENT_DELETE_NEW_IMPLANT 2 - #define COMPONENT_DELETE_OLD_IMPLANT 4 -#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists" //called on implants being implanted into someone with an uplink implant: (datum/component/uplink) - //This uses all return values of COMSIG_IMPLANT_OTHER - // /obj/item/pda signals #define COMSIG_PDA_CHANGE_RINGTONE "pda_change_ringtone" //called on pda when the user changes the ringtone: (mob/living/user, new_ringtone) #define COMPONENT_STOP_RINGTONE_CHANGE 1 @@ -615,10 +535,6 @@ // /obj/item/gun signals #define COMSIG_MOB_FIRED_GUN "mob_fired_gun" //called in /obj/item/gun/process_fire (user, target, params, zone_override) -// /obj/item/grenade signals -#define COMSIG_GRENADE_PRIME "grenade_prime" //called in /obj/item/gun/process_fire (user, target, params, zone_override) -#define COMSIG_GRENADE_ARMED "grenade_armed" //called in /obj/item/gun/process_fire (user, target, params, zone_override) - // /obj/projectile signals (sent to the firer) #define COMSIG_PROJECTILE_SELF_ON_HIT "projectile_self_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) #define COMSIG_PROJECTILE_ON_HIT "projectile_on_hit" // from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, Angle) @@ -665,9 +581,6 @@ //Creamed #define COMSIG_COMPONENT_CLEAN_FACE_ACT "clean_face_act" //called when you wash your face at a sink: (num/strength) -//Food -#define COMSIG_FOOD_EATEN "food_eaten" //from base of obj/item/reagent_containers/food/snacks/attack(): (mob/living/eater, mob/feeder) - //Gibs #define COMSIG_GIBS_STREAK "gibs_streak" // from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases) @@ -753,10 +666,6 @@ #define COMSIG_BEAM_BEFORE_DRAW "beam_before_draw" #define BEAM_CANCEL_DRAW (1 << 0) -// Aquarium related signals -#define COMSIG_AQUARIUM_SURFACE_CHANGED "aquarium_surface_changed" -#define COMSIG_AQUARIUM_FLUID_CHANGED "aquarium_fluid_changed" - // Fish signals #define COMSIG_FISH_STATUS_CHANGED "fish_status_changed" #define COMSIG_FISH_STIRRED "fish_stirred" @@ -789,3 +698,6 @@ ///called when an elzu should unroot #define COMSIG_DIGOUT "dig_out" + +///sent when the access on an id is changed/updated, ensures wallets get updated once ids generate there access +#define COSMIG_ACCESS_UPDATED "acces_updated" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm new file mode 100644 index 000000000000..6eb107d55fda --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_clothing.dm @@ -0,0 +1,10 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/clothing signals + +//from base of obj/item/clothing/shoes/proc/step_action(): () +#define COMSIG_SHOES_STEP_ACTION "shoes_step_action" +//from base of /obj/item/clothing/suit/space/proc/toggle_spacesuit(): (obj/item/clothing/suit/space/suit) +#define COMSIG_SUIT_SPACE_TOGGLE "suit_space_toggle" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm new file mode 100644 index 000000000000..831363f5a523 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_food.dm @@ -0,0 +1,22 @@ +// Eating stuff +/// From datum/component/edible/proc/TakeBite: (mob/living/eater, mob/feeder, bitecount, bitesize) +#define COMSIG_FOOD_EATEN "food_eaten" +/// From base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder) +#define COMSIG_FOOD_CONSUMED "food_consumed" + +// Deep frying foods +/// An item becomes fried - From /datum/element/fried_item/Attach: (fry_time) +#define COMSIG_ITEM_FRIED "item_fried" + #define COMSIG_FRYING_HANDLED (1<<0) + +// Microwaving foods +///called on item when microwaved (): (obj/machinery/microwave/M) +#define COMSIG_ITEM_MICROWAVE_ACT "microwave_act" + #define COMPONENT_SUCCESFUL_MICROWAVE (1<<0) +///called on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency) +#define COMSIG_ITEM_MICROWAVE_COOKED "microwave_cooked" + +///From /datum/component/edible/on_compost(source, /mob/living/user) +#define COMSIG_EDIBLE_ON_COMPOST "on_compost" + // Used to stop food from being composted. + #define COMPONENT_EDIBLE_BLOCK_COMPOST 1 diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm new file mode 100644 index 000000000000..03767ecbc53f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_grenade.dm @@ -0,0 +1,11 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/grenade signals + +//called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_PRIME "grenade_prime" + +//called in /obj/item/gun/process_fire (user, target, params, zone_override) +#define COMSIG_GRENADE_ARMED "grenade_armed" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm new file mode 100644 index 000000000000..95123ef8b309 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_implant.dm @@ -0,0 +1,14 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item/implant signals +#define COMSIG_IMPLANT_ACTIVATED "implant_activated" //from base of /obj/item/implant/proc/activate(): () +#define COMSIG_IMPLANT_IMPLANTING "implant_implanting" //from base of /obj/item/implant/proc/implant(): (list/args) + #define COMPONENT_STOP_IMPLANTING 1 +#define COMSIG_IMPLANT_OTHER "implant_other" //called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant) + //#define COMPONENT_STOP_IMPLANTING 1 //The name makes sense for both + #define COMPONENT_DELETE_NEW_IMPLANT 2 + #define COMPONENT_DELETE_OLD_IMPLANT 4 +#define COMSIG_IMPLANT_EXISTING_UPLINK "implant_uplink_exists" //called on implants being implanted into someone with an uplink implant: (datum/component/uplink) + //This uses all return values of COMSIG_IMPLANT_OTHER diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm new file mode 100644 index 000000000000..536efc724f92 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_item/signals_item.dm @@ -0,0 +1,67 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/item signals +///from base of obj/item/equipped(): (/mob/equipper, slot) +#define COMSIG_ITEM_EQUIPPED "item_equip" +///from base of obj/item/dropped(): (mob/user) +#define COMSIG_ITEM_DROPPED "item_drop" +///from base of obj/item/pickup(): (/mob/taker) +#define COMSIG_ITEM_PICKUP "item_pickup" + +///from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone) +#define COMSIG_ITEM_ATTACK_ZONE "item_attack_zone" +///from base of obj/item/hit_reaction(): (list/args) +#define COMSIG_ITEM_HIT_REACT "item_hit_react" + +#define COMSIG_ITEM_ATTACK "item_attack" //from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +#define COMSIG_ITEM_ATTACK_SELF "item_attack_self" //from base of obj/item/attack_self(): (/mob) + #define COMPONENT_NO_INTERACT 1 +#define COMSIG_ITEM_ATTACK_OBJ "item_attack_obj" //from base of obj/item/attack_obj(): (/obj, /mob) + #define COMPONENT_NO_ATTACK_OBJ 1 +#define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" //from base of obj/item/pre_attack(): (atom/target, mob/user, params) + #define COMPONENT_NO_ATTACK 1 +#define COMSIG_ITEM_AFTERATTACK "item_afterattack" //from base of obj/item/afterattack(): (atom/target, mob/user, params) +#define COMSIG_ITEM_ATTACK_QDELETED "item_attack_qdeleted" //from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) +#define COMSIG_ITEM_IMBUE_SOUL "item_imbue_soul" //return a truthy value to prevent ensouling, checked in /obj/effect/proc_holder/spell/targeted/lichdom/cast(): (mob/user) +#define COMSIG_ITEM_MARK_RETRIEVAL "item_mark_retrieval" //called before marking an object for retrieval, checked in /obj/effect/proc_holder/spell/targeted/summonitem/cast() : (mob/user) + #define COMPONENT_BLOCK_MARK_RETRIEVAL 1 +#define COMSIG_ITEM_WEARERCROSSED "wearer_crossed" //called on item when crossed by something (): (/atom/movable, mob/living/crossed) + +///from base of item/sharpener/attackby(): (amount, max) +#define COMSIG_ITEM_SHARPEN_ACT "sharpen_act" + #define COMPONENT_BLOCK_SHARPEN_APPLIED 1 + #define COMPONENT_BLOCK_SHARPEN_BLOCKED 2 + #define COMPONENT_BLOCK_SHARPEN_ALREADY 4 + #define COMPONENT_BLOCK_SHARPEN_MAXED 8 + +#define COMSIG_TOOL_IN_USE "tool_in_use" ///from base of [/obj/item/proc/tool_check_callback]: (mob/living/user) +#define COMSIG_TOOL_START_USE "tool_start_use" ///from base of [/obj/item/proc/tool_start_check]: (mob/living/user) +#define COMSIG_ITEM_DISABLE_EMBED "item_disable_embed" ///from [/obj/item/proc/disableEmbedding]: +#define COMSIG_MINE_TRIGGERED "minegoboom" ///from [/obj/item/mine/proc/trigger_mine]: +///from [/obj/structure/closet/supplypod/proc/endlaunch]: +#define COMSIG_SUPPLYPOD_LANDED "supplypodgoboom" + +// Item mouse siganls +#define COMSIG_ITEM_MOUSE_EXIT "item_mouse_exit" //from base of obj/item/MouseExited(): (location, control, params) +#define COMSIG_ITEM_MOUSE_ENTER "item_mouse_enter" //from base of obj/item/MouseEntered(): (location, control, params) + +///Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)] +#define COMSIG_ITEM_OFFERING "item_offering" + ///Interrupts the offer proc + #define COMPONENT_OFFER_INTERRUPT (1<<0) +///Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)] +#define COMSIG_ITEM_OFFER_TAKEN "item_offer_taken" + ///Interrupts the offer acceptance + #define COMPONENT_OFFER_TAKE_INTERRUPT (1<<0) +/// sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params) +#define COMSIG_ITEM_ATTACK_EFFECT "item_effect_attacked" + +// /obj/item signals for economy +#define COMSIG_ITEM_SOLD "item_sold" //called when an item is sold by the exports subsystem +#define COMSIG_STRUCTURE_UNWRAPPED "structure_unwrapped" //called when a wrapped up structure is opened by hand +#define COMSIG_ITEM_UNWRAPPED "item_unwrapped" //called when a wrapped up item is opened by hand + #define COMSIG_ITEM_SPLIT_VALUE 1 +#define COMSIG_ITEM_SPLIT_PROFIT "item_split_profits" //Called when getting the item's exact ratio for cargo's profit. +#define COMSIG_ITEM_SPLIT_PROFIT_DRY "item_split_profits_dry" //Called when getting the item's exact ratio for cargo's profit, without selling the item. diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm new file mode 100644 index 000000000000..d4c88d7c16b2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_aquarium.dm @@ -0,0 +1,7 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// Aquarium related signals +#define COMSIG_AQUARIUM_SURFACE_CHANGED "aquarium_surface_changed" +#define COMSIG_AQUARIUM_FLUID_CHANGED "aquarium_fluid_changed" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm new file mode 100644 index 000000000000..929a2f844074 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_machinery.dm @@ -0,0 +1,12 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/machinery signals + +///from /obj/machinery/obj_break(damage_flag): (damage_flag) +#define COMSIG_MACHINERY_BROKEN "machinery_broken" +///from base power_change() when power is lost +#define COMSIG_MACHINERY_POWER_LOST "machinery_power_lost" +///from base power_change() when power is restored +#define COMSIG_MACHINERY_POWER_RESTORED "machinery_power_restored" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm new file mode 100644 index 000000000000..b4e8abe2b80b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_machine/signals_supermatter.dm @@ -0,0 +1,9 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj/machinery/power/supermatter_crystal signals +/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM delam reaches the point of sounding alarms +#define COMSIG_SUPERMATTER_DELAM_START_ALARM "sm_delam_start_alarm" +/// from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm +#define COMSIG_SUPERMATTER_DELAM_ALARM "sm_delam_alarm" diff --git a/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm new file mode 100644 index 000000000000..137925811720 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_obj/signals_object.dm @@ -0,0 +1,12 @@ +// Format: +// When the signal is called: (signal arguments) +// All signals send the source datum of the signal as the first argument + +// /obj signals + +///from base of obj/deconstruct(): (disassembled) +#define COMSIG_OBJ_DECONSTRUCT "obj_deconstruct" +///from base of code/game/machinery +#define COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH "obj_default_unfasten_wrench" +///from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide +#define COMSIG_OBJ_HIDE "obj_hide" diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index f2b6a8fd196d..a12ceca284dd 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -49,6 +49,16 @@ #define DRINK_FANTASTIC 4 #define FOOD_AMAZING 5 +/// Food is "in a container", not in a code sense, but in a literal sense (canned foods) #define FOOD_IN_CONTAINER (1<<0) +/// Finger food can be eaten while walking / running around +#define FOOD_FINGER_FOOD (1<<1) #define STOP_SERVING_BREAKFAST (15 MINUTES) + +///Amount of reagents you start with on crafted food excluding the used parts +#define CRAFTED_FOOD_BASE_REAGENT_MODIFIER 0.7 +///Modifier of reagents you get when crafting food from the parts used +#define CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER 0.5 + +#define IS_EDIBLE(O) (O.GetComponent(/datum/component/edible)) diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index dba7ce93afaf..17cbab5683d8 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -12,7 +12,8 @@ #define TRIGGER_GUARD_NONE 0 #define TRIGGER_GUARD_NORMAL 1 //Gun bolt types -///The gun has a closed bolt, when resting it's closed, and must be racked to get a bullet from a magazine. see: Every Fucking Videogame Gun Ever +///Gun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +/// Example: c20, shotguns, m90 #define BOLT_TYPE_STANDARD 1 ///Gun has a bolt, it is open when ready to fire. The gun can never have a chambered bullet with no magazine, but the bolt stays ready when a mag is removed. /// Example: Some SMGs, the L6 @@ -29,18 +30,6 @@ ///added recoil of sawn off guns #define SAWN_OFF_RECOIL 1 -//ammo box sprite defines -///ammo box will always use provided icon state -#define AMMO_BOX_ONE_SPRITE 0 -///ammo box will have a different state for each bullet; - -#define AMMO_BOX_PER_BULLET 1 -///ammo box will have a different state for full and empty; -max_ammo and -0 -#define AMMO_BOX_FULL_EMPTY 2 - -#define SUPPRESSED_NONE 0 -#define SUPPRESSED_QUIET 1 ///standard suppressed -#define SUPPRESSED_VERY 2 /// no message - //Autofire component /// Compatible firemode is in the gun. Wait until it's held in the user hands. #define AUTOFIRE_STAT_IDLE (1<<0) @@ -54,6 +43,10 @@ #define COMSIG_AUTOFIRE_SHOT "autofire_shot" #define COMPONENT_AUTOFIRE_SHOT_SUCCESS (1<<0) +#define SUPPRESSED_NONE 0 +#define SUPPRESSED_QUIET 1 ///standard suppressed +#define SUPPRESSED_VERY 2 /// no message + #define DUALWIELD_PENALTY_EXTRA_MULTIPLIER 1.6 #define MANUFACTURER_NONE null @@ -72,6 +65,69 @@ #define MANUFACTURER_PGF "the Etherbor Industries emblem" #define MANUFACTURER_IMPORT "Lanchester Import Co." +///////////////// +// ATTACHMENTS // +///////////////// +#define TRAIT_ATTACHABLE "attachable" + +#define COMSIG_ATTACHMENT_ATTACH "attach-attach" +#define COMSIG_ATTACHMENT_DETACH "attach-detach" +#define COMSIG_ATTACHMENT_EXAMINE "attach-examine" +#define COMSIG_ATTACHMENT_EXAMINE_MORE "attach-examine-more" +#define COMSIG_ATTACHMENT_PRE_ATTACK "attach-pre-attack" +#define COMSIG_ATTACHMENT_ATTACK "attach-attacked" +#define COMSIG_ATTACHMENT_UPDATE_OVERLAY "attach-overlay" + +#define COMSIG_ATTACHMENT_TOGGLE "attach-toggle" + +#define COMSIG_ATTACHMENT_GET_SLOT "attach-slot-who" +#define ATTACHMENT_SLOT_MUZZLE "muzzle" +#define ATTACHMENT_SLOT_SCOPE "scope" +#define ATTACHMENT_SLOT_GRIP "grip" +#define ATTACHMENT_SLOT_RAIL "rail" +#define ATTACHMENT_SLOT_STOCK "stock" + +/proc/attachment_slot_to_bflag(slot) + switch(slot) + if(ATTACHMENT_SLOT_MUZZLE) + return (1<<0) + if(ATTACHMENT_SLOT_SCOPE) + return (1<<1) + if(ATTACHMENT_SLOT_GRIP) + return (1<<2) + if(ATTACHMENT_SLOT_RAIL) + return (1<<3) + if(ATTACHMENT_SLOT_STOCK) + return (1<<4) + +/proc/attachment_slot_from_bflag(slot) + switch(slot) + if(1<<0) + return ATTACHMENT_SLOT_MUZZLE + if(1<<1) + return ATTACHMENT_SLOT_SCOPE + if(1<<2) + return ATTACHMENT_SLOT_GRIP + if(1<<3) + return ATTACHMENT_SLOT_RAIL + if(1<<4) + return ATTACHMENT_SLOT_STOCK + +#define ATTACHMENT_DEFAULT_SLOT_AVAILABLE list( \ + ATTACHMENT_SLOT_MUZZLE = 1, \ + ATTACHMENT_SLOT_SCOPE = 1, \ + ATTACHMENT_SLOT_GRIP = 1, \ + ATTACHMENT_SLOT_RAIL = 1, \ + ATTACHMENT_SLOT_STOCK = 1, \ +) + +//attach_features_flags +/// Removable by hand +#define ATTACH_REMOVABLE_HAND (1<<0) +/// Removable via crowbar +#define ATTACH_REMOVABLE_TOOL (1<<1) +#define ATTACH_TOGGLE (1<<2) +#define ATTACH_NO_SPRITE (1<<3) ///////////////// // PROJECTILES // @@ -84,6 +140,18 @@ #define NICE_SHOT_RICOCHET_BONUS 10 //if the shooter has the NICE_SHOT trait and they fire a ricocheting projectile, add this to the ricochet chance and auto aim angle +//ammo box sprite defines +///ammo box will always use provided icon state +#define AMMO_BOX_ONE_SPRITE 0 +///ammo box will have a different state for each bullet; - +#define AMMO_BOX_PER_BULLET 1 +///ammo box will have a different state for full and empty; -max_ammo and -0 +#define AMMO_BOX_FULL_EMPTY 2 + +#define MAG_SIZE_SMALL 1 +#define MAG_SIZE_MEDIUM 2 +#define MAG_SIZE_LARGE 3 + //Projectile Reflect #define REFLECT_NORMAL (1<<0) #define REFLECT_FAKEPROJECTILE (1<<1) @@ -96,3 +164,6 @@ #define FIREMODE_FULLAUTO "auto" #define FIREMODE_OTHER "other" #define FIREMODE_OTHER_TWO "other2" + +#define GUN_LEFTHAND_ICON 'icons/mob/inhands/weapons/guns_lefthand.dmi' +#define GUN_RIGHTHAND_ICON 'icons/mob/inhands/weapons/guns_righthand.dmi' diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index d9ca63008c1d..387f87c90acc 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -52,6 +52,7 @@ #define ANTI_TINFOIL_MANEUVER (1<<12) //Hats with negative effects when worn (i.e the tinfoil hat). #define DANGEROUS_OBJECT (1<<13) //Clothes that cause a larger notification when placed on a person. #define FAST_EMBARK (1<<14) //Clothes that speed up mech and pod boarding. +#define SEALS_EYES (1<<15) //Goggles and helmets that seal eyes from the enviroment /// Flags for the organ_flags var on /obj/item/organ #define ORGAN_SYNTHETIC (1<<0) //Synthetic organs, or cybernetic organs. Reacts to EMPs and don't deteriorate or heal diff --git a/code/__DEFINES/processing.dm b/code/__DEFINES/processing.dm new file mode 100644 index 000000000000..905c03830d51 --- /dev/null +++ b/code/__DEFINES/processing.dm @@ -0,0 +1,3 @@ +#define TOOL_PROCESSING_RESULT "result" +#define TOOL_PROCESSING_AMOUNT "amount" +#define TOOL_PROCESSING_TIME "time" diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index d4d9807ec0af..1bd23038c600 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -173,3 +173,5 @@ #define SOUND_AREA_LAVALAND SOUND_ENVIRONMENT_MOUNTAINS #define SOUND_AREA_ICEMOON SOUND_ENVIRONMENT_CAVE #define SOUND_AREA_WOODFLOOR SOUND_ENVIRONMENT_CITY + +#define SOUND_EMPTY_MAG 'sound/weapons/empty.ogg' diff --git a/code/__DEFINES/species_clothing_defines.dm b/code/__DEFINES/species_clothing_defines.dm index 517579192634..937adf6b7cdd 100644 --- a/code/__DEFINES/species_clothing_defines.dm +++ b/code/__DEFINES/species_clothing_defines.dm @@ -22,6 +22,7 @@ #define VOX_SUIT_PATH 'icons/mob/species/vox/onmob_suit_vox.dmi' #define VOX_EARS_PATH 'icons/mob/species/vox/onmob_ears_vox.dmi' #define VOX_MASK_PATH 'icons/mob/species/vox/onmob_mask_vox.dmi' +#define VOX_NECK_PATH 'icons/mob/species/vox/onmob_neck_vox.dmi' #define VOX_HEAD_PATH 'icons/mob/species/vox/onmob_head_vox.dmi' #define VOX_GLOVES_PATH 'icons/mob/species/vox/onmob_hands_vox.dmi' #define VOX_GLASSES_PATH 'icons/mob/species/vox/onmob_eyes_vox.dmi' diff --git a/code/__DEFINES/tools.dm b/code/__DEFINES/tools.dm index 320648170b44..35860ac927f4 100644 --- a/code/__DEFINES/tools.dm +++ b/code/__DEFINES/tools.dm @@ -14,6 +14,7 @@ #define TOOL_DRILL "drill" #define TOOL_SCALPEL "scalpel" #define TOOL_SAW "saw" +#define TOOL_KNIFE "knife" //luv me kuh-nyfe // If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY, // tool sound is only played when op is started. If not, it's played twice. diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index f88f0c9d791c..6a85a5c82fde 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -173,6 +173,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_RESISTCOLD "resist_cold" #define TRAIT_RESISTHIGHPRESSURE "resist_high_pressure" #define TRAIT_RESISTLOWPRESSURE "resist_low_pressure" +#define TRAIT_METALLIC "metallic" //used on IPCs #define TRAIT_BOMBIMMUNE "bomb_immunity" #define TRAIT_RADIMMUNE "rad_immunity" #define TRAIT_GENELESS "geneless" diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm index 7054c051f707..6f4ec205448c 100644 --- a/code/__HELPERS/names.dm +++ b/code/__HELPERS/names.dm @@ -11,10 +11,7 @@ return "[pick(GLOB.squid_names)][pick("-", "", " ")][capitalize(pick(GLOB.squid_names) + pick(GLOB.squid_names))]" /proc/kepori_name() - var/first_syllables = list("Fa", "Fe", "Fi", "Ma", "Me", "Mi", "Na", "Ne", "Ni", "Sa", "Se", "Si", "Ta", "Te", "Ti") - var/second_syllables = list("fa", "fe", "fi", "la", "le", "li", "ma", "me", "mi", "na", "ne", "ni", "ra", "re", "ri", "sa", "se", "si", "sha", "she", "shi", "ta", "te", "ti") - var/third_syllables = list("ca", "ce", "ci", "fa", "fe", "fi", "la", "le", "li", "ma", "me", "mi", "na", "ne", "ni", "ra", "re", "ri", "sa", "se", "si", "sha", "she", "shi", "ta", "te", "ti") - return "[pick(first_syllables)][pick(second_syllables)][pick(third_syllables)]" + return "[pick(GLOB.kepori_names)] [pick(GLOB.kepori_names)]-[pick(GLOB.kepori_names)]" /proc/vox_name() . = "" diff --git a/code/__HELPERS/priority_announce.dm b/code/__HELPERS/priority_announce.dm index 65ea832c0e0b..fb02a93e144d 100644 --- a/code/__HELPERS/priority_announce.dm +++ b/code/__HELPERS/priority_announce.dm @@ -1,4 +1,4 @@ -/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type, sender_override, auth_id, zlevel) //WS Edit - Make cap's announcement use logged-in name +/proc/priority_announce(text, title = "", sound = 'sound/ai/attention.ogg', type, sender_override, auth_id, zlevel) if(!text) return @@ -73,3 +73,9 @@ to_chat(M, "[title]
[message]

[from ? "-[from.name] ([from.job])" : null]") if(M.client.prefs.toggles & SOUND_ANNOUNCEMENTS) SEND_SOUND(M, S) + +/proc/create_distress_beacon(datum/overmap/ship/ship) + if(!ship) + return + var/text = "A distress beacon has been launched by [ship.name], at local sector co-ordinates [ship.x || ship.docked_to.x]/[ship.y || ship.docked_to.y]. No further information available." + priority_announce(text, null, 'sound/effects/alert.ogg', sender_override = "Outpost Distress Beacon System", zlevel = 0) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 5d96dc8af34c..5301f0ec9d3e 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -280,14 +280,9 @@ //Medals parts += medal_report() - //WS Begin - CHECK_TICK - - //Mouse - parts += mouse_report() CHECK_TICK - //WS End + //Station Goals parts += goal_report() @@ -459,17 +454,7 @@ parts += com return "
[parts.Join("
")]
" return "" -//WS Begin -/datum/controller/subsystem/ticker/proc/mouse_report() - if(GLOB.mouse_food_eaten) - var/list/parts = list() - parts += "Mouse stats:" - parts += "Mouse Born: [GLOB.mouse_spawned]" - parts += "Mouse Killed: [GLOB.mouse_killed]" - parts += "Trash Eaten: [GLOB.mouse_food_eaten]" - return "
[parts.Join("
")]
" - return "" -//WS End + /datum/controller/subsystem/ticker/proc/antag_report() var/list/result = list() var/list/all_teams = list() diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index c8c7b63d0a09..185c6c595b80 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -295,7 +295,7 @@ Turf and target are separate in case you want to teleport some distance from a t return "[pick("!","@","#","$","%","^","&")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")][pick("!","@","#","$","%","^","&","*")]" //Returns a list of all items of interest with their name -/proc/getpois(mobs_only = FALSE, skip_mindless = FALSE, specify_dead_role = TRUE) +/proc/getpois(mobs_only = FALSE, skip_mindless = FALSE, specify_dead_role = TRUE, only_realname = FALSE) var/list/mobs = sortmobs() var/list/namecounts = list() var/list/pois = list() @@ -305,7 +305,11 @@ Turf and target are separate in case you want to teleport some distance from a t continue if(M.client && M.client.holder && M.client.holder.fakekey) //stealthmins continue - var/name = avoid_assoc_duplicate_keys(M.name, namecounts) + M.get_realname_string() + var/name = "" + if(only_realname) + name = avoid_assoc_duplicate_keys(M.real_name, namecounts) + else + name = avoid_assoc_duplicate_keys(M.name, namecounts) + M.get_realname_string() if(M.stat == DEAD && specify_dead_role) if(isobserver(M)) @@ -321,6 +325,7 @@ Turf and target are separate in case you want to teleport some distance from a t pois[avoid_assoc_duplicate_keys(A.name, namecounts)] = A return pois + //Orders mobs by type then by name /proc/sortmobs() var/list/moblist = list() @@ -1420,10 +1425,15 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) REMOVE_TRAIT(the_atom2,trait,source) /proc/get_random_food() - var/list/blocked = list(/obj/item/reagent_containers/food/snacks/store/bread, - /obj/item/reagent_containers/food/snacks/breadslice, - /obj/item/reagent_containers/food/snacks/store/cake, - /obj/item/reagent_containers/food/snacks/cakeslice, + var/static/list/allowed_food = list() + + if(!LAZYLEN(allowed_food)) //it's static so we only ever do this once + var/list/blocked = list( + /obj/item/food/spaghetti, + /obj/item/food/bread, + /obj/item/food/breadslice, + /obj/item/food/cake, + /obj/item/food/cakeslice, /obj/item/reagent_containers/food/snacks/store, /obj/item/reagent_containers/food/snacks/pie, /obj/item/reagent_containers/food/snacks/kebab, @@ -1435,15 +1445,21 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /obj/item/reagent_containers/food/snacks/soup, /obj/item/reagent_containers/food/snacks/grown, /obj/item/reagent_containers/food/snacks/grown/mushroom, - /obj/item/reagent_containers/food/snacks/deepfryholder, + /obj/item/food/deepfryholder, /obj/item/reagent_containers/food/snacks/clothing, /obj/item/reagent_containers/food/snacks/grown/shell, //base types - /obj/item/reagent_containers/food/snacks/store/bread, + /obj/item/food/bread, /obj/item/reagent_containers/food/snacks/grown/nettle ) - blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable) + blocked |= typesof(/obj/item/reagent_containers/food/snacks/customizable) + + var/list/unfiltered_allowed_food = subtypesof(/obj/item/food) - blocked + for(var/obj/item/food/food as anything in unfiltered_allowed_food) + if(!initial(food.icon_state)) //food with no icon_state should probably not be spawned + continue + allowed_food.Add(food) - return pick(subtypesof(/obj/item/reagent_containers/food/snacks) - blocked) + return pick(allowed_food) /proc/get_random_drink() var/list/blocked = list(/obj/item/reagent_containers/food/drinks/soda_cans, diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index 888def7a7182..fe657d56284d 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -11,6 +11,7 @@ GLOBAL_LIST_INIT(first_names_female, world.file2list("strings/names/first_female GLOBAL_LIST_INIT(last_names, world.file2list("strings/names/last.txt")) GLOBAL_LIST_INIT(lizard_names_male, world.file2list("strings/names/lizard_male.txt")) GLOBAL_LIST_INIT(lizard_names_female, world.file2list("strings/names/lizard_female.txt")) +GLOBAL_LIST_INIT(kepori_names, world.file2list("strings/names/kepori_names.txt")) GLOBAL_LIST_INIT(clown_names, world.file2list("strings/names/clown.txt")) GLOBAL_LIST_INIT(mime_names, world.file2list("strings/names/mime.txt")) GLOBAL_LIST_INIT(carp_names, world.file2list("strings/names/carp.txt")) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index 5f5c26731d15..a155e570df4f 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -44,6 +44,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD, "TRAIT_RESISTHIGHPRESSURE" = TRAIT_RESISTHIGHPRESSURE, "TRAIT_RESISTLOWPRESSURE" = TRAIT_RESISTLOWPRESSURE, + "TRAIT_METALLIC" = TRAIT_METALLIC, "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_RADIMMUNE" = TRAIT_RADIMMUNE, "TRAIT_GENELESS" = TRAIT_GENELESS, diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 993026c0d5e0..a6f81d8ca4f1 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -366,7 +366,7 @@ return /atom/proc/CtrlShiftClick(mob/user) - SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT) + SEND_SIGNAL(src, COMSIG_CLICK_CTRL_SHIFT, user) return /* diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 43ae8ffbe246..2b43444c31ae 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -625,11 +625,11 @@ so as to remain in compliance with the most up-to-date laws." if(T) AI.eyeobj.setLoc(T) -//MECHS +//EXOSUITS /atom/movable/screen/alert/low_mech_integrity - name = "Mech Damaged" - desc = "Mech integrity is low." + name = "Exosuit Damaged" + desc = "Exosuit integrity is low." icon_state = "low_mech_integrity" diff --git a/code/datums/achievements/boss_achievements.dm b/code/datums/achievements/boss_achievements.dm index ca45d5939eec..39b355318f0c 100644 --- a/code/datums/achievements/boss_achievements.dm +++ b/code/datums/achievements/boss_achievements.dm @@ -2,10 +2,10 @@ category = "Bosses" icon = "baseboss" -/datum/award/achievement/boss/tendril_exterminator - name = "Tendril Exterminator" +/datum/award/achievement/boss/nest_exterminator + name = "Nest Exterminator" desc = "Watch your step" - database_id = BOSS_MEDAL_TENDRIL + database_id = BOSS_MEDAL_NEST icon = "tendril" /datum/award/achievement/boss/boss_killer @@ -55,23 +55,11 @@ database_id = BOSS_MEDAL_LEGION icon = "legion" -/datum/award/achievement/boss/swarmer_beacon_kill - name = "Swarm Beacon Killer" - desc = "GET THEM OFF OF ME!" - database_id = BOSS_MEDAL_SWARMERS - icon = "swarmer" - /datum/award/achievement/boss/wendigo_kill name = "Wendigo Killer" desc = "You've now ruined years of mythical storytelling." database_id = BOSS_MEDAL_WENDIGO -/datum/award/achievement/boss/king_goat_kill - name = "King Goat Killer" - desc = "The king is dead, long live the king!" - database_id = BOSS_MEDAL_KINGGOAT - icon = "goatboss" - /datum/award/achievement/boss/blood_miner_crusher name = "Blood-drunk Miner Crusher" desc = "I guess he couldn't handle his drink that well." @@ -112,18 +100,7 @@ desc = "We were many... now we are none." database_id = BOSS_MEDAL_LEGION_CRUSHER -/datum/award/achievement/boss/swarmer_beacon_crusher - name = "Swarm Beacon Crusher" - desc = "GET THEM OFF OF ME!" - database_id = BOSS_MEDAL_SWARMERS_CRUSHER - /datum/award/achievement/boss/wendigo_crusher name = "Wendigo Crusher" desc = "You've now ruined years of mythical storytelling." database_id = BOSS_MEDAL_WENDIGO_CRUSHER - -/datum/award/achievement/boss/king_goat_crusher - name = "King Goat Crusher" - desc = "The king is dead, long live the king!" - database_id = BOSS_MEDAL_KINGGOAT_CRUSHER - icon = "goatboss" diff --git a/code/datums/achievements/boss_scores.dm b/code/datums/achievements/boss_scores.dm index 7cf2fa886183..c0135e6c68a1 100644 --- a/code/datums/achievements/boss_scores.dm +++ b/code/datums/achievements/boss_scores.dm @@ -1,7 +1,7 @@ -/datum/award/score/tendril_score - name = "Tendril Score" +/datum/award/score/nest_score + name = "Nest Score" desc = "Watch your step" - database_id = TENDRIL_CLEAR_SCORE + database_id = NEST_CLEAR_SCORE /datum/award/score/boss_score name = "Bosses Killed" @@ -43,11 +43,6 @@ desc = "You've killed HOW many?" database_id = LEGION_SCORE -/datum/award/score/swarmer_beacon_score - name = "Swarmer Beacons Killed" - desc = "You've killed HOW many?" - database_id = SWARMER_BEACON_SCORE - /datum/award/score/wendigo_score name = "Wendigos Killed" desc = "You've killed HOW many?" diff --git a/code/datums/action.dm b/code/datums/action.dm index de13fc002dde..cdca8729984f 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -86,9 +86,10 @@ if(owner) UnregisterSignal(owner, COMSIG_PARENT_QDELETING) owner = null - button.moved = FALSE //so the button appears in its normal position when given to another owner. - button.locked = FALSE - button.id = null + if(button) + button.moved = FALSE //so the button appears in its normal position when given to another owner. + button.locked = FALSE + button.id = null /datum/action/proc/Trigger() if(!IsAvailable()) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 069d89f0e7e7..9c10c6f1fd7d 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -50,8 +50,6 @@ owner.derpspeech = min(owner.derpspeech + 5, 25) if(prob(3)) owner.emote("drool") - else if(owner.stat == CONSCIOUS && prob(3)) - owner.say(pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage"), forced = "brain damage") ..() /datum/brain_trauma/mild/dumbness/on_lose() diff --git a/code/datums/components/attachment.dm b/code/datums/components/attachment.dm new file mode 100644 index 000000000000..01e3abedd80b --- /dev/null +++ b/code/datums/components/attachment.dm @@ -0,0 +1,182 @@ +/datum/component/attachment + ///Slot the attachment goes on, also used in descriptions so should be player readable + var/slot + ///various yes no flags associated with attachments. See defines for these: [_DEFINES/guns.dm] + var/attach_features_flags + ///Unused so far, should probally handle it in the parent unless you have a specific reason + var/list/valid_parent_types + var/datum/callback/on_attach + var/datum/callback/on_detach + var/datum/callback/on_toggle + ///Called on the parents preattack + var/datum/callback/on_preattack + ///Unused...Also a little broken.. + var/list/datum/action/actions + ///Generated if the attachment can toggle, sends COMSIG_ATTACHMENT_TOGGLE + var/datum/action/attachment/attachment_toggle_action + +/datum/component/attachment/Initialize( + slot = ATTACHMENT_SLOT_RAIL, + attach_features_flags = ATTACH_REMOVABLE_HAND, + valid_parent_types = list(/obj/item/gun), + datum/callback/on_attach = null, + datum/callback/on_detach = null, + datum/callback/on_toggle = null, + datum/callback/on_preattack = null, + list/signals = null + ) + + if(!isitem(parent)) + return COMPONENT_INCOMPATIBLE + + src.slot = slot + src.attach_features_flags = attach_features_flags + src.valid_parent_types = valid_parent_types + src.on_attach = on_attach + src.on_detach = on_detach + src.on_toggle = on_toggle + src.on_preattack = on_preattack + + ADD_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") + RegisterSignal(parent, COMSIG_ATTACHMENT_ATTACH, PROC_REF(try_attach)) + RegisterSignal(parent, COMSIG_ATTACHMENT_DETACH, PROC_REF(try_detach)) + RegisterSignal(parent, COMSIG_ATTACHMENT_EXAMINE, PROC_REF(handle_examine)) + RegisterSignal(parent, COMSIG_ATTACHMENT_EXAMINE_MORE, PROC_REF(handle_examine_more)) + if(attach_features_flags & ATTACH_TOGGLE) + RegisterSignal(parent, COMSIG_ATTACHMENT_TOGGLE, PROC_REF(try_toggle)) + attachment_toggle_action = new /datum/action/attachment(parent) + RegisterSignal(parent, COMSIG_ATTACHMENT_PRE_ATTACK, PROC_REF(relay_pre_attack)) + RegisterSignal(parent, COMSIG_ATTACHMENT_UPDATE_OVERLAY, PROC_REF(update_overlays)) + RegisterSignal(parent, COMSIG_ATTACHMENT_GET_SLOT, PROC_REF(send_slot)) + + for(var/signal in signals) + RegisterSignal(parent, signal, signals[signal]) + +/datum/component/attachment/Destroy(force, silent) + REMOVE_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") + if(actions && length(actions)) + var/obj/item/gun/parent = src.parent + parent.actions -= actions + QDEL_LIST(actions) + qdel(attachment_toggle_action) + return ..() + +/datum/component/attachment/proc/try_toggle(obj/item/parent, obj/item/holder, mob/user) + SIGNAL_HANDLER + if(attach_features_flags & ATTACH_TOGGLE) + INVOKE_ASYNC(src, PROC_REF(do_toggle), parent, holder, user) + holder.update_icon() + attachment_toggle_action.UpdateButtonIcon() + +/datum/component/attachment/proc/do_toggle(obj/item/parent, obj/item/holder, mob/user) + if(on_toggle) + on_toggle.Invoke(holder, user) + return TRUE + + parent.attack_self(user) + return TRUE + +/datum/component/attachment/proc/update_overlays(obj/item/parent, list/overlays, list/offset) + if(!(attach_features_flags & ATTACH_NO_SPRITE)) + overlays += mutable_appearance(parent.icon, "[parent.icon_state]-attached") + +/datum/component/attachment/proc/try_attach(obj/item/parent, obj/item/holder, mob/user, bypass_checks) + SIGNAL_HANDLER + + if(!bypass_checks) + if(!parent.Adjacent(user) || (length(valid_parent_types) && (holder.type in valid_parent_types))) + return FALSE + + if(on_attach && !on_attach.Invoke(holder, user)) + return FALSE + + parent.forceMove(holder) + + if(attach_features_flags & ATTACH_TOGGLE) + holder.actions += list(attachment_toggle_action) + attachment_toggle_action.gun = holder + attachment_toggle_action.Grant(user) + + return TRUE + +/datum/component/attachment/proc/try_detach(obj/item/parent, obj/item/holder, mob/user) + SIGNAL_HANDLER + + if(!parent.Adjacent(user) || (valid_parent_types && (holder.type in valid_parent_types))) + return FALSE + + if(on_attach && !on_detach.Invoke(holder, user)) + return FALSE + + if(attach_features_flags & ATTACH_TOGGLE) + holder.actions -= list(attachment_toggle_action) + attachment_toggle_action.gun = null + attachment_toggle_action.Remove(user) + + if(user.can_put_in_hand(parent)) + user.put_in_hand(parent) + return TRUE + + parent.forceMove(holder.drop_location()) + return TRUE + +/datum/component/attachment/proc/handle_examine(obj/item/parent, mob/user, list/examine_list) + SIGNAL_HANDLER + +/datum/component/attachment/proc/handle_examine_more(obj/item/parent, mob/user, list/examine_list) + SIGNAL_HANDLER + +/datum/component/attachment/proc/relay_pre_attack(obj/item/parent, obj/item/gun, atom/target_atom, mob/user, params) + SIGNAL_HANDLER_DOES_SLEEP + + if(on_preattack) + return on_preattack.Invoke(gun, target_atom, user, params) + +/datum/component/attachment/proc/send_slot(obj/item/parent) + SIGNAL_HANDLER + return attachment_slot_to_bflag(slot) + +/datum/action/attachment + name = "Toggle Attachment" + check_flags = AB_CHECK_HANDS_BLOCKED|AB_CHECK_CONSCIOUS + button_icon_state = null + ///Decides where we send our toggle signal for when pressed + var/obj/item/gun/gun = null + +/datum/action/attachment/New(Target) + ..() + name = "Toggle [target.name]" + button.name = name + icon_icon = target.icon + button_icon_state = target.icon_state + +/datum/action/attachment/Destroy() + . = ..() + gun = null + +/datum/action/attachment/Trigger() + ..() + SEND_SIGNAL(target, COMSIG_ATTACHMENT_TOGGLE, gun, owner) + +/datum/action/attachment/UpdateButtonIcon() + icon_icon = target.icon + button_icon_state = target.icon_state + ..() + +//Copied from item action.. +/datum/action/attachment/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) + if(button_icon && button_icon_state) + // If set, use the custom icon that we set instead + // of the item appearence + ..() + else if((target && current_button.appearance_cache != target.appearance) || force) //replace with /ref comparison if this is not valid. + var/obj/item/I = target + var/old_layer = I.layer + var/old_plane = I.plane + I.layer = FLOAT_LAYER //AAAH + I.plane = FLOAT_PLANE //^ what that guy said + current_button.cut_overlays() + current_button.add_overlay(I) + I.layer = old_layer + I.plane = old_plane + current_button.appearance_cache = I.appearance diff --git a/code/datums/components/attachment_holder.dm b/code/datums/components/attachment_holder.dm new file mode 100644 index 000000000000..82968a17604b --- /dev/null +++ b/code/datums/components/attachment_holder.dm @@ -0,0 +1,188 @@ +/datum/component/attachment_holder + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + + ///List of things you can attach to the parent + var/list/valid_types = null + ///How many slots a parent can hold of any one slot + var/list/slot_room = null + ///Icon offsets, should match the sprite itself so just find the position where it should attach + var/list/slot_offsets = null + var/list/obj/item/attachments = list() + +/datum/component/attachment_holder/Initialize( + list/slot_room = null, + list/valid_types = null, + list/slot_offsets = null, + list/default_attachments = null + ) + + if(!isgun(parent)) + return COMPONENT_INCOMPATIBLE + var/obj/item/gun/parent_gun = parent + + src.slot_room = slot_room + src.valid_types = valid_types + src.slot_offsets = slot_offsets + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(handle_attack)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(handle_examine)) + RegisterSignal(parent, COMSIG_PARENT_EXAMINE_MORE, PROC_REF(handle_examine_more)) + RegisterSignal(parent, COMSIG_PARENT_QDELETING, PROC_REF(handle_qdel)) + RegisterSignal(parent, COMSIG_ITEM_PRE_ATTACK, PROC_REF(handle_item_pre_attack)) + RegisterSignal(parent, COMSIG_CLICK_CTRL_SHIFT, PROC_REF(handle_ctrl_shift_click)) + RegisterSignal(parent, COMSIG_CLICK_ALT, PROC_REF(handle_alt_click)) + RegisterSignal(parent, COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(handle_overlays)) + + if(length(default_attachments)) + for(var/attachment in default_attachments) + var/obj/item/attachment/new_attachment = new attachment(parent_gun.loc) + INVOKE_ASYNC(src, PROC_REF(do_attach), new_attachment, null, TRUE) + +/datum/component/attachment_holder/proc/handle_overlays(obj/item/parent, list/overlays) + SIGNAL_HANDLER + + for(var/obj/item/attachment/attach as anything in attachments) + var/slot = SEND_SIGNAL(attach, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + var/list/attach_overlays = list() + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_UPDATE_OVERLAY, attach_overlays) + for(var/mutable_appearance/overlay as anything in attach_overlays) + if(slot_offsets && slot_offsets[slot]) + var/matrix/overlay_matrix = new + overlay_matrix.Translate(slot_offsets[slot]["x"] - attach.pixel_shift_x, slot_offsets[slot]["y"] - attach.pixel_shift_y) + overlay.transform = overlay_matrix + overlays += overlay + +/datum/component/attachment_holder/proc/handle_qdel() + SIGNAL_HANDLER + qdel(src) + +/datum/component/attachment_holder/Destroy(force, silent) + QDEL_LIST(attachments) + attachments = null + return ..() + +/datum/component/attachment_holder/proc/attachments_to_list(only_toggles = FALSE) + . = list() + for(var/obj/item/attachment/attach as anything in attachments) + if(attach.name in .) + stack_trace("two attachments with same name; this shouldn't happen and will cause failures") + continue + if(only_toggles && !(attach.attach_features_flags & ATTACH_TOGGLE)) + continue + .[attach.name] = attach + +/datum/component/attachment_holder/proc/handle_ctrl_shift_click(obj/item/parent, mob/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(do_attachment_radial), parent, user) + +/datum/component/attachment_holder/proc/handle_alt_click(obj/item/parent, mob/user) + SIGNAL_HANDLER + + INVOKE_ASYNC(src, PROC_REF(handle_detach), parent, user) + +/datum/component/attachment_holder/proc/do_attachment_radial(obj/item/parent, mob/user) + var/list/attachments_as_list = attachments_to_list(TRUE) + var/selection = show_radial_menu(user, parent, attachments_as_list) + var/obj/item/attach = attachments_as_list[selection] + if(!attach) + return + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_TOGGLE, parent, user) + +/datum/component/attachment_holder/proc/handle_examine(obj/item/parent, mob/user, list/examine_list) + if(length(attachments)) + examine_list += span_notice("It has [length(attachments)] attachment\s.") + for(var/obj/item/attach as anything in attachments) + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_EXAMINE, user, examine_list) + +/datum/component/attachment_holder/proc/handle_examine_more(obj/item/parent, mob/user, list/examine_list) + for(var/key in slot_room) + if(slot_room[key]) + examine_list += span_notice("It has [slot_room[key]] slot\s free for [key] attachments.") + if(length(attachments)) + examine_list += span_notice("It has the following attachments:") + for(var/obj/item/attach as anything in attachments) + examine_list += span_notice("\t- [attach.name]") + if(length(valid_types)) + examine_list += span_notice("It can accept:") + for(var/obj/attach_type as anything in valid_types) + examine_list += span_notice("\t- [initial(attach_type.name)]") + for(var/obj/item/attach as anything in attachments) + SEND_SIGNAL(attach, COMSIG_ATTACHMENT_EXAMINE_MORE, user, examine_list) + +/datum/component/attachment_holder/proc/do_attach(obj/item/attachment, mob/user, bypass_checks) + var/slot = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + if(!(attachment.type in valid_types)) + to_chat(user, span_notice("[attachment] is not a valid attachment for this [parent]!")) + return + if(!slot_room[slot]) + to_chat(user, span_notice("[parent] does not contain room for [attachment]!")) + return + slot_room[slot]-- + . = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_ATTACH, parent, user, bypass_checks) + if(.) + attachments += attachment + var/atom/parent = src.parent + parent.update_icon() + +/datum/component/attachment_holder/proc/do_detach(obj/item/attachment, mob/user) + var/slot = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_GET_SLOT) + slot = attachment_slot_from_bflag(slot) + if(slot in slot_room) + slot_room[slot]++ + . = SEND_SIGNAL(attachment, COMSIG_ATTACHMENT_DETACH, parent, user) + if(.) + attachments -= attachment + var/atom/parent = src.parent + parent.update_icon() + +/datum/component/attachment_holder/proc/handle_detach(obj/item/parent, mob/user, obj/item/tool) + var/list/tool_list = list() + var/list/hand_list = list() + for(var/obj/item/attachment/attach as anything in attachments) + if(attach.attach_features_flags & ATTACH_REMOVABLE_TOOL) + tool_list[attach.name] = attach + if(attach.attach_features_flags & ATTACH_REMOVABLE_HAND) + hand_list[attach.name] = attach + if(tool) + if(!length(tool_list)) + return + var/selected = tgui_input_list(user, "Select Attachment", "Detach", tool_list) + if(!parent.Adjacent(user) || !selected || !tool || !tool.use_tool(parent, user, 2 SECONDS * tool.toolspeed)) + return + do_detach(tool_list[selected], user) + else + if(!length(hand_list)) + return + var/selected = tgui_input_list(user, "Select Attachment", "Detach", hand_list) + if(do_after(user, 2 SECONDS, parent)) + do_detach(hand_list[selected], user) + + +/datum/component/attachment_holder/proc/handle_attack(obj/item/parent, obj/item/item, mob/user) + SIGNAL_HANDLER + + if(!user.Adjacent(parent)) + return + + if(item.tool_behaviour == TOOL_CROWBAR && length(attachments)) + INVOKE_ASYNC(src, PROC_REF(handle_detach), parent, user, item) + return TRUE + + if(HAS_TRAIT(item, TRAIT_ATTACHABLE)) + INVOKE_ASYNC(src, PROC_REF(do_attach), item, user) + return TRUE + + for(var/obj/item/attach as anything in attachments) + if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_ATTACK, parent, item, user)) + parent.update_icon() + return TRUE + +/datum/component/attachment_holder/proc/handle_item_pre_attack(obj/item/parent, atom/target_atom, mob/user, params) + SIGNAL_HANDLER + + for(var/obj/item/attach as anything in attachments) + if(SEND_SIGNAL(attach, COMSIG_ATTACHMENT_PRE_ATTACK, parent, target_atom, user, params)) + return TRUE diff --git a/code/datums/components/chasm.dm b/code/datums/components/chasm.dm index f18002a05bd3..728a3bd44b86 100644 --- a/code/datums/components/chasm.dm +++ b/code/datums/components/chasm.dm @@ -18,8 +18,6 @@ /obj/effect/hotspot, /obj/effect/landmark, /obj/effect/temp_visual, - /obj/effect/light_emitter/tendril, - /obj/effect/collapse, /obj/effect/particle_effect/ion_trails, /obj/effect/dummy/phased_mob, /obj/effect/mapping_helpers, diff --git a/code/datums/components/edible.dm b/code/datums/components/edible.dm deleted file mode 100644 index b65a2d8b7e32..000000000000 --- a/code/datums/components/edible.dm +++ /dev/null @@ -1,259 +0,0 @@ -/*! - -This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). -These items take a specific time to eat, and can do most of the things our original food items could. - -Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: - Components: - Drying component (jerky etc) - Customizable component (custom pizzas etc) - Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) - Dunkable component (Dunking things into reagent containers to absorb a specific amount of reagents) - - Misc: - Something for cakes (You can store things inside) - -*/ -/datum/component/edible - ///Amount of reagents taken per bite - var/bite_consumption = 2 - ///Amount of bites taken so far - var/bitecount = 0 - ///Flags for food - var/food_flags = NONE - ///Bitfield of the types of this food - var/foodtypes = NONE - ///Amount of seconds it takes to eat this food - var/eat_time = 30 - ///Defines how much it lowers someones satiety (Need to eat, essentialy) - var/junkiness = 0 - ///Message to send when eating - var/list/eatverbs - ///Callback to be ran for when you take a bite of something - var/datum/callback/after_eat - ///Last time we checked for food likes - var/last_check_time - ///Color we use when stuffed in things - var/filling_color = "#FFFFFF" - -/datum/component/edible/Initialize(list/initial_reagents, food_flags = NONE, foodtypes = NONE, volume = 50, eat_time = 30, list/tastes, list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), bite_consumption = 2, filling_color = "#FFFFFF", datum/callback/after_eat) - if(!isatom(parent)) - return COMPONENT_INCOMPATIBLE - - RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(UseByAnimal)) - if(isitem(parent)) - RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(UseFromHand)) - else if(isturf(parent)) - RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(TryToEatTurf)) - - src.bite_consumption = bite_consumption - src.food_flags = food_flags - src.foodtypes = foodtypes - src.eat_time = eat_time - src.eatverbs = eatverbs - src.junkiness = junkiness - src.after_eat = after_eat - src.filling_color = filling_color - - var/atom/owner = parent - - owner.create_reagents(volume, INJECTABLE) - - if(initial_reagents) - for(var/rid in initial_reagents) - var/amount = initial_reagents[rid] - if(tastes && tastes.len && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) - owner.reagents.add_reagent(rid, amount, tastes.Copy()) - else - owner.reagents.add_reagent(rid, amount) - -/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) - SIGNAL_HANDLER - - if(!(food_flags & FOOD_IN_CONTAINER)) - switch (bitecount) - if (0) - return - if(1) - examine_list += "[parent] was bitten by someone!" - if(2,3) - examine_list += "[parent] was bitten [bitecount] times!" - else - examine_list += "[parent] was bitten multiple times!" - -/datum/component/edible/proc/UseFromHand(obj/item/source, mob/living/M, mob/living/user) - SIGNAL_HANDLER - - return TryToEat(M, user) - -/datum/component/edible/proc/TryToEatTurf(datum/source, mob/user) - SIGNAL_HANDLER - - return TryToEat(user, user) - -///All the checks for the act of eating itself and -/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) - - set waitfor = FALSE - - var/atom/owner = parent - - if(feeder.a_intent == INTENT_HARM) - return - if(!owner.reagents.total_volume)//Shouldn't be needed but it checks to see if it has anything left in it. - to_chat(feeder, "None of [owner] left, oh no!") - if(isturf(parent)) - var/turf/T = parent - T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) - else - qdel(parent) - return - if(!CanConsume(eater, feeder)) - return - var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this - for(var/datum/reagent/consumable/C in eater.reagents.reagent_list) //we add the nutrition value of what we're currently digesting - fullness += C.nutriment_factor * C.volume / C.metabolization_rate - - . = COMPONENT_ITEM_NO_ATTACK //Point of no return I suppose - - if(eater == feeder)//If you're eating it yourself. - if(!do_after(feeder, eat_time, eater)) //Gotta pass the minimal eat time - return - var/eatverb = pick(eatverbs) - if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) - to_chat(eater, "You don't feel like eating any more junk food at the moment!") - return - else if(fullness <= 50) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") - else if(fullness > 50 && fullness < 150) - eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") - else if(fullness > 150 && fullness < 500) - eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") - else if(fullness > 500 && fullness < 600) - eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") - else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat - eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") - return - else //If you're feeding it to someone else. - if(isbrain(eater)) - to_chat(feeder, "[eater] doesn't seem to have a mouth!") - return - if(fullness <= (600 * (1 + eater.overeatduration / 1000))) - eater.visible_message("[feeder] attempts to feed [eater] [parent].", \ - "[feeder] attempts to feed you [parent].") - else - eater.visible_message("[feeder] cannot force any more of [parent] down [eater]'s throat!", \ - "[feeder] cannot force any more of [parent] down your throat!") - return - if(!do_after(feeder, target = eater)) //Wait 3 seconds before you can feed - return - - log_combat(feeder, eater, "fed", owner.reagents.log_list()) - eater.visible_message("[feeder] forces [eater] to eat [parent]!", \ - "[feeder] forces you to eat [parent]!") - - TakeBite(eater, feeder) - -///This function lets the eater take a bite and transfers the reagents to the eater. -/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) - - var/atom/owner = parent - - if(!owner?.reagents) - return FALSE - if(eater.satiety > -200) - eater.satiety -= junkiness - playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) - if(owner.reagents.total_volume) - SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder) - var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) - owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) - bitecount++ - On_Consume(eater) - checkLiked(fraction, eater) - - //Invoke our after eat callback if it is valid - if(after_eat) - after_eat.Invoke(eater, feeder) - - return TRUE - -///Checks whether or not the eater can actually consume the food -/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) - if(!iscarbon(eater)) - return FALSE - var/mob/living/carbon/C = eater - var/covered = "" - if(C.is_mouth_covered(head_only = 1)) - covered = "headgear" - else if(C.is_mouth_covered(mask_only = 1)) - covered = "mask" - if(covered) - var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" - to_chat(feeder, "You have to remove [who] [covered] first!") - return FALSE - return TRUE - -///Check foodtypes to see if we should send a moodlet -/datum/component/edible/proc/checkLiked(fraction, mob/M) - if(last_check_time + 50 > world.time) - return FALSE - if(!ishuman(M)) - return FALSE - var/mob/living/carbon/human/H = M - if(HAS_TRAIT(H, TRAIT_AGEUSIA) && foodtypes & H.dna.species.toxic_food) - to_chat(H, "You don't feel so good...") - H.adjust_disgust(25 + 30 * fraction) - else - if(foodtypes & H.dna.species.toxic_food) - to_chat(H,"What the hell was that thing?!") - H.adjust_disgust(25 + 30 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) - else if(foodtypes & H.dna.species.disliked_food) - to_chat(H,"That didn't taste very good...") - H.adjust_disgust(11 + 15 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - else if(foodtypes & H.dna.species.liked_food) - to_chat(H,"I love this taste!") - H.adjust_disgust(-5 + -2.5 * fraction) - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) - if((foodtypes & 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 - -///Delete the item when it is fully eaten -/datum/component/edible/proc/On_Consume(mob/living/eater) - - var/atom/owner = parent - - if(!eater) - return - if(!owner.reagents.total_volume) - if(isturf(parent)) - var/turf/T = parent - T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) - else - qdel(parent) - -///Ability to feed food to puppers -/datum/component/edible/proc/UseByAnimal(datum/source, mob/user) - - SIGNAL_HANDLER - - - var/atom/owner = parent - - if(!isdog(user)) - return - var/mob/living/L = user - if(bitecount == 0 || prob(50)) - L.manual_emote("nibbles away at \the [parent]") - bitecount++ - . = COMPONENT_ITEM_NO_ATTACK - L.taste(owner.reagents) // why should carbons get all the fun? - if(bitecount >= 5) - var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [parent] was") - if(sattisfaction_text) - L.manual_emote(sattisfaction_text) - qdel(parent) diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm new file mode 100644 index 000000000000..cde77f969911 --- /dev/null +++ b/code/datums/components/food/edible.dm @@ -0,0 +1,494 @@ +/*! + +This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. + +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: + Components: + Drying component (jerky etc) + Customizable component (custom pizzas etc) + Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) + Microwavability component + Frying component + + Misc: + Something for cakes (You can store things inside) + +*/ +/datum/component/edible + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + ///Amount of reagents taken per bite + var/bite_consumption = 2 + ///Amount of bites taken so far + var/bitecount = 0 + ///Flags for food + var/food_flags = NONE + ///Bitfield of the types of this food + var/foodtypes = NONE + ///Amount of seconds it takes to eat this food + var/eat_time = 30 + ///Defines how much it lowers someones satiety (Need to eat, essentialy) + var/junkiness = 0 + ///Message to send when eating + var/list/eatverbs + ///Callback to be ran before you eat something, so you can check if someone *can* eat it. + var/datum/callback/pre_eat + ///Callback to be ran before composting something, in case you don't want a piece of food to be compostable for some reason. + var/datum/callback/on_compost + ///Callback to be ran for when you take a bite of something + var/datum/callback/after_eat + ///Callback to be ran for when you finish eating something + var/datum/callback/on_consume + ///Last time we checked for food likes + var/last_check_time + ///The initial reagents of this food when it is made + var/list/initial_reagents + ///The initial volume of the foods reagents + var/volume + ///The flavortext for taste + var/list/tastes + ///The type of atom this creates when the object is microwaved. + var/microwaved_type + + //TEMP VAR, filling is nonfunctional because newfood isnt customizable yet + var/filling_color + +/datum/component/edible/Initialize(list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 10, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + microwaved_type, + junkiness, + filling_color = null, //Temp var + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume +) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(use_by_animal)) + RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(on_craft)) + RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(on_processed)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_COOKED, PROC_REF(on_microwave_cooked)) + RegisterSignal(parent, COMSIG_EDIBLE_ON_COMPOST, PROC_REF(compost)) + + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(use_from_hand)) + RegisterSignal(parent, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT, PROC_REF(on_microwaved)) + + var/obj/item/item = parent + if (!item.grind_results) + item.grind_results = list() //If this doesn't already exist, add it as an empty list. This is needed for the grinder to accept it. + + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = string_list(eatverbs) + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + src.initial_reagents = string_assoc_list(initial_reagents) + src.tastes = string_assoc_list(tastes) + src.microwaved_type = microwaved_type + + var/atom/owner = parent + + owner.create_reagents(volume, INJECTABLE) + + for(var/rid in initial_reagents) + var/amount = initial_reagents[rid] + if(length(tastes) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) + owner.reagents.add_reagent(rid, amount, tastes.Copy()) + else + owner.reagents.add_reagent(rid, amount) + +/datum/component/edible/InheritComponent(datum/component/C, + i_am_original, + list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 30, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + filling_color = null, //Temp var + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume + ) + + . = ..() + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = eatverbs + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + +/datum/component/edible/Destroy(force, silent) + QDEL_NULL(pre_eat) + QDEL_NULL(on_compost) + QDEL_NULL(after_eat) + QDEL_NULL(on_consume) + return ..() + +/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(!(food_flags & FOOD_IN_CONTAINER)) + switch (bitecount) + if (0) + return + if(1) + examine_list += "[parent] was bitten by someone!" + if(2,3) + examine_list += "[parent] was bitten [bitecount] times!" + else + examine_list += "[parent] was bitten multiple times!" + +/datum/component/edible/proc/use_from_hand(obj/item/source, mob/living/M, mob/living/user) + SIGNAL_HANDLER + + return TryToEat(M, user) + +/datum/component/edible/proc/on_fried(fry_object) + SIGNAL_HANDLER + var/atom/our_atom = parent + our_atom.reagents.trans_to(fry_object, our_atom.reagents.total_volume) + qdel(our_atom) + return COMSIG_FRYING_HANDLED + +///Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents. +/datum/component/edible/proc/on_processed(datum/source, atom/original_atom, list/chosen_processing_option) + SIGNAL_HANDLER + + if(!original_atom.reagents) + return + + var/atom/this_food = parent + var/reagents_for_slice = chosen_processing_option[TOOL_PROCESSING_AMOUNT] + + this_food.create_reagents(volume) //Make sure we have a reagent container + + original_atom.reagents.trans_to(this_food, reagents_for_slice) + + if(original_atom.name != initial(original_atom.name)) + this_food.name = "slice of [original_atom.name]" + if(original_atom.desc != initial(original_atom.desc)) + this_food.desc = "[original_atom.desc]" + +///Called when food is crafted through a crafting recipe datum. +/datum/component/edible/proc/on_craft(datum/source, list/parts_list, datum/crafting_recipe/food/recipe) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + for(var/obj/item/crafted_part in this_food.contents) + crafted_part.reagents?.trans_to(this_food.reagents, crafted_part.reagents.maximum_volume, CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER) + + var/list/objects_to_delete = list() + + // Remove all non recipe objects from the contents + for(var/content_object in this_food.contents) + for(var/recipe_object in recipe.real_parts) + if(istype(content_object, recipe_object)) + continue + objects_to_delete += content_object + + QDEL_LIST(objects_to_delete) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + + SSblackbox.record_feedback("tally", "food_made", 1, type) + +/datum/component/edible/proc/on_microwaved(datum/source, obj/machinery/microwave/used_microwave) + SIGNAL_HANDLER + + var/turf/parent_turf = get_turf(parent) + + if(!microwaved_type) + new /obj/item/reagent_containers/food/snacks/badrecipe(parent_turf) + qdel(parent) + return + + var/obj/item/result + + result = new microwaved_type(parent_turf) + + var/efficiency = istype(used_microwave) ? used_microwave.efficiency : 1 + + SEND_SIGNAL(result, COMSIG_ITEM_MICROWAVE_COOKED, parent, efficiency) + + SSblackbox.record_feedback("tally", "food_made", 1, result.type) + qdel(parent) + return COMPONENT_SUCCESFUL_MICROWAVE + +///Corrects the reagents on the newly cooked food +/datum/component/edible/proc/on_microwave_cooked(datum/source, obj/item/source_item, cooking_efficiency = 1) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + source_item.reagents?.trans_to(this_food, source_item.reagents.total_volume) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * cooking_efficiency * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + +///Makes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles +/datum/component/edible/proc/IsFoodGone(atom/owner, mob/living/feeder) + if(QDELETED(owner)|| !(IS_EDIBLE(owner))) + return TRUE + if(owner.reagents.total_volume) + return FALSE + return TRUE + +/// Normal time to forcefeed someone something +#define EAT_TIME_FORCE_FEED (3 SECONDS) + +///All the checks for the act of eating itself and +/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) + + set waitfor = FALSE // We might end up sleeping here, so we don't want to hold up anything + + var/atom/owner = parent + + if(feeder.a_intent == INTENT_HARM) + return + + . = COMPONENT_CANCEL_ATTACK_CHAIN //Point of no return I suppose + + if(IsFoodGone(owner, feeder)) + return + + if(!CanConsume(eater, feeder)) + return + var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this + + var/time_to_eat = (eater = feeder) ? eat_time : EAT_TIME_FORCE_FEED + + if(eater == feeder)//If you're eating it yourself. + if(eat_time && !do_after(feeder, time_to_eat, eater, timed_action_flags = food_flags & FOOD_FINGER_FOOD ? IGNORE_USER_LOC_CHANGE | IGNORE_TARGET_LOC_CHANGE : NONE)) //Gotta pass the minimal eat time + return + if(IsFoodGone(owner, feeder)) + return + var/eatverb = pick(eatverbs) + + if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) + to_chat(eater, "You don't feel like eating any more junk food at the moment!") + return + else if(fullness <= 50) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") + else if(fullness > 50 && fullness < 150) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") + else if(fullness > 150 && fullness < 500) + eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") + else if(fullness > 500 && fullness < 600) + eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") + else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat + eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") + return + + + + + + else //If you're feeding it to someone else. + if(isbrain(eater)) + to_chat(feeder, "[eater] doesn't seem to have a mouth!") + return + if(fullness <= (600 * (1 + eater.overeatduration / 1000))) + eater.visible_message( + "[feeder] attempts to feed [eater] [parent].", \ + "[feeder] attempts to feed you [parent]." + ) + if(eater.is_blind()) + to_chat(eater, "You feel someone trying to feed you something!") + else + eater.visible_message( + "[feeder] cannot force any more of [parent] down [eater]'s throat!", \ + "[feeder] cannot force any more of [parent] down your throat!" + ) + if(eater.is_blind()) + to_chat(eater, "You're too full to eat what's being fed to you!") + return + if(!do_after(feeder, delay = time_to_eat, target = eater)) //Wait 3 seconds before you can feed + return + if(IsFoodGone(owner, feeder)) + return + log_combat(feeder, eater, "fed", owner.reagents.log_list()) + eater.visible_message( + "[feeder] forces [eater] to eat [parent]!", \ + "[feeder] forces you to eat [parent]!" + ) + if(eater.is_blind()) + to_chat(eater, "You're forced to eat something!") + + TakeBite(eater, feeder) + + //If we're not force-feeding, try take another bite + if(eater == feeder && eat_time) + INVOKE_ASYNC(src, PROC_REF(TryToEat), eater, feeder) + +#undef EAT_TIME_FORCE_FEED + +///This function lets the eater take a bite and transfers the reagents to the eater. +/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) + + var/atom/owner = parent + + if(!owner?.reagents) + return FALSE + if(eater.satiety > -200) + eater.satiety -= junkiness + playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) + if(!owner.reagents.total_volume) + return + SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder, bitecount, bite_consumption) + var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) + owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) + bitecount++ + check_liked(fraction, eater) + if(!owner.reagents.total_volume) + on_consume(eater, feeder) + + //Invoke our after eat callback if it is valid + if(after_eat) + after_eat.Invoke(eater, feeder, bitecount) + + return TRUE + +///Checks if we can compost something, and handles it +/datum/component/edible/proc/compost(mob/living/user) + SIGNAL_HANDLER + if(on_compost && !on_compost.Invoke(user)) + return COMPONENT_EDIBLE_BLOCK_COMPOST + +///Checks whether or not the eater can actually consume the food +/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) + if(!iscarbon(eater)) + return FALSE + if(pre_eat && !pre_eat.Invoke(eater, feeder)) + return FALSE + var/mob/living/carbon/C = eater + var/covered = "" + if(C.is_mouth_covered(head_only = 1)) + covered = "headgear" + else if(C.is_mouth_covered(mask_only = 1)) + covered = "mask" + if(covered) + var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" + to_chat(feeder, "You have to remove [who] [covered] first!") + return FALSE + return TRUE + +///Check foodtypes to see if we should send a moodlet +/datum/component/edible/proc/check_liked(fraction, mob/eater) + if(last_check_time + 50 > world.time) + return FALSE + if(!ishuman(eater)) + return FALSE + var/mob/living/carbon/human/human_eater = eater + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & human_eater.dna.species.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & human_eater.dna.species.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & human_eater.dna.species.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & human_eater.dna.species.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + + /* Should shiptest ever want to move taste to tongues as Beestation & later TGstation did, rather than on species + var/obj/item/organ/tongue/tongue = human_eater.getorganslot(ORGAN_SLOT_TONGUE) + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & tongue.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & tongue.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & tongue.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & tongue.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + */ + +///Delete the item when it is fully eaten +/datum/component/edible/proc/on_consume(mob/living/eater, mob/living/feeder) + SEND_SIGNAL(parent, COMSIG_FOOD_CONSUMED, eater, feeder) + + on_consume?.Invoke(eater, feeder) + + if(isturf(parent)) + var/turf/T = parent + T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) + else + qdel(parent) + +///Ability to feed food to puppers +/datum/component/edible/proc/use_by_animal(datum/source, mob/user) + SIGNAL_HANDLER + var/atom/owner = parent + + if(!isdog(user)) + return + var/mob/living/L = user + if(bitecount == 0 || prob(50)) + L.manual_emote("nibbles away at \the [parent].") + bitecount++ + . = COMPONENT_CANCEL_ATTACK_CHAIN + L.taste(owner.reagents) // why should carbons get all the fun? + if(bitecount >= 5) + var/satisfaction_text = pick("burps from enjoyment.", "yaps for more!", "woofs twice.", "looks at the area where \the [parent] was.") + L.manual_emote(satisfaction_text) + qdel(parent) diff --git a/code/datums/components/food/food_storage.dm b/code/datums/components/food/food_storage.dm new file mode 100644 index 000000000000..259ef4a8b6c6 --- /dev/null +++ b/code/datums/components/food/food_storage.dm @@ -0,0 +1,204 @@ +/// --Food storage component-- +/// This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +/// Consuming food storages with an item inside can cause unique interactions, such as eating glass shards. + +/datum/component/food_storage + /// Reference to what we have in our food. + var/obj/item/stored_item + /// The amount of volume the food has on creation - Used for probabilities + var/initial_volume = 10 + /// Minimum size items that can be inserted + var/minimum_weight_class = WEIGHT_CLASS_SMALL + /// What are the odds we bite into the stored item? + var/bad_chance_of_discovery = 0 + /// What are the odds we see the stored item before we bite it? + var/good_chance_of_discovery = 100 + /// The stored item was found out somehow. + var/discovered = FALSE + +/datum/component/food_storage/Initialize(_minimum_weight_class = WEIGHT_CLASS_SMALL, _bad_chance = 0, _good_chance = 100) + + RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, PROC_REF(try_inserting_item)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_HAND, PROC_REF(try_removing_item)) + RegisterSignal(parent, COMSIG_FOOD_EATEN, PROC_REF(consume_food_storage)) + + var/atom/food = parent + initial_volume = food.reagents.total_volume + + minimum_weight_class = _minimum_weight_class + bad_chance_of_discovery = _bad_chance + good_chance_of_discovery = _good_chance + +/datum/component/food_storage/Destroy(force, silent) + if(stored_item) + stored_item.forceMove(stored_item.drop_location()) + stored_item.dropped() + stored_item = null + . = ..() + +/** Begins the process of inserted an item. + * + * Clicking on the food storage with an item will begin a do_after, which if successful inserts the item. + * + * Arguments + * inserted_item - the item being placed into the food + * user - the person inserting the item + */ +/datum/component/food_storage/proc/try_inserting_item(datum/source, obj/item/inserted_item, mob/user, params) + SIGNAL_HANDLER + + // No matryoshka-ing food storage + if(istype(inserted_item, /obj/item/storage) || IS_EDIBLE(inserted_item)) + return + + //Harm intent will bypass inserting for injecting food with syringes and such + if(user.a_intent == INTENT_HARM) + return + + if(inserted_item.w_class > minimum_weight_class) + to_chat(user, "\The [inserted_item.name] won't fit in \the [parent].") + return + + if(!QDELETED(stored_item)) + to_chat(user, "There's something in \the [parent].") + return + + if(HAS_TRAIT(inserted_item, TRAIT_NODROP)) + to_chat(user, "\the [inserted_item] is stuck to your hand, you can't put into \the [parent]!") + return + + user.visible_message("[user.name] begins inserting [inserted_item.name] into \the [parent].", \ + "You start to insert the [inserted_item.name] into \the [parent].") + + INVOKE_ASYNC(src, PROC_REF(insert_item), inserted_item, user) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/** Begins the process of attempting to remove the stored item. + * + * Clicking on food storage on grab intent will begin a do_after, which if successful removes the stored_item. + * + * Arguments + * user - the person removing the item. + */ +/datum/component/food_storage/proc/try_removing_item(datum/source, mob/user) + SIGNAL_HANDLER + + var/atom/food = parent + + if(user.a_intent != INTENT_GRAB) + return + + if(QDELETED(stored_item)) + return + + if(!food.can_interact(user)) + return + + user.visible_message("[user.name] begins tearing at \the [parent].", \ + "You start to rip into \the [parent].") + + INVOKE_ASYNC(src, PROC_REF(begin_remove_item), user) + return COMPONENT_CANCEL_ATTACK_CHAIN + +/** Inserts the item into the food, after a do_after. + * + * Arguments + * inserted_item - The item being inserted. + * user - the person inserting the item. + */ +/datum/component/food_storage/proc/insert_item(obj/item/inserted_item, mob/user) + if(do_after(user, 1.5 SECONDS, target = parent)) + var/atom/food = parent + to_chat(user, "You slip [inserted_item.name] inside \the [parent].") + inserted_item.forceMove(food) + user.log_message("[key_name(user)] inserted [inserted_item] into [parent] at [AREACOORD(user)]", LOG_ATTACK) + food.add_fingerprint(user) + inserted_item.add_fingerprint(user) + + stored_item = inserted_item + +/** Removes the item from the food, after a do_after. + * + * Arguments + * user - person removing the item. + */ +/datum/component/food_storage/proc/begin_remove_item(mob/user) + if(do_after(user, 10 SECONDS, target = parent)) + remove_item(user) + +/** + * Removes the stored item, putting it in user's hands or on the ground, then updates the reference. + */ +/datum/component/food_storage/proc/remove_item(mob/user) + if(user.put_in_hands(stored_item)) + user.visible_message("[user.name] slowly pulls [stored_item.name] out of \the [parent].", \ + "You slowly pull [stored_item.name] out of \the [parent].") + else + stored_item.dropped() + stored_item.visible_message("[stored_item.name] falls out of \the [parent].") + + update_stored_item() + +/** Checks for stored items when the food is eaten. + * + * If the food is eaten while an item is stored in it, calculates the odds that the item will be found. + * Then, if the item is found before being bitten, the item is removed. + * If the item is found by biting into it, calls on_accidental_consumption on the stored item. + * Afterwards, removes the item from the food if it was discovered. + * + * Arguments + * target - person doing the eating (can be the same as user) + * user - person causing the eating to happen + * bitecount - how many times the current food has been bitten + * bitesize - how large bties are for this food + */ +/datum/component/food_storage/proc/consume_food_storage(datum/source, mob/living/target, mob/living/user, bitecount, bitesize) + SIGNAL_HANDLER + + if(QDELETED(stored_item)) //if the stored item was deleted/null... + if(!update_stored_item()) //check if there's a replacement item + return + + /// Chance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 + bad_chance_of_discovery = (bitecount / (initial_volume / bitesize))*100 + /// Chance of finding the held item = bad chance - 50 + good_chance_of_discovery = bad_chance_of_discovery - 50 + + if(prob(good_chance_of_discovery)) //finding the item, without biting it + discovered = TRUE + to_chat(target, "It feels like there's something in \the [parent]...!") + + else if(prob(bad_chance_of_discovery)) //finding the item, BY biting it + user.log_message("[key_name(user)] just fed [key_name(target)] a/an [stored_item] which was hidden in [parent] at [AREACOORD(target)]", LOG_ATTACK) + discovered = stored_item.on_accidental_consumption(target, user, parent) + update_stored_item() //make sure if the item was changed, the reference changes as well + + if(!QDELETED(stored_item) && discovered) + INVOKE_ASYNC(src, PROC_REF(remove_item), user) + +/** Updates the reference of the stored item. + * + * Checks the food's contents for if an alternate item was placed into the food. + * If there is an alternate item, updates the reference to the new item. + * If there isn't, updates the reference to null. + * + * Returns FALSE if the ref is nulled, or TRUE is another item replaced it. + */ +/datum/component/food_storage/proc/update_stored_item() + var/atom/food = parent + if(!food?.contents.len) //if there's no items in the food or food is deleted somehow + stored_item = null + return FALSE + + for(var/obj/item/i in food.contents) //search the food's contents for a replacement item + if(IS_EDIBLE(i)) + continue + if(QDELETED(i)) + continue + + stored_item = i //we found something to replace it + return TRUE + + //if there's nothing else in the food, or we found nothing valid + stored_item = null + return FALSE diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index ce224d44e4e5..32a74c843b01 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -143,7 +143,7 @@ original_parent = parent . = ..() can_hold = typecacheof(list( - /obj/item/gun/ballistic/automatic/pistol, + /obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, diff --git a/code/datums/diseases/legionvirus.dm b/code/datums/diseases/legionvirus.dm index 22144a7b2a14..a6e1bdadcdd2 100644 --- a/code/datums/diseases/legionvirus.dm +++ b/code/datums/diseases/legionvirus.dm @@ -1,28 +1,29 @@ -/datum/disease/transformation/legionvirus - name = "Soulus Saturation" +/datum/disease/transformation/legionvirus //Diseases are a quick way to exposit a bunch of information onto players, most of the effects here are handled by the legion skull organ from /mob/living/simple_animal/hostile/mining_mobs/hivelord.dm + name = "Legion Infection" max_stages = 5 spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS - cure_text = "System Cleaner" - cures = list(/datum/reagent/medicine/system_cleaner) - agent = "Soulus Dust" + cure_text = "Surgically removing the skull from the patient's chest; applications of spaceacillin or synaptizine can delay onset of the infection." + agent = "Legion skull" viable_mobtypes = list(/mob/living/carbon/human) visibility_flags = 0 - stage_prob = 5 - cure_chance = 20 - desc = "If left untreated, this disease will cause the infected to transform into a legion." + stage_prob = 0 // WOOOOOO SNOWFLAKE!!!!!!! WOOOOOO!!!! + desc = "If left untreated, the skull will slowly overtake its host's body, eventually growing into a legion." severity = DISEASE_SEVERITY_HARMFUL - disease_flags = CURABLE + disease_flags = NONE + visibility_flags = HIDDEN_PANDEMIC bypasses_immunity = TRUE - stage1 = list("Your joints itch.") - stage2 = list("Your head begins to ache.") - stage3 = list("Ash begins to flake off your skin.") - stage4 = list("You feel like your head is splitting in two!") - stage5 = list("You feel something growing inside your chest!") + stage1 = list(span_notice("You feel a dull pain in your chest.")) + stage2 = list(span_notice("Your head begins to ache.")) + stage3 = list(span_notice("Something moves underneath your skin.")) + stage4 = list(span_warning("You feel something pressing against your skin!")) + stage5 = list(span_warning("Your skin begins to tear apart-!")) new_form = /mob/living/simple_animal/hostile/asteroid/hivelord/legion /datum/disease/transformation/legionvirus/do_disease_transformation(mob/living/H) - H.visible_message("[H] transforms into a legion!") + if(stage5) + to_chat(affected_mob, pick(stage5)) + H.visible_message(span_warning("[H] suddenly collapses, a pallid grey mass bursting from their body!")) var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) @@ -32,4 +33,3 @@ H.adjustBruteLoss(1000) L.stored_mob = H H.forceMove(L) - qdel(src) diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 6d3959753a9e..1fc6d09cb2cb 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -226,43 +226,3 @@ new_form = /mob/living/simple_animal/hostile/morph infectable_biotypes = MOB_ORGANIC|MOB_MINERAL|MOB_UNDEAD //magic! transformed_antag_datum = /datum/antagonist/morph - -/datum/disease/transformation/gondola - name = "Gondola Transformation" - cure_text = "Condensed Capsaicin, ingested or injected." //getting pepper sprayed doesn't help - cures = list(/datum/reagent/consumable/condensedcapsaicin) //beats the hippie crap right out of your system - cure_chance = 80 - stage_prob = 5 - agent = "Tranquility" - desc = "Consuming the flesh of a Gondola comes at a terrible price." - severity = DISEASE_SEVERITY_BIOHAZARD - visibility_flags = 0 - stage1 = list("You seem a little lighter in your step.") - stage2 = list("You catch yourself smiling for no reason.") - stage3 = list("A cruel sense of calm overcomes you.", "You can't feel your arms!", "You let go of the urge to hurt clowns.") - stage4 = list("You can't feel your arms. It does not bother you anymore.", "You forgive the clown for hurting you.") - stage5 = list("You have become a Gondola.") - new_form = /mob/living/simple_animal/pet/gondola - -/datum/disease/transformation/gondola/stage_act() - ..() - switch(stage) - if(2) - if (prob(5)) - affected_mob.emote("smile") - if (prob(20)) - affected_mob.reagents.add_reagent_list(list(/datum/reagent/pax = 5)) - if(3) - if (prob(5)) - affected_mob.emote("smile") - if (prob(20)) - affected_mob.reagents.add_reagent_list(list(/datum/reagent/pax = 5)) - if(4) - if (prob(5)) - affected_mob.emote("smile") - if (prob(20)) - affected_mob.reagents.add_reagent_list(list(/datum/reagent/pax = 5)) - if (prob(2)) - to_chat(affected_mob, "You let go of what you were holding.") - var/obj/item/I = affected_mob.get_active_held_item() - affected_mob.dropItemToGround(I) diff --git a/code/datums/elements/dunkable.dm b/code/datums/elements/food/dunkable.dm similarity index 99% rename from code/datums/elements/dunkable.dm rename to code/datums/elements/food/dunkable.dm index 1eaee1d8cbbc..80661d5c4ac0 100644 --- a/code/datums/elements/dunkable.dm +++ b/code/datums/elements/food/dunkable.dm @@ -17,8 +17,6 @@ UnregisterSignal(target, COMSIG_ITEM_AFTERATTACK) /datum/element/dunkable/proc/get_dunked(datum/source, atom/target, mob/user, proximity_flag) - SIGNAL_HANDLER - if(!proximity_flag) // if the user is not adjacent to the container return var/obj/item/reagent_containers/container = target // the container we're trying to dunk into diff --git a/code/datums/elements/food/edible.dm b/code/datums/elements/food/edible.dm new file mode 100644 index 000000000000..a06a5ec28b79 --- /dev/null +++ b/code/datums/elements/food/edible.dm @@ -0,0 +1,471 @@ +/*! + +This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could. + +Behavior that's still missing from this component that original food items had that should either be put into seperate components or somewhere else: + Components: + Drying component (jerky etc) + Customizable component (custom pizzas etc) + Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.) + Microwavability component + Frying component + + Misc: + Something for cakes (You can store things inside) + +*/ +/datum/component/edible + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + ///Amount of reagents taken per bite + var/bite_consumption = 2 + ///Amount of bites taken so far + var/bitecount = 0 + ///Flags for food + var/food_flags = NONE + ///Bitfield of the types of this food + var/foodtypes = NONE + ///Amount of seconds it takes to eat this food + var/eat_time = 30 + ///Defines how much it lowers someones satiety (Need to eat, essentialy) + var/junkiness = 0 + ///Message to send when eating + var/list/eatverbs + ///Callback to be ran before you eat something, so you can check if someone *can* eat it. + var/datum/callback/pre_eat + ///Callback to be ran before composting something, in case you don't want a piece of food to be compostable for some reason. + var/datum/callback/on_compost + ///Callback to be ran for when you take a bite of something + var/datum/callback/after_eat + ///Callback to be ran for when you finish eating something + var/datum/callback/on_consume + ///Last time we checked for food likes + var/last_check_time + ///The initial reagents of this food when it is made + var/list/initial_reagents + ///The initial volume of the foods reagents + var/volume + ///The flavortext for taste + var/list/tastes + ///The type of atom this creates when the object is microwaved. + var/microwaved_type + + //TEMP VAR. To be phased out + var/filling_color = null + + +/datum/component/edible/Initialize(list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 10, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + microwaved_type, + junkiness, + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume +) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, PROC_REF(examine)) + RegisterSignal(parent, COMSIG_ATOM_ATTACK_ANIMAL, PROC_REF(use_by_animal)) + RegisterSignal(parent, COMSIG_ATOM_CHECKPARTS, PROC_REF(on_craft)) + RegisterSignal(parent, COMSIG_ATOM_CREATEDBY_PROCESSING, PROC_REF(on_processed)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_COOKED, PROC_REF(on_microwave_cooked)) + RegisterSignal(parent, COMSIG_EDIBLE_ON_COMPOST, PROC_REF(compost)) + + if(isitem(parent)) + RegisterSignal(parent, COMSIG_ITEM_ATTACK, PROC_REF(use_from_hand)) + RegisterSignal(parent, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + RegisterSignal(parent, COMSIG_ITEM_MICROWAVE_ACT, PROC_REF(on_microwaved)) + + var/obj/item/item = parent + if (!item.grind_results) + item.grind_results = list() //If this doesn't already exist, add it as an empty list. This is needed for the grinder to accept it. + + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.initial_reagents = initial_reagents + src.tastes = tastes + src.eat_time = eat_time + src.eatverbs = string_list(eatverbs) + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + src.initial_reagents = string_assoc_list(initial_reagents) + src.tastes = string_assoc_list(tastes) + src.microwaved_type = microwaved_type + + var/atom/owner = parent + + owner.create_reagents(volume, INJECTABLE) + + for(var/rid in initial_reagents) + var/amount = initial_reagents[rid] + if(length(tastes) && (rid == /datum/reagent/consumable/nutriment || rid == /datum/reagent/consumable/nutriment/vitamin)) + owner.reagents.add_reagent(rid, amount, tastes.Copy()) + else + owner.reagents.add_reagent(rid, amount) + +/datum/component/edible/InheritComponent(datum/component/C, + i_am_original, + list/initial_reagents, + food_flags = NONE, + foodtypes = NONE, + volume = 50, + eat_time = 30, + list/tastes, + list/eatverbs = list("bite","chew","nibble","gnaw","gobble","chomp"), + bite_consumption = 2, + datum/callback/pre_eat, + datum/callback/on_compost, + datum/callback/after_eat, + datum/callback/on_consume + ) + + . = ..() + src.bite_consumption = bite_consumption + src.food_flags = food_flags + src.foodtypes = foodtypes + src.eat_time = eat_time + src.eatverbs = eatverbs + src.junkiness = junkiness + src.pre_eat = pre_eat + src.on_compost = on_compost + src.after_eat = after_eat + src.on_consume = on_consume + +/datum/component/edible/Destroy(force, silent) + QDEL_NULL(pre_eat) + QDEL_NULL(on_compost) + QDEL_NULL(after_eat) + QDEL_NULL(on_consume) + return ..() + +/datum/component/edible/proc/examine(datum/source, mob/user, list/examine_list) + SIGNAL_HANDLER + + if(!(food_flags & FOOD_IN_CONTAINER)) + switch (bitecount) + if (0) + return + if(1) + examine_list += "[parent] was bitten by someone!" + if(2,3) + examine_list += "[parent] was bitten [bitecount] times!" + else + examine_list += "[parent] was bitten multiple times!" + +/datum/component/edible/proc/use_from_hand(obj/item/source, mob/living/M, mob/living/user) + SIGNAL_HANDLER + + return TryToEat(M, user) + +/datum/component/edible/proc/on_fried(fry_object) + SIGNAL_HANDLER + var/atom/our_atom = parent + our_atom.reagents.trans_to(fry_object, our_atom.reagents.total_volume) + qdel(our_atom) + return COMSIG_FRYING_HANDLED + +///Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents. +/datum/component/edible/proc/on_processed(datum/source, atom/original_atom, list/chosen_processing_option) + SIGNAL_HANDLER + + if(!original_atom.reagents) + return + + var/atom/this_food = parent + var/reagents_for_slice = chosen_processing_option[TOOL_PROCESSING_AMOUNT] + + this_food.create_reagents(volume) //Make sure we have a reagent container + + original_atom.reagents.trans_to(this_food, reagents_for_slice) + + if(original_atom.name != initial(original_atom.name)) + this_food.name = "slice of [original_atom.name]" + if(original_atom.desc != initial(original_atom.desc)) + this_food.desc = "[original_atom.desc]" + +///Called when food is crafted through a crafting recipe datum. +/datum/component/edible/proc/on_craft(datum/source, list/parts_list, datum/crafting_recipe/food/recipe) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + for(var/obj/item/crafted_part in this_food.contents) + crafted_part.reagents?.trans_to(this_food.reagents, crafted_part.reagents.maximum_volume, CRAFTED_FOOD_INGREDIENT_REAGENT_MODIFIER) + + var/list/objects_to_delete = list() + + // Remove all non recipe objects from the contents + for(var/content_object in this_food.contents) + for(var/recipe_object in recipe.real_parts) + if(istype(content_object, recipe_object)) + continue + objects_to_delete += content_object + + QDEL_LIST(objects_to_delete) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + + SSblackbox.record_feedback("tally", "food_made", 1, type) + +/datum/component/edible/proc/on_microwaved(datum/source, obj/machinery/microwave/used_microwave) + SIGNAL_HANDLER + + var/turf/parent_turf = get_turf(parent) + + if(!microwaved_type) + new /obj/item/reagent_containers/food/snacks/badrecipe(parent_turf) + qdel(src) + return + + + var/obj/item/result + + result = new microwaved_type(parent_turf) + + var/efficiency = istype(used_microwave) ? used_microwave.efficiency : 1 + + SEND_SIGNAL(result, COMSIG_ITEM_MICROWAVE_COOKED, parent, efficiency) + + SSblackbox.record_feedback("tally", "food_made", 1, result.type) + +///Corrects the reagents on the newly cooked food +/datum/component/edible/proc/on_microwave_cooked(datum/source, obj/item/source_item, cooking_efficiency = 1) + SIGNAL_HANDLER + + var/atom/this_food = parent + + this_food.reagents.clear_reagents() + + source_item.reagents?.trans_to(this_food, source_item.reagents.total_volume) + + for(var/r_id in initial_reagents) + var/amount = initial_reagents[r_id] * cooking_efficiency * CRAFTED_FOOD_BASE_REAGENT_MODIFIER + if(r_id == /datum/reagent/consumable/nutriment || r_id == /datum/reagent/consumable/nutriment/vitamin) + this_food.reagents.add_reagent(r_id, amount, tastes) + else + this_food.reagents.add_reagent(r_id, amount) + +///Makes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles +/datum/component/edible/proc/IsFoodGone(atom/owner, mob/living/feeder) + if(QDELETED(owner)|| !(IS_EDIBLE(owner))) + return TRUE + if(owner.reagents.total_volume) + return FALSE + return TRUE + +/// Normal time to forcefeed someone something +#define EAT_TIME_FORCE_FEED (3 SECONDS) + +///All the checks for the act of eating itself and +/datum/component/edible/proc/TryToEat(mob/living/eater, mob/living/feeder) + + set waitfor = FALSE // We might end up sleeping here, so we don't want to hold up anything + + var/atom/owner = parent + + if(feeder.a_intent == INTENT_HARM) + return + + . = COMPONENT_CANCEL_ATTACK_CHAIN //Point of no return I suppose + + if(IsFoodGone(owner, feeder)) + return + + if(!CanConsume(eater, feeder)) + return + var/fullness = eater.nutrition + 10 //The theoretical fullness of the person eating if they were to eat this + + var/time_to_eat = (eater = feeder) ? eat_time : EAT_TIME_FORCE_FEED + + if(eater == feeder)//If you're eating it yourself. + if(eat_time && !do_after(feeder, time_to_eat, eater, timed_action_flags = food_flags & FOOD_FINGER_FOOD ? IGNORE_USER_LOC_CHANGE | IGNORE_TARGET_LOC_CHANGE : NONE)) //Gotta pass the minimal eat time + return + if(IsFoodGone(owner, feeder)) + return + var/eatverb = pick(eatverbs) + + if(junkiness && eater.satiety < -150 && eater.nutrition > NUTRITION_LEVEL_STARVING + 50 && !HAS_TRAIT(eater, TRAIT_VORACIOUS)) + to_chat(eater, "You don't feel like eating any more junk food at the moment!") + return + else if(fullness <= 50) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent], gobbling it down!", "You hungrily [eatverb] \the [parent], gobbling it down!") + else if(fullness > 50 && fullness < 150) + eater.visible_message("[eater] hungrily [eatverb]s \the [parent].", "You hungrily [eatverb] \the [parent].") + else if(fullness > 150 && fullness < 500) + eater.visible_message("[eater] [eatverb]s \the [parent].", "You [eatverb] \the [parent].") + else if(fullness > 500 && fullness < 600) + eater.visible_message("[eater] unwillingly [eatverb]s a bit of \the [parent].", "You unwillingly [eatverb] a bit of \the [parent].") + else if(fullness > (600 * (1 + eater.overeatduration / 2000))) // The more you eat - the more you can eat + eater.visible_message("[eater] cannot force any more of \the [parent] to go down [eater.p_their()] throat!", "You cannot force any more of \the [parent] to go down your throat!") + return + + + + + + else //If you're feeding it to someone else. + if(isbrain(eater)) + to_chat(feeder, "[eater] doesn't seem to have a mouth!") + return + if(fullness <= (600 * (1 + eater.overeatduration / 1000))) + eater.visible_message( + "[feeder] attempts to feed [eater] [parent].", \ + "[feeder] attempts to feed you [parent]." + ) + if(eater.is_blind()) + to_chat(eater, "You feel someone trying to feed you something!") + else + eater.visible_message( + "[feeder] cannot force any more of [parent] down [eater]'s throat!", \ + "[feeder] cannot force any more of [parent] down your throat!" + ) + if(eater.is_blind()) + to_chat(eater, "You're too full to eat what's being fed to you!") + return + if(!do_after(feeder, delay = time_to_eat, target = eater)) //Wait 3 seconds before you can feed + return + if(IsFoodGone(owner, feeder)) + return + log_combat(feeder, eater, "fed", owner.reagents.log_list()) + eater.visible_message( + "[feeder] forces [eater] to eat [parent]!", \ + "[feeder] forces you to eat [parent]!" + ) + if(eater.is_blind()) + to_chat(eater, "You're forced to eat something!") + + TakeBite(eater, feeder) + + //If we're not force-feeding, try take another bite + if(eater == feeder && eat_time) + INVOKE_ASYNC(src, PROC_REF(TryToEat), eater, feeder) + +#undef EAT_TIME_FORCE_FEED + +///This function lets the eater take a bite and transfers the reagents to the eater. +/datum/component/edible/proc/TakeBite(mob/living/eater, mob/living/feeder) + + var/atom/owner = parent + + if(!owner?.reagents) + return FALSE + if(eater.satiety > -200) + eater.satiety -= junkiness + playsound(eater.loc,'sound/items/eatfood.ogg', rand(10,50), TRUE) + if(!owner.reagents.total_volume) + return + SEND_SIGNAL(parent, COMSIG_FOOD_EATEN, eater, feeder, bitecount, bite_consumption) + var/fraction = min(bite_consumption / owner.reagents.total_volume, 1) + owner.reagents.trans_to(eater, bite_consumption, transfered_by = feeder, method = INGEST) + bitecount++ + check_liked(fraction, eater) + if(!owner.reagents.total_volume) + on_consume(eater, feeder) + + //Invoke our after eat callback if it is valid + if(after_eat) + after_eat.Invoke(eater, feeder, bitecount) + + return TRUE + +///Checks if we can compost something, and handles it +/datum/component/edible/proc/compost(mob/living/user) + SIGNAL_HANDLER + if(on_compost && !on_compost.Invoke(user)) + return COMPONENT_EDIBLE_BLOCK_COMPOST + +///Checks whether or not the eater can actually consume the food +/datum/component/edible/proc/CanConsume(mob/living/eater, mob/living/feeder) + if(!iscarbon(eater)) + return FALSE + if(pre_eat && !pre_eat.Invoke(eater, feeder)) + return FALSE + var/mob/living/carbon/C = eater + var/covered = "" + if(C.is_mouth_covered(head_only = 1)) + covered = "headgear" + else if(C.is_mouth_covered(mask_only = 1)) + covered = "mask" + if(covered) + var/who = (isnull(feeder) || eater == feeder) ? "your" : "[eater.p_their()]" + to_chat(feeder, "You have to remove [who] [covered] first!") + return FALSE + return TRUE + +///Check foodtypes to see if we should send a moodlet +/datum/component/edible/proc/check_liked(fraction, mob/eater) + if(last_check_time + 50 > world.time) + return FALSE + if(!ishuman(eater)) + return FALSE + var/mob/living/carbon/human/human_eater = eater + var/obj/item/organ/tongue/tongue = human_eater.getorganslot(ORGAN_SLOT_TONGUE) + if((foodtypes & BREAKFAST) && world.time - SSticker.round_start_time < STOP_SERVING_BREAKFAST) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "breakfast", /datum/mood_event/breakfast) + if(HAS_TRAIT(human_eater, TRAIT_AGEUSIA)) + if(foodtypes & tongue.toxic_food) + to_chat(human_eater, "You don't feel so good...") + human_eater.adjust_disgust(25 + 30 * fraction) + else + if(foodtypes & tongue.toxic_food) + to_chat(human_eater,"What the hell was that thing?!") + human_eater.adjust_disgust(25 + 30 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "toxic_food", /datum/mood_event/disgusting_food) + else if(foodtypes & tongue.disliked_food) + to_chat(human_eater,"That didn't taste very good...") + human_eater.adjust_disgust(11 + 15 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) + else if(foodtypes & tongue.liked_food) + to_chat(human_eater,"I love this taste!") + human_eater.adjust_disgust(-5 + -2.5 * fraction) + SEND_SIGNAL(human_eater, COMSIG_ADD_MOOD_EVENT, "fav_food", /datum/mood_event/favorite_food) + last_check_time = world.time + +///Delete the item when it is fully eaten +/datum/component/edible/proc/on_consume(mob/living/eater, mob/living/feeder) + SEND_SIGNAL(parent, COMSIG_FOOD_CONSUMED, eater, feeder) + + on_consume?.Invoke(eater, feeder) + + if(isturf(parent)) + var/turf/T = parent + T.ScrapeAway(1, CHANGETURF_INHERIT_AIR) + else + qdel(parent) + +///Ability to feed food to puppers +/datum/component/edible/proc/use_by_animal(datum/source, mob/user) + SIGNAL_HANDLER + var/atom/owner = parent + + if(!isdog(user)) + return + var/mob/living/L = user + if(bitecount == 0 || prob(50)) + L.manual_emote("nibbles away at \the [parent].") + bitecount++ + . = COMPONENT_CANCEL_ATTACK_CHAIN + L.taste(owner.reagents) // why should carbons get all the fun? + if(bitecount >= 5) + var/satisfaction_text = pick("burps from enjoyment.", "yaps for more!", "woofs twice.", "looks at the area where \the [parent] was.") + L.manual_emote(satisfaction_text) + qdel(parent) diff --git a/code/datums/elements/food/food_trash.dm b/code/datums/elements/food/food_trash.dm new file mode 100644 index 000000000000..6c484c414a07 --- /dev/null +++ b/code/datums/elements/food/food_trash.dm @@ -0,0 +1,40 @@ +// If an item has the food_trash element it will drop an item when it is consumed. +/datum/element/food_trash + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + /// The type of trash that is spawned by this element + var/trash + ///Flags of the trash element that change its behavior UNUSED UNTIL PART 2 + //var/flags + ///Generate trash proc path + var/generate_trash_procpath + +/datum/element/food_trash/Attach(datum/target, atom/trash, flags, generate_trash_proc) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + src.trash = trash + //src.flags = flags + RegisterSignal(target, COMSIG_FOOD_CONSUMED, PROC_REF(generate_trash)) + if(!generate_trash_procpath && generate_trash_proc) + generate_trash_procpath = generate_trash_proc + +/datum/element/food_trash/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_FOOD_CONSUMED) + +/datum/element/food_trash/proc/generate_trash(datum/source, mob/living/eater, mob/living/feeder) + SIGNAL_HANDLER + + ///cringy signal_handler shouldnt be needed if you dont want to return but oh well + INVOKE_ASYNC(src, PROC_REF(async_generate_trash), source) + +/datum/element/food_trash/proc/async_generate_trash(datum/source) + var/atom/edible_object = source + + var/obj/item/trash_item = generate_trash_procpath ? call(source, generate_trash_procpath)() : new trash(edible_object.drop_location()) + + if(isliving(edible_object.loc)) + var/mob/living/food_holding_mob = edible_object.loc + food_holding_mob.dropItemToGround(edible_object) + food_holding_mob.put_in_hands(trash_item) diff --git a/code/datums/elements/food/processable.dm b/code/datums/elements/food/processable.dm new file mode 100644 index 000000000000..503e5169c877 --- /dev/null +++ b/code/datums/elements/food/processable.dm @@ -0,0 +1,47 @@ +// If an item has the processable item, it can be processed into another item with a specific tool. This adds generic behavior for those actions to make it easier to set-up generically. +/datum/element/processable + element_flags = ELEMENT_BESPOKE + id_arg_index = 2 + ///The type of atom this creates when the processing recipe is used. + var/result_atom_type + ///The tool behaviour for this processing recipe + var/tool_behaviour + ///Time to process the atom + var/time_to_process + ///Amount of the resulting actor this will create + var/amount_created + ///Whether or not the atom being processed has to be on a table or tray to process it + var/table_required + +/datum/element/processable/Attach(datum/target, tool_behaviour, result_atom_type, amount_created = 3, time_to_process = 20, table_required = FALSE) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + + src.tool_behaviour = tool_behaviour + src.amount_created = amount_created + src.time_to_process = time_to_process + src.result_atom_type = result_atom_type + src.table_required = table_required + + RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(tool_behaviour), PROC_REF(try_process)) + +/datum/element/processable/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_ATOM_TOOL_ACT(tool_behaviour)) + +/datum/element/processable/proc/try_process(datum/source, mob/living/user, obj/item/I, list/mutable_recipes) + SIGNAL_HANDLER + + if(table_required) + var/obj/item/found_item = source + var/found_location = found_item.loc + var/found_turf = isturf(found_location) + var/found_table = locate(/obj/structure/table) in found_location + var/found_tray = locate(/obj/item/storage/bag/tray) in found_location + if(!found_turf && !istype(found_location, /obj/item/storage/bag/tray) || found_turf && !(found_table || found_tray)) + to_chat(user, "You cannot make that here! You need a table or at least a tray.") + return + + mutable_recipes += list(list(TOOL_PROCESSING_RESULT = result_atom_type, TOOL_PROCESSING_AMOUNT = amount_created, TOOL_PROCESSING_TIME = time_to_process)) + return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/mapgen/planetary/AsteroidGenerator.dm b/code/datums/mapgen/planetary/AsteroidGenerator.dm index 737194b5ee28..dc5c27ac79e7 100644 --- a/code/datums/mapgen/planetary/AsteroidGenerator.dm +++ b/code/datums/mapgen/planetary/AsteroidGenerator.dm @@ -111,10 +111,8 @@ ) feature_spawn_list = list( + /obj/structure/spawner/burrow/asteroid = 3, /obj/structure/geyser/random = 1, - /obj/structure/spawner/mining/goliath = 1, - /obj/structure/spawner/mining = 1, - /obj/structure/spawner/mining/hivelord = 1, /obj/structure/vein/asteroid = 5, /obj/structure/vein/classtwo/asteroid = 10, /obj/structure/vein/classthree/asteroid = 5 @@ -161,7 +159,7 @@ feature_spawn_list = list( /obj/structure/geyser/random = 5, - /obj/structure/spawner/mining/carp = 5, + /obj/structure/spawner/carp = 5, /obj/structure/vein/asteroid = 10, /obj/structure/vein/classtwo/asteroid = 15, /obj/structure/vein/classthree/asteroid = 12 diff --git a/code/datums/mapgen/planetary/JungleGenerator.dm b/code/datums/mapgen/planetary/JungleGenerator.dm index 45ae4a7120cc..077065c8e44e 100644 --- a/code/datums/mapgen/planetary/JungleGenerator.dm +++ b/code/datums/mapgen/planetary/JungleGenerator.dm @@ -180,7 +180,7 @@ feature_spawn_chance = 0.5 feature_spawn_list = list( /obj/item/pickaxe/rusted = 1, - /obj/structure/spawner/ice_moon = 1, + /obj/structure/spawner/burrow/jungle_planet = 1, /obj/effect/spawner/lootdrop/anomaly/jungle = 1 ) diff --git a/code/datums/mapgen/planetary/LavaGenerator.dm b/code/datums/mapgen/planetary/LavaGenerator.dm index ef66cca1103f..bca54d019397 100644 --- a/code/datums/mapgen/planetary/LavaGenerator.dm +++ b/code/datums/mapgen/planetary/LavaGenerator.dm @@ -120,9 +120,7 @@ /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient/crystal = 1, /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten = 1, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal = 1, - /obj/structure/spawner/lavaland/low_threat = 8, - /obj/structure/spawner/lavaland/medium_threat = 3, - /obj/structure/spawner/lavaland/high_threat = 1, + /obj/structure/spawner/burrow/lava_planet = 10 ) /datum/biome/lavaland/forest @@ -242,10 +240,7 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, - /obj/structure/spawner/lavaland/low_threat = 8, - /obj/structure/spawner/lavaland/medium_threat = 3, - /obj/structure/spawner/lavaland/high_threat = 2, - /obj/structure/spawner/lavaland/extreme_threat = 1 + /obj/structure/spawner/burrow/lava_planet = 10 ) flora_spawn_chance = 1 flora_spawn_list = list( diff --git a/code/datums/mapgen/planetary/RockGenerator.dm b/code/datums/mapgen/planetary/RockGenerator.dm index c675c87714f5..30349a2ea53b 100644 --- a/code/datums/mapgen/planetary/RockGenerator.dm +++ b/code/datums/mapgen/planetary/RockGenerator.dm @@ -160,8 +160,8 @@ /obj/structure/vein/classtwo = 2, /obj/structure/elite_tumor = 1, /obj/structure/vein/classthree = 1, + /obj/structure/spawner/burrow/rock_plant = 4, /obj/effect/spawner/minefield = 1, - /obj/structure/spawner/ice_moon/rockplanet = 4, /obj/effect/spawner/lootdrop/anomaly/rock/cave = 1, ) mob_spawn_chance = 6 diff --git a/code/datums/mapgen/planetary/SandGenerator.dm b/code/datums/mapgen/planetary/SandGenerator.dm index 91fad1430a47..1431ab53c6b9 100644 --- a/code/datums/mapgen/planetary/SandGenerator.dm +++ b/code/datums/mapgen/planetary/SandGenerator.dm @@ -217,9 +217,7 @@ /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /mob/living/simple_animal/hostile/asteroid/goldgrub = 20, - /obj/structure/spawner/lavaland/sand_world/low_threat = 14, - /obj/structure/spawner/lavaland/sand_world/medium_threat = 8, - /obj/structure/spawner/lavaland/sand_world/high_threat = 2, + /obj/structure/spawner/burrow/sand_planet = 25 ) /datum/biome/cave/sand/volcanic diff --git a/code/datums/mapgen/planetary/SnowGenerator.dm b/code/datums/mapgen/planetary/SnowGenerator.dm index 8489cbb970ba..7fddcd176c66 100644 --- a/code/datums/mapgen/planetary/SnowGenerator.dm +++ b/code/datums/mapgen/planetary/SnowGenerator.dm @@ -102,8 +102,7 @@ mob_spawn_chance = 1 mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -115,9 +114,7 @@ feature_spawn_list = list( /obj/effect/spawner/lootdrop/anomaly/ice = 12, /obj/effect/spawner/lootdrop/anomaly/big = 1, - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 25, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 50, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 13, + /obj/structure/spawner/burrow/ice_planet = 80, /obj/structure/vein/ice = 25, /obj/effect/spawner/minefield = 2, /obj/structure/vein/ice/classtwo = 50, @@ -171,8 +168,7 @@ ) feature_spawn_chance = 0.1 feature_spawn_list = list( - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /obj/structure/statue/snow/snowman = 3, /obj/structure/statue/snow/snowlegion = 1, /obj/structure/vein/ice = 3, @@ -181,8 +177,7 @@ ) mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 2, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -219,10 +214,7 @@ feature_spawn_list = list( /obj/effect/spawner/lootdrop/anomaly/ice = 100, /obj/effect/spawner/lootdrop/anomaly/big = 1, - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 200, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 400, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 40, - /obj/structure/spawner/ice_moon/demonic_portal/extreme_threat = 1, + /obj/structure/spawner/burrow/ice_planet/hard = 600, /obj/structure/vein/ice = 300, /obj/structure/vein/ice/classtwo = 500, /obj/structure/vein/ice/classthree = 50, @@ -264,8 +256,7 @@ mob_spawn_chance = 2 mob_spawn_list = list( /mob/living/simple_animal/hostile/asteroid/wolf/random = 30, - /obj/structure/spawner/ice_moon = 2, - /obj/structure/spawner/ice_moon/polarbear = 2, + /obj/structure/spawner/burrow/ice_planet = 4, /mob/living/simple_animal/hostile/asteroid/polarbear/random = 30, /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, @@ -275,12 +266,8 @@ ) feature_spawn_chance = 0.2 feature_spawn_list = list( - /obj/structure/spawner/ice_moon/demonic_portal/low_threat = 20, - /obj/structure/spawner/ice_moon/demonic_portal/medium_threat = 40, - /obj/structure/spawner/ice_moon/demonic_portal/high_threat = 5, - /obj/structure/spawner/ice_moon/demonic_portal/extreme_threat = 1, - /obj/structure/spawner/ice_moon = 20, - /obj/structure/spawner/ice_moon/polarbear = 20, + /obj/structure/spawner/burrow/ice_planet = 60, + /obj/structure/spawner/burrow/ice_planet = 40, /obj/effect/spawner/lootdrop/anomaly/ice/cave = 10, /obj/structure/vein/ice = 30, /obj/structure/vein/ice/classtwo = 50, diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm index c6e1244be129..9b100412a391 100644 --- a/code/datums/mapgen/planetary/WasteGenerator.dm +++ b/code/datums/mapgen/planetary/WasteGenerator.dm @@ -263,10 +263,7 @@ /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, /mob/living/simple_animal/hostile/abandoned_minebot = 15, /mob/living/simple_animal/bot/floorbot/rockplanet = 15, - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2 + /obj/structure/spawner/hivebot = 35 ) /datum/biome/waste/metal/rust @@ -421,10 +418,7 @@ /mob/living/simple_animal/bot/secbot/ed209/rockplanet = 3, /mob/living/simple_animal/hostile/abandoned_minebot = 15, /mob/living/simple_animal/bot/floorbot/rockplanet = 15, - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2 + /obj/structure/spawner/hivebot = 20 ) /datum/biome/cave/waste/metal/hivebot @@ -448,15 +442,11 @@ mob_spawn_list = list( //Whoops! All hivebots! /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80, /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 50, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 50, - + /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 50 ) mob_spawn_chance = 30 feature_spawn_list = list( - /obj/structure/spawner/wasteplanet/hivebot/low_threat = 20, - /obj/structure/spawner/wasteplanet/hivebot/medium_threat = 10, - /obj/structure/spawner/wasteplanet/hivebot/high_threat = 5, - /obj/structure/spawner/wasteplanet/hivebot/extreme_threat = 2, + /obj/structure/spawner/hivebot = 1, /obj/effect/spawner/minefield/manhack = 2 ) feature_spawn_chance = 2 //hivebot biomes should have their dongles diff --git a/code/datums/materials/_material.dm b/code/datums/materials/_material.dm index 4f505cb2a3e7..1b05f7d7ef95 100644 --- a/code/datums/materials/_material.dm +++ b/code/datums/materials/_material.dm @@ -79,6 +79,16 @@ Simple datum which is instanced once per type and is used for every object of sa /atom/proc/mat_update_desc(/datum/material/mat) return + +/** + * This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. + * Arguments + * * M - person consuming the mat + * * S - (optional) item the mat is contained in (NOT the item with the mat itself) + */ +/datum/material/proc/on_accidental_mat_consumption(mob/living/carbon/M, obj/item/S) + return FALSE + ///This proc is called when the material is added to an object specifically. /datum/material/proc/on_applied_obj(obj/o, amount, material_flags) if(material_flags & MATERIAL_AFFECT_STATISTICS) diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 5545c4efde53..afd4e83cfe34 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -68,129 +68,6 @@ return REMOVE_TRAIT(owner, TRAIT_UNINTELLIGIBLE_SPEECH, GENETIC_MUTATION) -/datum/mutation/human/swedish - name = "Swedish" - desc = "A horrible mutation originating from the distant past. Thought to be eradicated after the incident in 2037." - quality = MINOR_NEGATIVE - text_gain_indication = "You feel Swedish, however that works." - text_lose_indication = "The feeling of Swedishness passes." - -/datum/mutation/human/swedish/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/swedish/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/swedish/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = replacetext(message,"w","v") - message = replacetext(message,"j","y") - message = replacetext(message,"a",pick("å","ä","æ","a")) - message = replacetext(message,"bo","bjo") - message = replacetext(message,"o",pick("ö","ø","o")) - if(prob(30)) - message += " Bork[pick("",", bork",", bork, bork")]!" - speech_args[SPEECH_MESSAGE] = trim(message) - -/datum/mutation/human/chav - name = "Chav" - desc = "Unknown" - quality = MINOR_NEGATIVE - text_gain_indication = "Ye feel like a reet prat like, innit?" - text_lose_indication = "You no longer feel like being rude and sassy." - -/datum/mutation/human/chav/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/chav/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/chav/proc/handle_speech(datum/source, list/speech_args) - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = " [message] " - message = replacetext(message," looking at "," gawpin' at ") - message = replacetext(message," great "," bangin' ") - message = replacetext(message," man "," mate ") - message = replacetext(message," friend ",pick(" mate "," bruv "," bledrin ")) - message = replacetext(message," what "," wot ") - message = replacetext(message," drink "," wet ") - message = replacetext(message," get "," giz ") - message = replacetext(message," what "," wot ") - message = replacetext(message," no thanks "," wuddent fukken do one ") - message = replacetext(message," i don't know "," wot mate ") - message = replacetext(message," no "," naw ") - message = replacetext(message," robust "," chin ") - message = replacetext(message," hi "," how what how ") - message = replacetext(message," hello "," sup bruv ") - message = replacetext(message," kill "," bang ") - message = replacetext(message," murder "," bang ") - message = replacetext(message," windows "," windies ") - message = replacetext(message," window "," windy ") - message = replacetext(message," break "," do ") - message = replacetext(message," your "," yer ") - message = replacetext(message," security "," coppers ") - speech_args[SPEECH_MESSAGE] = trim(message) - - -/datum/mutation/human/elvis - name = "Elvis" - desc = "A terrifying mutation named after its 'patient-zero'." - quality = MINOR_NEGATIVE - locked = TRUE - text_gain_indication = "You feel pretty good, honeydoll." - text_lose_indication = "You feel a little less conversation would be great." - -/datum/mutation/human/elvis/on_life() - switch(pick(1,2)) - if(1) - if(prob(15)) - var/list/dancetypes = list("swinging", "fancy", "stylish", "20'th century", "jivin'", "rock and roller", "cool", "salacious", "bashing", "smashing") - var/dancemoves = pick(dancetypes) - owner.visible_message("[owner] busts out some [dancemoves] moves!") - if(2) - if(prob(15)) - owner.visible_message("[owner] [pick("jiggles their hips", "rotates their hips", "gyrates their hips", "taps their foot", "dances to an imaginary song", "jiggles their legs", "snaps their fingers")]!") - -/datum/mutation/human/elvis/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) - -/datum/mutation/human/elvis/on_losing(mob/living/carbon/human/owner) - if(..()) - return - UnregisterSignal(owner, COMSIG_MOB_SAY) - -/datum/mutation/human/elvis/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - - var/message = speech_args[SPEECH_MESSAGE] - if(message) - message = " [message] " - message = replacetext(message," i'm not "," I aint ") - message = replacetext(message," girl ",pick(" honey "," baby "," baby doll ")) - message = replacetext(message," man ",pick(" son "," buddy "," brother"," pal "," friendo ")) - message = replacetext(message," out of "," outta ") - message = replacetext(message," thank you "," thank you, thank you very much ") - message = replacetext(message," thanks "," thank you, thank you very much ") - message = replacetext(message," what are you "," whatcha ") - message = replacetext(message," yes ",pick(" sure", "yea ")) - message = replacetext(message," muh valids "," my kicks ") - speech_args[SPEECH_MESSAGE] = trim(message) - - /datum/mutation/human/stoner name = "Stoner" desc = "A common mutation that severely decreases intelligence." diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm index dc65991ee6cc..4afa13dee07c 100644 --- a/code/datums/ruins/lavaland.dm +++ b/code/datums/ruins/lavaland.dm @@ -44,3 +44,9 @@ id = "crashed_star" description = "A crashed pirate ship. It would seem that it's crew died a while ago." suffix = "lavaland_crashed_starwalker.dmm" + +/datum/map_template/ruin/lavaland/abandonedlisteningpost + name = "Abandoned Listening Post" + id = "abandonedlistening" + description = "An abandoned Cybersun listening post. Seems like the Ramzi Clique has an interest in the site." + suffix = "lavaland_abandonedlisteningpost.dmm" diff --git a/code/datums/ruins/rockplanet.dm b/code/datums/ruins/rockplanet.dm index f3fe37e7c262..54d847eb1923 100644 --- a/code/datums/ruins/rockplanet.dm +++ b/code/datums/ruins/rockplanet.dm @@ -30,3 +30,9 @@ description = "A Crashed Arrow & Axe Interceptor. A long forgotten Crew. They tried their best to survive..." id = "rockplanet_nomadcrash" suffix = "rockplanet_nomadcrash.dmm" + +/datum/map_template/ruin/rockplanet/distillery + name = "Frontiersman Distillery" + description = "A former pre-ICW era Nanotrasen outpost converted into a moonshine distillery by Frontiersman bootleggers." + id = "rockplanet_distillery" + suffix = "rockplanet_distillery.dmm" diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index 871a1ef30062..40c6d19cfd5e 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -26,8 +26,8 @@ ruin_tags = list(RUIN_TAG_MINOR_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) /datum/map_template/ruin/wasteplanet/abandoned_mechbay - name = "Abandoned Mech Bay" - description = "A military base formerly used for staging 4 mechs and crew. God knows what's in it now." + name = "Abandoned Exosuit Bay" + description = "A military base formerly used for staging 4 exosuits and crew. God knows what's in it now." id = "abandoned_mechbay" suffix = "wasteplanet_abandoned_mechbay.dmm" ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm index d7b60476d977..31a5e9165d3c 100644 --- a/code/datums/shuttles.dm +++ b/code/datums/shuttles.dm @@ -358,7 +358,7 @@ name = "Sugarcube Transport" prefix = "ISV" -//your subshuttle here +//your subshuttle here //why is my subshuttle here /datum/map_template/shuttle/subshuttles/heron file_name = "nanotrasen_falcon" name = "Falcon Dropship" @@ -402,6 +402,11 @@ name = "Nail-class Boarding Vessel" prefix = "PGF" +/datum/map_template/shuttle/subshuttles/tanto + file_name = "independent_tanto" + name = "Tanto-class Drop Pod" + prefix = "SV" + /datum/map_template/shuttle/subshuttles/brawler file_name = "frontiersmen_brawler" name = "Brawler-class Dropship" diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index d1a8fd6acaa5..6bb9ca1200c8 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -105,7 +105,7 @@ if("Clown") heirloom_type = /obj/item/bikehorn/golden if("Mime") - heirloom_type = /obj/item/reagent_containers/food/snacks/baguette + heirloom_type = /obj/item/food/baguette if("Janitor") heirloom_type = pick(/obj/item/mop, /obj/item/clothing/suit/caution, /obj/item/reagent_containers/glass/bucket, /obj/item/paper/fluff/stations/soap) if("Cook") @@ -451,20 +451,19 @@ /datum/quirk/social_anxiety/on_process() var/nearby_people = 0 + if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS)) + return for(var/mob/living/carbon/human/H in oview(3, quirk_holder)) if(H.client) nearby_people++ var/mob/living/carbon/human/H = quirk_holder if(prob(2 + nearby_people)) - H.stuttering = max(3, H.stuttering) - else if(prob(min(3, nearby_people)) && !H.silent) - to_chat(H, "You retreat into yourself. You really don't feel up to talking.") - H.silent = max(10, H.silent) + H.stuttering = max(4, H.stuttering) else if(prob(0.5) && dumb_thing) to_chat(H, "You think of a dumb thing you said a long time ago and scream internally.") dumb_thing = FALSE //only once per life if(prob(1)) - new/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato(get_turf(H)) //now that's what I call spaghetti code + new/obj/item/food/spaghetti/pastatomato(get_turf(H)) //now that's what I call spaghetti code // small chance to make eye contact with inanimate objects/mindless mobs because of nerves /datum/quirk/social_anxiety/proc/looks_at_floor(datum/source, atom/A) @@ -479,6 +478,8 @@ /datum/quirk/social_anxiety/proc/eye_contact(datum/source, mob/living/other_mob, triggering_examiner) SIGNAL_HANDLER + if(HAS_TRAIT(quirk_holder, TRAIT_FEARLESS)) + return if(prob(75)) return var/msg diff --git a/code/datums/wires/mines.dm b/code/datums/wires/mines.dm index 4c856cf99d3f..91e0ac816189 100644 --- a/code/datums/wires/mines.dm +++ b/code/datums/wires/mines.dm @@ -28,7 +28,7 @@ if(WIRE_PIN) if(ourmine.clicked == TRUE) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] You hear something inside \the [ourmine] click softly.")) - playsound(ourmine, 'sound/weapons/empty.ogg', 30, TRUE) + playsound(ourmine, SOUND_EMPTY_MAG, 30, TRUE) ourmine.clicked = FALSE else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s detonation pad shifts slightly. Nothing happens.")) @@ -61,7 +61,7 @@ ourmine.dud = TRUE if(ourmine.clicked == TRUE) holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] You hear something inside \the [ourmine] shift out of place.")) - playsound(ourmine, 'sound/weapons/empty.ogg', 30, TRUE) + playsound(ourmine, SOUND_EMPTY_MAG, 30, TRUE) ourmine.clicked = FALSE else holder.visible_message(span_notice("[icon2html(ourmine, viewers(holder))] \The [ourmine]'s detonation pad goes loose.")) diff --git a/code/game/MapData/shuttles/nanotrasen_ranger.dm b/code/game/MapData/shuttles/nanotrasen_ranger.dm index 1766cd11ee0c..40f7816c2eb0 100644 --- a/code/game/MapData/shuttles/nanotrasen_ranger.dm +++ b/code/game/MapData/shuttles/nanotrasen_ranger.dm @@ -101,7 +101,7 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp resistance_flags = null max_heat_protection_temperature = null - slowdown = 1.2 + supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION /obj/item/clothing/head/helmet/space/hardsuit/ert/lp armor = list("melee" = 50, "bullet" = 40, "laser" = 30, "energy" = 40, "bomb" = 35, "bio" = 100, "rad" = 60, "fire" = 50, "acid" = 80) @@ -111,7 +111,7 @@ max_heat_protection_temperature = null /obj/item/clothing/suit/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 40, "bullet" = 40, "laser" = 20, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 50, "fire" = 40, "acid" = 40) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec name = "Loss Prevention Security Hardsuit" desc = "The best of the best security staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." @@ -119,7 +119,7 @@ item_state = "ert_security" /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/sec - armor = list("melee" = 35, "bullet" = 20, "laser" = 30,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + armor = list("melee" = 40, "bullet" = 40, "laser" = 20,"energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 50, "fire" = 40, "acid" = 40) hardsuit_type = "ert_security" name = "Loss Prevention Security Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Security Hardsuit." @@ -127,7 +127,7 @@ item_state = "hardsuit0-ert_security" /obj/item/clothing/suit/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + armor = list("melee" = 30, "bullet" = 20, "laser" = 30, "energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 75, "fire" = 90, "acid" = 75) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi name = "Loss Prevention Engineering Hardsuit" desc = "The best of the best engineering staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." @@ -135,7 +135,7 @@ item_state = "ert_engineer" /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/engi - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75) + armor = list("melee" = 38, "bullet" = 20, "laser" = 30, "energy" = 30, "bomb" = 25, "bio" = 100, "rad" = 75, "fire" = 90, "acid" = 75) name = "Loss Prevention Engineering Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Engineering Hardsuit." icon_state = "hardsuit0-ert_engineer" @@ -143,25 +143,27 @@ hardsuit_type = "ert_engineer" /obj/item/clothing/suit/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 25, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 60) helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med name = "Loss Prevention Medical Hardsuit" desc = "The best of the best medical staff get assigned to the ERT. Second best are given this Hardsuit as a part of the LP Team." icon_state = "ert_medical" item_state = "ert_medical" + slowdown = 0.5 /obj/item/clothing/head/helmet/space/hardsuit/ert/lp/med - armor = list("melee" = 30, "bullet" = 15, "laser" = 15, "energy" = 20, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75) + armor = list("melee" = 25, "bullet" = 25, "laser" = 25, "energy" = 25, "bomb" = 25, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 60) name = "Loss Prevention Medical Hardsuit Helmet" desc = "The helmet that comes attached to the LP Team Medical Hardsuit." icon_state = "hardsuit0-ert_medical" item_state = "hardsuit0-ert_medical" hardsuit_type = "ert_medical" + clothing_flags = SCAN_REAGENTS /obj/item/clothing/head/helmet/space/hardsuit/lp name = "RIG heatsuit helmet" desc = "The helmet to the RIG heat suit. It's packed with heat diverting materials, coolant pipes, and a two inch thick face screen." - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) + armor = list("melee" = 5, "bullet" = 5, "laser" = 1, "energy" = 1, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 75) heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT resistance_flags = ACID_PROOF | FIRE_PROOF @@ -286,7 +288,7 @@ "} /obj/item/disk/holodisk/lp/retrieval/phazon - name = "Retrieval Mission Secret Mecha" + name = "Retrieval Mission Secret Exosuit" desc = "A holodisk containing a retrieval mission for the LP." preset_image_type = /datum/preset_holoimage/commissioner preset_record_text = {" diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index f7cbb414bc00..317fd67a67b8 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -85,3 +85,24 @@ /area/ruin/unpowered/crashed_starwalker name = "Crashed Pirate Ship" +// Abandoned Listening Post + +/area/ruin/unpowered/listening_post + name = "Listening Post Lobby" + icon_state = "yellow" + +/area/ruin/unpowered/listening_post/commons + name = "Listening Post Commons" + icon_state = "green" + +/area/ruin/unpowered/listening_post/canteen + name = "Listening Post Canteen" + icon_state = "purple" + +/area/ruin/unpowered/listening_post/operations + name = "Listening Post Operations" + icon_state = "hallC" + +/area/ruin/unpowered/listening_post/engineering + name = "Listening Post Engineering" + icon_state = "dk_yellow" diff --git a/code/game/area/areas/ruins/rockplanet.dm b/code/game/area/areas/ruins/rockplanet.dm index 43516a72376a..1b9f89a46ff8 100644 --- a/code/game/area/areas/ruins/rockplanet.dm +++ b/code/game/area/areas/ruins/rockplanet.dm @@ -32,3 +32,29 @@ name = "Abandoned Crash Site" always_unpowered = FALSE icon_state = "red" + +//distillery + +/area/ruin/rockplanet/distillery + name = "Distillery" + icon_state = "red" + +/area/ruin/rockplanet/distillery/saloon + name = "Saloon" + icon_state = "bar" + +/area/ruin/rockplanet/distillery/shuttle + name = "Frontiersman Pod" + icon_state = "shuttle" + +/area/ruin/rockplanet/distillery/crew + name = "Crew Area" + icon_state = "crew_quarters" + +/area/ruin/rockplanet/distillery/engineering + name = "Engineering" + icon_state = "engine" + +/area/ruin/rockplanet/distillery/office + name = "Office" + icon_state = "vacant_office" diff --git a/code/game/area/areas/ruins/wasteplanet.dm b/code/game/area/areas/ruins/wasteplanet.dm index 4b1e69b456d2..e80cb364c3ea 100644 --- a/code/game/area/areas/ruins/wasteplanet.dm +++ b/code/game/area/areas/ruins/wasteplanet.dm @@ -3,31 +3,31 @@ //Abandoned Mechbay Ruin /area/ruin/wasteplanet/abandoned_mechbay/mainhall - name = "Abandoned Mechbay Main Corridor" + name = "Abandoned Exosuit Bay Main Corridor" icon_state = "hallC" /area/ruin/wasteplanet/abandoned_mechbay/commandcontrol - name = "Abandoned Mechbay Command and Control" + name = "Abandoned Exosuit Bay Command and Control" icon_state = "bridge" /area/ruin/wasteplanet/abandoned_mechbay/bay1 - name = "Abandoned Mechbay Upper Hangar" + name = "Abandoned Exosuit Bay Upper Hangar" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/bay2 - name = "Abandoned Mechbay Lower Hangar" + name = "Abandoned Exosuit Bay Lower Hangar" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/crewquarters - name = "Abandoned Mechbay Crew Quarters" + name = "Abandoned Exosuit Bay Crew Quarters" icon_state = "green" /area/ruin/wasteplanet/abandoned_mechbay/mechlab - name = "Abandoned Mech Lab" + name = "Abandoned Exosuit Lab" icon_state = "mechbay" /area/ruin/wasteplanet/abandoned_mechbay/engineering - name = "Abandoned Mechbay Engineering" + name = "Abandoned Exosuit Bay Engineering" icon_state = "engine" //Abandoned Waste Site diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index 5f4e75b71d4d..9732893523b7 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -171,10 +171,19 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ship/crew/dorm/dormfive name = "Dormitory 5" +/area/ship/crew/dorm/captain + name = "Captain's Quarters" + /area/ship/crew/toilet name = "Restroom" icon_state = "toilet" +/area/ship/crew/toilet/two + name = "Restroom 2" + +/area/ship/crew/toilet/three + name = "Restroom 3" + /area/ship/crew/canteen name = "Canteen" icon_state = "cafeteria" @@ -198,6 +207,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Chapel Office" icon_state = "chapeloffice" sound_environment = SOUND_AREA_SMALL_SOFTFLOOR + /area/ship/crew/library name = "Library" icon_state = "library" @@ -220,6 +230,13 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "vacant_office" sound_environment = SOUND_AREA_WOODFLOOR +/area/ship/crew/office/lobby + name = "Lobby" + +/area/ship/crew/ccommons + name = "Commons" + icon_state = "vacant_office" + /area/ship/crew/janitor name = "Custodial Closet" icon_state = "janitor" @@ -244,6 +261,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "morgue" ambientsounds = SPOOKY +/area/ship/medical/psych + name = "Psych's Office" + /// Science Lab /// /area/ship/science name = "Science Lab" @@ -444,6 +464,12 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "storage" sound_environment = SOUND_AREA_STANDARD_STATION +/area/ship/storage/port + name = "Port Storage Bay" + +/area/ship/storage/starboard + name = "Starboard Storage Bay" + /area/ship/storage/eva name = "EVA Storage" icon_state = "eva" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 7ffa3255ada1..80db6272f2fd 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1265,25 +1265,71 @@ * Must return parent proc ..() in the end if overridden */ /atom/proc/tool_act(mob/living/user, obj/item/I, tool_type) + var/signal_result + + var/list/processing_recipes = list() //List of recipes that can be mutated by sending the signal + signal_result = SEND_SIGNAL(src, COMSIG_ATOM_TOOL_ACT(tool_type), user, I, processing_recipes) + if(processing_recipes.len) + process_recipes(user, I, processing_recipes) + if(QDELETED(I)) + return TRUE switch(tool_type) if(TOOL_CROWBAR) - . |= crowbar_act(user, I) + . = crowbar_act(user, I) if(TOOL_MULTITOOL) - . |= multitool_act(user, I) + . = multitool_act(user, I) if(TOOL_SCREWDRIVER) - . |= screwdriver_act(user, I) + . = screwdriver_act(user, I) if(TOOL_WRENCH) - . |= wrench_act(user, I) + . = wrench_act(user, I) if(TOOL_WIRECUTTER) - . |= wirecutter_act(user, I) + . = wirecutter_act(user, I) if(TOOL_WELDER) - . |= welder_act(user, I) + . = welder_act(user, I) if(TOOL_ANALYZER) - . |= analyzer_act(user, I) - if(. & COMPONENT_BLOCK_TOOL_ATTACK) + . = analyzer_act(user, I) + if(. || signal_result & COMPONENT_BLOCK_TOOL_ATTACK) //Either the proc or the signal handled the tool's events in some way. return TRUE -//! Tool-specific behavior procs. They send signals, so try to call ..() +/atom/proc/process_recipes(mob/living/user, obj/item/I, list/processing_recipes) + //Only one recipe? use the first + if(processing_recipes.len == 1) + StartProcessingAtom(user, I, processing_recipes[1]) + return + //Otherwise, select one with a radial + ShowProcessingGui(user, I, processing_recipes) + +///Creates the radial and processes the selected option +/atom/proc/ShowProcessingGui(mob/living/user, obj/item/I, list/possible_options) + var/list/choices_to_options = list() //Dict of object name | dict of object processing settings + var/list/choices = list() + + for(var/i in possible_options) + var/list/current_option = i + var/atom/current_option_type = current_option[TOOL_PROCESSING_RESULT] + choices_to_options[initial(current_option_type.name)] = current_option + var/image/option_image = image(icon = initial(current_option_type.icon), icon_state = initial(current_option_type.icon_state)) + choices += list("[initial(current_option_type.name)]" = option_image) + + var/pick = show_radial_menu(user, src, choices, radius = 36, require_near = TRUE) + + StartProcessingAtom(user, I, choices_to_options[pick]) + + +/atom/proc/StartProcessingAtom(mob/living/user, obj/item/I, list/chosen_option) + to_chat(user, "You start working on [src]") + if(I.use_tool(src, user, chosen_option[TOOL_PROCESSING_TIME], volume=50)) + var/atom/atom_to_create = chosen_option[TOOL_PROCESSING_RESULT] + for(var/i = 1 to chosen_option[TOOL_PROCESSING_AMOUNT]) + new atom_to_create(loc) + to_chat(user, "You manage to create [chosen_option[TOOL_PROCESSING_AMOUNT]] [initial(atom_to_create.name)] from [src]") + qdel(src) + return + +/atom/proc/OnCreatedFromProcessing(mob/living/user, obj/item/I, list/chosen_option, atom/original_atom) + return + +//! Tool-specific behavior procs. /// ///Crowbar act @@ -1587,6 +1633,15 @@ if(istype(ship)) var/obj/docking_port/mobile/shuttle = ship.mobile_port if(shuttle) + if(istype(shuttle.docked, /obj/docking_port/stationary)) + var/obj/docking_port/stationary/shipfinder = shuttle.docked + if(shipfinder.owner_ship) + for(var/datum/weakref/weakref as anything in shipfinder.owner_ship.gravgen_list) + var/obj/machinery/power/ship_gravity/SG = weakref.resolve() + if(!SG) + shipfinder.owner_ship.gravgen_list -= weakref + continue + max_grav = max(SG.active,max_grav) for(var/datum/weakref/weakref as anything in shuttle.gravgen_list) var/obj/machinery/power/ship_gravity/SG = weakref.resolve() if(!SG) diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 992f97ba700b..85ab6ee64a14 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -118,7 +118,7 @@ ears = /obj/item/radio/headset/syndicate/alt l_pocket = /obj/item/modular_computer/tablet/nukeops id = /obj/item/card/id/syndicate - belt = /obj/item/gun/ballistic/automatic/pistol + belt = /obj/item/gun/ballistic/automatic/pistol/syndicate backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ /obj/item/kitchen/knife/combat/survival) @@ -168,7 +168,7 @@ r_hand = /obj/item/gun/ballistic/shotgun/bulldog backpack_contents = list(/obj/item/storage/box/survival/syndie=1,\ /obj/item/tank/jetpack/oxygen/harness=1,\ - /obj/item/gun/ballistic/automatic/pistol=1,\ + /obj/item/gun/ballistic/automatic/pistol/syndicate=1,\ /obj/item/kitchen/knife/combat/survival) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 589393479ff5..41760633726e 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -111,6 +111,24 @@ smoothing_groups = list(SMOOTH_GROUP_SANDBAGS) canSmoothWith = list(SMOOTH_GROUP_SANDBAGS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_SECURITY_BARRICADE) +/obj/structure/barricade/sandbags/MouseDrop(over_object, src_location, over_location) + . = ..() + if(over_object == usr && Adjacent(usr)) + if(src.flags_1 & NODECONSTRUCT_1) + return + if(!usr.canUseTopic(src, BE_CLOSE, ismonkey(usr))) + return + usr.visible_message(span_notice("[usr] begins pulling apart \the [src.name]..."), span_notice("You begin pulling apart \the [src.name]...")) + if(do_after(usr, 30, usr)) + deconstruct() + +/obj/structure/barricade/sandbags/make_debris() + new /obj/item/stack/sheet/mineral/sandbags(get_turf(src), 1) + +/obj/structure/barricade/sandbags/examine(mob/user) + . = ..() + . += span_notice("You could probably pull the [src.name] by dragging it onto yourself.") + /obj/structure/barricade/security name = "security barrier" desc = "A deployable barrier. Provides good cover in fire fights." diff --git a/code/game/machinery/outpost_electrolyzer.dm b/code/game/machinery/outpost_electrolyzer.dm index 29a37c4f95e8..b91160c7e1c8 100644 --- a/code/game/machinery/outpost_electrolyzer.dm +++ b/code/game/machinery/outpost_electrolyzer.dm @@ -38,16 +38,6 @@ var/obj/machinery/mineral/electrolyzer/linked_electrolyzer -/obj/machinery/computer/electrolyzer_console/Initialize() - . = ..() - find_electrolyzer() - -/obj/machinery/computer/electrolyzer_console/proc/find_electrolyzer() - for(var/obj/machinery/mineral/electrolyzer/potential in oview(3,src)) - if(linked_electrolyzer == null) - linked_electrolyzer = potential - potential.linked_console = src - /obj/machinery/computer/electrolyzer_console/proc/electrolyze_item(obj/item/I) var/obj/item/stack/ore/ice/S = I var/meritval = round(S.get_amount() * MERITS_PER_ICE * OUTPOST_HYDROGEN_CUT,1) // causes a bit of surplus in the "outpost" supply, even if they use all of these merits for hydrogen. @@ -61,6 +51,7 @@ var/obj/item/multitool/multi = item if(istype(multi.buffer, /obj/machinery/mineral/electrolyzer)) linked_electrolyzer = multi.buffer + linked_electrolyzer.linked_console = src visible_message("Linked to [linked_electrolyzer]!") return return ..() @@ -88,7 +79,17 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/machinery/computer/electrolyzer_console/attackby(item,mob/user) +/obj/machinery/mineral/electrolyzer/proc/find_electrolyzer() + if(linked_console) + return TRUE + for(var/obj/machinery/computer/electrolyzer_console/potential in oview(3,src)) + if(linked_console == null) + linked_console = potential + potential.linked_electrolyzer = src + return TRUE + return FALSE + +/obj/machinery/mineral/electrolyzer/attackby(item,mob/user) if(istype(item, /obj/item/multitool)) var/obj/item/multitool/multi = item multi.buffer = src @@ -108,6 +109,10 @@ INVOKE_ASYNC(src, PROC_REF(electrolyze), AM) /obj/machinery/mineral/electrolyzer/proc/electrolyze(atom/movable/electrolyze_target, sound=TRUE) + if(!find_electrolyzer()) + visible_message("[src] doesn't have a linked console!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE, 1) + return if(istype(electrolyze_target, /obj/effect) || !linked_console || !isturf(electrolyze_target.loc) || (machine_stat & (BROKEN|NOPOWER))) return if(!istype(electrolyze_target, /obj/item/stack/ore/ice)) @@ -448,15 +453,15 @@ return ..() /obj/item/merit/bundle/attack_self(mob/user) + if(!Adjacent(user)) + to_chat(user, "You need to be in arm's reach for that!") + return + var/cashamount = input(user, "How many merits do you want to take? (0 to [value])", "Take Merits", 20) as num cashamount = round(clamp(cashamount, 0, value)) if(!cashamount) return - if(!Adjacent(user)) - to_chat(user, "You need to be in arm's reach for that!") - return - value -= cashamount if(!value) user.dropItemToGround(src) @@ -464,18 +469,20 @@ var/obj/item/merit/bundle/bundle = new (user.loc) bundle.value = cashamount + bundle.update_appearance() + user.put_in_hands(bundle) update_appearance() /obj/item/merit/bundle/AltClick(mob/living/user) + if(!Adjacent(user)) + to_chat(user, "You need to be in arm's reach for that!") + return + var/cashamount = input(user, "How many merits do you want to take? (0 to [value])", "Take Merits", 20) as num cashamount = round(clamp(cashamount, 0, value)) if(!cashamount) return - else if(!Adjacent(user)) - to_chat(user, "You need to be in arm's reach for that!") - return - value -= cashamount if(!value) user.dropItemToGround(src) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index df865aee82e5..47db5ce6d0ef 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -418,7 +418,7 @@ active = FALSE log_game("[src] was deactivated by [key_name(user)] at [AREACOORD(src)]") else - user.visible_message(span_notice("[user] turned \the [src] on."), span_notice("ou turn on \the [src]."), span_hear("ou hear heavy droning.")) + user.visible_message(span_notice("[user] turned \the [src] on."), span_notice("You turn on \the [src]."), span_hear("You hear heavy droning.")) active = ACTIVE_SETUPFIELDS log_game("[src] was activated by [key_name(user)] at [AREACOORD(src)]") add_fingerprint(user) diff --git a/code/game/machinery/shuttle/shuttle_heater.dm b/code/game/machinery/shuttle/shuttle_heater.dm index 2b440f926c32..f8fa1d1ef786 100644 --- a/code/game/machinery/shuttle/shuttle_heater.dm +++ b/code/game/machinery/shuttle/shuttle_heater.dm @@ -5,13 +5,14 @@ //it for the engine. //----------------------------------------------- +#define CHLORINE_OXIDATION_VALUE 0.5 #define O2_OXIDATION_VALUE 1 #define NITRYL_OXIDATION_VALUE 1 #define NITROUS_OXIDATION_VALUE 3 +#define HYDROGEN_THRUSTER_VALUE 0.5 #define PLASMA_THRUSTER_VALUE 1 #define TRITRIUM_THRUSTER_VALUE 3 -#define HYDROGEN_THRUSTER_VALUE 0.5 #define NITROUS_COOLING_MULTIPIER 500 #define NITROUS_COOLING_MIN 173 diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 63d308f69558..b7f225306b01 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -2,7 +2,7 @@ //I'm annoyed I even have to tell you this! SPRITE FIRST, then commit. /obj/item/mecha_parts/mecha_equipment - name = "mecha equipment" + name = "exosuit equipment" icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_equip" force = 5 diff --git a/code/game/mecha/equipment/tools/weapon_bay.dm b/code/game/mecha/equipment/tools/weapon_bay.dm index 5fe3e14880f4..bd8497e9774e 100644 --- a/code/game/mecha/equipment/tools/weapon_bay.dm +++ b/code/game/mecha/equipment/tools/weapon_bay.dm @@ -1,6 +1,6 @@ /obj/item/mecha_parts/concealed_weapon_bay name = "concealed weapon bay" - desc = "A compartment that allows a non-combat mecha to equip one weapon while hiding the weapon from plain sight." + desc = "A compartment that allows a civilian exosuit to equip one weapon while hiding the weapon from plain sight." icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_weapon_bay" diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index 95e7b2f07224..ee8481255f2d 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -493,8 +493,8 @@ //Dunno where else to put this so shrug /obj/item/mecha_parts/mecha_equipment/conversion_kit - name = "Mecha Conversion Kit" - desc = "A perfectly generic conversion kit for a perfectly generic mecha. How did you even get this?" + name = "Exosuit Conversion Kit" + desc = "A perfectly generic conversion kit for a perfectly generic exosuit. How did you even get this?" icon_state = "ripleyupgrade" var/source_mech = list(null) //must be a list due to the mining ripley existing var/result_mech = null diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 4a16a6f9b249..f09c529b45a1 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -1,12 +1,12 @@ /obj/item/mecha_parts/mecha_equipment/weapon - name = "mecha weapon" + name = "exosuit weapon" range = MECHA_RANGED destroy_sound = 'sound/mecha/weapdestr.ogg' var/projectile var/fire_sound var/projectiles_per_shot = 1 var/variance = 0 - var/randomspread = 0 //use random spread for machineguns, instead of shotgun scatter + var/randomspread = FALSE //use random spread for machineguns, instead of shotgun scatter var/projectile_delay = 0 var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect //the visual effect appearing when the weapon is fired. var/kickback = TRUE //Will using this weapon in no grav push mecha back. @@ -137,8 +137,8 @@ desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles." icon_state = "mecha_plasmacutter" item_state = "plasmacutter" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON energy_drain = 30 projectile = /obj/projectile/plasma/adv/mech fire_sound = 'sound/weapons/plasma_cutter.ogg' @@ -347,7 +347,7 @@ projectiles_cache_max = 1200 projectiles_per_shot = 3 variance = 6 - randomspread = 1 + randomspread = TRUE projectile_delay = 2 harmful = TRUE ammo_type = "lmg" diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index ca24240b4f2e..04a2ef75bc40 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -1,6 +1,6 @@ /turf/open/floor/mech_bay_recharge_floor // Whos idea it was - name = "mech bay recharge station" // Recharging turfs - desc = "Parking a mech on this station will recharge its internal power cell." + name = "exosuit bay recharge station" // Recharging turfs + desc = "Parking an exosuit on this station will recharge its internal power cell." icon = 'icons/turf/floors.dmi' // That are set in stone to check the west turf for recharge port icon_state = "recharge_floor" // Some people just want to watch the world burn i guess @@ -12,8 +12,8 @@ initial_gas_mix = AIRLESS_ATMOS /obj/machinery/mech_bay_recharge_port - name = "mech bay power port" - desc = "This port recharges a mech's internal power cell." + name = "exosuit bay power port" + desc = "This port recharges an exosuit's internal power cell." density = TRUE dir = EAST icon = 'icons/mecha/mech_bay.dmi' @@ -81,8 +81,8 @@ return ..() /obj/machinery/computer/mech_bay_power_console - name = "mech bay power control console" - desc = "Displays the status of mechs connected to the recharge station." + name = "exosuit bay power control console" + desc = "Displays the status of exosuits connected to the recharge station." icon_screen = "recharge_comp" icon_keyboard = "rd_key" circuit = /obj/item/circuitboard/computer/mech_bay_power_console diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 48cc0388b508..8e233a6410de 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1,5 +1,5 @@ /obj/mecha - name = "mecha" + name = "exosuit" desc = "Exosuit" icon = 'icons/mecha/mecha.dmi' density = TRUE //Dense. To raise the heat. @@ -404,13 +404,13 @@ var/integrity = obj_integrity/max_integrity*100 switch(integrity) if(30 to 45) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 1) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 1) if(15 to 35) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 2) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 2) if(-INFINITY to 15) - occupant.throw_alert("mech damage", /atom/movable/screen/alert/low_mech_integrity, 3) + occupant.throw_alert("exosuit damage", /atom/movable/screen/alert/low_mech_integrity, 3) else - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") var/atom/checking = occupant.loc // recursive check to handle all cases regarding very nested occupants, // such as brainmob inside brainitem inside MMI inside mecha @@ -419,7 +419,7 @@ // hit a turf before hitting the mecha, seems like they have // been moved out occupant.clear_alert("charge") - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") RemoveActions(occupant, human_occupant=1) occupant = null break @@ -1024,10 +1024,10 @@ final_exit_delay = exit_delay/2 if(do_after(occupant, has_gravity() ? final_exit_delay : 0 , target = src)) - to_chat(occupant, "You exit the mech.") + to_chat(occupant, "You exit the exosuit.") go_out() else - to_chat(occupant, "You stop exiting the mech. Weapons are enabled again.") + to_chat(occupant, "You stop exiting the exosuit. Weapons are enabled again.") is_currently_ejecting = FALSE /obj/mecha/Exited(atom/movable/M, atom/newloc) @@ -1052,7 +1052,7 @@ return var/atom/movable/mob_container occupant.clear_alert("charge") - occupant.clear_alert("mech damage") + occupant.clear_alert("exosuit damage") if(ishuman(occupant)) mob_container = occupant RemoveActions(occupant, human_occupant=1) diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 58fa675ac062..baeac5bd8f31 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -36,7 +36,7 @@ return ..() /datum/action/innate/mecha/mech_eject - name = "Eject From Mech" + name = "Eject From Exosuit" button_icon_state = "mech_eject" /datum/action/innate/mecha/mech_eject/Activate() diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 50652434c6f6..b2dab79ce5e1 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -253,7 +253,7 @@ clearInternalDamage(MECHA_INT_SHORT_CIRCUIT) to_chat(user, "You replace the fused wires.") else - to_chat(user, "You need two lengths of cable to fix this mech!") + to_chat(user, "You need two lengths of cable to fix this exosuit!") return if(istype(W, /obj/item/mecha_parts)) diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 55d477f1817c..5a0e457e42c9 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -3,7 +3,7 @@ ///////////////////////// /obj/item/mecha_parts - name = "mecha part" + name = "exosuit part" icon = 'icons/mecha/mech_construct.dmi' icon_state = "blank" w_class = WEIGHT_CLASS_GIGANTIC @@ -20,7 +20,7 @@ return /obj/item/mecha_parts/chassis - name = "Mecha Chassis" + name = "Exosuit Chassis" icon_state = "backbone" interaction_flags_item = NONE //Don't pick us up!! var/construct_type diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 40783ecbb204..57ffd6992808 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -167,7 +167,7 @@ scanner.attach(src) /obj/mecha/working/ripley/clip - desc = "An APLU utility mech, refitted with a lightweight pressurized cockpit and more powerful servos by the CLIP. While it preserves the Mk. I's speed, the overdriven motors tend to strain its power supply." + desc = "An APLU utility exosuit, refitted with a lightweight pressurized cockpit and more powerful servos by the CLIP. While it preserves the Mk. I's speed, the overdriven motors tend to strain its power supply." name = "\improper CLIP APLU Mk-IV \"Rogue\"" icon_state = "clipripley" base_icon_state = "clipripley" diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index ccfd89363482..4177d8957965 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -875,10 +875,10 @@ desc = "Terra, or Earth as it's called by inhabitants, the third planet in the Sol system. Home to the only life as humans knew it, until contact with the outside universe. This poster in particular is trying to attract tourists to Terra, listing attractions like the Grand Orrery and Neue Waldstätte." icon_state = "poster-solgov-terra" -/obj/structure/sign/poster/solgov/ares - name = "Ares" - desc = "Ares, fourth planet in the Sol system. While evidence suggests that Aphrodite and Ares may have once had life, Terra was the only one that kept it. This poster in particular is trying to attract tourists to Ares, listing attractions like skiing resorts and ancient robot exhibits." - icon_state = "poster-solgov-ares" +/obj/structure/sign/poster/solgov/mars + name = "Mars" + desc = "Mars, fourth planet in the Sol system. While evidence suggests that Venus and Mars may have once had life, Terra was the only one that kept it. This poster in particular is trying to attract tourists to Mars, listing attractions like skiing resorts and ancient robot exhibits." + icon_state = "poster-solgov-mars" /obj/structure/sign/poster/solgov/luna name = "Luna" @@ -892,7 +892,7 @@ /obj/structure/sign/poster/solgov/skiing name = "Lo-Fly Skiing Advert" - desc = "An advertisement for some low-gravity skiing resort on Ares. \"Popular with SUNS groups!\"" + desc = "An advertisement for some low-gravity skiing resort on Mars. \"Popular with SUNS groups!\"" icon_state = "poster-solgov-loskiing" /obj/structure/sign/poster/solgov/recyle diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 08d1514f7bbe..8eadf9c62a2c 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -50,14 +50,14 @@ lootdoubles = FALSE loot = list( - /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/automatic/pistol/syndicate = 8, /obj/item/gun/ballistic/shotgun/automatic/combat = 5, /obj/item/gun/ballistic/automatic/pistol/deagle, /obj/item/gun/ballistic/revolver/mateba ) /obj/effect/spawner/lootdrop/armory_contraband/metastation - loot = list(/obj/item/gun/ballistic/automatic/pistol = 5, + loot = list(/obj/item/gun/ballistic/automatic/pistol/syndicate = 5, /obj/item/gun/ballistic/shotgun/automatic/combat = 5, /obj/item/gun/ballistic/automatic/pistol/deagle, /obj/item/storage/box/syndie_kit/throwing_weapons = 3, @@ -115,7 +115,6 @@ /obj/effect/spawner/lootdrop/gambling name = "gambling valuables spawner" loot = list( - /obj/item/gun/ballistic/revolver/russian = 5, /obj/item/clothing/head/trapper = 3, /obj/item/storage/box/syndie_kit/throwing_weapons, /obj/item/coin/gold, @@ -469,7 +468,7 @@ ) /obj/effect/spawner/lootdrop/ripley - name = "25% mech 75% wreckage ripley spawner" + name = "25% exosuit 75% wreckage ripley spawner" loot = list(/obj/mecha/working/ripley/mining = 1, /obj/structure/mecha_wreckage/ripley = 5) lootdoubles = FALSE @@ -1032,7 +1031,7 @@ ) /obj/effect/spawner/lootdrop/waste/mechwreck - name = "wasteplanet mech wreckage" + name = "wasteplanet exosuit wreckage" loot = list( /obj/structure/mecha_wreckage/ripley = 15, /obj/structure/mecha_wreckage/ripley/firefighter = 9, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 033307e5472f..88c5df2262da 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -817,7 +817,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ..() /obj/item/proc/microwave_act(obj/machinery/microwave/M) - SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, M) + if(SEND_SIGNAL(src, COMSIG_ITEM_MICROWAVE_ACT, M) & COMPONENT_SUCCESFUL_MICROWAVE) + return if(istype(M) && M.dirty < 100) M.dirty++ @@ -1126,3 +1127,95 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb */ /obj/item/proc/get_writing_implement_details() return null + +/// How many different types of mats will be counted in a bite? +#define MAX_MATS_PER_BITE 2 + +/* + * On accidental consumption: when you somehow end up eating an item accidentally (currently, this is used for when items are hidden in food like bread or cake) + * + * The base proc will check if the item is sharp and has a decent force. + * Then, it checks the item's mat datums for the effects it applies afterwards. + * Then, it checks tiny items. + * After all that, it returns TRUE if the item is set to be discovered. Otherwise, it returns FALSE. + * + * This works similarily to /suicide_act: if you want an item to have a unique interaction, go to that item + * and give it an /on_accidental_consumption proc override. For a simple example of this, check out the nuke disk. + * + * Arguments + * * M - the mob accidentally consuming the item + * * user - the mob feeding M the item - usually, it's the same as M + * * source_item - the item that held the item being consumed - bread, cake, etc + * * discover_after - if the item will be discovered after being chomped (FALSE will usually mean it was swallowed, TRUE will usually mean it was bitten into and discovered) + */ +/obj/item/proc/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) + if(get_sharpness() && force >= 5) //if we've got something sharp with a decent force (ie, not plastic) + INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, emote), "scream") + victim.visible_message("[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!", \ + "OH GOD! Was that a crunch? That didn't feel good at all!!") + + victim.apply_damage(max(15, force), BRUTE, BODY_ZONE_HEAD) + victim.losebreath += 2 + if(tryEmbed(victim.get_bodypart(BODY_ZONE_CHEST), forced = TRUE)) //and if it embeds successfully in their chest, cause a lot of pain + victim.apply_damage(max(25, force*1.5), BRUTE, BODY_ZONE_CHEST) + victim.losebreath += 6 + discover_after = FALSE + if(QDELETED(src)) // in case trying to embed it caused its deletion (say, if it's DROPDEL) + return + source_item?.reagents?.add_reagent(/datum/reagent/blood, 2) + + else if(custom_materials?.len) //if we've got materials, lets see whats in it + /// How many mats have we found? You can only be affected by two material datums by default + var/found_mats = 0 + /// How much of each material is in it? Used to determine if the glass should break + var/total_material_amount = 0 + + for(var/mats in custom_materials) + total_material_amount += custom_materials[mats] + if(found_mats >= MAX_MATS_PER_BITE) + continue //continue instead of break so we can finish adding up all the mats to the total + + var/datum/material/discovered_mat = mats + if(discovered_mat.on_accidental_mat_consumption(victim, source_item)) + found_mats++ + + //if there's glass in it and the glass is more than 60% of the item, then we can shatter it + if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)] >= total_material_amount * 0.60) + if(prob(66)) //66% chance to break it + /// The glass shard that is spawned into the source item + var/obj/item/shard/broken_glass = new /obj/item/shard(loc) + broken_glass.name = "broken [name]" + broken_glass.desc = "This used to be \a [name], but it sure isn't anymore." + playsound(victim, "shatter", 25, TRUE) + qdel(src) + if(QDELETED(source_item)) + broken_glass.on_accidental_consumption(victim, user) + else //33% chance to just "crack" it (play a sound) and leave it in the bread + playsound(victim, "shatter", 15, TRUE) + discover_after = FALSE + + victim.adjust_disgust(33) + victim.visible_message( + "[victim] looks like [victim.p_theyve()] just bitten into something hard.", \ + "Eugh! Did I just bite into something?") + + else if(w_class == WEIGHT_CLASS_TINY) //small items like soap or toys that don't have mat datums + /// victim's chest (for cavity implanting the item) + var/obj/item/bodypart/chest/victim_cavity = victim.get_bodypart(BODY_ZONE_CHEST) + if(victim_cavity.cavity_item) + victim.vomit(5, FALSE, FALSE, distance = 0) + forceMove(drop_location()) + to_chat(victim, "You vomit up a [name]! [source_item? "Was that in \the [source_item]?" : ""]") + else + victim.transferItemToLoc(src, victim, TRUE) + victim.losebreath += 2 + victim_cavity.cavity_item = src + to_chat(victim, "You swallow hard. [source_item? "Something small was in \the [source_item]..." : ""]") + discover_after = FALSE + + else + to_chat(victim, "[source_item? "Something strange was in the \the [source_item]..." : "I just bit something strange..."] ") + + return discover_after + +#undef MAX_MATS_PER_BITE diff --git a/code/game/objects/items/attachments/_attachment.dm b/code/game/objects/items/attachments/_attachment.dm new file mode 100644 index 000000000000..dbb7a111355e --- /dev/null +++ b/code/game/objects/items/attachments/_attachment.dm @@ -0,0 +1,100 @@ +///Most of the logic of attachments is held within the component which allows you to add other items as attachments in theory +/obj/item/attachment + name = "broken attachment" + desc = "alert coders" + icon = 'icons/obj/guns/attachments.dmi' + w_class = WEIGHT_CLASS_SMALL + + //Slot the attachment goes on, also used in descriptions so should be player readable + var/slot = ATTACHMENT_SLOT_RAIL + ///various yes no flags associated with attachments. See defines for these: [_DEFINES/guns.dm] + var/attach_features_flags = ATTACH_REMOVABLE_HAND + ///See attachment component + var/list/valid_parents = list() + ///Unused.. but could hold extra callbacks I assume? + var/list/signals = list() + ///Component that handles most of the logic of attachments + var/datum/component/attachment/attachment_comp + + ///If the attachment is on or off + var/toggled = FALSE + var/toggle_on_sound = 'sound/items/flashlight_on.ogg' + var/toggle_off_sound = 'sound/items/flashlight_off.ogg' + + ///Determines the amount of pixels to move the icon state for the overlay. in the x direction + var/pixel_shift_x = 16 + ///Determines the amount of pixels to move the icon state for the overlay. in the y direction + var/pixel_shift_y = 16 + + //Toggle modifers are handled seperatly + ///Modifier applied to the parent + var/spread_mod = 0 + ///Modifier applied to the parent + var/spread_unwielded_mod = 0 + ///Modifier applied to the parent, deciseconds + var/wield_delay = 0 + ///Modifier applied to the parent + var/size_mod = 0 + +/obj/item/attachment/Initialize() + . = ..() + attachment_comp = AddComponent( \ + /datum/component/attachment, \ + slot, \ + attach_features_flags, \ + valid_parents, \ + CALLBACK(src, PROC_REF(apply_attachment)), \ + CALLBACK(src, PROC_REF(remove_attachment)), \ + CALLBACK(src, PROC_REF(toggle_attachment)), \ + CALLBACK(src, PROC_REF(on_preattack)), \ + signals) + +/obj/item/attachment/Destroy() + qdel(attachment_comp) + attachment_comp = null + . = ..() + +/obj/item/attachment/proc/toggle_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + playsound(user, toggled ? toggle_on_sound : toggle_off_sound, 40, TRUE) + toggled = !toggled + icon_state = "[initial(icon_state)][toggled ? "-on" : ""]" + +/// Checks if a user should be allowed to attach this attachment to the given parent +/obj/item/attachment/proc/apply_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + if(toggled) + to_chat(user, span_warning("You cannot attach [src] while it is active!")) + return FALSE + + apply_modifiers(gun, user, TRUE) + playsound(src.loc, 'sound/weapons/gun/pistol/mag_insert_alt.ogg', 75, 1) + return TRUE + +/obj/item/attachment/proc/remove_attachment(obj/item/gun/gun, mob/user) + SHOULD_CALL_PARENT(TRUE) + + if(toggled) + toggle_attachment(gun, user) + + apply_modifiers(gun, user, FALSE) + playsound(src.loc, 'sound/weapons/gun/pistol/mag_release_alt.ogg', 75, 1) + return TRUE + +/obj/item/attachment/proc/on_preattack(obj/item/gun/gun, atom/target, mob/user, list/params) + return FALSE + +///Handles the modifiers to the parent gun +/obj/item/attachment/proc/apply_modifiers(obj/item/gun/gun, mob/user, attaching) + if(attaching) + gun.spread += spread_mod + gun.spread_unwielded += spread_unwielded_mod + gun.wield_delay += wield_delay + gun.w_class += size_mod + else + gun.spread -= spread_mod + gun.spread_unwielded -= spread_unwielded_mod + gun.wield_delay -= wield_delay + gun.w_class -= size_mod diff --git a/code/game/objects/items/attachments/bayonet.dm b/code/game/objects/items/attachments/bayonet.dm new file mode 100644 index 000000000000..6b1961f4b693 --- /dev/null +++ b/code/game/objects/items/attachments/bayonet.dm @@ -0,0 +1,22 @@ +/obj/item/attachment/bayonet + name = "bayonet" + desc = "Stabby-Stabby" + icon_state = "bayonet" + force = 15 + throwforce = 10 + pickup_sound = 'sound/items/handling/knife1_pickup.ogg' + drop_sound = 'sound/items/handling/knife3_drop.ogg' + hitsound = 'sound/weapons/bladeslice.ogg' + attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") + sharpness = IS_SHARP_ACCURATE + + pixel_shift_x = 1 + pixel_shift_y = 4 + spread_mod = 1 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/bayonet/on_preattack(obj/item/gun/gun, atom/target, mob/living/user, list/params) + if(user.a_intent == INTENT_HARM && user.CanReach(target, src, TRUE)) + melee_attack_chain(user, target, params) + return COMPONENT_NO_ATTACK + diff --git a/code/game/objects/items/attachments/laser_sight.dm b/code/game/objects/items/attachments/laser_sight.dm new file mode 100644 index 000000000000..082da1153de5 --- /dev/null +++ b/code/game/objects/items/attachments/laser_sight.dm @@ -0,0 +1,23 @@ +/obj/item/attachment/laser_sight + name = "laser sight" + desc = "Designed to be rail-mounted on a compatible firearm to provide increased accuracy and decreased spread." + icon_state = "laserpointer" + + attach_features_flags = ATTACH_REMOVABLE_HAND|ATTACH_TOGGLE + pixel_shift_x = 1 + pixel_shift_y = 4 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/laser_sight/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + + if(toggled) + gun.spread -= 3 + gun.spread_unwielded -= 3 + gun.wield_delay -= 0.3 SECONDS + else + gun.spread += 3 + gun.spread_unwielded += 3 + gun.wield_delay += 0.3 SECONDS + + playsound(user, toggled ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE) diff --git a/code/game/objects/items/attachments/rail_light.dm b/code/game/objects/items/attachments/rail_light.dm new file mode 100644 index 000000000000..0cfbe9661e9e --- /dev/null +++ b/code/game/objects/items/attachments/rail_light.dm @@ -0,0 +1,33 @@ +/obj/item/attachment/rail_light + name = "rail light" + desc = "A flashlight made to be mounted on a firearm." + icon_state = "raillight" + light_color = COLOR_LIGHT_ORANGE + light_system = MOVABLE_LIGHT_DIRECTIONAL + light_range = 4 + light_power = 0.8 + light_on = FALSE + + attach_features_flags = ATTACH_REMOVABLE_HAND|ATTACH_TOGGLE + pixel_shift_x = 1 + pixel_shift_y = 4 + wield_delay = 0.1 SECONDS + +/obj/item/attachment/rail_light/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + set_light_on(toggled) + update_icon() + +/obj/item/attachment/rail_light/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + if(!.) + return + + set_light_flags(light_flags | LIGHT_ATTACHED) + +/obj/item/attachment/rail_light/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + if(!.) + return + + set_light_flags(light_flags & ~LIGHT_ATTACHED) diff --git a/code/game/objects/items/attachments/silencer.dm b/code/game/objects/items/attachments/silencer.dm new file mode 100644 index 000000000000..31cf3fc15b36 --- /dev/null +++ b/code/game/objects/items/attachments/silencer.dm @@ -0,0 +1,19 @@ +/obj/item/attachment/silencer + name = "suppressor" + desc = "An attachment for the barrel of a firearm. Muffles the gunshot and muzzle flash." + icon_state = "silencer" + + slot = ATTACHMENT_SLOT_MUZZLE + pixel_shift_x = 1 + pixel_shift_y = 2 + spread_mod = -1 + size_mod = 1 + +/obj/item/attachment/silencer/apply_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.suppressed = TRUE + +/obj/item/attachment/silencer/remove_attachment(obj/item/gun/gun, mob/user) + . = ..() + gun.suppressed = FALSE + return TRUE diff --git a/code/game/objects/items/attachments/stock.dm b/code/game/objects/items/attachments/stock.dm new file mode 100644 index 000000000000..1fe286c14296 --- /dev/null +++ b/code/game/objects/items/attachments/stock.dm @@ -0,0 +1,40 @@ +/obj/item/attachment/foldable_stock + name = "folding stock" + desc = "A folding stock that can be attached to certain weapons to improve stability and decreases recoil." + icon_state = "skm-carbine-stock" + slot = ATTACHMENT_SLOT_STOCK + attach_features_flags = ATTACH_TOGGLE + + pixel_shift_x = 17 + pixel_shift_y = 18 + + var/toggled_slowdown = 0.10 + var/toggled_wield_delay = -0.4 SECONDS + var/toggled_recoil_bonus = -2 + var/toggled_spread_bonus = -5 + +/obj/item/attachment/foldable_stock/toggle_attachment(obj/item/gun/gun, mob/user) + . = ..() + + if(toggled) + to_chat(user, span_notice("You unfold the stock on the [src].")) + gun.w_class += 1 + gun.wield_delay += toggled_wield_delay + gun.wield_slowdown += toggled_slowdown + gun.recoil += toggled_recoil_bonus + gun.spread += toggled_spread_bonus + else + to_chat(user, span_notice("You fold the stock on the [src].")) + gun.w_class -= 1 + gun.wield_delay -= toggled_wield_delay + gun.wield_slowdown -= toggled_slowdown + gun.recoil -= toggled_recoil_bonus + gun.spread -= toggled_spread_bonus + + if(gun.wielded) + user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = gun.wield_slowdown) + + playsound(src, SOUND_EMPTY_MAG, 100, 1) + +/obj/item/attachment/foldable_stock/inteq + icon_state = "skm-inteqsmg-stock" diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index ae7aa27cdc3f..fb79cc447ab9 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -165,6 +165,7 @@ . = ..() if(mapload && access_txt) access = text2access(access_txt) + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) update_label() update_appearance() RegisterSignal(src, COMSIG_ATOM_UPDATED_ICON, PROC_REF(update_in_wallet)) @@ -259,11 +260,13 @@ /obj/item/card/id/proc/add_ship_access(datum/overmap/ship/controlled/ship) if (ship) ship_access += ship + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) // Removes the referenced ship from the card /obj/item/card/id/proc/remove_ship_access(datum/overmap/ship/controlled/ship) if (ship) ship_access -= ship + SEND_SIGNAL(src, COSMIG_ACCESS_UPDATED) // Finds the referenced ship in the list /obj/item/card/id/proc/has_ship_access(datum/overmap/ship/controlled/ship) diff --git a/code/game/objects/items/cash.dm b/code/game/objects/items/cash.dm index 12c9a0b99f0c..553da0a3e478 100644 --- a/code/game/objects/items/cash.dm +++ b/code/game/objects/items/cash.dm @@ -57,8 +57,9 @@ var/mob/living/carbon/human/H = user H.dropItemToGround(src) H.dropItemToGround(bundle) + H.put_in_hands(src) H.put_in_hands(bundle) - to_chat(user, "You add [value] credits worth of money to the bundle.
It now holds [bundle.value] credits.
") + to_chat(user, "You add [value] credits worth of money to the bundle.
It now holds [bundle.value + value] credits.
") bundle.transfer_value(bundle.value, src) /obj/item/spacecash/Destroy() diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 54dcfb36c131..9aece73946cc 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -272,7 +272,7 @@ build_path = /obj/machinery/computer/launchpad /obj/item/circuitboard/computer/mech_bay_power_console - name = "Mech Bay Power Control Console (Computer Board)" + name = "Exosuit Bay Power Control Console (Computer Board)" icon_state = "science" build_path = /obj/machinery/computer/mech_bay_power_console @@ -362,7 +362,7 @@ build_path = /obj/machinery/computer/bounty /obj/item/circuitboard/computer/cargo - name = "Supply Console (Computer Board)" + name = "Outpost Comms Console (Computer Board)" icon_state = "supply" build_path = /obj/machinery/computer/cargo var/contraband = FALSE @@ -381,16 +381,6 @@ obj_flags |= EMAGGED to_chat(user, "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.") -/obj/item/circuitboard/computer/cargo/express - name = "Outpost Comms Console (Computer Board)" - build_path = /obj/machinery/computer/cargo/express - -/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user) - return - -/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user) - return - /obj/item/circuitboard/computer/mining name = "Outpost Status Display (Computer Board)" icon_state = "supply" diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 0a3a6f14d097..a74ed8c81b27 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -957,7 +957,7 @@ /obj/item/stock_parts/micro_laser = 2) /obj/item/circuitboard/machine/mech_recharger - name = "Mechbay Recharger (Machine Board)" + name = "Exosuit Bay Recharger (Machine Board)" icon_state = "science" build_path = /obj/machinery/mech_bay_recharge_port req_components = list( diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index dca088c1be2e..204371ca0e51 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -28,7 +28,7 @@ custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) custom_premium_price = 450 toolspeed = 1 - usesound = 'sound/weapons/empty.ogg' + usesound = SOUND_EMPTY_MAG var/obj/machinery/buffer // simple machine buffer for device linkage var/mode = 0 diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index a11539595805..113a72fb8d8d 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -247,30 +247,6 @@ name = "\improper DNA injector (Anti-Unintelligible)" remove_mutations = list(UNINTELLIGIBLE) -/obj/item/dnainjector/swedishmut - name = "\improper DNA injector (Swedish)" - add_mutations = list(SWEDISH) - -/obj/item/dnainjector/antiswedish - name = "\improper DNA injector (Anti-Swedish)" - remove_mutations = list(SWEDISH) - -/obj/item/dnainjector/chavmut - name = "\improper DNA injector (Chav)" - add_mutations = list(CHAV) - -/obj/item/dnainjector/antichav - name = "\improper DNA injector (Anti-Chav)" - remove_mutations = list(CHAV) - -/obj/item/dnainjector/elvismut - name = "\improper DNA injector (Elvis)" - add_mutations = list(ELVIS) - -/obj/item/dnainjector/antielvis - name = "\improper DNA injector (Anti-Elvis)" - remove_mutations = list(ELVIS) - /obj/item/dnainjector/lasereyesmut name = "\improper DNA injector (Laser Eyes)" add_mutations = list(LASEREYES) diff --git a/code/game/objects/items/food/_food.dm b/code/game/objects/items/food/_food.dm new file mode 100644 index 000000000000..b8233e0ecc76 --- /dev/null +++ b/code/game/objects/items/food/_food.dm @@ -0,0 +1,67 @@ +///Abstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components +/obj/item/food + name = "food" + desc = "you eat this" + resistance_flags = FLAMMABLE + w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/food/food.dmi' + icon_state = null + lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/food_righthand.dmi' + ///List of reagents this food gets on creation + var/list/food_reagents + ///Extra flags for things such as if the food is in a container or not + var/food_flags + ///Bitflag of the types of food this food is + var/foodtypes + ///Amount of volume the food can contain + var/max_volume + ///How long it will take to eat this food without any other modifiers + var/eat_time + ///Tastes to describe this food + var/list/tastes + ///Verbs used when eating this food in the to_chat messages + var/list/eatverbs + ///How much reagents per bite + var/bite_consumption + ///What you get if you microwave the food, this should be replaced once I fully re-work cooking. + var/microwaved_type + ///Type of atom thats spawned after eating this item + var/trash_type + +/obj/item/food/Initialize() + . = ..() + if(food_reagents) + food_reagents = string_assoc_list(food_reagents) + if(tastes) + tastes = string_assoc_list(tastes) + if(eatverbs) + eatverbs = string_list(eatverbs) + make_edible() + make_processable() + make_leave_trash() + +///This proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks. +/obj/item/food/proc/make_edible() + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + food_flags = food_flags,\ + foodtypes = foodtypes,\ + volume = max_volume,\ + eat_time = eat_time,\ + tastes = tastes,\ + eatverbs = eatverbs,\ + bite_consumption = bite_consumption,\ + microwaved_type = microwaved_type,\ + ) + + +///This proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else +/obj/item/food/proc/make_processable() + return + +///This proc handles trash components, overwrite this if you want the object to spawn trash +/obj/item/food/proc/make_leave_trash() + if(trash_type) + AddElement(/datum/element/food_trash, trash_type) + return diff --git a/code/game/objects/items/food/bread.dm b/code/game/objects/items/food/bread.dm new file mode 100644 index 000000000000..609315a9ea12 --- /dev/null +++ b/code/game/objects/items/food/bread.dm @@ -0,0 +1,378 @@ + +/obj/item/food/bread + name = "bread?" + desc = "This shouldn't exist, report to codermonkeys" + icon = 'icons/obj/food/burgerbread.dmi' + max_volume = 80 + tastes = list("bread" = 10) + foodtypes = GRAIN + eat_time = 3 SECONDS + /// type is spawned 5 at a time and replaces this bread loaf when processed by cutting tool + var/obj/item/food/breadslice/slice_type + /// so that the yield can change if it isnt 5 + var/yield = 5 + +/obj/item/food/bread/Initialize(mapload) + . = ..() + AddElement(/datum/element/dunkable, 10) + AddComponent(/datum/component/food_storage) + +/obj/item/food/bread/make_processable() + if (slice_type) + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE) + AddElement(/datum/element/processable, TOOL_SAW, slice_type, yield, 4 SECONDS, table_required = TRUE) + +/obj/item/food/breadslice + name = "breadslice?" + desc = "This shouldn't exist, report to codermonkeys" + icon = 'icons/obj/food/burgerbread.dmi' + foodtypes = GRAIN + food_flags = FOOD_FINGER_FOOD + eat_time = 0.5 SECONDS + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/breadslice/Initialize() + . = ..() + AddElement(/datum/element/dunkable, 10) + +/obj/item/food/bread/plain + name = "bread" + desc = "Some plain old earthen bread." + icon_state = "bread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 10 + ) + tastes = list("bread" = 10) + foodtypes = GRAIN + w_class = WEIGHT_CLASS_SMALL + slice_type = /obj/item/food/breadslice/plain + +/obj/item/food/breadslice/plain + name = "bread slice" + desc = "A slice of home." + icon_state = "breadslice" + foodtypes = GRAIN + food_reagents = list( + /datum/reagent/consumable/nutriment = 2 + ) + +/obj/item/food/breadslice/moldy + name = "moldy bread slice" + desc = "Entire stations have been ripped apart over arguing whether this is still good to eat." + icon_state = "moldybreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 2, + /datum/reagent/consumable/mold = 10, + ) + tastes = list("decaying fungus" = 1) + foodtypes = GROSS + +/obj/item/food/bread/meat + name = "meatbread loaf" + desc = "The culinary base of every self-respecting eloquen/tg/entleman." + icon_state = "meatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "meat" = 10) + foodtypes = GRAIN | MEAT + slice_type = /obj/item/food/breadslice/meat + +/obj/item/food/breadslice/meat + name = "meatbread slice" + desc = "A slice of delicious meatbread." + icon_state = "meatbreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/bread/xenomeat + name = "xenomeatbread loaf" + desc = "Extra Heretical." + icon_state = "xenomeatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "acid" = 10) + foodtypes = GRAIN | MEAT + slice_type = /obj/item/food/breadslice/xenomeat + +/obj/item/food/breadslice/xenomeat + name = "xenomeatbread slice" + desc = "A slice of delicious meatbread. Extra Heretical." + icon_state = "xenobreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "acid" = 10) + foodtypes = GRAIN | MEAT + +/obj/item/food/bread/spidermeat + name = "spider meat loaf" + desc = "Reassuringly green meatloaf made from spider meat." + icon_state = "spidermeatbread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/toxin = 15, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "cobwebs" = 5) + foodtypes = GRAIN | MEAT | TOXIC + slice_type = /obj/item/food/breadslice/spidermeat + +/obj/item/food/breadslice/spidermeat + name = "spider meat bread slice" + desc = "A slice of meatloaf made from an animal that most likely still wants you dead." + icon_state = "xenobreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 3, + /datum/reagent/toxin = 3, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("bread" = 10, "cobwebs" = 5) + foodtypes = GRAIN | MEAT | TOXIC + +/obj/item/food/bread/banana + name = "banana-nut bread" + desc = "A heavenly and filling treat." + icon_state = "bananabread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/banana = 20 + ) + tastes = list("bread" = 10) // bananjuice will also flavour + foodtypes = GRAIN | FRUIT + slice_type = /obj/item/food/breadslice/banana + +/obj/item/food/breadslice/banana + name = "banana-nut bread slice" + desc = "A slice of delicious banana bread." + icon_state = "bananabreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/banana = 4 + ) + tastes = list("bread" = 10) + foodtypes = GRAIN | FRUIT + +/obj/item/food/bread/tofu + name = "Tofubread" + desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." + icon_state = "tofubread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "tofu" = 10) + foodtypes = GRAIN | VEGETABLES + slice_type = /obj/item/food/breadslice/tofu + +/obj/item/food/breadslice/tofu + name = "tofubread slice" + desc = "A slice of delicious tofubread." + icon_state = "tofubreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "tofu" = 10) + foodtypes = GRAIN | VEGETABLES + +/obj/item/food/bread/creamcheese + name = "cream cheese bread" + desc = "Just a schmear." + icon_state = "creamcheesebread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "cheese" = 10) + foodtypes = GRAIN | DAIRY + slice_type = /obj/item/food/breadslice/creamcheese + +/obj/item/food/breadslice/creamcheese + name = "cream cheese bread slice" + desc = "A slice of Brotherly love!" + icon_state = "creamcheesebreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 3, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + tastes = list("bread" = 10, "cheese" = 10) + foodtypes = GRAIN | DAIRY + +/obj/item/food/bread/mimana + name = "mimana bread" + desc = "Best eaten in silence." + icon_state = "mimanabread" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/toxin/mutetoxin = 10, + /datum/reagent/consumable/nothing = 10, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("bread" = 10, "silence" = 10) + foodtypes = GRAIN | FRUIT + slice_type = /obj/item/food/breadslice/mimana + +/obj/item/food/breadslice/mimana + name = "mimana bread slice" + desc = "A slice of silence!" + icon_state = "mimanabreadslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/toxin/mutetoxin = 2, + /datum/reagent/consumable/nothing = 2, + /datum/reagent/consumable/nutriment/vitamin = 2 + ) + foodtypes = GRAIN | FRUIT + +/obj/item/food/breadslice/custom + name = "bread slice" + icon_state = "tofubreadslice" + foodtypes = GRAIN + +/obj/item/food/baguette + name = "baguette" + desc = "Bon appetit!" + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "baguette" + item_state = null + mob_overlay_state = "baguette" + food_reagents = list( + /datum/reagent/consumable/nutriment = 8, + /datum/reagent/consumable/nutriment/vitamin = 3 + ) + bite_consumption = 3 + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT + attack_verb = list("touche") + tastes = list("bread" = 1) + foodtypes = GRAIN + +/obj/item/food/garlicbread + name = "garlic bread" + desc = "Alas, it is limited." + icon = 'icons/obj/food/burgerbread.dmi' + icon_state = "garlicbread" + item_state = null + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/nutriment/vitamin = 6, + /datum/reagent/consumable/garlic = 2 + ) + bite_consumption = 3 + tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) + foodtypes = GRAIN + +/obj/item/food/deepfryholder + name = "Deep Fried Foods Holder Obj" + desc = "If you can see this description the code for the deep fryer fucked up." + icon = 'icons/obj/food/food.dmi' + icon_state = "" + bite_consumption = 2 + +/obj/item/food/deepfryholder/make_edible() + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + food_flags = food_flags,\ + foodtypes = foodtypes,\ + volume = max_volume,\ + eat_time = eat_time,\ + tastes = tastes,\ + eatverbs = eatverbs,\ + bite_consumption = bite_consumption,\ + on_consume = CALLBACK(src, PROC_REF(On_Consume))) + + +/obj/item/food/deepfryholder/Initialize(mapload, obj/item/fried) + . = ..() + name = fried.name //We'll determine the other stuff when it's actually removed + appearance = fried.appearance + layer = initial(layer) + plane = initial(plane) + lefthand_file = fried.lefthand_file + righthand_file = fried.righthand_file + mob_overlay_state = fried.mob_overlay_state + desc = fried.desc + w_class = fried.w_class + slowdown = fried.slowdown + equip_delay_self = fried.equip_delay_self + equip_delay_other = fried.equip_delay_other + strip_delay = fried.strip_delay + species_exception = fried.species_exception + item_flags = fried.item_flags + obj_flags = fried.obj_flags + inhand_x_dimension = fried.inhand_x_dimension + inhand_y_dimension = fried.inhand_y_dimension + + if(!(SEND_SIGNAL(fried, COMSIG_ITEM_FRIED, src) & COMSIG_FRYING_HANDLED)) //If frying is handled by signal don't do the defaault behavior. + fried.forceMove(src) + + +/obj/item/food/deepfryholder/Destroy() + if(contents) + QDEL_LIST(contents) + return ..() + +/obj/item/food/deepfryholder/proc/On_Consume(eater, feeder) + if(contents) + QDEL_LIST(contents) + + +/obj/item/food/deepfryholder/proc/fry(cook_time = 30) + switch(cook_time) + if(0 to 15) + add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) + name = "lightly-fried [name]" + desc = "[desc] It's been lightly fried in a deep fryer." + if(16 to 49) + add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) + name = "fried [name]" + desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." + if(50 to 59) + add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) + name = "deep-fried [name]" + desc = "[desc] Deep-fried to perfection." + if(60 to INFINITY) + add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) + name = "\proper the physical manifestation of the very concept of fried foods" + desc = "A heavily-fried... something. Who can tell anymore?" + foodtypes |= FRIED + +/obj/item/food/butterbiscuit + name = "butter biscuit" + desc = "Well butter my biscuit!" + icon = 'icons/obj/food/food.dmi' + icon_state = "butterbiscuit" + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("butter" = 1, "biscuit" = 1) + foodtypes = GRAIN | BREAKFAST + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/butterdog + name = "butterdog" + desc = "Made from exotic butters." + icon = 'icons/obj/food/food.dmi' + icon_state = "butterdog" + bite_consumption = 1 + food_reagents = list( + /datum/reagent/consumable/nutriment = 6, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("butter" = 1, "exotic butter" = 1) + foodtypes = GRAIN | DAIRY + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/butterdog/ComponentInitialize() + . = ..() + AddComponent(/datum/component/slippery, 8 SECONDS) diff --git a/code/game/objects/items/food/cake.dm b/code/game/objects/items/food/cake.dm new file mode 100644 index 000000000000..d6299a24d524 --- /dev/null +++ b/code/game/objects/items/food/cake.dm @@ -0,0 +1,538 @@ +/obj/item/food/cake + icon = 'icons/obj/food/piecake.dmi' + bite_consumption = 3 + max_volume = 80 + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 1) + foodtypes = GRAIN | DAIRY + /// type is spawned 5 at a time and replaces this cake when processed by cutting tool + var/obj/item/food/cakeslice/slice_type + /// changes yield of sliced cake, default for cake is 5 + var/yield = 5 + +/obj/item/food/cake/Initialize(mapload) + . = ..() + AddComponent(/datum/component/food_storage) + +/obj/item/food/cake/make_processable() + if (slice_type) + AddElement(/datum/element/processable, TOOL_KNIFE, slice_type, yield, 3 SECONDS, table_required = TRUE) + +/obj/item/food/cakeslice + icon = 'icons/obj/food/piecake.dmi' + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 1) + foodtypes = GRAIN | DAIRY + w_class = WEIGHT_CLASS_SMALL + +/obj/item/food/cake/plain + name = "plain cake" + desc = "A plain cake, not a lie." //Many of the cakes seem to follow this desc scheme, so I am going to try and put either a hint about its contents, or a fun fact. Lets try to follow this. + icon_state = "plaincake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 30, + /datum/reagent/consumable/nutriment/vitamin = 7 + ) + tastes = list("sweetness" = 2, "cake" = 5) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/plain + +/obj/item/food/cakeslice/plain + name = "plain cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "plaincake_slice" + tastes = list("sweetness" = 2,"cake" = 5) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/carrot + name = "carrot cake" + desc = "Scientifically proven to improve eyesight! Not a lie." + icon_state = "carrotcake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/medicine/oculine = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + slice_type = /obj/item/food/cakeslice/carrot + +/obj/item/food/cakeslice/carrot + name = "carrot cake slice" + desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." + icon_state = "carrotcake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/medicine/oculine = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + +/obj/item/food/cake/brain + name = "brain cake" + desc = "Yeah... its actually made out of brain. I wish it were a lie." + icon_state = "braincake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 15, + /datum/reagent/medicine/mannitol = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) + foodtypes = GRAIN | DAIRY | MEAT | GROSS | SUGAR + slice_type = /obj/item/food/cakeslice/brain + +/obj/item/food/cakeslice/brain + name = "brain cake slice" + desc = "Lemme tell you something about prions. THEY'RE DELICIOUS. A terrifying not-lie." + icon_state = "braincakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/medicine/mannitol = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) + foodtypes = GRAIN | DAIRY | MEAT | GROSS | SUGAR + +/obj/item/food/cake/cheese + name = "cheese cake" + desc = "DANGEROUSLY cheesy." + icon_state = "cheesecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 8 + ) + tastes = list("cake" = 4, "cream cheese" = 3) + foodtypes = GRAIN | DAIRY + slice_type = /obj/item/food/cakeslice/cheese + +/obj/item/food/cakeslice/cheese + name = "cheese cake slice" + desc = "Slice of pure cheestisfaction." + icon_state = "cheesecake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1.3 + ) + tastes = list("cake" = 4, "cream cheese" = 3) + foodtypes = GRAIN | DAIRY + +/obj/item/food/cake/orange + name = "orange cake" + desc = "A cake with added orange." + icon_state = "orangecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/orange + +/obj/item/food/cakeslice/orange + name = "orange cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "orangecake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/lime + name = "lime cake" + desc = "A cake with added lime." + icon_state = "limecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/lime + +/obj/item/food/cakeslice/lime + name = "lime cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "limecake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/lemon + name = "lemon cake" + desc = "A cake with added lemon." + icon_state = "lemoncake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 3, "sourness" = 1) //lemon cake is never as sour as it is sweet, have you ever actually eaten it? + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/lemon + +/obj/item/food/cakeslice/lemon + name = "lemon cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "lemoncake_slice" + tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/chocolate + name = "chocolate cake" + desc = "A cake with added chocolate." + icon_state = "chocolatecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + slice_type = /obj/item/food/cakeslice/chocolate + +/obj/item/food/cakeslice/chocolate + name = "chocolate cake slice" + desc = "Just a slice of cake, it is enough for everyone." + icon_state = "chocolatecake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + +/obj/item/food/cake/birthday + name = "birthday cake" + desc = "Happy Birthday little clown..." + icon_state = "birthdaycake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/sprinkles = 10, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 1) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + slice_type = /obj/item/food/cakeslice/birthday + +/obj/item/food/cake/birthday/microwave_act(obj/machinery/microwave/M) //super sekrit club + new /obj/item/clothing/head/hardhat/cakehat(get_turf(src)) + qdel(src) + +/obj/item/food/cakeslice/birthday + name = "birthday cake slice" + desc = "A slice of your birthday." + icon_state = "birthdaycakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/sprinkles = 2, + /datum/reagent/consumable/nutriment/vitamin = 1 + ) + tastes = list("cake" = 5, "sweetness" = 1) + foodtypes = GRAIN | DAIRY | JUNKFOOD | SUGAR + +/obj/item/food/cake/birthday/energy + name = "energy cake" + desc = "Just enough calories for a whole nuclear operative squad." + icon_state = "energycake" + force = 5 + hitsound = 'sound/weapons/blade1.ogg' + food_reagents = list( + /datum/reagent/consumable/nutriment = 10, + /datum/reagent/consumable/sprinkles = 10, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/pacfuel = 10, + /datum/reagent/consumable/liquidelectricity = 10 + ) + tastes = list("cake" = 3, "a Vlad's Salad" = 1) + slice_type = /obj/item/food/cakeslice/birthday/energy + +/obj/item/food/cake/birthday/energy/microwave_act(obj/machinery/microwave/M) //super sekriter club + new /obj/item/clothing/head/hardhat/cakehat/energycake(get_turf(src)) + qdel(src) + +/obj/item/food/cake/birthday/energy/proc/energy_bite(mob/living/user) + to_chat(user, "As you eat the cake, you accidentally hurt yourself on the embedded energy sword!") + user.apply_damage(30, BURN, BODY_ZONE_HEAD) // ITs an ENERGY sword, so it burns, duh + playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) + +/obj/item/food/cake/birthday/energy/attack(mob/living/target_mob, mob/living/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_PACIFISM) && target_mob != user) //Prevents pacifists from attacking others directly + return + energy_bite(target_mob, user) + +/obj/item/food/cakeslice/birthday/energy + name = "energy cake slice" + desc = "For the traitor on the go." + icon_state = "energycakeslice" + force = 2 + hitsound = 'sound/weapons/blade1.ogg' + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/sprinkles = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/pacfuel = 2, + /datum/reagent/consumable/liquidelectricity = 2 + ) + tastes = list("cake" = 3, "a Vlad's Salad" = 1) + +/obj/item/food/cakeslice/birthday/energy/proc/energy_bite(mob/living/user) + to_chat(user, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!") + user.apply_damage(18, BURN, BODY_ZONE_HEAD) + playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) + +/obj/item/food/cakeslice/birthday/energy/attack(mob/living/target_mob, mob/living/user) + . = ..() + if(HAS_TRAIT(user, TRAIT_PACIFISM) && target_mob != user) //Prevents pacifists from attacking others directly + return + energy_bite(target_mob, user) + +/obj/item/food/cake/apple + name = "apple cake" + desc = "A cake centred with Apple." + icon_state = "applecake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/apple + +/obj/item/food/cakeslice/apple + name = "apple cake slice" + desc = "A slice of heavenly cake." + icon_state = "applecakeslice" + tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/slimecake + name = "Slime cake" + desc = "A cake made of slimes. Probably not electrified." + icon_state = "slimecake" + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/slimecake + +/obj/item/food/cakeslice/slimecake + name = "slime cake slice" + desc = "A slice of slime cake." + icon_state = "slimecake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/pumpkinspice + name = "pumpkin spice cake" + desc = "A hollow cake with real pumpkin." + icon_state = "pumpkinspicecake" + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + slice_type = /obj/item/food/cakeslice/pumpkinspice + +/obj/item/food/cakeslice/pumpkinspice + name = "pumpkin spice cake slice" + desc = "A spicy slice of pumpkin goodness." + icon_state = "pumpkinspicecakeslice" + tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) + foodtypes = GRAIN | DAIRY | VEGETABLES | SUGAR + +/obj/item/food/cake/bsvc // blackberry strawberries vanilla cake + name = "blackberry and strawberry vanilla cake" + desc = "A plain cake, filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_vanilla_cake" + tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/bsvc + +/obj/item/food/cakeslice/bsvc + name = "blackberry and strawberry vanilla cake slice" + desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_vanilla_slice" + tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/bscc // blackbarry strawberries chocolate cake + name = "blackberry and strawberry chocolate cake" + desc = "A chocolate cake, filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_coco_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/coco = 5 + ) + tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 4, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/bscc + +/obj/item/food/cakeslice/bscc + name = "blackberry and strawberry chocolate cake slice" + desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" + icon_state = "blackbarry_strawberries_cake_coco_slice" + tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 4, "sweetness" = 2,"cake" = 3) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/holy_cake + name = "angel food cake" + desc = "A cake made for angels and chaplains alike! Contains holy water." + icon_state = "holy_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 1, + /datum/reagent/consumable/nutriment/vitamin = 3, + /datum/reagent/water/holywater = 10 + ) + tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/holy_cake_slice + +/obj/item/food/cakeslice/holy_cake_slice + name = "angel food cake slice" + desc = "A slice of heavenly cake." + icon_state = "holy_cake_slice" + tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + +/obj/item/food/cake/pound_cake + name = "pound cake" + desc = "A condensed cake made for filling people up quickly." + icon_state = "pound_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 60, + /datum/reagent/consumable/nutriment/vitamin = 5 + ) + tastes = list("cake" = 5, "sweetness" = 1, "batter" = 1) + foodtypes = GRAIN | DAIRY | SUGAR | JUNKFOOD + slice_type = /obj/item/food/cakeslice/pound_cake_slice + yield = 10 //cause its so damn THICC (seriously these things are fucking huge a pound of each ingredient are you kidding) + +/obj/item/food/cakeslice/pound_cake_slice + name = "pound cake slice" + desc = "A slice of condensed cake made for filling people up quickly." + icon_state = "pound_cake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 9, + /datum/reagent/consumable/nutriment/vitamin = 0.5 + ) + tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1) + foodtypes = GRAIN | DAIRY | SUGAR | JUNKFOOD + +/obj/item/food/cake/hardware_cake + name = "hardware cake" + desc = "A quote on quote cake that is made with electronic boards and leaks acid..." + icon_state = "hardware_cake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/toxin/acid = 15, + /datum/reagent/fuel/oil = 15 + ) + tastes = list("acid" = 3, "metal" = 4, "glass" = 5) + foodtypes = GRAIN | GROSS + slice_type = /obj/item/food/cakeslice/hardware_cake_slice + +/obj/item/food/cakeslice/hardware_cake_slice + name = "hardware cake slice" + desc = "A slice of electronic boards and some acid." + icon_state = "hardware_cake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/toxin/acid = 3, + /datum/reagent/fuel/oil = 3 + ) + tastes = list("acid" = 3, "metal" = 4, "glass" = 5) + foodtypes = GRAIN | GROSS + +/obj/item/food/cake/vanilla_cake + name = "vanilla cake" + desc = "A vanilla frosted cake." + icon_state = "vanillacake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/sugar = 15, + /datum/reagent/consumable/vanilla = 15 + ) + tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + slice_type = /obj/item/food/cakeslice/vanilla_slice + +/obj/item/food/cakeslice/vanilla_slice + name = "vanilla cake slice" + desc = "A slice of vanilla frosted cake." + icon_state = "vanillacake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/sugar = 3, + /datum/reagent/consumable/vanilla = 3 + ) + tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + +/obj/item/food/cake/clown_cake + name = "clown cake" + desc = "A funny cake with a clown face on it." + icon_state = "clowncake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/banana = 15 + ) + tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + slice_type = /obj/item/food/cakeslice/clown_slice + +/obj/item/food/cakeslice/clown_slice + name = "clown cake slice" + desc = "A slice of bad jokes, and silly props." + icon_state = "clowncake_slice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/banana = 3 + ) + tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) + foodtypes = GRAIN | SUGAR | DAIRY + +/obj/item/food/cake/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcake" + food_reagents = list( + /datum/reagent/consumable/nutriment = 20, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/medicine/polypyr = 15, + /datum/reagent/consumable/cream = 5, + /datum/reagent/consumable/nutriment/vitamin = 5, + /datum/reagent/consumable/berryjuice = 5 + ) + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + slice_type = /obj/item/food/cakeslice/trumpet + +/obj/item/food/cakeslice/trumpet + name = "spaceman's cake" + desc = "A spaceman's trumpet frosted cake." + icon_state = "trumpetcakeslice" + food_reagents = list( + /datum/reagent/consumable/nutriment = 4, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/medicine/polypyr = 3, + /datum/reagent/consumable/cream = 1, + /datum/reagent/consumable/nutriment/vitamin = 1, + /datum/reagent/consumable/berryjuice = 1 + ) + tastes = list("cake" = 4, "violets" = 2, "jam" = 2) + foodtypes = GRAIN | DAIRY | FRUIT | SUGAR + +/obj/item/food/cake/brioche + name = "brioche cake" + desc = "A ring of sweet, glazed buns." + icon_state = "briochecake" + tastes = list("cake" = 4, "butter" = 2, "cream" = 1) + foodtypes = GRAIN | DAIRY | SUGAR + slice_type = /obj/item/food/cakeslice/brioche + yield = 6 + +/obj/item/food/cakeslice/brioche + name = "brioche cake slice" + desc = "Delicious sweet-bread. Who needs anything else?" + icon_state = "briochecake_slice" diff --git a/code/game/objects/items/food/spaghetti.dm b/code/game/objects/items/food/spaghetti.dm new file mode 100644 index 000000000000..a6c5394e0647 --- /dev/null +++ b/code/game/objects/items/food/spaghetti.dm @@ -0,0 +1,98 @@ + +/obj/item/food/spaghetti + icon = 'icons/obj/food/pizzaspaghetti.dmi' + food_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + foodtypes = GRAIN + +/obj/item/food/spaghetti/Initialize() + . = ..() + if(!microwaved_type) // This isn't cooked, why would you put uncooked spaghetti in your pocket? + var/list/display_message = list( + "Something wet falls out of their pocket and hits the ground. Is that... [name]?", + "Oh shit! All your pocket [name] fell out!") + AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg') + +/obj/item/food/spaghetti/raw + name = "spaghetti" + desc = "Now that's a nic'e pasta!" + icon_state = "spaghetti" + tastes = list("pasta" = 1) + microwaved_type = /obj/item/food/spaghetti/boiledspaghetti + +/obj/item/food/spaghetti/boiledspaghetti + name = "boiled spaghetti" + desc = "A plain dish of noodles, this needs more ingredients." + icon_state = "spaghettiboiled" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) + microwaved_type = null + +/obj/item/food/spaghetti/pastatomato + name = "spaghetti" + desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" + icon_state = "pastatomato" + trash_type = /obj/item/trash/plate + bite_consumption = 4 + food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) + microwaved_type = null + tastes = list("pasta" = 1, "tomato" = 1) + foodtypes = GRAIN | VEGETABLES + +/obj/item/food/spaghetti/copypasta + name = "copypasta" + desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." + icon_state = "copypasta" + trash_type = /obj/item/trash/plate + bite_consumption = 4 + food_reagents = list(/datum/reagent/consumable/nutriment = 12, /datum/reagent/consumable/tomatojuice = 20, /datum/reagent/consumable/nutriment/vitamin = 8) + microwaved_type = null + tastes = list("pasta" = 1, "tomato" = 1) + foodtypes = GRAIN | VEGETABLES + +/obj/item/food/spaghetti/meatballspaghetti + name = "spaghetti and meatballs" + desc = "Now that's a nic'e meatball!" + icon_state = "meatballspaghetti" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 2) + microwaved_type = null + tastes = list("pasta" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/spaghetti/spesslaw + name = "spesslaw" + desc = "A lawyers favourite." + icon_state = "spesslaw" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 3) + microwaved_type = null + tastes = list("pasta" = 1, "meat" = 1) + +/obj/item/food/spaghetti/chowmein + name = "chow mein" + desc = "A nice mix of noodles and fried vegetables." + icon_state = "chowmein" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 6) + microwaved_type = null + tastes = list("noodle" = 1, "tomato" = 1) + +/obj/item/food/spaghetti/beefnoodle + name = "beef noodle" + desc = "Nutritious, beefy and noodly." + icon_state = "beefnoodle" + trash_type = /obj/item/reagent_containers/glass/bowl + food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/liquidgibs = 3) + microwaved_type = null + tastes = list("noodle" = 1, "meat" = 1) + foodtypes = GRAIN | MEAT + +/obj/item/food/spaghetti/butternoodles + name = "butter noodles" + desc = "Noodles covered in savory butter. Simple and slippery, but delicious." + icon_state = "butternoodles" + trash_type = /obj/item/trash/plate + food_reagents = list(/datum/reagent/consumable/nutriment = 9, /datum/reagent/consumable/nutriment/vitamin = 2) + microwaved_type = null + tastes = list("noodle" = 1, "butter" = 1) + foodtypes = GRAIN | DAIRY diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index 9e90329404f0..4186e500ab98 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -88,6 +88,7 @@ item_flags = EYE_STAB var/bayonet = FALSE //Can this be attached to a gun? custom_price = 250 + tool_behaviour = TOOL_KNIFE /obj/item/kitchen/knife/ComponentInitialize() . = ..() diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm index 05af8fcadbad..2b4aec09ac87 100644 --- a/code/game/objects/items/manuals.dm +++ b/code/game/objects/items/manuals.dm @@ -107,7 +107,7 @@
  • A firesuit must be connected to the Firefighter chassis for heat shielding.
  • Internal armor is plasteel for additional strength.
  • External armor must be installed in 2 parts, totaling 10 sheets.
  • -
  • Completed mech is more resiliant against fire, and is a bit more durable overall
  • +
  • Completed exosuit is more resiliant against fire, and is a bit more durable overall
  • Nanotrasen is determined to the safety of its investments employees.
  • diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 0f5d79f13b37..619ebf3eb0e9 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -13,11 +13,10 @@ attack_verb = list("warned", "cautioned", "smashed") /obj/item/choice_beacon - name = "choice beacon" - desc = "Hey, why are you viewing this?!! Please let CentCom know about this odd occurrence." - icon = 'icons/obj/device.dmi' - icon_state = "gangtool-blue" - item_state = "radio" + name = "choice box" + desc = "A box containing items to choose." + icon = 'icons/obj/storage.dmi' + icon_state = "deliverypackage3" var/uses = 1 /obj/item/choice_beacon/attack_self(mob/user) @@ -31,41 +30,31 @@ if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return TRUE else - playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE) return FALSE /obj/item/choice_beacon/proc/generate_options(mob/living/M) var/list/display_names = generate_display_names() if(!display_names.len) return - var/choice = input(M,"Which item would you like to order?","Select an Item") as null|anything in sortList(display_names) + var/choice = input(M,"Which item would you like to pick?","Select an Item") as null|anything in sortList(display_names) if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return spawn_option(display_names[choice],M) uses-- if(!uses) + new /obj/effect/decal/cleanable/wrapping(get_turf(M)) qdel(src) else to_chat(M, "[uses] use[uses > 1 ? "s" : ""] remaining on the [src].") /obj/item/choice_beacon/proc/spawn_option(obj/choice,mob/living/M) - var/obj/new_item = new choice() - var/obj/structure/closet/supplypod/bluespacepod/pod = new() - pod.explosionSize = list(0,0,0,0) - new_item.forceMove(pod) - var/msg = "After making your selection, you notice a strange target on the ground. It might be best to step back!" - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(istype(H.ears, /obj/item/radio/headset)) - msg = "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows: Item request received. Your package is inbound, please stand back from the landing site. Message ends.\"" - to_chat(M, msg) - - new /obj/effect/pod_landingzone(get_turf(src), pod) + new choice(get_turf(M)) + playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE) /obj/item/choice_beacon/hero - name = "heroic beacon" - desc = "To summon heroes from the past to protect the future." + name = "heroic box" + desc = "To become heroes from the past to protect the future." /obj/item/choice_beacon/hero/generate_display_names() var/static/list/hero_item_list @@ -137,8 +126,8 @@ new /obj/item/grenade/chem_grenade/ghostbuster(src) /obj/item/choice_beacon/augments - name = "augment beacon" - desc = "Summons augmentations. Can be used 3 times!" + name = "augment box" + desc = "Contains augmentations. Can be used 3 times!" uses = 3 /obj/item/choice_beacon/augments/generate_display_names() @@ -157,10 +146,6 @@ augment_list[initial(A.name)] = A return augment_list -/obj/item/choice_beacon/augments/spawn_option(obj/choice,mob/living/M) - new choice(get_turf(M)) - to_chat(M, "You hear something crackle from the beacon for a moment before a voice speaks. \"Please stand by for a message from S.E.L.F. Message as follows: Item request received. Your package has been transported, use the autosurgeon supplied to apply the upgrade. Message ends.\"") - /obj/item/skub desc = "It's skub." name = "skub" @@ -217,8 +202,10 @@ #undef NICKNAME_CAP /obj/item/choice_beacon/ouija - name = "spirit board delivery beacon" + name = "spirit board box" desc = "Ghost communication on demand! It is unclear how this thing is still operational." + icon_state = "deliverybox" + w_class = WEIGHT_CLASS_BULKY /obj/item/choice_beacon/ouija/generate_display_names() var/static/list/ouija_spaghetti_list diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index a6ef402ecad4..63e4ffc5e6c3 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -863,3 +863,43 @@ var/mutable_appearance/base_overlay_among = mutable_appearance(icon, "plushie_among_visor") base_overlay_among.appearance_flags = RESET_COLOR add_overlay(base_overlay_among) + +/obj/effect/spawner/lootdrop/plushie + loot = list ( + /obj/item/toy/plush/beeplushie, + /obj/item/toy/plush/blahaj, + /obj/item/toy/plush/carpplushie, + /obj/item/toy/plush/flushed, + /obj/item/toy/plush/kari, + /obj/item/toy/plush/lizardplushie, + /obj/item/toy/plush/mora, + /obj/item/toy/plush/realgoat, + /obj/item/toy/plush/rilena, + /obj/item/toy/plush/sharai, + /obj/item/toy/plush/slimeplushie, + /obj/item/toy/plush/snakeplushie, + /obj/item/toy/plush/spider, + /obj/item/toy/plush/tali, + /obj/item/toy/plush/xader, + /obj/effect/spawner/lootdrop/plushie/moth // fair chances + ) + +/obj/effect/spawner/lootdrop/plushie/moth + loot = list ( + /obj/item/toy/plush/moth, + /obj/item/toy/plush/moth/monarch, + /obj/item/toy/plush/moth/luna, + /obj/item/toy/plush/moth/atlas, + /obj/item/toy/plush/moth/redish, + /obj/item/toy/plush/moth/royal, + /obj/item/toy/plush/moth/gothic, + /obj/item/toy/plush/moth/lovers, + /obj/item/toy/plush/moth/whitefly, + /obj/item/toy/plush/moth/punished, + /obj/item/toy/plush/moth/firewatch, + /obj/item/toy/plush/moth/deadhead, + /obj/item/toy/plush/moth/poison, + /obj/item/toy/plush/moth/ragged, + /obj/item/toy/plush/moth/snow, + /obj/item/toy/plush/moth/moonfly + ) diff --git a/code/game/objects/items/pneumaticCannon.dm b/code/game/objects/items/pneumaticCannon.dm index 060e59f0f5de..5108a8713633 100644 --- a/code/game/objects/items/pneumaticCannon.dm +++ b/code/game/objects/items/pneumaticCannon.dm @@ -11,8 +11,8 @@ icon = 'icons/obj/pneumaticCannon.dmi' icon_state = "pneumaticCannon" item_state = "bulldog" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 50) var/maxWeightClass = 20 //The max weight of items that can fit into the cannon var/loadedWeightClass = 0 //The weight of items currently in the cannon diff --git a/code/game/objects/items/stacks/tiles/tiles_suns.dm b/code/game/objects/items/stacks/tiles/tiles_suns.dm index 65cc090b152d..fd9d85ff4bf1 100644 --- a/code/game/objects/items/stacks/tiles/tiles_suns.dm +++ b/code/game/objects/items/stacks/tiles/tiles_suns.dm @@ -26,14 +26,14 @@ turf_type = /turf/open/floor/suns/pattern /obj/item/stack/tile/suns/hatch - name = "hatched white marble tile" - singular_name = "hatched white marble floor tile" + name = "hatched wood tile" + singular_name = "hatched wood floor tile" icon_state = "tile_suns_lighthatched" turf_type = /turf/open/floor/suns/hatch /obj/item/stack/tile/suns/diagonal - name = "diagonal white marble tile" - singular_name = "diagonal white marble floor tile" + name = "diagonal wooden tile" + singular_name = "diagonal wooden floor tile" icon_state = "tile_suns_lightdiag" turf_type = /turf/open/floor/suns/diagonal diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 5d87b42b78e5..92123969a4cd 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -624,7 +624,7 @@ new /obj/item/ammo_box/magazine/smgm45(src) new /obj/item/ammo_box/magazine/smgm45(src) new /obj/item/gun/ballistic/automatic/smg/c20r(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/attachment/silencer(src) /obj/item/storage/backpack/duffelbag/syndie/bulldogbundle desc = "A large duffel bag containing a Bulldog, some drums, and a pair of thermal imaging glasses." diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 2904745f25aa..fbe1bbc73131 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -287,7 +287,7 @@ /obj/item/ammo_box/a858, //oh boy stripper clips too /obj/item/ammo_box/vickland_a308, /obj/item/ammo_box/a300, - /obj/item/ammo_box/aac_300blk_stripper, + /obj/item/ammo_box/a762_stripper, /obj/item/ammo_box/amagpellet_claris, //that's the last of the clips /obj/item/reagent_containers/food/snacks/donut, /obj/item/kitchen/knife/combat, @@ -520,7 +520,7 @@ /obj/item/reagent_containers/food/snacks/cheesynachos, /obj/item/reagent_containers/food/snacks/cubannachos, /obj/item/reagent_containers/food/snacks/nugget, - /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato, + /obj/item/food/spaghetti/pastatomato, /obj/item/reagent_containers/food/snacks/rofflewaffles, /obj/item/reagent_containers/food/snacks/donkpocket, /obj/item/reagent_containers/food/drinks/soda_cans/cola, diff --git a/code/game/objects/items/storage/briefcase.dm b/code/game/objects/items/storage/briefcase.dm index 895b94acf574..64a3a11cf327 100644 --- a/code/game/objects/items/storage/briefcase.dm +++ b/code/game/objects/items/storage/briefcase.dm @@ -42,10 +42,10 @@ /obj/item/storage/briefcase/sniperbundle/PopulateContents() ..() // in case you need any paperwork done after your rampage - new /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate(src) + new /obj/item/gun/ballistic/automatic/marksman/sniper_rifle(src) new /obj/item/clothing/neck/tie/red(src) new /obj/item/clothing/under/syndicate/sniper(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) - new /obj/item/suppressor/specialoffer(src) + new /obj/item/attachment/silencer(src) diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index d3b0c468b4b4..77f6fe0ed651 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -44,7 +44,7 @@ /obj/item/storage/guncase/beacon /obj/item/storage/guncase/beacon/PopulateContents() - new /obj/item/gun/ballistic/shotgun/doublebarrel/beacon(src) + new /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/no_mag(src) /obj/item/storage/guncase/scout /obj/item/storage/guncase/scout/PopulateContents() @@ -58,7 +58,6 @@ new /obj/item/ammo_box/magazine/smgm45/empty(src) new /obj/item/ammo_box/magazine/smgm45/empty(src) - /obj/item/storage/guncase/hellfire /obj/item/storage/guncase/hellfire/PopulateContents() new /obj/item/gun/ballistic/shotgun/hellfire/no_mag(src) @@ -79,7 +78,7 @@ /obj/item/storage/guncase/wt550 /obj/item/storage/guncase/wt550/PopulateContents() - new /obj/item/gun/ballistic/automatic/smg/wt550(src) + new /obj/item/gun/ballistic/automatic/smg/wt550/no_mag(src) new /obj/item/ammo_box/magazine/wt550m9/empty(src) new /obj/item/ammo_box/magazine/wt550m9/empty(src) @@ -117,7 +116,7 @@ /obj/item/storage/pistolcase/stechkin /obj/item/storage/pistolcase/stechkin/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/no_mag(src) + new /obj/item/gun/ballistic/automatic/pistol/syndicate/no_mag(src) new /obj/item/ammo_box/magazine/m10mm/empty(src) new /obj/item/ammo_box/magazine/m10mm/empty(src) @@ -153,7 +152,7 @@ /obj/item/storage/pistolcase/a357 /obj/item/storage/pistolcase/a357/PopulateContents() - new /obj/item/gun/ballistic/revolver/no_mag(src) + new /obj/item/gun/ballistic/revolver/syndicate/no_mag(src) new /obj/item/ammo_box/a357/empty(src) new /obj/item/ammo_box/a357/empty(src) @@ -163,7 +162,6 @@ new /obj/item/ammo_box/a44roum_speedloader/empty(src) new /obj/item/ammo_box/a44roum_speedloader/empty(src) - /obj/item/storage/pistolcase/disposable /obj/item/storage/pistolcase/disposable/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/disposable(src) @@ -176,7 +174,7 @@ /obj/item/storage/pistolcase/egun /obj/item/storage/pistolcase/egun/PopulateContents() - new /obj/item/gun/energy/laser/empty_cell(src) + new /obj/item/gun/energy/e_gun/empty_cell(src) new /obj/item/stock_parts/cell/gun(src) /obj/item/storage/pistolcase/kalixpistol @@ -191,7 +189,7 @@ /obj/item/storage/pistolcase/miniegun /obj/item/storage/pistolcase/miniegun/PopulateContents() - new /obj/item/gun/energy/e_gun/empty_cell(src) + new /obj/item/gun/energy/e_gun/mini/empty_cell(src) new /obj/item/stock_parts/cell/gun/mini(src) /obj/item/storage/pistolcase/iongun diff --git a/code/game/objects/items/storage/holsters.dm b/code/game/objects/items/storage/holsters.dm index 35e4899b090b..9000d5e4dbd0 100644 --- a/code/game/objects/items/storage/holsters.dm +++ b/code/game/objects/items/storage/holsters.dm @@ -24,7 +24,7 @@ STR.max_items = 1 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( - /obj/item/gun/ballistic/automatic/pistol, + /obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, @@ -90,7 +90,7 @@ STR.max_items = 2 STR.max_w_class = WEIGHT_CLASS_NORMAL STR.set_holdable(list( - /obj/item/gun/ballistic/automatic/pistol, + /obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/gun/ballistic/revolver, /obj/item/gun/energy/e_gun/mini, /obj/item/gun/energy/disabler, diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index c1014716c323..238e39ce9318 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -200,6 +200,14 @@ /obj/item/storage/secure/safe/intel/stechkin/PopulateContents() . = ..() - new /obj/item/gun/ballistic/automatic/pistol/suppressed(src) + new /obj/item/gun/ballistic/automatic/pistol/syndicate(src) new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/ammo_box/magazine/m10mm(src) + +/obj/item/storage/secure/safe/suns + name = "Captain's Secure Safe" + desc = "The most important part of a SUNS vessel is the spare dueling sword." + +/obj/item/storage/secure/safe/suns/PopulateContents() + . = ..() + new /obj/item/storage/belt/sabre/suns(src) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 87497a2a7562..987aaa9933d5 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -299,7 +299,7 @@ /obj/item/clothing/gloves/color/latex/nitrile/infiltrator, /obj/item/clothing/mask/infiltrator, /obj/item/clothing/shoes/combat/sneakboots, - /obj/item/gun/ballistic/automatic/pistol, + /obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/gun/ballistic/revolver, /obj/item/ammo_box )) @@ -312,6 +312,18 @@ new /obj/item/clothing/mask/infiltrator(src) new /obj/item/clothing/shoes/combat/sneakboots(src) +/obj/item/storage/toolbox/bounty + name = "defused explosives case" + desc = "Store defused landmines in here." + icon_state = "infiltrator_case" + item_state = "infiltrator_case" + +/obj/item/storage/toolbox/bounty/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 4 + STR.max_items = 2 + //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 702416e4202e..f34aae9e6f82 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -38,7 +38,7 @@ new /obj/item/jammer(src) if("guns") - new /obj/item/gun/ballistic/revolver(src) + new /obj/item/gun/ballistic/revolver/syndicate(src) new /obj/item/ammo_box/a357(src) new /obj/item/ammo_box/a357(src) new /obj/item/card/emag(src) @@ -99,7 +99,7 @@ new /obj/item/storage/box/syndie_kit/emp(src) if("sniper") //This shit is unique so can't really balance it around tc, also no silencer because getting killed without ANY indicator on what killed you sucks - new /obj/item/gun/ballistic/automatic/sniper_rifle(src) // 12 tc + new /obj/item/gun/ballistic/automatic/marksman/sniper_rifle(src) // 12 tc new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) new /obj/item/clothing/glasses/thermal/syndi(src) new /obj/item/clothing/gloves/color/latex/nitrile(src) @@ -119,8 +119,8 @@ /obj/item/storage/box/syndicate/bundle_B/PopulateContents() switch (pickweight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "bee" = 1, "mr_freeze" = 2, "made_man"= 1))) if("bond") - new /obj/item/gun/ballistic/automatic/pistol(src) - new /obj/item/suppressor(src) + new /obj/item/gun/ballistic/automatic/pistol/syndicate(src) + new /obj/item/attachment/silencer(src) new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/clothing/under/chameleon(src) diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index c031e998cdcc..002b72633294 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -42,9 +42,10 @@ /obj/item/storage/wallet/Exited(atom/movable/AM) . = ..() - refreshID() + UnregisterSignal(AM, COSMIG_ACCESS_UPDATED) + refresh_id() -/obj/item/storage/wallet/proc/refreshID() +/obj/item/storage/wallet/proc/refresh_id() LAZYCLEARLIST(combined_access) if(!(front_id in src)) front_id = null @@ -61,7 +62,8 @@ /obj/item/storage/wallet/Entered(atom/movable/AM) . = ..() - refreshID() + RegisterSignal(AM, COSMIG_ACCESS_UPDATED, PROC_REF(refresh_id)) + refresh_id() /obj/item/storage/wallet/update_overlays() . = ..() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index b1dfb479b66c..5ce082d79dc9 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -187,8 +187,8 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "revolver" item_state = "gun" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 865ca17e7d50..a76334a0b7ea 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -737,35 +737,6 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 return 1 return 0 -/obj/item/legion_staff - icon_state = "legion_staff" - lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' - name = "legionnaire staff" - desc = "The remnants of a legionnaire, reconstructed around a pole of bone. The skulls it produces are loyal to the wielder, seeming to recognize them as their host body." - icon = 'icons/obj/guns/magic.dmi' - block_chance = 20 - force = 20 - throwforce = 10 - throw_speed = 4 - attack_verb = list("bit", "gnawed", "chomped") - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT - hitsound = 'sound/weapons/bite.ogg' - var/next_use_time - -/obj/item/legion_staff/attack_self(mob/user) - if(next_use_time > world.time) - user.visible_message("[src] rattles in [user]'s hands, but nothing happens...") - to_chat(user, "You need to wait longer to use this again.") - return - user.visible_message("[user] raises the [src] and summons a legion skull!") - for(var/i in 1 to 3) - var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff/LegionSkull = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff(user.loc) - LegionSkull.faction = user.faction.Copy() - LegionSkull.friends += user - next_use_time = world.time + 6 SECONDS - /obj/item/claymore/bone name = "Bone Sword" desc = "Jagged pieces of bone are tied to what looks like a goliaths femur." diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index d81e8b8ba456..6c5f46e94a3b 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -167,7 +167,7 @@ name = "dog bed" icon_state = "dogbed" desc = "A comfy-looking dog bed. You can even strap your pet in, in case the gravity turns off." - anchored = FALSE + anchored = TRUE buildstacktype = /obj/item/stack/sheet/mineral/wood buildstackamount = 10 var/mob/living/owner = null @@ -175,22 +175,18 @@ /obj/structure/bed/dogbed/ian desc = "Ian's bed! Looks comfy." name = "Ian's bed" - anchored = TRUE /obj/structure/bed/dogbed/cayenne desc = "Seems kind of... fishy." name = "Cayenne's bed" - anchored = TRUE /obj/structure/bed/dogbed/renault desc = "Renault's bed! Looks comfy. A foxy person needs a foxy pet." name = "Renault's bed" - anchored = TRUE /obj/structure/bed/dogbed/runtime desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." name = "Runtime's bed" - anchored = TRUE /obj/structure/bed/dogbed/proc/update_owner(mob/living/M) if(owner) diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index d57e31ce9514..1a89195c646a 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -132,7 +132,7 @@ LINEN BINS desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." icon_state = "sheetrd" item_state = "sheetrd" - dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") + dream_messages = list("authority", "a silvery ID", "a bomb", "an exosuit", "a facehugger", "maniacal laughter", "the research director") /obj/item/bedsheet/medical name = "medical blanket" @@ -353,7 +353,7 @@ LINEN BINS name = "double research director's bedsheet" icon_state = "double_sheetrd" item_state = "sheetrd" - dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director") + dream_messages = list("authority", "a silvery ID", "a bomb", "an exosuit", "a facehugger", "maniacal laughter", "the research director") desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day." /obj/item/bedsheet/double/solgov diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm index 6a53024a81a0..32d6f02721c5 100644 --- a/code/game/objects/structures/fluff.dm +++ b/code/game/objects/structures/fluff.dm @@ -258,3 +258,13 @@ /obj/structure/fluff/hedge/opaque //useful for mazes and such opacity = TRUE + +/obj/structure/fluff/glowshroom + name = "glowshroom" + desc = "Mycena bregprox, a species of mushroom that glows in the dark." + icon = 'icons/obj/lighting.dmi' + icon_state = "glowshroom" + layer = ABOVE_NORMAL_TURF_LAYER + light_color = "#C3E381" + light_range = 2 + light_power = 1 diff --git a/code/game/objects/structures/lavaland/geyser.dm b/code/game/objects/structures/geyser.dm similarity index 100% rename from code/game/objects/structures/lavaland/geyser.dm rename to code/game/objects/structures/geyser.dm diff --git a/code/game/objects/structures/hivebot.dm b/code/game/objects/structures/hivebot.dm deleted file mode 100644 index 00124d781d80..000000000000 --- a/code/game/objects/structures/hivebot.dm +++ /dev/null @@ -1,112 +0,0 @@ -/obj/structure/hivebot_beacon - name = "beacon" - desc = "Some odd beacon thing." - icon = 'icons/mob/hivebot.dmi' - icon_state = "def_radar-off" - anchored = TRUE - density = TRUE - var/bot_type = "norm" - var/bot_amt = 10 - var/spawn_time_min - var/spawn_time_max - -/obj/structure/hivebot_beacon/Initialize() - . = ..() - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(2, loc) - smoke.start() - visible_message("[src] warps in!") - playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) - addtimer(CALLBACK(src, PROC_REF(warpbots)), rand(spawn_time_min, spawn_time_max)) - -/obj/structure/hivebot_beacon/proc/warpbots() - icon_state = "def_radar" - visible_message("[src] turns on!") - while(bot_amt > 0) - bot_amt-- - switch(bot_type) - if("norm") - new /mob/living/simple_animal/hostile/hivebot(get_turf(src)) - if("range") - new /mob/living/simple_animal/hostile/hivebot/range(get_turf(src)) - if("rapid") - new /mob/living/simple_animal/hostile/hivebot/rapid(get_turf(src)) - - sleep(100) - visible_message("[src] warps out!") - playsound(src.loc, 'sound/effects/empulse.ogg', 25, TRUE) - qdel(src) - return - -/obj/structure/spawner/wasteplanet/hivebot - name = "hivebot fabricator" - desc = "An active fabricator, creating hivebots out of resources from below the surface." - - icon = 'icons/obj/machines/bsm.dmi' - icon_state = "bsm_on" - - faction = list("mining") - max_mobs = 5 - max_integrity = 250 - mob_types = list( - /mob/living/simple_animal/hostile/hivebot/wasteplanet = 40, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 40, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 10, - /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 5, - /mob/living/simple_animal/hostile/hivebot/mechanic = 5 - ) - spawn_text = "crawls out of" - spawn_sound = list('sound/effects/suitstep2.ogg') - move_resist = INFINITY - anchored = TRUE - resistance_flags = FIRE_PROOF | LAVA_PROOF - var/obj/effect/light_emitter/hivespawner/emitted_light - -/obj/structure/spawner/wasteplanet/hivebot/Initialize() - . = ..() - emitted_light = new(loc) - -/obj/structure/spawner/wasteplanet/hivebot/deconstruct(disassembled) - destroy_effect() - drop_loot() - return ..() - -/obj/structure/spawner/wasteplanet/hivebot/Destroy() - QDEL_NULL(emitted_light) - return ..() - -/obj/structure/spawner/wasteplanet/hivebot/proc/destroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] begins to rattle and shake, sparks flying off of it!") - - -/obj/structure/spawner/wasteplanet/hivebot/proc/drop_loot() - var/datum/effect_system/smoke_spread/smoke = new - smoke.set_up(2, loc) - smoke.start() - new /obj/effect/particle_effect/sparks(loc) - new /obj/effect/spawner/lootdrop/waste/hivebot/beacon(loc) - -/obj/effect/light_emitter/hivespawner - set_luminosity = 4 - set_cap = 2.5 - light_color = COLOR_RED_LIGHT - - -/obj/structure/spawner/wasteplanet/hivebot/low_threat - max_mobs = 4 - spawn_time = 300 - -/obj/structure/spawner/wasteplanet/hivebot/medium_threat - max_mobs = 5 - spawn_time = 250 - -/obj/structure/spawner/wasteplanet/hivebot/high_threat - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/wasteplanet/hivebot/extreme_threat - max_mobs = 10 - spawn_time = 150 - - diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm deleted file mode 100644 index 93cdfcaa9a23..000000000000 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ /dev/null @@ -1,1014 +0,0 @@ -GLOBAL_LIST_INIT(ore_probability, list( - /obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 50, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/titanium = 75, - /obj/item/pickaxe/diamond = 15, - /obj/item/borg/upgrade/modkit/cooldown = 5, - /obj/item/borg/upgrade/modkit/damage = 5, - /obj/item/borg/upgrade/modkit/range = 5, - /obj/item/t_scanner/adv_mining_scanner/lesser = 15, - /obj/item/kinetic_crusher = 15, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/item/tank/jetpack/suit = 10, - /obj/item/survivalcapsule = 15, - /obj/item/reagent_containers/hypospray/medipen/survival = 15, - /obj/item/gps/mining = 10, - /obj/item/extraction_pack = 10, - /obj/item/reagent_containers/food/drinks/beer = 15, - )) - -/obj/structure/spawner/ice_moon - name = "cave entrance" - desc = "A hole in the ground, filled with monsters ready to defend it." - faction = list("mining") - max_mobs = 3 - max_integrity = 250 - mob_types = list(/mob/living/simple_animal/hostile/asteroid/wolf) - move_resist = INFINITY - anchored = TRUE - -/obj/structure/spawner/ice_moon/Initialize() - . = ..() - clear_rock() - -/** - * Clears rocks around the spawner when it is created - * - */ -/obj/structure/spawner/ice_moon/proc/clear_rock() - for(var/turf/F in RANGE_TURFS(2, src)) - if(abs(src.x - F.x) + abs(src.y - F.y) > 3) - continue - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/deconstruct(disassembled) - destroy_effect() - drop_loot() - return ..() - -/** - * Effects and messages created when the spawner is destroyed - * - */ -/obj/structure/spawner/ice_moon/proc/destroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") - -/** - * Drops items after the spawner is destroyed - * - */ -/obj/structure/spawner/ice_moon/proc/drop_loot() - for(var/type in GLOB.ore_probability) - var/chance = GLOB.ore_probability[type] - if(!prob(chance)) - continue - new type(loc, rand(5, 10)) - -/obj/structure/spawner/ice_moon/polarbear - max_mobs = 1 - spawn_time = 60 SECONDS - mob_types = list(/mob/living/simple_animal/hostile/asteroid/polarbear) - -/obj/structure/spawner/ice_moon/polarbear/clear_rock() - for(var/turf/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/demonic_portal - name = "demonic portal" - desc = "A portal that goes to another world, normal creatures couldn't survive there. When it collapses, who knows where it will go?" - icon_state = "nether" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/ice_demon) - light_range = 1 - light_color = COLOR_SOFT_RED - spawn_time = 300 - -/obj/structure/spawner/ice_moon/demonic_portal/clear_rock() - for(var/turf/F in RANGE_TURFS(3, src)) - if(abs(src.x - F.x) + abs(src.y - F.y) > 5) - continue - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/structure/spawner/ice_moon/demonic_portal/Initialize() - . = ..() - -/obj/structure/spawner/ice_moon/demonic_portal/destroy_effect() - new /obj/effect/collapsing_demonic_portal(loc) - -/obj/structure/spawner/ice_moon/demonic_portal/drop_loot() - return - -/obj/structure/spawner/ice_moon/rockplanet - name = "gruboid den" - desc = "Though gruboid are typically nomadic creatures, they gather in small surface caves to reproduce. They're unlikely to be happy about being disturbed." - max_mobs = 3 - spawn_time = 60 SECONDS - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet) - -/obj/structure/spawner/ice_moon/rockplanet/clear_rock() - for(var/turf/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - -/obj/effect/collapsing_demonic_portal - name = "collapsing demonic portal" - desc = "It's slowly fading! Get ready to fight whatever comes through!" - layer = TABLE_LAYER - icon = 'icons/mob/nest.dmi' - icon_state = "nether" - anchored = TRUE - density = TRUE - -/obj/effect/collapsing_demonic_portal/Initialize() - . = ..() - playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - visible_message("[src] begins to collapse! As it fails, it connects to a random dimensional point and pulls through what it finds!") - animate(src, transform = matrix().Scale(0, 1), alpha = 50, time = 5 SECONDS) - addtimer(CALLBACK(src, PROC_REF(collapse)), 5 SECONDS) - -/** - * Handles portal deletion - * - */ -/obj/effect/collapsing_demonic_portal/proc/collapse() - drop_loot() - qdel(src) - -//portal types go here - -/obj/structure/spawner/ice_moon/demonic_portal/brimdemon - mob_types = list(/mob/living/simple_animal/hostile/asteroid/brimdemon) - -/obj/structure/spawner/ice_moon/demonic_portal/ice_whelp - mob_types = list(/mob/living/simple_animal/hostile/asteroid/ice_whelp) - -/obj/structure/spawner/ice_moon/demonic_portal/snowlegion - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril) - -/obj/structure/spawner/ice_moon/demonic_portal/low_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 35, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 15, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 35, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 15 - ) - max_mobs = 5 - spawn_time = 300 - -/obj/structure/spawner/ice_moon/demonic_portal/medium_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 25, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 25, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 25, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 25 - ) - max_mobs = 7 - spawn_time = 300 -/obj/structure/spawner/ice_moon/demonic_portal/high_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 15, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 35, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 15, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 35 - ) - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/ice_moon/demonic_portal/extreme_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/brimdemon = 10, - /mob/living/simple_animal/hostile/asteroid/ice_whelp = 25, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 15, - /mob/living/simple_animal/hostile/asteroid/ice_demon = 50 - ) - max_mobs = 10 - spawn_time = 200 - -//I think there's room to make portal types drop loot/spawn monsters based on the loot list but that's out of scope for what I'm doing - -/** - * Drops loot from the portal. Uses variable difficulty based on drops- more valulable rewards will also add additional enemies to the attack wave. - * If you manage to win big and get a bunch of major rich loot, you will also be faced with a big mob of angries. - * Absolutely deranged use of probability code below, trigger warning - */ -/obj/effect/collapsing_demonic_portal/proc/drop_loot() - visible_message("Something slips out of [src]!") - var/loot = rand(1, 21) - switch(loot) - if(1)//Clown hell. God help you if you roll this. - visible_message("You can hear screaming and joyful honking.")//now THIS is what we call a critical failure - playsound(loc,'sound/spookoween/ghosty_wind.ogg', 100, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/spookoween/scary_horn3.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(15)) - new /mob/living/simple_animal/hostile/clown/clownhulk(loc) - new /mob/living/simple_animal/hostile/clown/longface(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk/chlown(loc) - new /obj/item/shield/energy/bananium(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/banana(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk/chlown - new /mob/living/simple_animal/hostile/clown/honkling(loc) - if(prob(25)) - new /obj/item/grenade/spawnergrenade/clown(loc) - new /obj/item/grenade/spawnergrenade/clown(loc) - new /mob/living/simple_animal/hostile/clown/clownhulk(loc) - if(prob(10)) - new /mob/living/simple_animal/hostile/clown/mutant/blob(loc)//oh god oh fuck - new /obj/machinery/syndicatebomb/badmin/clown(loc) - if(prob(35)) - new /obj/item/storage/backpack/duffelbag/clown/syndie(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/honkling(loc) - else - new /obj/item/storage/backpack/duffelbag/clown/cream_pie(loc) - new /mob/living/simple_animal/hostile/clown/honkling(loc) - if(prob(25)) - new /obj/item/borg/upgrade/transform/clown(loc) - new /mob/living/simple_animal/hostile/clown/stacked(loc) - if(prob(35)) - new /obj/item/megaphone/clown(loc) - new /mob/living/simple_animal/hostile/clown/stacked(loc) - if(prob(25)) - new /obj/item/reagent_containers/spray/waterflower/lube(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(35)) - new /obj/item/clothing/suit/space/hardsuit/clown(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(25)) - new /obj/item/clothing/shoes/clown_shoes/banana_shoes/combat(loc) - new /mob/living/simple_animal/hostile/clown/fleshclown(loc) - if(prob(25))//you lost - new /obj/item/circlegame(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone(loc) - if(2)//basic demonic incursion - visible_message("You glimpse an indescribable abyss in the portal. Horrifying monsters appear in a gout of flame.") - playsound(loc,'sound/hallucinations/wail.ogg', 200, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/clothing/glasses/godeye(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(45)) - new /obj/item/pickaxe/drill/jackhammer/demonic(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(45)) - new /obj/item/wisp_lantern(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(5)) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(45)) - new /obj/item/nullrod/staff(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /obj/item/clothing/suit/space/hardsuit/quixote/dimensional(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - else - new /obj/item/immortality_talisman(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /obj/item/shared_storage/red(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(30)) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - if(prob(30)) - new /obj/item/book/granter/spell/traps(loc) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - if(prob(30)) - new /mob/living/simple_animal/hostile/netherworld/blankbody(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /mob/living/simple_animal/hostile/netherworld/migo(loc) - new /mob/living/simple_animal/hostile/netherworld(loc) - new /turf/open/indestructible/necropolis(loc) - if(3)//skeleton/religion association, now accepting YOUR BONES - visible_message("Bones rattle and strained voices chant a forgotten god's name.") - playsound(loc,'sound/ambience/ambiholy.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(30)) - new /obj/item/reagent_containers/glass/bottle/potion/flight(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - else - new /obj/item/clothing/neck/memento_mori(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(35)) - new /obj/item/storage/box/holy_grenades(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(40)) - new /obj/item/claymore(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - if(prob(45)) - new /obj/item/gun/ballistic/bow(loc) - new /obj/item/storage/bag/quiver(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /obj/item/ammo_casing/caseless/arrow/bronze(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(30)) - new /obj/item/stack/sheet/mineral/wood/fifty(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(35)) - new /obj/item/staff/bostaff(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(25)) - new /obj/item/shield/riot/roman(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - if(prob(55)) - new /obj/item/clothing/suit/armor/riot/knight/blue(loc) - new /obj/item/clothing/head/helmet/knight/blue(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /mob/living/simple_animal/hostile/human/skeleton(loc) - new /obj/item/instrument/trombone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /obj/item/stack/sheet/bone(loc) - new /mob/living/simple_animal/hostile/human/skeleton/templar(loc) - new /turf/open/floor/mineral/silver(loc) - if(4)//syndicate incursion. Again, high-quality loot at low chances, this time with excessive levels of danger - visible_message("Radio chatter echoes out from the portal. Red-garbed figures step through, weapons raised.") - playsound(loc,'sound/effects/radiohiss.ogg', 200, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/ambience/antag/tatoralert.ogg', 75, FALSE, 50, TRUE, TRUE) - if(prob(35)) - if(prob(15)) - new /obj/item/clothing/suit/space/hardsuit/syndi/elite(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - else - if(prob(50)) - new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - else - new /obj/item/clothing/suit/space/hardsuit/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25))//the real prize - new /obj/effect/spawner/lootdrop/donkpockets(loc) - new /obj/effect/spawner/lootdrop/donkpockets(loc) - new /obj/effect/spawner/lootdrop/donkpockets(loc) - if(prob(35)) - new /obj/item/clothing/shoes/magboots/syndie(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /obj/item/gun/ballistic/automatic/pistol/suppressed(loc) - new /obj/item/ammo_box/magazine/ - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(25)) - new /obj/item/gun/ballistic/automatic/pistol/tec9(loc) - new /obj/item/ammo_box/magazine/tec9(loc) - new /obj/item/ammo_box/magazine/tec9(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(35)) - new /obj/item/clothing/gloves/rapid(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(35)) - new /obj/item/wrench/combat(loc) - new /obj/item/storage/toolbox/syndicate(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - if(prob(35)) - new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(loc) - if(prob(35)) - new /obj/item/borg/upgrade/transform/assault(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - new /obj/item/storage/backpack/duffelbag/syndie/c4(loc) - if(prob(35)) - new /obj/item/storage/belt/military(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - if(prob(35)) - new /obj/item/kinetic_crusher/syndie_crusher(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - if(prob(25)) - new /obj/item/card/id/syndicate/anyone(loc) - if(prob(35)) - new /obj/item/clothing/glasses/thermal/syndi(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(35)) - new /obj/item/reagent_containers/hypospray(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - if(prob(25)) - new /obj/item/card/emag(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword(loc) - new /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space(loc) - new /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space(loc) - new /turf/open/floor/mineral/plastitanium/red(loc) - if(5)//;HELP BLOB IN MEDICAL - visible_message("You hear a robotic voice saying something about a \"Delta-level biohazard\".") - playsound(loc,'sound/ai/outbreak5.ogg', 100, FALSE, 50, TRUE, TRUE) - playsound(loc,'sound/misc/bloblarm.ogg', 50, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/circuitboard/machine/chem_dispenser(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/storage/box/hypospray/CMO(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(15)) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - if(prob(45)) - new /obj/item/defibrillator(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/stasis(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/stack/medical/suture/medicated(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(45)) - new /obj/item/stack/medical/mesh/advanced(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/gun/syringe/syndicate(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(25)) - new /obj/item/healthanalyzer/advanced(loc) - if(prob(35)) - new /obj/item/storage/firstaid/advanced(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/item/storage/firstaid/tactical(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - else - new /obj/item/storage/firstaid/regular(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - if(prob(35)) - new /obj/effect/mob_spawn/human/corpse/solgov/sonnensoldner(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - else - new /obj/effect/mob_spawn/human/doctor(loc) - new /obj/item/healthanalyzer(loc) - new /turf/open/floor/carpet/nanoweave/beige(loc) - new /mob/living/simple_animal/hostile/blob/blobbernaut/independent(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - new /mob/living/simple_animal/hostile/blob/blobspore/weak(loc) - if(6)//teleporty ice world. Incomplete. - visible_message("You glimpse a frozen, empty plane. Something stirs in the fractal abyss.") - playsound(loc,'sound/ambience/ambisin3.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/warp_cube/red(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(45)) - new /obj/item/clothing/suit/drfreeze_coat(loc) - new /obj/item/clothing/under/costume/drfreeze(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - new /mob/living/simple_animal/hostile/bear/snow(loc) - if(prob(45)) - new /obj/item/freeze_cube(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - if(prob(55)) - new /obj/item/clothing/shoes/winterboots/ice_boots(loc) - new /mob/living/simple_animal/hostile/bear/snow(loc) - new /obj/effect/decal/remains/human(loc) - new /mob/living/simple_animal/hostile/asteroid/ice_demon(loc) - new /turf/open/floor/plating/ice/smooth(loc) - if(7)//FUCK FUCK HELP SWARMERS IN VAULT - visible_message("Something beeps. Small, glowing forms spill out of the portal en masse!") - playsound(loc,'sound/ambience/ambitech.ogg', 150, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(45)) - new /obj/item/construction/rcd/loaded(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/holosign_creator/atmos(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/vendor(loc) - new /obj/item/vending_refill/engivend(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(45)) - new /obj/item/tank/jetpack/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/clothing/glasses/meson/engine(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/stack/sheet/metal/twenty(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/item/storage/toolbox/infiltrator(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(25)) - new /obj/machinery/portable_atmospherics/canister/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /obj/item/clothing/gloves/color/latex/engineering(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /obj/item/clothing/gloves/color/latex/engineering(loc) - new /obj/effect/mob_spawn/human/engineer(loc) - new /turf/open/floor/circuit/telecomms(loc) - if(8)//Literally blood-drunk. - visible_message("Blood sprays from the portal. An ichor-drenched figure steps through!") - playsound(loc,'sound/magic/enter_blood.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/effect/gibspawner/human(loc) - new /obj/effect/gibspawner/human(loc) - new /obj/effect/gibspawner/human(loc) - new /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom(loc) - if(prob(50)) - new /obj/item/gem/bloodstone(loc) - if(prob(25)) - new /obj/item/seeds/tomato/blood(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(9)//Now's your chance to be a [[BIG SHOT]] - visible_message("You hear the sound of big money and bigger avarice.") - playsound(loc,'sound/lavaland/cursed_slot_machine_jackpot.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/structure/cursed_slot_machine(loc) - if(prob(35)) - new /obj/item/spacecash/bundle/mediumrand(loc) - new /obj/item/spacecash/bundle/mediumrand(loc) - new /obj/item/coin/gold(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/clothing/mask/spamton(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/gem/fdiamond(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - else - new /obj/item/gem/rupee(loc) - if(prob(35)) - new /obj/item/coin/gold(loc) - new /obj/item/coin/gold(loc) - new /obj/item/stack/sheet/mineral/gold/twenty(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/storage/fancy/cigarettes/cigpack_robustgold(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - if(prob(35)) - new /obj/item/clothing/head/collectable/petehat(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /mob/living/simple_animal/hostile/faithless(loc) - new /turf/open/floor/mineral/gold(loc) - if(10)//hivebot factory - visible_message("You catch a brief glimpse of a vast production complex. One of the assembly lines outputs through the portal!") - playsound(loc,'sound/ambience/antag/clockcultalr.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(25)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/silver/twenty(loc) - new /obj/item/stack/sheet/mineral/titanium/twenty(loc) - new /obj/item/stack/sheet/mineral/gold/twenty(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/circuitboard/computer/solar_control(loc) - new /obj/item/electronics/tracker(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - new /obj/item/solar_assembly(loc) - if(prob(45)) - new /obj/item/stack/circuit_stack(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/hivebot/range(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/dna_vault(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/recycler(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/recharger(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/smoke_machine(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/ore_silo(loc) - new /mob/living/simple_animal/hostile/hivebot/mechanic(loc) - if(prob(35)) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /obj/item/stack/sheet/mineral/hidden/hellstone/ten(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/medipen_refiller(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/stasis(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - if(prob(50)) - new /obj/item/stack/sheet/metal/fifty(loc) - new /obj/item/stack/sheet/glass/fifty(loc) - new /obj/item/stack/cable_coil/yellow(loc) - new /obj/item/storage/box/lights/bulbs(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - new /mob/living/simple_animal/hostile/hivebot(loc) - new /mob/living/simple_animal/hostile/hivebot/strong(loc) - new /obj/machinery/conveyor(loc) - new /turf/open/floor/circuit/red(loc) - if(11)//miner's last moments - visible_message("The familiar sound of an ash storm greets you. A miner steps through the portal, stumbles, and collapses.") - playsound(loc,'sound/weather/ashstorm/outside/weak_end.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/disk/design_disk/modkit_disc/resonator_blast(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(loc) - if(prob(25)) - new /obj/item/disk/design_disk/modkit_disc/bounty(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/vending/mining_equipment(loc) - if(prob(45)) - new /obj/item/vending_refill/mining_equipment(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(35)) - new /obj/item/reagent_containers/hypospray/medipen/survival(loc) - if(prob(35)) - new /obj/item/fulton_core(loc) - new /obj/item/extraction_pack(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/t_scanner/adv_mining_scanner/lesser(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/gibtonite(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(45)) - new /obj/item/clothing/glasses/meson/night(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - if(prob(50)) - new /obj/item/kinetic_crusher(loc) - else - new /obj/item/gun/energy/kinetic_accelerator(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast(loc) - new /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient(loc) - new /obj/effect/mob_spawn/human/miner(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(12)//sailing the ocean blue - visible_message("Water pours out of the portal, followed by a strange vessel. It's occupied.") - playsound(loc,'sound/ambience/shore.ogg', 150, FALSE, 50, TRUE, TRUE) - new /obj/vehicle/ridden/lavaboat/dragon(loc) - new /obj/item/oar(loc) - if(prob(50)) - new /obj/item/clothing/under/costume/sailor(loc) - if(prob(50)) - new /obj/item/pneumatic_cannon/speargun(loc) - new /obj/item/storage/backpack/magspear_quiver(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /obj/item/throwing_star/magspear(loc) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /obj/item/clothing/suit/space/hardsuit/carp(loc) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /mob/living/simple_animal/hostile/carp(loc) - if(prob(45)) - new /obj/item/reagent_containers/food/snacks/fishmeat/carp(loc) - new /obj/item/reagent_containers/food/snacks/fishmeat/carp(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - if(prob(25)) - new /obj/item/book/granter/martial/carp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - if(prob(35)) - new /obj/item/grenade/spawnergrenade/spesscarp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - new /mob/living/simple_animal/hostile/carp/megacarp(loc) - new /mob/living/simple_animal/hostile/carp(loc) - new /turf/open/water(loc) - if(13)//hydroponics forest - visible_message("You catch a glimpse of a strange forest. Smells like weed and bad choices.") - playsound(loc,'sound/ambience/shore.ogg', 150, FALSE, 50, TRUE, TRUE) - if(prob(45)) - new /obj/item/circuitboard/machine/biogenerator(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(35)) - new /obj/item/gun/energy/floragun(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/seed_extractor(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/plantgenes(loc) - else - new /obj/item/circuitboard/machine/hydroponics(loc) - if(prob(15)) - new /obj/item/circuitboard/machine/hydroponics(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(15)) - new /obj/item/circuitboard/machine/hydroponics(loc) - if(prob(5)) - new /obj/item/seeds/gatfruit(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/random(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - if(prob(50)) - new /obj/item/seeds/random(loc) - if(prob(45)) - new /obj/item/seeds/cannabis(loc) - new /obj/item/clothing/gloves/botanic_leather(loc) - new /obj/item/cultivator/rake(loc) - new /obj/structure/spacevine(loc) - new /mob/living/simple_animal/hostile/venus_human_trap(loc) - new /turf/open/floor/plating/grass(loc) - if(14)//fallout ss13 - visible_message("You hear a geiger counter click and smell ash.") - playsound(loc,'sound/items/radiostatic.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(50)) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /obj/item/reagent_containers/food/drinks/drinkingglass/filled/cola(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(50)) - new /obj/structure/radioactive/stack(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(45)) - new /obj/item/stack/sheet/mineral/uranium/twenty(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - if(prob(35)) - new /obj/item/clothing/head/radiation(loc) - new /obj/item/clothing/suit/radiation(loc) - if(prob(45)) - new /obj/item/gun/energy/decloner(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - new /obj/item/geiger_counter(loc) - new /mob/living/simple_animal/hostile/cockroach/glockroach(loc) - new /turf/open/floor/plating/dirt(loc) - if(15)//the backroom freezer - visible_message("The faint hallogen glow of a faraway kitchen greets you.") - if(prob(45)) - new /obj/item/kitchen/knife/bloodletter(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(55)) - new /obj/item/clothing/gloves/butchering(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(45)) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - new /obj/item/reagent_containers/food/snacks/store/bread/meat(loc) - if(prob(55)) - new /obj/item/reagent_containers/food/snacks/store/cake/trumpet(loc) - if(prob(35)) - new /obj/item/reagent_containers/food/snacks/pizza/dank(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(25)) - new /obj/item/reagent_containers/food/snacks/meat/steak/gondola(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/reagent_containers/food/snacks/burger/roburgerbig(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/kitchen/knife/butcher(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/flamethrower/full(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(45)) - new /obj/item/sharpener(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(25)) - new /obj/item/sharpener/super(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/gibber(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/chem_master/condi(loc) - new /mob/living/simple_animal/hostile/killertomato(loc) - new /mob/living/simple_animal/hostile/alien/maid(loc) - new /turf/open/floor/plasteel/kitchen_coldroom/freezerfloor(loc) - if(16)//legion miniboss - visible_message("The ground quakes. An immense figure reaches through the portal, crouching to squeeze through.") - playsound(loc,'sound/magic/knock.ogg', 100, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/big_legion(loc) - if(prob(75)) - new /obj/structure/closet/crate/necropolis/tendril/greater(loc) - new /turf/open/indestructible/necropolis(loc) - if(17)//xenobiologist's hubris - visible_message("You catch a glimpse of a wobbling sea of slimy friends. An abused-looking keeper slips through the portal.") - playsound(loc,'sound/effects/footstep/slime1.ogg', 100, FALSE, 50, TRUE, TRUE) - if(prob(25)) - new /obj/item/slime_extract/adamantine(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /obj/item/slime_extract/gold(loc) - if(prob(25)) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/extinguisher/advanced(loc) - if(prob(25)) - new /obj/item/slimepotion/slime/renaming(loc) - new /mob/living/simple_animal/slime/random(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /obj/item/slimepotion/slime/sentience(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/circuitboard/computer/xenobiology(loc) - new /obj/item/slime_extract/grey(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/circuitboard/machine/processor/slime(loc) - new /mob/living/simple_animal/slime/random(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(25)) - new /obj/item/shield/adamantineshield(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/slime_cookie/purple(loc) - new /obj/item/slime_cookie/purple(loc) - new /obj/item/slime_cookie/purple(loc) - if(prob(45)) - new /obj/item/storage/box/monkeycubes(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /obj/item/slimepotion/speed(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(45)) - new /obj/item/slimepotion/slime/slimeradio(loc) - new /mob/living/simple_animal/slime/random(loc) - if(prob(35)) - new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(loc) - new /obj/effect/mob_spawn/human/scientist(loc) - new /turf/open/floor/mineral/titanium/purple(loc) - new /mob/living/simple_animal/slime/random(loc) - if(18)//hey, free elite tumor! - visible_message("A large, pulsating structure falls through the portal and crashes to the floor.") - playsound(loc,'sound/effects/break_stone.ogg', 100, FALSE, 50, TRUE, TRUE) - new /obj/structure/elite_tumor(loc) - new /turf/open/floor/plating/asteroid/basalt(loc) - if(19)//*you flush the toilet.* - visible_message("You hear the faint noise of a long flush.") - new /obj/structure/toilet(loc) - new /obj/effect/decal/remains(loc) - new /obj/item/newspaper(loc) - new /turf/open/floor/plastic(loc) - new /obj/item/clothing/head/papersack/smiley(loc) //welcome to the bathroom - if(20)//Research & Zombies - visible_message("Flashing lights and quarantine alarms echo through the portal. You smell rotting flesh and plasma.") - playsound(loc,'sound/misc/bloblarm.ogg', 120, FALSE, 50, TRUE, TRUE) - if(prob(35)) - new /obj/item/storage/box/rndboards(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(35)) - new /obj/item/storage/box/stockparts/deluxe(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(15)) - new /obj/effect/spawner/lootdrop/stockparts(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(30)) - new /obj/item/circuitboard/machine/rdserver(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(35)) - new /obj/item/research_notes/loot/big(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/medium(loc) - if(prob(35)) - new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/small(loc) - if(prob(35)) - new /obj/item/pneumatic_cannon(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(prob(45)) - new /obj/item/research_notes/loot/medium(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - else - new /obj/item/research_notes/loot/small(loc) - new/turf/open/floor/mineral/titanium/purple(loc) - new /mob/living/simple_animal/hostile/human/zombie(loc) - if(21)//Silverback's locker room - visible_message("You catch a glimpse of verdant green. Smells like a locker room.") - playsound(loc,'sound/creatures/gorilla.ogg', 75, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/circuitboard/machine/dnascanner(loc) - if(prob(35)) - new /obj/item/circuitboard/computer/scan_consolenew(loc) - if(prob(25)) - new /obj/item/reagent_containers/hypospray/medipen/magillitis(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/thermal(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/storage/box/gorillacubes(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/hulkmut(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /obj/item/dnainjector/gigantism(loc) - if(prob(45)) - new /obj/item/dnainjector/dwarf(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - if(prob(35)) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /obj/item/dnainjector/telemut/darkbundle(loc) - if(prob(35)) - new /obj/item/dnainjector/insulated(loc) - new /mob/living/simple_animal/hostile/gorilla(loc) - new /obj/item/sequence_scanner(loc) - new /obj/structure/flora/grass/jungle(loc) - new /turf/open/floor/plating/grass/jungle(loc) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm deleted file mode 100644 index b3c9a8cbf230..000000000000 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ /dev/null @@ -1,187 +0,0 @@ -//Necropolis Tendrils, which spawn lavaland monsters and break into a chasm when killed -/obj/structure/spawner/lavaland - name = "necropolis tendril" - desc = "A vile tendril of corruption, originating deep underground. Terrible monsters are pouring out of it." - - icon_state = "tendril" - - faction = list("mining") - max_mobs = 5 - max_integrity = 450 - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril) - - move_resist = INFINITY // just killing it tears a massive hole in the ground, let's not move it - anchored = TRUE - resistance_flags = FIRE_PROOF | LAVA_PROOF - - hitsound_type = PROJECTILE_HITSOUND_FLESH - - var/gps = null - var/obj/effect/light_emitter/tendril/emitted_light - -GLOBAL_LIST_INIT(tendrils, list()) -/obj/structure/spawner/lavaland/Initialize() - . = ..() - emitted_light = new(loc) - for(var/F in RANGE_TURFS(1, src)) - if(ismineralturf(F)) - var/turf/closed/mineral/M = F - M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) - GLOB.tendrils += src - -/obj/structure/spawner/lavaland/deconstruct(disassembled) - new /obj/effect/collapse(loc) - new /obj/structure/closet/crate/necropolis/tendril(loc) - return ..() - - -/obj/structure/spawner/lavaland/Destroy() - var/last_tendril = TRUE - if(GLOB.tendrils.len>1) - last_tendril = FALSE - - if(last_tendril && !(flags_1 & ADMIN_SPAWNED_1)) - if(SSachievements.achievements_enabled) - for(var/mob/living/L in view(7,src)) - if(L.stat || !L.client) - continue - L.client.give_award(/datum/award/achievement/boss/tendril_exterminator, L) - L.client.give_award(/datum/award/score/tendril_score, L) //Progresses score by one - GLOB.tendrils -= src - QDEL_NULL(emitted_light) - return ..() - -/obj/effect/light_emitter/tendril - set_luminosity = 4 - set_cap = 2.5 - light_color = LIGHT_COLOR_LAVA - -/obj/effect/collapse - name = "collapsing necropolis tendril" - desc = "Get clear!" - layer = TABLE_LAYER - icon = 'icons/mob/nest.dmi' - icon_state = "tendril" - anchored = TRUE - density = TRUE - var/obj/effect/light_emitter/tendril/emitted_light - -/obj/effect/collapse/Initialize() - . = ..() - emitted_light = new(loc) - visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!") - visible_message("Something falls free of the tendril!") - playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE) - addtimer(CALLBACK(src, PROC_REF(collapse)), 50) - -/obj/effect/collapse/Destroy() - QDEL_NULL(emitted_light) - return ..() - -/obj/effect/collapse/proc/collapse() - for(var/mob/M in range(7,src)) - shake_camera(M, 15, 1) - playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("The tendril falls inward, the ground around it erupting into bubbling lava!") //WS edit. - for(var/turf/T in range(2,src)) - if(!T.density) - T.TerraformTurf(/turf/open/lava/smooth/lava_land_surface, /turf/open/lava/smooth/lava_land_surface, flags = CHANGETURF_INHERIT_AIR) //WS edit, instead of chasms this produces lava instead. - qdel(src) - - //these are good for mappers and already see use in some maps. - -/obj/structure/spawner/lavaland/goliath - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril) - -/obj/structure/spawner/lavaland/legion - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril) - -/obj/structure/spawner/lavaland/icewatcher - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing) - -/obj/structure/spawner/lavaland/whitesandsbasilisk - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk/whitesands) - - //these are ones that we want to see spawning on worlds. - -/obj/structure/spawner/lavaland/low_threat //this is the most common one, it shouldn't be a huge issue for most players. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 4 - spawn_time = 300 - -/obj/structure/spawner/lavaland/medium_threat //this is less common. It starts getting dangerous here. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 6 - spawn_time = 200 //they spawn a little faster - -/obj/structure/spawner/lavaland/high_threat //this should be rare. People will have trouble with this. - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 9 - spawn_time = 200 - -/obj/structure/spawner/lavaland/extreme_threat //extremely rare - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 27, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril = 26, - /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1, - /mob/living/simple_animal/hostile/asteroid/brimdemon = 20 - ) - max_mobs = 12 - spawn_time = 150 //bring a friend and some automatic weapons - -//and sand world ones. More legions, no brimdemons, no icewings. - -/obj/structure/spawner/lavaland/sand_world/low_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 5 - spawn_time = 300 - -/obj/structure/spawner/lavaland/sand_world/medium_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 7 - spawn_time = 200 - -/obj/structure/spawner/lavaland/sand_world/high_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 10 - spawn_time = 200 - -/obj/structure/spawner/lavaland/sand_world/extreme_threat - mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 20, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 40, - /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40 - ) - max_mobs = 12 - spawn_time = 150 diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 1ac3ec7546da..00944c197415 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -47,3 +47,11 @@ name = "\improper Mr. Deempisi portrait" desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'" icon_state = "monkey_painting" + +/obj/structure/plaque/listeningpost + name = "Listening Post Commemoration Plaque" + engraved = TRUE + +/obj/structure/plaque/listeningpost/Initialize() + . = ..() + desc = "Cybersun Virtual Solutions - Field Listening Post #[rand(107,356)]. Proudly built in [rand(478, 497)]." diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index 06d59e7390ea..d373f8eb94a9 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -578,7 +578,7 @@ /obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop loot = list( /obj/item/gun/energy/lasercannon = 1, - /obj/item/gun/ballistic/automatic/smg/proto = 1, + /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1, /obj/item/gun/energy/temperature/security = 1, ) /obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop @@ -673,7 +673,7 @@ /obj/effect/spawner/lootdrop/random_computer_circuit_rare loot = list( - /obj/item/circuitboard/computer/cargo/express = 5, + /obj/item/circuitboard/computer/cargo = 5, /obj/item/circuitboard/computer/communications = 5, /obj/item/circuitboard/computer/shuttle/helm = 5, /obj/item/circuitboard/computer/med_data = 5, @@ -683,7 +683,7 @@ /obj/effect/spawner/lootdrop/destructive_anal_loot //what do people usually put in these things anayways loot = list( /obj/item/storage/toolbox/syndicate/empty = 650, - /obj/item/gun/ballistic/automatic/pistol = 500, + /obj/item/gun/ballistic/automatic/pistol/syndicate = 500, /obj/item/camera_bug = 500, /obj/item/clothing/gloves/combat = 200, /obj/item/clothing/head/chameleon = 200, diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 475f2e00bcbc..5165e9ed649f 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -69,14 +69,14 @@ icon_state = "showcase_7" /obj/structure/showcase/mecha/marauder - name = "combat mech exhibit" - desc = "A stand with an empty old Nanotrasen Corporation combat mech bolted to it. It is described as the premier unit used to defend corporate interests and employees." + name = "combat exosuit exhibit" + desc = "A stand with an empty old Nanotrasen Corporation combat exosuit bolted to it. It is described as the premier unit used to defend corporate interests and employees." icon = 'icons/mecha/mecha.dmi' icon_state = "marauder" /obj/structure/showcase/mecha/ripley - name = "construction mech exhibit" - desc = "A stand with a retired construction mech bolted to it. The clamps are rated at 9300PSI. It seems to be falling apart." + name = "construction exosuit exhibit" + desc = "A stand with a retired construction exosuit bolted to it. The clamps are rated at 9300PSI. It seems to be falling apart." icon = 'icons/mecha/mecha.dmi' icon_state = "firefighter" diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm deleted file mode 100644 index d44606a1a57b..000000000000 --- a/code/game/objects/structures/spawner.dm +++ /dev/null @@ -1,153 +0,0 @@ -GLOBAL_LIST_INIT(astroloot, list( - /obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 50, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/hellstone = 5, - /obj/item/stack/ore/titanium = 75, - /obj/item/pickaxe/diamond = 15, - /obj/item/borg/upgrade/modkit/cooldown = 5, - /obj/item/borg/upgrade/modkit/damage = 5, - /obj/item/borg/upgrade/modkit/range = 5, - /obj/item/t_scanner/adv_mining_scanner/lesser = 15, - /obj/item/kinetic_crusher = 15, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, - /obj/item/tank/jetpack/suit = 10, - /obj/item/survivalcapsule = 15, - /obj/item/reagent_containers/hypospray/medipen/survival = 15, - /obj/item/gps/mining = 10, - /obj/item/extraction_pack = 10, - /obj/item/reagent_containers/food/drinks/beer = 15, - )) - -/obj/structure/spawner - name = "monster nest" - icon = 'icons/mob/nest.dmi' - icon_state = "hole" - max_integrity = 100 - - move_resist = MOVE_FORCE_EXTREMELY_STRONG - anchored = TRUE - density = TRUE - - var/max_mobs = 5 - var/spawn_time = 300 //30 seconds default - var/mob_types = list(/mob/living/simple_animal/hostile/carp) - var/spawn_text = "emerges from" - var/faction = list("hostile") - var/spawn_sound = list('sound/effects/break_stone.ogg') - var/spawner_type = /datum/component/spawner - var/spawn_distance_min = 1 - var/spawn_distance_max = 1 - -/obj/structure/spawner/Initialize() - . = ..() - AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max) - -/obj/structure/spawner/attack_animal(mob/living/simple_animal/M) - if(faction_check(faction, M.faction, FALSE)&&!M.client) - return - ..() - - -/obj/structure/spawner/syndicate - name = "warp beacon" - icon = 'icons/obj/device.dmi' - icon_state = "syndbeacon" - spawn_text = "warps in from" - mob_types = list(/mob/living/simple_animal/hostile/human/syndicate/ranged) - faction = list(ROLE_SYNDICATE) - -/obj/structure/spawner/skeleton - name = "bone pit" - desc = "A pit full of bones, and some still seem to be moving..." - max_integrity = 150 - max_mobs = 15 - spawn_time = 150 - mob_types = list(/mob/living/simple_animal/hostile/human/skeleton) - spawn_text = "climbs out of" - faction = list("skeleton") - -/obj/structure/spawner/clown - name = "Laughing Larry" - desc = "A laughing, jovial figure. Something seems stuck in his throat." - icon_state = "clownbeacon" - icon = 'icons/obj/device.dmi' - max_integrity = 200 - max_mobs = 15 - spawn_time = 150 - mob_types = list(/mob/living/simple_animal/hostile/retaliate/clown, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk, /mob/living/simple_animal/hostile/retaliate/clown/longface, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/chlown, /mob/living/simple_animal/hostile/retaliate/clown/clownhulk/honcmunculus, /mob/living/simple_animal/hostile/retaliate/clown/mutant/blob, /mob/living/simple_animal/hostile/retaliate/clown/banana, /mob/living/simple_animal/hostile/retaliate/clown/honkling, /mob/living/simple_animal/hostile/retaliate/clown/lube) - spawn_text = "climbs out of" - faction = list("clown") - -/obj/structure/spawner/carp - name = "carp spawn" //the non game spawn meaning - desc = "A puddle, which appears to be full of carp" - icon_state = "puddle" - icon = 'icons/obj/watercloset.dmi' - max_integrity = 150 - max_mobs = 5 - spawn_time = 1200 - mob_types = list(/mob/living/simple_animal/hostile/carp) - spawn_text = "climbs out of" - faction = list("carp") - -/obj/structure/spawner/mining/proc/adestroy_effect() - playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) - visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") - -/obj/structure/spawner/mining - name = "monster den" - desc = "A hole dug into the ground, harboring all kinds of monsters found within most caves or mining asteroids." - max_mobs = 3 - spawn_text = "crawls out of" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub, /mob/living/simple_animal/hostile/asteroid/goliath, /mob/living/simple_animal/hostile/asteroid/hivelord, /mob/living/simple_animal/hostile/asteroid/basilisk, /mob/living/simple_animal/hostile/asteroid/fugu) - faction = list("mining") - density = 0 - -/obj/structure/spawner/mining/deconstruct(disassembled) - adestroy_effect() - drop_astroloot() - return ..() - -/obj/structure/spawner/mining/proc/drop_astroloot() - for(var/type in GLOB.astroloot) - var/chance = GLOB.astroloot[type] - if(!prob(chance)) - continue - new type(loc, rand(5, 17)) - -/obj/structure/spawner/mining/goldgrub - name = "goldgrub den" - desc = "A den housing a nest of goldgrubs, annoying but arguably much better than anything else you'll find in a nest." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goldgrub) - -/obj/structure/spawner/mining/goliath - name = "goliath den" - desc = "A den housing a nest of goliaths, oh god why?" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/goliath) - -/obj/structure/spawner/mining/hivelord - name = "hivelord den" - desc = "A den housing a nest of hivelords." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord) - -/obj/structure/spawner/mining/basilisk - name = "basilisk den" - desc = "A den housing a nest of basilisks, bring a coat." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk) - -/obj/structure/spawner/mining/wumborian - name = "wumborian fugu den" - desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu) - -/obj/structure/spawner/mining/carp - name = "carp den" - desc = "A den housing a nest of space carp, seems fishy!" - mob_types = list(/mob/living/simple_animal/hostile/carp) - spawn_text = "emerges from" diff --git a/code/game/turfs/open/floor/plating/rockplanet.dm b/code/game/turfs/open/floor/plating/rockplanet.dm index eb0caa6485b1..b6324ebbb3d8 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -65,15 +65,63 @@ initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS name = "exterior plating" +/turf/open/floor/plating/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_VERY_LIGHT_GRAY /turf/open/floor/plasteel/stairs/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS name = "exterior stairs" - /turf/open/floor/engine/hull/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS /turf/open/floor/plasteel/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS name = "exterior floor" + +/turf/open/floor/plasteel/patterned/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_VERY_LIGHT_GRAY + name = "exterior floor" + +/turf/open/floor/plasteel/patterned/brushed/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/brushed/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_VERY_LIGHT_GRAY + name = "exterior floor" + +/turf/open/floor/plasteel/patterned/ridged/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plasteel/patterned/ridged/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_VERY_LIGHT_GRAY + name = "exterior floor" + +/turf/open/floor/plating/rust/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/plating/rust/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_VERY_LIGHT_GRAY + name = "exterior plating" + +/turf/open/floor/wood/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/pod/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/reinforced/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS diff --git a/code/game/turfs/open/floor/suns_floor.dm b/code/game/turfs/open/floor/suns_floor.dm index 9505bc5a33a5..efa1aa91a61a 100644 --- a/code/game/turfs/open/floor/suns_floor.dm +++ b/code/game/turfs/open/floor/suns_floor.dm @@ -15,12 +15,12 @@ floor_tile = /obj/item/stack/tile/suns/pattern /turf/open/floor/suns/hatch - name = "hatched white marble floor" + name = "hatched wooden floor" icon_state = "lighthatched" floor_tile = /obj/item/stack/tile/suns/hatch /turf/open/floor/suns/diagonal - name = "diagonal white marble floor" + name = "diagonal wooden floor" icon_state = "lightdiag" floor_tile = /obj/item/stack/tile/suns/diagonal diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9c4f15b9d460..42193738319e 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -103,6 +103,7 @@ GLOBAL_LIST_INIT(admin_verbs_fun, list( /client/proc/cmd_admin_gib_self, /client/proc/cmd_change_command_name, /client/proc/cmd_admin_create_centcom_report, + /client/proc/cmd_admin_distress_signal, /client/proc/drop_bomb, /client/proc/set_dynex_scale, /client/proc/drop_dynex_bomb, @@ -254,6 +255,7 @@ GLOBAL_LIST_INIT(admin_verbs_hideable, list( /client/proc/cinematic, /client/proc/cmd_admin_add_freeform_ai_law, /client/proc/cmd_admin_create_centcom_report, + /client/proc/cmd_admin_distress_signal, /client/proc/cmd_change_command_name, /client/proc/object_say, /client/proc/toggle_random_events, diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index f189fdf6106d..853d33e1b61b 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -360,6 +360,21 @@ message_admins("[key_name_admin(src)] has changed Central Command's name to [input]") log_admin("[key_name(src)] has changed the Central Command name to: [input]") +/client/proc/cmd_admin_distress_signal() + set category = "Event" + set name = "Create Distress Signal" + + var/datum/overmap/ship/ship = SSshuttle.get_ship(usr) + if(!ship) + return + var/confirm = alert(src, "Do you want to create a distress signal for [ship.name]", "Distress Signal", "Yes", "Cancel") + + switch(confirm) + if("Yes") + create_distress_beacon(ship) + if("Cancel") + return + /client/proc/cmd_admin_delete(atom/A as obj|mob|turf in world) set category = "Debug" set name = "Delete" diff --git a/code/modules/antagonists/ert/inteq.dm b/code/modules/antagonists/ert/inteq.dm index 591ad684cc1d..f4636487da5f 100644 --- a/code/modules/antagonists/ert/inteq.dm +++ b/code/modules/antagonists/ert/inteq.dm @@ -20,5 +20,5 @@ /datum/antagonist/ert/inteq/leader name = "Inteq Mercenary Leader" - outfit = /datum/outfit/job/inteq/captain + outfit = /datum/outfit/job/inteq/captain/empty role = "Vanguard" diff --git a/code/modules/atmospherics/auxgm/gas_types.dm b/code/modules/atmospherics/auxgm/gas_types.dm index fb0d7026a6d1..662b88046956 100644 --- a/code/modules/atmospherics/auxgm/gas_types.dm +++ b/code/modules/atmospherics/auxgm/gas_types.dm @@ -165,5 +165,30 @@ color = "#ffe" fusion_power = 0 fire_products = list(GAS_H2O = 1) + enthalpy = FIRE_HYDROGEN_ENERGY_RELEASED fire_burn_rate = 2 fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50 + +/datum/gas/chlorine + id = GAS_CHLORINE + specific_heat = 20 + name = "Chlorine" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE * 5 + gas_overlay = "nitrous_oxide" + color = "#FFFB89" + fusion_power = 0 + +/datum/gas/hydrogen_chloride + id = GAS_HYDROGEN_CHLORIDE + specific_heat = 40 + name = "Hydrogen Chloride" + flags = GAS_FLAG_DANGEROUS + moles_visible = MOLES_GAS_VISIBLE * 2 + gas_overlay = "nitrous_oxide" + color = "#5bfd45" + fusion_power = 0 + fire_products = list(GAS_CHLORINE = 1, GAS_H2O = 0.5) + enthalpy = 63000 + fire_burn_rate = 1 + fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST diff --git a/code/modules/atmospherics/gasmixtures/auxgm.dm b/code/modules/atmospherics/gasmixtures/auxgm.dm index b3a81dbb0e9c..e774d1060ec3 100644 --- a/code/modules/atmospherics/gasmixtures/auxgm.dm +++ b/code/modules/atmospherics/gasmixtures/auxgm.dm @@ -1,5 +1,5 @@ GLOBAL_LIST_INIT(hardcoded_gases, list(GAS_O2, GAS_N2, GAS_CO2, GAS_PLASMA)) //the main four gases, which were at one time hardcoded -GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GAS_PLUOXIUM, GAS_STIMULUM, GAS_NITRYL))) //unable to react amongst themselves +GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(GAS_O2, GAS_N2, GAS_CO2, GAS_PLUOXIUM, GAS_STIMULUM, GAS_NITRYL, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE))) //unable to react amongst themselves // Auxgm // It's a send-up of XGM, like what baystation got. diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 00ca2d22f76c..b824c1d78d61 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -825,3 +825,32 @@ if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) air.set_temperature(clamp((air.return_temperature()*old_heat_capacity + energy_released)/new_heat_capacity,TCMB,INFINITY)) return REACTING + +/datum/gas_reaction/hydrogen_chloride_formation + priority = 11 + name = "Hydrogen Chloride formation" + id = "hydrogenchlorideformation" + +/datum/gas_reaction/hydrogen_chloride_formation/init_reqs() + min_requirements = list( + GAS_CHLORINE = 5, + GAS_HYDROGEN = 5, + "TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST + ) + +/datum/gas_reaction/hydrogen_chloride_formation/react(datum/gas_mixture/air) + var/temperature = air.return_temperature() + var/old_heat_capacity = air.heat_capacity() + var/reaction_efficency = min((temperature/(FIRE_MINIMUM_TEMPERATURE_TO_EXIST*10)),air.get_moles(GAS_CHLORINE),air.get_moles(GAS_HYDROGEN)) + var/energy_released = reaction_efficency*185000 + if ((air.get_moles(GAS_CHLORINE) - reaction_efficency < 0)|| (air.get_moles(GAS_HYDROGEN) - (reaction_efficency) < 0) || energy_released <= 0) //Shouldn't produce gas from nothing. + return NO_REACTION + air.adjust_moles(GAS_HYDROGEN_CHLORIDE, reaction_efficency) + air.adjust_moles(GAS_HYDROGEN, -reaction_efficency) + air.adjust_moles(GAS_CHLORINE, -reaction_efficency) + + if(energy_released > 0) + var/new_heat_capacity = air.heat_capacity() + if(new_heat_capacity > MINIMUM_HEAT_CAPACITY) + air.set_temperature(max(((temperature*old_heat_capacity + energy_released)/new_heat_capacity),TCMB)) + return REACTING diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index e5a1be0294d6..236c7b040d99 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -106,6 +106,11 @@ var/alarm_frequency = FREQ_ATMOS_ALARMS var/datum/radio_frequency/radio_connection + //anything outright hazardous (flammable, toxic, generally Weird) + var/list/filter_basic = list(GAS_CO2, GAS_PLASMA, GAS_NITROUS, GAS_BZ, GAS_TRITIUM, GAS_NITRYL, GAS_FREON, GAS_HYDROGEN, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE) + //anything that isn't o2 or n2. + var/list/filter_extra = list(GAS_CO2, GAS_PLASMA, GAS_NITROUS, GAS_BZ, GAS_TRITIUM, GAS_NITRYL, GAS_FREON, GAS_HYDROGEN, GAS_CHLORINE, GAS_HYDROGEN_CHLORIDE, GAS_H2O, GAS_HYPERNOB, GAS_STIMULUM, GAS_PLUOXIUM) + var/list/TLV = list( // Breathable air. "pressure" = new/datum/tlv(HAZARD_LOW_PRESSURE, WARNING_LOW_PRESSURE, WARNING_HIGH_PRESSURE, HAZARD_HIGH_PRESSURE), // kPa. Values are min2, min1, max1, max2 "temperature" = new/datum/tlv(T0C, T0C+10, T0C+40, T0C+66), @@ -122,7 +127,9 @@ GAS_NITRYL = new/datum/tlv/dangerous, GAS_PLUOXIUM = new/datum/tlv(-1, -1, 5, 6), // Unlike oxygen, pluoxium does not fuel plasma/tritium fires GAS_FREON = new/datum/tlv/dangerous, - GAS_HYDROGEN = new/datum/tlv/dangerous + GAS_HYDROGEN = new/datum/tlv/dangerous, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous ) /obj/machinery/airalarm/server // No checks here. @@ -142,7 +149,9 @@ GAS_NITRYL = new/datum/tlv/no_checks, GAS_PLUOXIUM = new/datum/tlv/no_checks, GAS_FREON = new/datum/tlv/no_checks, - GAS_HYDROGEN = new/datum/tlv/no_checks + GAS_HYDROGEN = new/datum/tlv/no_checks, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous ) heating_manage = FALSE @@ -163,7 +172,9 @@ GAS_NITRYL = new/datum/tlv/dangerous, GAS_PLUOXIUM = new/datum/tlv(-1, -1, 1000, 1000), // Unlike oxygen, pluoxium does not fuel plasma/tritium fires GAS_FREON = new/datum/tlv/dangerous, - GAS_HYDROGEN = new/datum/tlv/dangerous + GAS_HYDROGEN = new/datum/tlv/dangerous, + GAS_CHLORINE = new/datum/tlv/dangerous, + GAS_HYDROGEN_CHLORIDE = new/datum/tlv/dangerous ) heating_manage = FALSE @@ -542,7 +553,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list(GAS_CO2, GAS_BZ), + "set_filters" = filter_basic, "scrubbing" = 1, "widenet" = 0 ), signal_source) @@ -556,20 +567,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list( - GAS_CO2, - GAS_PLASMA, - GAS_H2O, - GAS_HYPERNOB, - GAS_NITROUS, - GAS_NITRYL, - GAS_TRITIUM, - GAS_BZ, - GAS_STIMULUM, - GAS_PLUOXIUM, - GAS_FREON, - GAS_HYDROGEN - ), + "set_filters" = filter_extra, "scrubbing" = 1, "widenet" = 1 ), signal_source) @@ -596,7 +594,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) for(var/device_id in A.air_scrub_names) send_signal(device_id, list( "power" = 1, - "set_filters" = list(GAS_CO2, GAS_BZ), + "set_filters" = filter_basic, "scrubbing" = 1, "widenet" = 0 ), signal_source) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index f2e563c07b5e..cb6a1b9b0bb0 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -54,7 +54,9 @@ "caution" = /obj/machinery/portable_atmospherics/canister, "freon" = /obj/machinery/portable_atmospherics/canister/freon, "hydrogen" = /obj/machinery/portable_atmospherics/canister/hydrogen, - "fuel mix" = /obj/machinery/portable_atmospherics/canister/fuel + "fuel mix" = /obj/machinery/portable_atmospherics/canister/fuel, + "cl2" = /obj/machinery/portable_atmospherics/canister/chlorine, + "hcl" =/obj/machinery/portable_atmospherics/canister/hydrogen_chloride, ) /obj/machinery/portable_atmospherics/canister/interact(mob/user) @@ -170,6 +172,20 @@ air_contents.set_moles(GAS_HYDROGEN, 1000) air_contents.set_temperature(T20C) +/obj/machinery/portable_atmospherics/canister/chlorine + name = "chlorine canister" + desc = "chlorine" + icon_state = "greenys" + gas_type = GAS_CHLORINE + filled = 1 + +/obj/machinery/portable_atmospherics/canister/hydrogen_chloride + name = "hydrogen chloride canister" + desc = "awful" + icon_state = "greenyshaz" + gas_type = GAS_HYDROGEN_CHLORIDE + filled = 1 + /obj/machinery/portable_atmospherics/canister/fusion_test name = "fusion test canister" desc = "Don't be a badmin." diff --git a/code/modules/awaymissions/mission_code/caves.dm b/code/modules/awaymissions/mission_code/caves.dm index b7ab7c454d98..abaaceefd604 100644 --- a/code/modules/awaymissions/mission_code/caves.dm +++ b/code/modules/awaymissions/mission_code/caves.dm @@ -58,4 +58,4 @@ /obj/item/paper/fluff/awaymissions/caves/mech_notice name = "NOTICE!! paper" - default_raw_text = "
    NOTICE!!


    Although you may seem indestructible in a mech, remember, THIS SHIT ISN'T LAVA PROOF!! The boys have already had to deal with loosing the last two to salvage because the dumbass thought he could just wade through the lower lakes like it was nothing. The fact he even managed to get back without being fused with what was left of the mech is a miracle in itself. They're built to be resistant against extreme heat, not heat PROOF!


    Robotics Team" + default_raw_text = "
    NOTICE!!


    Although you may seem indestructible in an exosuit, remember, THIS SHIT ISN'T LAVA PROOF!! The boys have already had to deal with loosing the last two to salvage because the dumbass thought he could just wade through the lower lakes like it was nothing. The fact he even managed to get back without being fused with what was left of the exosuit is a miracle in itself. They're built to be resistant against extreme heat, not heat PROOF!


    Robotics Team" diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index b64a2abf02de..f2dbb91f3f0f 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -579,7 +579,7 @@ uniform = /obj/item/clothing/under/syndicate/coldres shoes = /obj/item/clothing/shoes/combat/coldres ears = /obj/item/radio/headset/syndicate/alt - r_pocket = /obj/item/gun/ballistic/automatic/pistol + r_pocket = /obj/item/gun/ballistic/automatic/pistol/syndicate id = /obj/item/card/id/syndicate implants = list(/obj/item/implant/exile) diff --git a/code/modules/buildmode/submodes/lightmaker.dm b/code/modules/buildmode/submodes/lightmaker.dm new file mode 100644 index 000000000000..2b50343c641a --- /dev/null +++ b/code/modules/buildmode/submodes/lightmaker.dm @@ -0,0 +1,31 @@ +/datum/buildmode_mode/lightmaker + key = "lightmaker" + + var/light_range = 3 + var/light_power = 1 + var/light_color = COLOR_WHITE + +/datum/buildmode_mode/lightmaker/show_help(client/target_client) + to_chat(target_client, span_purple(examine_block( + "[span_bold("Left Click")] -> Create light\n\ + [span_bold("Right Click")] -> Delete light\n\ + [span_bold("Right Click on Build Mode Button")] -> Change light properties")) + ) + +/datum/buildmode_mode/lightmaker/change_settings(client/target_client) + var/choice = alert("Change the new light range, power or color?", "Light Maker", "Range", "Power", "Color", "Cancel") + switch(choice) + if("Range") + light_range = input(target_client, "Range of light", text("Input")) as num|null + if("Power") + light_power = input(target_client, "Power of light", text("Input")) as num|null + if("Color") + light_color = input(target_client, "Light color", text("Input")) as color|null + +/datum/buildmode_mode/lightmaker/handle_click(client/target_client, params, obj/object) + var/list/modifiers = params2list(params) + + if(LAZYACCESS(modifiers, LEFT_CLICK)) + object.set_light(light_range, light_power, light_color) + if(LAZYACCESS(modifiers, RIGHT_CLICK)) + object.set_light(0,0,COLOR_WHITE) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm index 384886ac30d3..d24cbf68171d 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm @@ -125,7 +125,7 @@ /datum/blackmarket_item/tool/suppressor name = "Suppressor" desc = "A suppressor, for when you to keep your murder on the down low." - item = /obj/item/suppressor + item = /obj/item/attachment/silencer price_min = 100 price_max = 700 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 11fef220ee01..3d6b32a67569 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -150,7 +150,7 @@ /datum/blackmarket_item/weapon/saber_smg name = "Saber 9mm SMG" desc = "A prototype 9mm submachine gun. Most of these never got past the RND phase and into distribution. But we happen know a guy." - item = /obj/item/gun/ballistic/automatic/smg/proto + item = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto pair_item = /datum/blackmarket_item/weapon/saber_mag price_min = 2500 diff --git a/code/modules/cargo/bounties/chef.dm b/code/modules/cargo/bounties/chef.dm index d0e946ba2a6e..969a41601fbb 100644 --- a/code/modules/cargo/bounties/chef.dm +++ b/code/modules/cargo/bounties/chef.dm @@ -2,7 +2,7 @@ name = "Birthday Cake" description = "Nanotrasen's birthday is coming up! Ship them a birthday cake to celebrate!" reward = 4000 - wanted_types = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday, /obj/item/reagent_containers/food/snacks/cakeslice/birthday) + wanted_types = list(/obj/item/food/cake/birthday, /obj/item/food/cakeslice/birthday) /datum/bounty/item/chef/soup name = "Soup" @@ -43,7 +43,7 @@ name = "Bread" description = "Problems with central planning have led to bread prices skyrocketing. Ship some bread to ease tensions." reward = 1000 - wanted_types = list(/obj/item/reagent_containers/food/snacks/store/bread, /obj/item/reagent_containers/food/snacks/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) + wanted_types = list(/obj/item/food/bread, /obj/item/food/breadslice, /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/pizzabread, /obj/item/reagent_containers/food/snacks/rawpastrybase) /datum/bounty/item/chef/pie name = "Pie" diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index 143480b2bc71..82fd2c11d01a 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -1,42 +1,57 @@ +#define BEACON_COST 500 +#define SP_LINKED 1 +#define SP_READY 2 +#define SP_LAUNCH 3 +#define SP_UNLINK 4 +#define SP_UNREADY 5 + /obj/machinery/computer/cargo - name = "supply console" - desc = "Used to order supplies, approve requests, and control the shuttle." - icon_screen = "supply" + name = "outpost communications console" + desc = "This console allows the user to communicate with a nearby outpost to \ + purchase supplies and manage missions. Purchases are delivered near-instantly." + icon_screen = "supply_express" circuit = /obj/item/circuitboard/computer/cargo light_color = COLOR_BRIGHT_ORANGE - var/requestonly = FALSE var/contraband = FALSE var/self_paid = FALSE var/safety_warning = "For safety reasons, the automated supply shuttle \ cannot transport live organisms, human remains, classified nuclear weaponry, \ homing beacons or machinery housing any form of artificial intelligence." - var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible." - /// radio used by the console to send messages on supply channel - var/obj/item/radio/headset/radio /// var that tracks message cooldown var/message_cooldown - -/obj/machinery/computer/cargo/request - name = "supply request console" - desc = "Used to request supplies from cargo." - icon_screen = "request" - circuit = /obj/item/circuitboard/computer/cargo/request - requestonly = TRUE + var/blockade_warning = "Bluespace instability detected. Delivery impossible." + var/message + /// Number of beacons printed. Used to determine beacon names. + var/printed_beacons = 0 + var/list/supply_pack_data + /// The currently linked supplypod beacon + var/obj/item/supplypod_beacon/beacon + /// Area instance that cargo pods are sent to + var/area/landingzone + /// The pod type used to deliver orders + var/podType = /obj/structure/closet/supplypod/centcompod + /// Cooldown to prevent printing supplypod beacon spam + var/cooldown = 0 + /// Is the console in beacon mode? exists to let beacon know when a pod may come in + var/use_beacon = FALSE + /// The account to charge purchases to, defaults to the cargo budget + var/datum/bank_account/charge_account /obj/machinery/computer/cargo/Initialize() . = ..() - radio = new /obj/item/radio/headset/headset_cargo(src) var/obj/item/circuitboard/computer/cargo/board = circuit contraband = board.contraband if (board.obj_flags & EMAGGED) obj_flags |= EMAGGED else obj_flags &= ~EMAGGED + generate_pack_data() /obj/machinery/computer/cargo/Destroy() - QDEL_NULL(radio) + if(beacon) + beacon.unlink_console() return ..() /obj/machinery/computer/cargo/proc/get_export_categories() @@ -65,49 +80,68 @@ /obj/machinery/computer/cargo/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "Cargo", name) + ui = new(user, src, "OutpostCommunications", name) ui.open() + if(!charge_account) + reconnect() -/obj/machinery/computer/cargo/ui_data() +/obj/machinery/computer/cargo/ui_data(mob/user) + var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? var/list/data = list() - data["location"] = SSshuttle.supply.getStatusText() - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) + + // not a big fan of get_containing_shuttle + var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) + var/datum/overmap/ship/controlled/ship + var/outpost_docked = FALSE if(D) - data["points"] = D.account_balance - data["away"] = SSshuttle.supply.get_docked() == SSshuttle.supply_away_port - data["self_paid"] = self_paid - data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE - var/message = "Remember to stamp and send back the supply manifests." - if(SSshuttle.centcom_message) - message = SSshuttle.centcom_message + ship = D.current_ship + outpost_docked = istype(ship.docked_to, /datum/overmap/outpost) + + data["onShip"] = !isnull(ship) + data["numMissions"] = ship ? LAZYLEN(ship.missions) : 0 + data["maxMissions"] = ship ? ship.max_missions : 0 + data["outpostDocked"] = outpost_docked + data["points"] = charge_account ? charge_account.account_balance : 0 + data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) + data["beaconZone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui + data["usingBeacon"] = use_beacon //is the mode set to deliver to the beacon or the cargobay? + data["canBeacon"] = !use_beacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? + data["canBuyBeacon"] = charge_account ? (cooldown <= 0 && charge_account.account_balance >= BEACON_COST) : FALSE + data["beaconError"] = use_beacon && !canBeacon ? "(BEACON ERROR)" : ""//changes button text to include an error alert if necessary + data["hasBeacon"] = beacon != null//is there a linked beacon? + data["beaconName"] = beacon ? beacon.name : "No Beacon Found" + data["printMsg"] = cooldown > 0 ? "Print Beacon for [BEACON_COST] credits ([cooldown])" : "Print Beacon for [BEACON_COST] credits"//buttontext for printing beacons + data["supplies"] = list() + message = "Sales are near-instantaneous - please choose carefully." if(SSshuttle.supplyBlocked) message = blockade_warning + if(use_beacon && !beacon) + message = "BEACON ERROR: BEACON MISSING"//beacon was destroyed + else if (use_beacon && !canBeacon) + message = "BEACON ERROR: MUST BE EXPOSED"//beacon's loc/user's loc must be a turf data["message"] = message - data["cart"] = list() - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - data["cart"] += list(list( - "object" = SO.pack.name, - "cost" = SO.pack.cost, - "id" = SO.id, - "orderer" = SO.orderer, - "paid" = !isnull(SO.paying_account) //paid by requester - )) + if(!supply_pack_data) + generate_pack_data() + stack_trace("You didn't give the cargo tech good advice, and he ripped the manifest. As a result, there was no pack data for [src]") + data["supplies"] = supply_pack_data + if (cooldown > 0)//cooldown used for printing beacons + cooldown-- - data["requests"] = list() - for(var/datum/supply_order/SO in SSshuttle.requestlist) - data["requests"] += list(list( - "object" = SO.pack.name, - "cost" = SO.pack.cost, - "orderer" = SO.orderer, - "reason" = SO.reason, - "id" = SO.id - )) + data["shipMissions"] = list() + data["outpostMissions"] = list() + + if(ship) + for(var/datum/mission/M as anything in ship.missions) + data["shipMissions"] += list(M.get_tgui_info()) + if(outpost_docked) + var/datum/overmap/outpost/out = ship.docked_to + for(var/datum/mission/M as anything in out.missions) + data["outpostMissions"] += list(M.get_tgui_info()) return data /obj/machinery/computer/cargo/ui_static_data(mob/user) var/list/data = list() - data["requestonly"] = requestonly data["supplies"] = list() for(var/pack in SSshuttle.supply_packs) var/datum/supply_pack/P = SSshuttle.supply_packs[pack] @@ -116,7 +150,7 @@ "name" = P.group, "packs" = list() ) - if((P.hidden && !(obj_flags & EMAGGED)) || (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.DropPodOnly) + if(P.hidden && !(obj_flags & EMAGGED)) continue data["supplies"][P.group]["packs"] += list(list( "name" = P.name, @@ -124,7 +158,6 @@ "id" = pack, "desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name. "small_item" = P.small_item, - "access" = P.access )) return data @@ -133,115 +166,154 @@ if(.) return switch(action) - if("send") - if(!SSshuttle.supply.canMove()) - say(safety_warning) + if("withdrawCash") + var/val = text2num(params["value"]) + // no giving yourself money + if(!charge_account || !val || val <= 0) return - if(SSshuttle.supplyBlocked) - say(blockade_warning) - return - if(SSshuttle.supply.get_docked() == SSshuttle.supply_home_port) - SSshuttle.supply.export_categories = get_export_categories() - SSshuttle.moveShuttle(SSshuttle.supply, SSshuttle.supply_away_port, TRUE) - say("The supply shuttle is departing.") - investigate_log("[key_name(usr)] sent the supply shuttle away.", INVESTIGATE_CARGO) - else - investigate_log("[key_name(usr)] called the supply shuttle.", INVESTIGATE_CARGO) - say("The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.") - SSshuttle.moveShuttle(SSshuttle.supply, SSshuttle.supply_home_port, TRUE) - . = TRUE + if(charge_account.adjust_money(-val)) + var/obj/item/holochip/cash_chip = new /obj/item/holochip(drop_location(), val) + if(ishuman(usr)) + var/mob/living/carbon/human/user = usr + user.put_in_hands(cash_chip) + playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) + src.visible_message("[src] dispenses a holochip.") + return TRUE + + if("LZCargo") + use_beacon = FALSE + if (beacon) + beacon.update_status(SP_UNREADY) //ready light on beacon will turn off + if("LZBeacon") + use_beacon = TRUE + if (beacon) + beacon.update_status(SP_READY) //turns on the beacon's ready light + if("printBeacon") + if(charge_account?.adjust_money(-BEACON_COST)) + cooldown = 10//a ~ten second cooldown for printing beacons to prevent spam + var/obj/item/supplypod_beacon/C = new /obj/item/supplypod_beacon(drop_location()) + C.link_console(src, usr)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) + printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 + beacon.name = "Supply Pod Beacon #[printed_beacons]" if("add") - if(istype(src, /obj/machinery/computer/cargo/express)) - return - var/id = text2path(params["id"]) - var/datum/supply_pack/pack = SSshuttle.supply_packs[id] - if(!istype(pack)) - return - if((pack.hidden && !(obj_flags & EMAGGED)) || (pack.contraband && !contraband) || pack.DropPodOnly) + var/area/ship/current_area = get_area(src) + var/datum/supply_pack/pack = SSshuttle.supply_packs[text2path(params["id"])] + if( \ + !pack || !charge_account?.has_money(pack.cost) || !istype(current_area) || \ + !istype(current_area.mobile_port.current_ship.docked_to, /datum/overmap/outpost) \ + ) return - var/name = "*None Provided*" - var/rank = "*None Provided*" - var/ckey = usr.ckey - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - name = H.get_authentification_name() - rank = H.get_assignment(hand_first = TRUE) - else if(issilicon(usr)) - name = usr.real_name - rank = "Silicon" - - var/datum/bank_account/account - if(self_paid && ishuman(usr)) - var/mob/living/carbon/human/H = usr - var/obj/item/card/id/id_card = H.get_idcard(TRUE) - if(!istype(id_card)) - say("No ID card detected.") - return - account = id_card.registered_account - if(!istype(account)) - say("Invalid bank account.") - return + var/turf/landing_turf + if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay + landing_turf = get_turf(beacon) + beacon.update_status(SP_LAUNCH) + else if(!use_beacon)// find a suitable supplypod landing zone in cargobay + var/list/empty_turfs = list() + if(!landingzone) + reconnect() + if(!landingzone) + WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") + landingzone = get_area(src) + for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone + if(T.is_blocked_turf()) + continue + empty_turfs += T + CHECK_TICK + landing_turf = pick(empty_turfs) + + // note that, because of CHECK_TICK above, we aren't sure if we can + // afford the pack, even though we checked earlier. luckily adjust_money + // returns false if the account can't afford the price + if(landing_turf && charge_account.adjust_money(-pack.cost)) + var/name = "*None Provided*" + var/rank = "*None Provided*" + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + name = H.get_authentification_name() + rank = H.get_assignment(hand_first = TRUE) + else if(issilicon(usr)) + name = usr.real_name + rank = "Silicon" + var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") + new /obj/effect/pod_landingzone(landing_turf, podType, SO) + update_appearance() // ?????????????????? + return TRUE - var/reason = "" - if(requestonly && !self_paid) - reason = stripped_input("Reason:", name, "") - if(isnull(reason) || ..()) + if("mission-act") + var/datum/mission/mission = locate(params["ref"]) + var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) + var/datum/overmap/ship/controlled/ship = D.current_ship + var/datum/overmap/outpost/outpost = ship.docked_to + if(!istype(outpost) || mission.source_outpost != outpost) // important to check these to prevent href fuckery + return + if(!mission.accepted) + if(LAZYLEN(ship.missions) >= ship.max_missions) return + mission.accept(ship, loc) + return TRUE + else if(mission.servant == ship) + if(mission.can_complete()) + mission.turn_in() + else + mission.give_up() + return TRUE - var/turf/T = get_turf(src) - var/datum/supply_order/SO = new(pack, name, rank, ckey, reason, account) - SO.generateRequisition(T) - if(requestonly && !self_paid) - SSshuttle.requestlist += SO - else - SSshuttle.shoppinglist += SO - if(self_paid) - say("Order processed. The price will be charged to [account.account_holder]'s bank account on delivery.") - if(requestonly && message_cooldown < world.time) - radio.talk_into(src, "A new order has been requested.", RADIO_CHANNEL_COMMAND) - message_cooldown = world.time + 30 SECONDS - . = TRUE - if("remove") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - if(SO.id == id) - SSshuttle.shoppinglist -= SO - . = TRUE - break - if("clear") - SSshuttle.shoppinglist.Cut() - . = TRUE - if("approve") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.requestlist) - if(SO.id == id) - SSshuttle.requestlist -= SO - SSshuttle.shoppinglist += SO - . = TRUE - break - if("deny") - var/id = text2num(params["id"]) - for(var/datum/supply_order/SO in SSshuttle.requestlist) - if(SO.id == id) - SSshuttle.requestlist -= SO - . = TRUE - break - if("denyall") - SSshuttle.requestlist.Cut() - . = TRUE - if("toggleprivate") - self_paid = !self_paid - . = TRUE - if(.) - post_signal("supply") +/obj/machinery/computer/cargo/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + . = ..() + reconnect(port) -/obj/machinery/computer/cargo/proc/post_signal(command) +/obj/machinery/computer/cargo/proc/reconnect(obj/docking_port/mobile/port) + if(!port) + var/area/ship/current_area = get_area(src) + if(!istype(current_area)) + return + port = current_area.mobile_port + if(!port) + return + charge_account = port.current_ship.ship_account + landingzone = locate(/area/ship/cargo) in port.shuttle_areas - var/datum/radio_frequency/frequency = SSradio.return_frequency(FREQ_STATUS_DISPLAYS) +/obj/machinery/computer/cargo/attackby(obj/item/W, mob/living/user, params) + var/value = W.get_item_credit_value() + if(value && charge_account) + charge_account.adjust_money(value) + to_chat(user, "You deposit [W]. The Vessel Budget is now [charge_account.account_balance] cr.") + qdel(W) + return TRUE + else if(istype(W, /obj/item/supplypod_beacon)) + var/obj/item/supplypod_beacon/sb = W + if (sb.cargo_console != src) + sb.link_console(src, user) + return TRUE + else + to_chat(user, "[src] is already linked to [sb].") + ..() - if(!frequency) - return +/obj/machinery/computer/cargo/proc/generate_pack_data() + supply_pack_data = list() + for(var/pack in SSshuttle.supply_packs) + var/datum/supply_pack/P = SSshuttle.supply_packs[pack] + if(!supply_pack_data[P.group]) + supply_pack_data[P.group] = list( + "name" = P.group, + "packs" = list() + ) + if((P.hidden)) + continue + supply_pack_data[P.group]["packs"] += list(list( + "name" = P.name, + "cost" = P.cost, + "id" = pack, + "desc" = P.desc || P.name // If there is a description, use it. Otherwise use the pack's name. + )) + +/obj/machinery/computer/cargo/retro + icon = 'icons/obj/machines/retro_computer.dmi' + icon_state = "computer-retro" + deconpath = /obj/structure/frame/computer/retro - var/datum/signal/status_signal = new(list("command" = command)) - frequency.post_signal(src, status_signal) +/obj/machinery/computer/cargo/solgov + icon = 'icons/obj/machines/retro_computer.dmi' + icon_state = "computer-solgov" + deconpath = /obj/structure/frame/computer/solgov diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm deleted file mode 100644 index 81409d63d031..000000000000 --- a/code/modules/cargo/expressconsole.dm +++ /dev/null @@ -1,262 +0,0 @@ -#define BEACON_COST 500 -#define SP_LINKED 1 -#define SP_READY 2 -#define SP_LAUNCH 3 -#define SP_UNLINK 4 -#define SP_UNREADY 5 - -/obj/machinery/computer/cargo/express - name = "outpost communications console" - desc = "This console allows the user to communicate with a nearby outpost to \ - purchase supplies and manage missions. Purchases are delivered near-instantly." - icon_screen = "supply_express" - circuit = /obj/item/circuitboard/computer/cargo/express - var/blockade_warning = "Bluespace instability detected. Delivery impossible." - - var/message - /// Number of beacons printed. Used to determine beacon names. - var/printed_beacons = 0 - var/list/meme_pack_data - /// The currently linked supplypod beacon - var/obj/item/supplypod_beacon/beacon - /// Area instance that cargo pods are sent to - var/area/landingzone - /// The pod type used to deliver orders - var/podType = /obj/structure/closet/supplypod/centcompod - /// Cooldown to prevent printing supplypod beacon spam - var/cooldown = 0 - /// Is the console in beacon mode? exists to let beacon know when a pod may come in - var/use_beacon = FALSE - /// The account to charge purchases to, defaults to the cargo budget - var/datum/bank_account/charge_account - -/obj/machinery/computer/cargo/express/retro - icon = 'icons/obj/machines/retro_computer.dmi' - icon_state = "computer-retro" - deconpath = /obj/structure/frame/computer/retro - -/obj/machinery/computer/cargo/express/solgov - icon = 'icons/obj/machines/retro_computer.dmi' - icon_state = "computer-solgov" - deconpath = /obj/structure/frame/computer/solgov - -/obj/machinery/computer/cargo/express/Initialize() - . = ..() - packin_up() - -/obj/machinery/computer/cargo/express/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - . = ..() - reconnect(port) - -/obj/machinery/computer/cargo/express/proc/reconnect(obj/docking_port/mobile/port) - if(!port) - var/area/ship/current_area = get_area(src) - if(!istype(current_area)) - return - port = current_area.mobile_port - if(!port) - return - charge_account = port.current_ship.ship_account - landingzone = locate(/area/ship/cargo) in port.shuttle_areas - -/obj/machinery/computer/cargo/express/Destroy() - if(beacon) - beacon.unlink_console() - return ..() - -/obj/machinery/computer/cargo/express/attackby(obj/item/W, mob/living/user, params) - var/value = W.get_item_credit_value() - if(value && charge_account) - charge_account.adjust_money(value) - to_chat(user, "You deposit [W]. The Vessel Budget is now [charge_account.account_balance] cr.") - qdel(W) - return TRUE - else if(istype(W, /obj/item/supplypod_beacon)) - var/obj/item/supplypod_beacon/sb = W - if (sb.express_console != src) - sb.link_console(src, user) - return TRUE - else - to_chat(user, "[src] is already linked to [sb].") - ..() - -/obj/machinery/computer/cargo/express/proc/packin_up() // oh shit, I'm sorry - meme_pack_data = list() // sorry for what? - for(var/pack in SSshuttle.supply_packs) // our quartermaster taught us not to be ashamed of our supply packs - var/datum/supply_pack/P = SSshuttle.supply_packs[pack] // specially since they're such a good price and all - if(!meme_pack_data[P.group]) // yeah, I see that, your quartermaster gave you good advice - meme_pack_data[P.group] = list( // it gets cheaper when I return it - "name" = P.group, // mmhm - "packs" = list() // sometimes, I return it so much, I rip the manifest - ) // see, my quartermaster taught me a few things too - if((P.hidden)) // like, how not to rip the manifest - continue// by using someone else's crate - meme_pack_data[P.group]["packs"] += list(list( - "name" = P.name, - "cost" = P.cost, - "id" = pack, - "desc" = P.desc || P.name // If there is a description, use it. Otherwise use the pack's name. - )) - -/obj/machinery/computer/cargo/express/ui_interact(mob/living/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "OutpostCommunications", name) - ui.open() - if(!charge_account) - reconnect() - -/obj/machinery/computer/cargo/express/ui_data(mob/user) - var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? - var/list/data = list() - - // not a big fan of get_containing_shuttle - var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) - var/datum/overmap/ship/controlled/ship - var/outpost_docked = FALSE - if(D) - ship = D.current_ship - outpost_docked = istype(ship.docked_to, /datum/overmap/outpost) - - data["onShip"] = !isnull(ship) - data["numMissions"] = ship ? LAZYLEN(ship.missions) : 0 - data["maxMissions"] = ship ? ship.max_missions : 0 - data["outpostDocked"] = outpost_docked - data["points"] = charge_account ? charge_account.account_balance : 0 - data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) - data["beaconZone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui - data["usingBeacon"] = use_beacon //is the mode set to deliver to the beacon or the cargobay? - data["canBeacon"] = !use_beacon || canBeacon //is the mode set to beacon delivery, and is the beacon in a valid location? - data["canBuyBeacon"] = charge_account ? (cooldown <= 0 && charge_account.account_balance >= BEACON_COST) : FALSE - data["beaconError"] = use_beacon && !canBeacon ? "(BEACON ERROR)" : ""//changes button text to include an error alert if necessary - data["hasBeacon"] = beacon != null//is there a linked beacon? - data["beaconName"] = beacon ? beacon.name : "No Beacon Found" - data["printMsg"] = cooldown > 0 ? "Print Beacon for [BEACON_COST] credits ([cooldown])" : "Print Beacon for [BEACON_COST] credits"//buttontext for printing beacons - data["supplies"] = list() - message = "Sales are near-instantaneous - please choose carefully." - if(SSshuttle.supplyBlocked) - message = blockade_warning - if(use_beacon && !beacon) - message = "BEACON ERROR: BEACON MISSING"//beacon was destroyed - else if (use_beacon && !canBeacon) - message = "BEACON ERROR: MUST BE EXPOSED"//beacon's loc/user's loc must be a turf - data["message"] = message - if(!meme_pack_data) - packin_up() - stack_trace("You didn't give the cargo tech good advice, and he ripped the manifest. As a result, there was no pack data for [src]") - data["supplies"] = meme_pack_data - if (cooldown > 0)//cooldown used for printing beacons - cooldown-- - - data["shipMissions"] = list() - data["outpostMissions"] = list() - - if(ship) - for(var/datum/mission/M as anything in ship.missions) - data["shipMissions"] += list(M.get_tgui_info()) - if(outpost_docked) - var/datum/overmap/outpost/out = ship.docked_to - for(var/datum/mission/M as anything in out.missions) - data["outpostMissions"] += list(M.get_tgui_info()) - - return data - -/obj/machinery/computer/cargo/express/ui_act(action, params, datum/tgui/ui) - . = ..() - if(.) - return - - switch(action) - if("withdrawCash") - var/val = text2num(params["value"]) - // no giving yourself money - if(!charge_account || !val || val <= 0) - return - if(charge_account.adjust_money(-val)) - var/obj/item/holochip/cash_chip = new /obj/item/holochip(drop_location(), val) - if(ishuman(usr)) - var/mob/living/carbon/human/user = usr - user.put_in_hands(cash_chip) - playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE) - src.visible_message("[src] dispenses a holochip.") - return TRUE - - if("LZCargo") - use_beacon = FALSE - if (beacon) - beacon.update_status(SP_UNREADY) //ready light on beacon will turn off - if("LZBeacon") - use_beacon = TRUE - if (beacon) - beacon.update_status(SP_READY) //turns on the beacon's ready light - if("printBeacon") - if(charge_account?.adjust_money(-BEACON_COST)) - cooldown = 10//a ~ten second cooldown for printing beacons to prevent spam - var/obj/item/supplypod_beacon/C = new /obj/item/supplypod_beacon(drop_location()) - C.link_console(src, usr)//rather than in beacon's Initialize(), we can assign the computer to the beacon by reusing this proc) - printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 - beacon.name = "Supply Pod Beacon #[printed_beacons]" - - if("add") - var/area/ship/current_area = get_area(src) - var/datum/supply_pack/pack = SSshuttle.supply_packs[text2path(params["id"])] - if( \ - !pack || !charge_account?.has_money(pack.cost) || !istype(current_area) || \ - !istype(current_area.mobile_port.current_ship.docked_to, /datum/overmap/outpost) \ - ) - return - - var/turf/landing_turf - if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay - landing_turf = get_turf(beacon) - beacon.update_status(SP_LAUNCH) - else if(!use_beacon)// find a suitable supplypod landing zone in cargobay - var/list/empty_turfs = list() - if(!landingzone) - reconnect() - if(!landingzone) - WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") - landingzone = get_area(src) - for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone - if(T.is_blocked_turf()) - continue - empty_turfs += T - CHECK_TICK - landing_turf = pick(empty_turfs) - - // note that, because of CHECK_TICK above, we aren't sure if we can - // afford the pack, even though we checked earlier. luckily adjust_money - // returns false if the account can't afford the price - if(landing_turf && charge_account.adjust_money(-pack.cost)) - var/name = "*None Provided*" - var/rank = "*None Provided*" - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - name = H.get_authentification_name() - rank = H.get_assignment(hand_first = TRUE) - else if(issilicon(usr)) - name = usr.real_name - rank = "Silicon" - var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") - new /obj/effect/pod_landingzone(landing_turf, podType, SO) - update_appearance() // ?????????????????? - return TRUE - - if("mission-act") - var/datum/mission/mission = locate(params["ref"]) - var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) - var/datum/overmap/ship/controlled/ship = D.current_ship - var/datum/overmap/outpost/outpost = ship.docked_to - if(!istype(outpost) || mission.source_outpost != outpost) // important to check these to prevent href fuckery - return - if(!mission.accepted) - if(LAZYLEN(ship.missions) >= ship.max_missions) - return - mission.accept(ship, loc) - return TRUE - else if(mission.servant == ship) - if(mission.can_complete()) - mission.turn_in() - else - mission.give_up() - return TRUE diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 0b77a0f00afe..efcc24cc7ae6 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -28,7 +28,7 @@ name = ".38 Speedloader Crate" desc = "Contains a .38 speedloader for revolvers, containing six rounds." contains = list(/obj/item/ammo_box/c38) - cost = 350 + cost = 250 /datum/supply_pack/ammo/m10mm_mag name = "10mm Stechkin Magazine Crate" @@ -81,7 +81,7 @@ */ /datum/supply_pack/ammo/winchester_ammo - name = "Flaming Arrow and Detective Special .38 Ammo Boxes" + name = ".38 Ammo Boxes Crate" desc = "Contains two 50 round ammo boxes for refilling .38 weapons." cost = 250 contains = list(/obj/item/ammo_box/c38_box, @@ -149,12 +149,6 @@ contains = list(/obj/item/ammo_box/amagpellet_claris) cost = 1000 -/datum/supply_pack/ammo/a300 - name = ".300 Magnum Stripper Clip Crate" - desc = "Contains a five round .300 Magnum stripper clip for sniper rifles such as the HP Scout." - contains = list(/obj/item/ammo_box/a300) - cost = 750 - /datum/supply_pack/ammo/ebr_ammo name = "M514 EBR .308 Magazine Crate" desc = "Contains a .308 magazine for the M514 EBR rifle, containing ten rounds." @@ -173,12 +167,6 @@ contains = list(/obj/item/ammo_box/magazine/p16) cost = 1000 -/datum/supply_pack/ammo/a850r_ammo - name = "8x50mmR En Bloc Clip Crate" - desc = "Contains a 8x50mmR en bloc clip for rifles like the illestren rifle, containing five rounds." - contains = list(/obj/item/ammo_box/magazine/illestren_a850r) - cost = 250 - /datum/supply_pack/ammo/a762_ammo_box name = "7.62x40mm CLIP Ammo Box Crate" desc = "Contains a eighty-round 7.62x40mm CLIP box for the SKM rifles." diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index fa63529b7955..ed06391dfe98 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -118,13 +118,13 @@ new /obj/item/kitchen/knife/switchblade(C) /datum/supply_pack/costumes_toys/mech_suits - name = "Mech Pilot's Suit Crate" + name = "Exosuit Pilot's Suit Crate" desc = "Suits for piloting big robots. Contains all three colors!" cost = 1500 //state-of-the-art technology doesn't come cheap contains = list(/obj/item/clothing/under/costume/mech_suit, /obj/item/clothing/under/costume/mech_suit/white, /obj/item/clothing/under/costume/mech_suit/blue) - crate_name = "mech pilot's suit crate" + crate_name = "exosuit pilot's suit crate" crate_type = /obj/structure/closet/crate/wooden /datum/supply_pack/costumes_toys/wizard diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index 3627633bcb77..3759dc6d8d11 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -8,25 +8,25 @@ /datum/supply_pack/emergency/internals name = "Internals Crate" - desc = "Two gas masks, two breathing masks, and four empty oxygen tanks of varying size. Oxygen canister sold separately." - cost = 500 - contains = list(/obj/item/clothing/mask/gas, - /obj/item/clothing/mask/gas, + desc = "Contains four breathing masks, three advanced emergency oxygen tanks and one large oxygen tank. Oxygen canister sold separately." + cost = 100 + contains = list(/obj/item/clothing/mask/breath, + /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, /obj/item/clothing/mask/breath, - /obj/item/tank/internals/emergency_oxygen/empty, - /obj/item/tank/internals/emergency_oxygen/empty, - /obj/item/tank/internals/oxygen/empty, - /obj/item/tank/internals/oxygen/empty) + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/emergency_oxygen/engi, + /obj/item/tank/internals/oxygen) crate_name = "internals crate" /datum/supply_pack/emergency/plasmaman_tank - name = "Plasmaman Tank Kit" - desc = "Contains two empty plasmaman belt tanks, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately. Warranty void if filled with flammable gas." - cost = 500 - contains = list(/obj/item/tank/internals/plasmaman/belt/empty, - /obj/item/tank/internals/plasmaman/belt/empty) - crate_name = "plasmaman tank kit" + name = "Plasmaman Internals Crate" + desc = "Contains two plasmaman belt tanks, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately." + cost = 100 + contains = list(/obj/item/tank/internals/plasmaman/belt, + /obj/item/tank/internals/plasmaman/belt) + crate_name = "plasmaman internals crate" /datum/supply_pack/emergency/plasmaman_suit name = "Plasmaman Suit Kit" diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 7abc0188f9d9..9c366406af5c 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -25,7 +25,7 @@ /datum/supply_pack/food/pizza name = "Pizza Crate" desc = "Best prices on this side of the galaxy. All deliveries are guaranteed to be 99.5% anomaly-free!" - cost = 6000 // Best prices this side of the galaxy. + cost = 3000// Best prices this side of the galaxy. contains = list(/obj/item/pizzabox/margherita, /obj/item/pizzabox/mushroom, /obj/item/pizzabox/meat, @@ -163,10 +163,10 @@ name = "Bread Crate" desc = "A crate full of various breads. Bready to either be eaten or made into delicious meals." cost = 1000 - contains = list(/obj/item/reagent_containers/food/snacks/store/bread/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, - /obj/item/reagent_containers/food/snacks/breadslice/plain, //Weighted to be more common + contains = list(/obj/item/food/bread/plain, + /obj/item/food/breadslice/plain, + /obj/item/food/breadslice/plain, + /obj/item/food/breadslice/plain, //Weighted to be more common /obj/item/reagent_containers/food/snacks/bun, /obj/item/reagent_containers/food/snacks/tortilla, /obj/item/reagent_containers/food/snacks/pizzabread diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 132e62bb0ada..8a9bd51ccbc5 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -120,14 +120,14 @@ name = "Hellfire Shotgun Crate" desc = "For when you need to deal with 8 hooligans. Contains a pump shotgun, with a 8-round capacity." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/hellfire) + contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotgun crate" /datum/supply_pack/gun/brimstone_shotgun name = "Brimstone Shotgun Crate" desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains a slamfire shotgun, with a 5-round capacity. Warranty voided if sawed off." cost = 2000 - contains = list(/obj/item/gun/ballistic/shotgun/brimstone) + contains = list(/obj/item/storage/guncase/brimstone) crate_name = "shotgun crate" /* @@ -149,7 +149,7 @@ crate_name = "rifle crate" /datum/supply_pack/gun/beacon - name = "Contender Break Action Rifle Crate" + name = "Beacon Break Action Rifle Crate" desc = "Contains a single shot break action rifle to hunt wildlife that annoys you in particular. Chambered in devastating .45-70 rounds. Warranty voided if sawed off." cost = 2250 contains = list(/obj/item/storage/guncase/beacon) @@ -159,7 +159,7 @@ name = "Scout Sniper Rifle Crate" desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." cost = 5500 - contains = list(/obj/item/gun/ballistic/rifle/scout) + contains = list(/obj/item/storage/guncase/scout) crate_name = "rifle crate" /datum/supply_pack/gun/cobra20 @@ -189,3 +189,31 @@ cost = 5000 contains = list(/obj/item/storage/guncase/skm) crate_name = "auto rifle crate" + +/datum/supply_pack/gun/attachment/rail_light + name = "Tactical Rail Light Crate" + desc = "Contains a single rail light to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/rail_light) + crate_name = "rail light crate" + +/datum/supply_pack/gun/attachment/laser_sight + name = "Laser Sight Crate" + desc = "Contains a single rail light to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/laser_sight) + crate_name = "laser sight crate" + +/datum/supply_pack/gun/attachment/bayonet + name = "Bayonet Crate" + desc = "Contains a single bayonet to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/bayonet) + crate_name = "bayonet crate" + +/datum/supply_pack/gun/attachment/silencer + name = "Suppressor Crate" + desc = "Contains a single suppressor to be mounted on a firearm." + cost = 250 + contains = list(/obj/item/attachment/silencer) + crate_name = "silencer crate" diff --git a/code/modules/cargo/packs/mechs.dm b/code/modules/cargo/packs/mechs.dm index 937126a86361..fd978f99749e 100644 --- a/code/modules/cargo/packs/mechs.dm +++ b/code/modules/cargo/packs/mechs.dm @@ -1,5 +1,5 @@ /datum/supply_pack/mech - group = "Mech and Exosuit Construction" + group = "Exosuit Construction" crate_type = /obj/structure/closet/crate/large @@ -97,12 +97,12 @@ Mech Equipment */ /datum/supply_pack/mech/equipment - name = "Mech equipment crate" + name = "Exosuit equipment crate" crate_type = /obj/structure/closet/crate/secure/gear - crate_name = "mech equipment" + crate_name = "exosuit equipment" /datum/supply_pack/mech/equipment/drill - name = "Mech drill kit" + name = "Exosuit drill kit" desc = "Contains one mechanized drill for heavy duty digging." cost = 500 contains = list( @@ -110,7 +110,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/diamond_drill - name = "Mech diamond drill kit" + name = "Exosuit diamond drill kit" desc = "Contains mechanized diamond drill, for the enterprising prospector!" cost = 750 contains = list( @@ -118,31 +118,31 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/scanner - name = "Mech scanner kit" - desc = "An electronic mining scanner, graded to interface with a mech." + name = "Exosuit scanner kit" + desc = "An electronic mining scanner, graded to interface with an exosuit." cost = 350 contains = list( /obj/item/mecha_parts/mecha_equipment/mining_scanner ) /datum/supply_pack/mech/equipment/plasma_gen - name = "Mech generator kit" - desc = "A plasma-fueled generator for a mech, ideal for long operations." + name = "Exosuit generator kit" + desc = "A plasma-fueled generator for an exosuit, ideal for long operations." cost = 1000 contains = list( /obj/item/mecha_parts/mecha_equipment/generator ) /datum/supply_pack/mech/equipment/nuclear_gen - name = "Mech nuclear generator kit" - desc = "Contains a uranium-fueled generator for a mech, ideal for polluting the environment." + name = "Exosuit nuclear generator kit" + desc = "Contains a uranium-fueled generator for an exosuit, ideal for polluting the environment." cost = 1250 contains = list( /obj/item/mecha_parts/mecha_equipment/generator/nuclear ) /datum/supply_pack/mech/equipment/tesla_energy_relay - name = "Mech tesla relay kit" + name = "Exosuit tesla relay kit" desc = "Contains an advanced exosuit module which draws power from nearby APCs." cost = 1750 contains = list( @@ -150,7 +150,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/clamp - name = "Mech clamp kit" + name = "Exosuit clamp kit" desc = "Contains a clamp designed for mechanized freight hauling." cost = 350 contains = list( @@ -158,7 +158,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/extinguisher - name = "Mech extinguisher kit" + name = "Exosuit extinguisher kit" desc = "Contains a heavy duty fire extinguisher, for heavy duty firefighting." cost = 250 contains = list( @@ -166,7 +166,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/cable_layer - name = "Mech RCL Kit" + name = "Exosuit RCL Kit" desc = "Contains a \"rapid cable layer\" for laying down long lengths of wire." cost = 250 contains = list( @@ -174,7 +174,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/mech_sleeper - name = "Mech Mounted Sleeper Kit" + name = "Exosuit Mounted Sleeper Kit" desc = "Contains a mounted sleeper device, used for retrieving and stabilizing patients." cost = 1000 contains = list( @@ -182,14 +182,14 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/beam_gun - name = "Mech Beam Gun Kit" + name = "Exosuit Beam Gun Kit" desc = "Contains an advanced mounted medical beamgun, capable of alleviating wounds to targets." cost = 7000 contains = list( /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam ) /datum/supply_pack/mech/equipment/rcs - name = "Mech RCS kit" + name = "Exosuit RCS kit" desc = "A gas fueled RCS pack, ideal for mechanized space operation." cost = 800 contains = list( @@ -205,7 +205,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/melee_armor_booster - name = "Mech CCW armor kit" + name = "Exosuit CCW armor kit" desc = "A \"close combat weaponry\" module designed to deflect melee attacks." cost = 750 contains = list( @@ -213,7 +213,7 @@ Mech Equipment ) /datum/supply_pack/mech/equipment/projectile_armor_booster - name = "Mech projectile armor kit" + name = "Exosuit projectile armor kit" desc = "A protective exosuit module designed to deflect ranged attacks." cost = 1000 contains = list( @@ -225,13 +225,13 @@ weapons */ /datum/supply_pack/mech/weapon - name = "Mech weapons crate" + name = "Exosuit weapons crate" crate_type = /obj/structure/closet/crate/secure/weapon - crate_name = "mech weapon crate" + crate_name = "exosuit weapon crate" /datum/supply_pack/mech/weapon/pka - name = "Mech Mounted Proto-Kinetic Accelerator kit" - desc = "A ranged mining attachment for any mech." + name = "Exosuit-Mounted Proto-Kinetic Accelerator kit" + desc = "A ranged mining attachment for any exosuit." cost = 750 contains = list( /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun @@ -290,9 +290,9 @@ ammo */ /datum/supply_pack/mech/ammo - name = "Mech ammo crate" + name = "Exosuit ammo crate" crate_type = /obj/structure/closet/crate/secure/gear - crate_name = "mech ammo crate" + crate_name = "exosuit ammo crate" /datum/supply_pack/mech/ammo/scattershot_ammo name = "LBX AC 10 ammo box" diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 08b576937138..e0c76180bade 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -9,42 +9,42 @@ /datum/supply_pack/medical/firstaid_single name = "First Aid Kit Single-Pack" desc = "Contains one first aid kit for healing most types of wounds." - cost = 750 + cost = 400 small_item = TRUE contains = list(/obj/item/storage/firstaid/regular) /datum/supply_pack/medical/firstaidbruises_single name = "Bruise Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing bruises and broken bones." - cost = 1250 + cost = 700 small_item = TRUE contains = list(/obj/item/storage/firstaid/brute) /datum/supply_pack/medical/firstaidburns_single name = "Burn Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing severe burns." - cost = 1250 + cost = 700 small_item = TRUE contains = list(/obj/item/storage/firstaid/fire) /datum/supply_pack/medical/firstaidoxygen_single name = "Oxygen Deprivation Kit Single-Pack" desc = "Contains one first aid kit focused on helping oxygen deprivation victims." - cost = 1250 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/o2) /datum/supply_pack/medical/firstaidtoxins_single name = "Toxin Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on healing damage dealt by heavy toxins." - cost = 1250 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/toxin) /datum/supply_pack/medical/firstaid_rad_single name = "Radiation Treatment Kit Single-Pack" desc = "Contains one first aid kit focused on reducing the damage done by radiation." - cost = 1000 + cost = 500 small_item = TRUE contains = list(/obj/item/storage/firstaid/radiation) @@ -75,6 +75,15 @@ /obj/item/roller) crate_name = "surgical supplies crate" + +/datum/supply_pack/medical/anesthetic + name = "Anesthetics Crate" + desc = "Contains a standard anesthetics tank, for standard surgical procedures." + cost = 500 + contains = list(/obj/item/clothing/mask/breath/medical, + /obj/item/tank/internals/anesthetic) + crate_name = "anesthetics crate" + /* Bundles and supplies */ diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 8ff09a5dc38a..d2039b009c5c 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -30,6 +30,13 @@ cost = 2000 crate_name = "security barriers crate" +/datum/supply_pack/sec_supply/empty_sandbags + name = "Empty Sandbags" + desc = "Contains one box of seven empty sandbags for deployable cover in the field. Sand not included." + contains = list(/obj/item/storage/box/emptysandbags) + cost = 150 + crate_name = "sandbag crate" + /datum/supply_pack/sec_supply/wall_flash name = "Wall-Mounted Flash Crate" desc = "Contains four wall-mounted flashes." diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index 8346ea00b06e..3ed4a64cab91 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -16,7 +16,7 @@ /datum/supply_pack/spacesuit_armor/pilot_spacesuit name = "Pilot Space Suit Crate" - desc = "One pilot space suit, for improved mobility in mechs." + desc = "One pilot space suit, for improved mobility in exosuits." cost = 750 contains = list(/obj/item/clothing/suit/space/pilot, /obj/item/clothing/head/helmet/space/pilot/random) diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 11fd10229e5e..b9c41a29e11f 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' w_class = WEIGHT_CLASS_SMALL - var/obj/machinery/computer/cargo/express/express_console + var/obj/machinery/computer/cargo/cargo_console var/linked = FALSE var/ready = FALSE var/launched = FALSE @@ -49,39 +49,39 @@ /obj/item/supplypod_beacon/examine(user) . = ..() - if(!express_console) + if(!cargo_console) . += "[src] is not currently linked to an Express Supply console." else . += "Alt-click to unlink it from the Express Supply console." /obj/item/supplypod_beacon/Destroy() - if(express_console) - express_console.beacon = null + if(cargo_console) + cargo_console.beacon = null return ..() /obj/item/supplypod_beacon/proc/unlink_console() - if(express_console) - express_console.beacon = null - express_console = null + if(cargo_console) + cargo_console.beacon = null + cargo_console = null update_status(SP_UNLINK) update_status(SP_UNREADY) -/obj/item/supplypod_beacon/proc/link_console(obj/machinery/computer/cargo/express/C, mob/living/user) +/obj/item/supplypod_beacon/proc/link_console(obj/machinery/computer/cargo/C, mob/living/user) if (C.beacon)//if new console has a beacon, then... C.beacon.unlink_console()//unlink the old beacon from new console - if (express_console)//if this beacon has an express console - express_console.beacon = null//remove the connection the expressconsole has from beacons - express_console = C//set the linked console var to the console - express_console.beacon = src//out with the old in with the news + if (cargo_console)//if this beacon has an express console + cargo_console.beacon = null//remove the connection the expressconsole has from beacons + cargo_console = C//set the linked console var to the console + cargo_console.beacon = src//out with the old in with the news update_status(SP_LINKED) - if (express_console.use_beacon) + if (cargo_console.use_beacon) update_status(SP_READY) to_chat(user, "[src] linked to [C].") /obj/item/supplypod_beacon/AltClick(mob/user) if (!user.canUseTopic(src, !issilicon(user))) return - if (express_console) + if (cargo_console) unlink_console() else to_chat(user, "There is no linked console.") diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 0fd922a2856a..87a33b0c989b 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -107,6 +107,9 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( cmd_admin_pm(href_list["priv_msg"],null) return + if(href_list["commandbar_typing"]) + handle_commandbar_typing(href_list) + switch(href_list["_src_"]) if("holder") hsrc = holder @@ -226,6 +229,8 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( // Instantiate tgui panel tgui_panel = new(src, "browseroutput") + initialize_commandbar_spy() + GLOB.ahelp_tickets.client_login(src) GLOB.interviews.client_login(src) GLOB.requests.client_login(src) diff --git a/code/modules/client/loadout/loadout_accessories.dm b/code/modules/client/loadout/loadout_accessories.dm index 70225b60cc2e..c1e4d7a088a8 100644 --- a/code/modules/client/loadout/loadout_accessories.dm +++ b/code/modules/client/loadout/loadout_accessories.dm @@ -72,11 +72,6 @@ path = /obj/item/clothing/neck/stethoscope allowed_roles = list("Medical Doctor", "Chief Medical Officer") -/datum/gear/accessory/collar - display_name = "pet collar" - description = "Only the truly insane would wear this around their neck." - path = /obj/item/clothing/neck/petcollar - /datum/gear/accessory/gloves/black display_name = "black gloves" description = "Standard hand coverings for everyday use." @@ -97,14 +92,3 @@ description = "Excessively fancy elbow-length gloves." path = /obj/item/clothing/gloves/color/evening slot = ITEM_SLOT_GLOVES - -/datum/gear/accessory/tiki - display_name = "tiki mask" - description = "A wooden mask, simple, really." - path = /obj/item/clothing/mask/gas/tiki_mask - slot = ITEM_SLOT_MASK - -/datum/gear/accessory/joymask - display_name = "face with tears of joy mask" - path = /obj/item/clothing/mask/joy - slot = ITEM_SLOT_MASK diff --git a/code/modules/client/loadout/loadout_general.dm b/code/modules/client/loadout/loadout_general.dm index 6277a8a3a601..8bb3ff3cb69d 100644 --- a/code/modules/client/loadout/loadout_general.dm +++ b/code/modules/client/loadout/loadout_general.dm @@ -160,14 +160,6 @@ display_name = "tool, emergency crowbar" path = /obj/item/crowbar/red -/datum/gear/balloon - display_name = "toy, balloon" - path = /obj/item/toy/balloon - -/datum/gear/balloon/ian - display_name = "toy, ian balloon" - path = /obj/item/toy/balloon/corgi - /datum/gear/surgical_mask display_name = "surgical mask" path = /obj/item/clothing/mask/surgical diff --git a/code/modules/client/loadout/loadout_hat.dm b/code/modules/client/loadout/loadout_hat.dm index d4ab1c858f26..23e34d7d19c3 100644 --- a/code/modules/client/loadout/loadout_hat.dm +++ b/code/modules/client/loadout/loadout_hat.dm @@ -92,10 +92,6 @@ display_name = "beanie" path = /obj/item/clothing/head/beanie -/datum/gear/hat/tinfoil - display_name = "tinfoil hat" - path = /obj/item/clothing/head/foilhat - /datum/gear/hat/wig display_name = "wig" path = /obj/item/clothing/head/wig @@ -104,20 +100,10 @@ display_name = "cowboy hat" path = /obj/item/clothing/head/cowboy -/datum/gear/hat/catears - display_name = "cat ears" - path = /obj/item/clothing/head/kitty - -/datum/gear/hat/horse - display_name = "horse mask" - path = /obj/item/clothing/mask/horsehead - slot = ITEM_SLOT_MASK - -/datum/gear/hat/piratehat - display_name = "pirate hat" - description = "Yarr. Comes with one free pirate speak manual." - path = /obj/item/clothing/head/pirate - /datum/gear/hat/trapper display_name = "trapper hat" path = /obj/item/clothing/head/trapper + +/datum/gear/hat/flowers + display_name = "plastic flower, pickable" + path = /obj/item/clothing/head/plastic_flower diff --git a/code/modules/client/loadout/loadout_suit.dm b/code/modules/client/loadout/loadout_suit.dm index 8c758145f71e..f8757bfa5b38 100644 --- a/code/modules/client/loadout/loadout_suit.dm +++ b/code/modules/client/loadout/loadout_suit.dm @@ -81,6 +81,10 @@ display_name = "hoodie, T4L1" path = /obj/item/clothing/suit/hooded/hoodie/rilena +/datum/gear/suit/jacket/hoodie_baw + display_name = "hoodie, black w grey hood" + path = /obj/item/clothing/suit/hooded/hoodie/blackwa + /datum/gear/suit/jacket/highvis display_name = "industrial jacket" path = /obj/item/clothing/suit/toggle/industrial @@ -103,7 +107,7 @@ path = /obj/item/clothing/suit/toggle/labcoat /datum/gear/suit/raincoat - display_name = "Cybersun labcoat" + display_name = "translucent labcoat" description = "Designer lab safety equipment. You're pretty sure this is just a raincoat." path = /obj/item/clothing/suit/toggle/labcoat/raincoat diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index 616c4308b437..96b4088b65bd 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -160,10 +160,6 @@ display_name = "suit, charcoal" path = /obj/item/clothing/under/suit/charcoal -/datum/gear/uniform/suit/galaxy - display_name = "suit, galaxy" - path = /obj/item/clothing/under/rank/civilian/lawyer/galaxy - /datum/gear/uniform/suit/white_skirt display_name = "suitskirt, white shirt" path = /obj/item/clothing/under/suit/black/skirt @@ -236,8 +232,3 @@ /datum/gear/uniform/dress/rilena display_name = "red dress, Ri cosplay" path = /obj/item/clothing/under/dress/rilena - -//Premium -/datum/gear/uniform/tacticool - display_name = "tacticool turtleneck" - path = /obj/item/clothing/under/syndicate/tacticool diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 3c3040f03906..71d968d16130 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -448,9 +448,15 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car READ_FILE(S["equipped_gear"], equipped_gear) if(config) //This should *probably* always be there, but just in case. if(length(equipped_gear) > CONFIG_GET(number/max_loadout_items)) - to_chat(parent, "Loadout maximum items exceeded in loaded slot, Your loadout has been cleared! You had [length(equipped_gear)]/[CONFIG_GET(number/max_loadout_items)] equipped items!") + to_chat(parent, span_userdanger("Loadout maximum items exceeded in loaded slot, Your loadout has been cleared! You had [length(equipped_gear)]/[CONFIG_GET(number/max_loadout_items)] equipped items!")) equipped_gear = list() - WRITE_FILE(S["equipped_gear"] , equipped_gear) + WRITE_FILE(S["equipped_gear"], equipped_gear) + + for(var/gear in equipped_gear) + if(!(gear in GLOB.gear_datums)) + to_chat(parent, span_warning("Removing nonvalid loadout item [gear] from loadout")) + equipped_gear -= gear //be GONE + WRITE_FILE(S["equipped_gear"], equipped_gear) READ_FILE(S["feature_human_tail"], features["tail_human"]) READ_FILE(S["feature_human_ears"], features["ears"]) diff --git a/code/modules/client/verbs/typing.dm b/code/modules/client/verbs/typing.dm new file mode 100644 index 000000000000..28abf10ee7e8 --- /dev/null +++ b/code/modules/client/verbs/typing.dm @@ -0,0 +1,28 @@ +#define IC_VERBS list("say", "me", "whisper") + +/client/var/commandbar_thinking = FALSE +/client/var/commandbar_typing = FALSE + +/client/proc/initialize_commandbar_spy() + src << output('html/typing_indicator.html', "commandbar_spy") + +/client/proc/handle_commandbar_typing(href_list) + if (length(href_list["verb"]) < 1 || !(lowertext(href_list["verb"]) in IC_VERBS) || text2num(href_list["argument_length"]) < 1) + if (commandbar_typing) + commandbar_typing = FALSE + stop_typing() + return + + if (!commandbar_typing) + commandbar_typing = TRUE + start_typing() + +/client/proc/start_typing() + mob.set_typing_indicator(TRUE) + +/client/proc/stop_typing() + if(isnull(mob)) + return FALSE + mob.set_typing_indicator(FALSE) + +#undef IC_VERBS diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index 5c3423f745c0..b1a7c5e96e2a 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -150,7 +150,7 @@ /obj/item/clothing/head/helmet/hardliners/swat name = "hardliners pilot helmet" - desc = "A modified X-11 helmet utilized by regular pilots, as well as the feared mech pilots of the Hardliner movement. The attached visor helps protect against sudden flashes from explosions." + desc = "A modified X-11 helmet utilized by regular pilots, as well as the feared exosuit pilots of the Hardliner movement. The attached visor helps protect against sudden flashes from explosions." flash_protect = FLASH_PROTECTION_WELDER icon_state = "hl_pilot" item_state = "hl_pilot" diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 7892a098b50d..4a70d10327c6 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -14,7 +14,7 @@ /obj/item/clothing/under/syndicate/ngr/fatigues name = "\improper NGR fatigues" - desc = "Beige fatigues used primarily by the ship and mech pilots of the New Gorlex Republic." + desc = "Beige fatigues used primarily by the shuttle and exosuit pilots of the New Gorlex Republic." icon_state = "ngr_fatigues" item_state = "ngr_fatigues" @@ -64,6 +64,7 @@ mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' icon_state = "ngr_hazard" item_state = "redcloth" + supports_variations = VOX_VARIATION ////////////////// //Armored suits// @@ -230,6 +231,7 @@ icon_state = "ngr_shemagh" icon = 'icons/obj/clothing/faction/ngr/neck.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/neck.dmi' + supports_variations = VOX_VARIATION ////////// //Belts// diff --git a/code/modules/clothing/factions/srm.dm b/code/modules/clothing/factions/srm.dm index cd901306b7a7..07639696bb01 100644 --- a/code/modules/clothing/factions/srm.dm +++ b/code/modules/clothing/factions/srm.dm @@ -10,6 +10,7 @@ can_adjust = FALSE icon = 'icons/obj/clothing/faction/srm/uniforms.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/uniforms.dmi' + supports_variations = KEPORI_VARIATION ////////////////// //Armored suits// @@ -25,12 +26,14 @@ heat_protection = CHEST|GROIN|ARMS icon = 'icons/obj/clothing/faction/srm/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/shadow name = "saint-roumain shadow duster" desc = "A coat made from hard leather. Its rough, barely-treated finish is typical of one of the Saint-Roumain Militia's trainees." icon_state = "armor_rouma_shadow" item_state = "rouma_shadow_coat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/toggle/labcoat/roumain_med name = "saint-roumain medical duster" @@ -39,6 +42,7 @@ mob_overlay_icon = 'icons/mob/clothing/faction/srm/suits.dmi' icon_state = "rouma_med_coat" armor = list("melee" = 35, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 50, "rad" = 0, "fire" = 50, "acid" = 50) + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/hazardvest/roumain name = "saint-roumain machinist leather vest" @@ -53,6 +57,7 @@ name = "saint-roumain flamebearer robes" desc = "A set of ashy-grey robes made from hard leather, adorned with gold trims. Its rough finish after a near-char and application of aromatics is heavily favored for the ecclesiastical sect of the Church of Saint Roumain, a living reminder of the Ashen Huntsman himself." icon_state = "armor_rouma_flamebearer" + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/colligne name = "saint-roumain colligne coat" @@ -62,6 +67,7 @@ body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/armor/roumain/montagne name = "saint-roumain montagne coat" @@ -72,6 +78,7 @@ armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS + supports_variations = KEPORI_VARIATION /////////////// //Spacesuits// @@ -86,6 +93,7 @@ item_state = "hardsuit0-roumain" hardsuit_type = "roumain" worn_y_offset = 4 + supports_variations = KEPORI_VARIATION /obj/item/clothing/suit/space/hardsuit/solgov/roumain name = "\improper roumain hardsuit" @@ -96,6 +104,7 @@ item_state = "hardsuit-roumain" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov/roumain slowdown = 0.5 + supports_variations = KEPORI_VARIATION ///////// //Hats// @@ -107,11 +116,13 @@ icon_state = "rouma_hat" icon = 'icons/obj/clothing/faction/srm/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/srm/head.dmi' + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/shadow name = "shadow's hat" desc = "A rough, simple hat. The way it covers your eyes makes you feel badass, but you just look like a wannabe hunter." icon_state = "rouma_shadow_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/machinist name = "machinist's hat" @@ -122,21 +133,25 @@ name = "medical hunter's hat" desc = "A very wide-brimmed, round hat treated with oil and wax. Somehow manages to look stylish and creepy at the same time." icon_state = "rouma_med_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/flamebearer name = "flamebearer's hat" desc = "A wide-brimmed, pointed hat with charred leather, granting it an ash-grey appearance. The design honors the one the Ashen Huntsman himself wore, according to legend." icon_state = "rouma_flamebearer_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/colligne name = "colligne's hat" desc = "A fancy, pointy leather hat with a large feather plume to signal that you are, in fact... A Hunter Colligne. You still have some ways to go before you gain the title of Montagne." icon_state = "rouma_colligne_hat" + supports_variations = KEPORI_VARIATION /obj/item/clothing/head/cowboy/sec/roumain/montagne name = "montagne's hat" desc = "A very fancy hat with a large feather plume to signal that you are, in fact, a Hunter Montagne. The exotic fur lining is impeccably soft." icon_state = "rouma_montagne_hat" + supports_variations = KEPORI_VARIATION /////////////// //Accessories// diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index f33a789156e9..59530e24a542 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -314,7 +314,7 @@ flash_protect = FLASH_PROTECTION_WELDER custom_materials = list(/datum/material/iron = 250) tint = 2 - visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT + visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT | SEALS_EYES flags_cover = GLASSESCOVERSEYES glass_colour_type = /datum/client_colour/glass_colour/gray supports_variations = VOX_VARIATION @@ -485,12 +485,14 @@ desc = "A pair of goggles meant for low temperatures." icon_state = "cold" item_state = "cold" + flags_cover = GLASSESCOVERSEYES | SEALS_EYES /obj/item/clothing/glasses/heat name = "heat goggles" desc = "A pair of goggles meant for high temperatures." icon_state = "heat" item_state = "heat" + flags_cover = GLASSESCOVERSEYES | SEALS_EYES /obj/item/clothing/glasses/orange name = "orange glasses" @@ -572,7 +574,7 @@ desc = "Medical, security and diagnostic hud. Alt click to toggle xray." icon_state = "nvgmeson" item_state = "nvgmeson" - flags_cover = GLASSESCOVERSEYES + flags_cover = GLASSESCOVERSEYES | SEALS_EYES darkness_view = 8 flash_protect = FLASH_PROTECTION_WELDER lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 0698981207bf..559816007b13 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -259,7 +259,7 @@ desc = "A snazzy looking pair of ballistic goggles with an integrated security hud. The opaque visor provides flash protection." icon_state = "inteq_goggles" item_state = "inteq_goggles" - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION glass_colour_type = /datum/client_colour/glass_colour/orange /obj/item/clothing/glasses/hud/health/prescription diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm index dba4c2f80406..9b28c58d03cf 100644 --- a/code/modules/clothing/head/hardhat.dm +++ b/code/modules/clothing/head/hardhat.dm @@ -116,7 +116,7 @@ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES /obj/item/clothing/head/hardhat/mining name = "mining helmet" diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 352349783bae..cdfe4672d46f 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -286,7 +286,7 @@ visor_flags_inv = HIDEFACE toggle_cooldown = 0 flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF - visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES dog_fashion = null /obj/item/clothing/head/helmet/justice @@ -492,7 +492,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF flash_protect = FLASH_PROTECTION_WELDER flags_inv = HIDEHAIR|HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES strip_delay = 80 /obj/item/clothing/head/helmet/swat/inteq @@ -501,7 +501,7 @@ icon_state = "inteq_swat" item_state = "inteq_swat" flags_inv = HIDEHAIR - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION content_overlays = TRUE /obj/item/clothing/head/helmet/inteq @@ -510,7 +510,7 @@ icon_state = "inteq_helmet" icon_state = "inteq_helmet" can_flashlight = TRUE - supports_variations = KEPORI_VARIATION + supports_variations = KEPORI_VARIATION | VOX_VARIATION content_overlays = TRUE /obj/item/clothing/head/solgov diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm index c04b61563f53..24e2f95f03bd 100644 --- a/code/modules/clothing/head/misc_special.dm +++ b/code/modules/clothing/head/misc_special.dm @@ -367,3 +367,20 @@ if(!warped) warp_up() +/obj/item/clothing/head/plastic_flower + name = "plastic flower" + desc = "A realistic imitation of a flower. Not edible though." + icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "poppy" + body_parts_covered = null + unique_reskin = list( + "Poppy" = "poppy", + "Sunflower" = "sunflower", + "Moonflower" = "moonflower", + "Novaflower" = "novaflower", + "Harebell" = "harebell", + "Geranium" = "geranium", + "Lily" = "lily" + ) + custom_materials = (list(/datum/material/plastic = 1000)) + diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 34e77816c941..e5d3717b2b65 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -8,7 +8,7 @@ item_state = "gas_alt" gas_transfer_coefficient = 0.01 permeability_coefficient = 0.01 - flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH | PEPPERPROOF + flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE /obj/item/clothing/mask/gas/atmos diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 725764a10b04..d2b573711051 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -154,13 +154,6 @@ clothing_flags = VOICEBOX_TOGGLABLE modifies_speech = TRUE -/obj/item/clothing/mask/frog/handle_speech(datum/source, list/speech_args) //whenever you speak - if(!(clothing_flags & VOICEBOX_DISABLED)) - if(prob(5)) //sometimes, the angry spirit finds others words to speak. - speech_args[SPEECH_MESSAGE] = pick("HUUUUU!!","SMOOOOOKIN'!!","Hello my baby, hello my honey, hello my rag-time gal.", "Feels bad, man.", "GIT DIS GUY OFF ME!!" ,"SOMEBODY STOP ME!!", "NORMIES, GET OUT!!") - else - speech_args[SPEECH_MESSAGE] = pick("Ree!!", "Reee!!","REEE!!","REEEEE!!") //but its usually just angry gibberish, - /obj/item/clothing/mask/frog/cursed clothing_flags = NONE diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 3f431df81ccb..36217ac9b932 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -167,6 +167,7 @@ desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing." icon_state = "stethoscope" cuttable = FALSE + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stethoscope/attack(mob/living/carbon/human/M, mob/living/user) if(ishuman(M) && isliving(user)) @@ -267,6 +268,7 @@ name = "shemagh" desc = "An oversized shemagh, for those with a keen sense of fashion, or those operating tactically." icon_state = "shemagh" + supports_variations = VOX_VARIATION //The three following scarves don't have the scarf subtype //This is because Ian can equip anything from that subtype @@ -275,21 +277,25 @@ name = "striped red scarf" icon_state = "stripedredscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedgreenscarf name = "striped green scarf" icon_state = "stripedgreenscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedbluescarf name = "striped blue scarf" icon_state = "stripedbluescarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/stripedsolgovscarf name = "striped solgov scarf" icon_state = "stripedsolgovscarf" custom_price = 10 + supports_variations = VOX_VARIATION /obj/item/clothing/neck/petcollar name = "pet collar" diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index b3a2b20f687c..1ab6b3cf320e 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -59,7 +59,7 @@ /obj/item/storage/backpack/satchel = 20, /obj/item/storage/backpack/messenger = 20, /obj/item/melee/baton/cattleprod/loaded = 5, - /obj/item/reagent_containers/food/snacks/baguette = 2, // yes you can put this on your back + /obj/item/food/baguette = 2, // yes you can put this on your back /obj/item/deployable_turret_folded = 1, /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended = 1, )) diff --git a/code/modules/clothing/outfits/ert/syndicate_ert.dm b/code/modules/clothing/outfits/ert/syndicate_ert.dm index 472983e890db..29da95448ee4 100644 --- a/code/modules/clothing/outfits/ert/syndicate_ert.dm +++ b/code/modules/clothing/outfits/ert/syndicate_ert.dm @@ -27,7 +27,7 @@ head = /obj/item/clothing/head/HoS/beret/syndicate ears = /obj/item/radio/headset/syndicate/captain - backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol=1, /obj/item/ammo_box/magazine/m10mm=2, /obj/item/radio=1) + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/syndicate=1, /obj/item/ammo_box/magazine/m10mm=2, /obj/item/radio=1) // gorlex loyalist/2nd battlegroup @@ -58,7 +58,7 @@ belt = /obj/item/storage/belt/medical/webbing/paramedic glasses = /obj/item/clothing/glasses/hud/health/sunglasses gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - suit_store = /obj/item/gun/ballistic/automatic/pistol + suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate l_pocket = /obj/item/radio @@ -73,7 +73,7 @@ gloves = /obj/item/clothing/gloves/fingerless suit = /obj/item/clothing/suit/armor/vest belt = /obj/item/storage/belt/security - suit_store = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate + suit_store = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle r_pocket = /obj/item/kitchen/knife/combat/survival l_pocket = /obj/item/binoculars diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index db227c2903c7..f89d39a4d8d3 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -540,7 +540,7 @@ dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo shoes = /obj/item/clothing/shoes/sneakers/brown glasses = /obj/item/clothing/glasses/sunglasses - l_hand = /obj/item/clipboard + r_pocket = /obj/item/clipboard backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) chameleon_extras = /obj/item/stamp/qm @@ -548,12 +548,16 @@ /datum/outfit/job/independent/quartermaster/western name = "Independent - Quartermaster (Western)" - uniform = /obj/item/clothing/under/rank/cargo/qm - suit = /obj/item/clothing/suit/toggle/hazard + uniform = /obj/item/clothing/under/rank/security/detective + suit = /obj/item/clothing/suit/hazardvest shoes = /obj/item/clothing/shoes/workboots + gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/sunglasses head = /obj/item/clothing/head/cowboy/sec + backpack = /obj/item/storage/backpack/industrial + satchel = /obj/item/storage/backpack/satchel/eng + /datum/outfit/job/independent/miner name = "Independent - Miner" jobtype = /datum/job/mining diff --git a/code/modules/clothing/outfits/factions/inteq.dm b/code/modules/clothing/outfits/factions/inteq.dm index 75a36b1a3132..6ad58203e2e6 100644 --- a/code/modules/clothing/outfits/factions/inteq.dm +++ b/code/modules/clothing/outfits/factions/inteq.dm @@ -29,31 +29,40 @@ ///captains /datum/outfit/job/inteq/captain - name = "IRMG - Vanguard (Naked)" + name = "IRMG - Vanguard" id_assignment = "Vanguard" jobtype = /datum/job/captain job_icon = "captain" + id = /obj/item/card/id/gold + head = /obj/item/clothing/head/beret/sec/hos/inteq + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq + mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + suit = /obj/item/clothing/suit/armor/hos/inteq + dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq + belt = /obj/item/storage/belt/security/webbing/inteq + gloves = /obj/item/clothing/gloves/combat ears = /obj/item/radio/headset/inteq/alt/captain shoes = /obj/item/clothing/shoes/combat + r_pocket = /obj/item/assembly/flash/handheld l_pocket = /obj/item/restraints/handcuffs - jobtype = /datum/job/captain - id = /obj/item/card/id/gold backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) -/datum/outfit/job/inteq/captain/geared - name = "IRMG - Vanguard" +/datum/outfit/job/inteq/captain/empty + name = "IRMG - Vanguard (Naked)" - head = /obj/item/clothing/head/beret/sec/hos/inteq - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq - mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq - belt = /obj/item/storage/belt/security/webbing/inteq - suit = /obj/item/clothing/suit/armor/hos/inteq - dcoat = /obj/item/clothing/suit/hooded/wintercoat/security/inteq - gloves = /obj/item/clothing/gloves/combat - accessory = null + head = null + glasses = null + mask = null + belt = null + suit = null + dcoat = null + gloves = null + + r_pocket = null + l_pocket = null /datum/outfit/job/inteq/captain/honorable name = "IRMG - Honorable Vanguard" @@ -71,8 +80,8 @@ ///Chief Engineer /datum/outfit/job/inteq/ce - name = "IRMG - Artificer Class II" - id_assignment = "Artificer Class II" + name = "IRMG - Honorable Artificer" + id_assignment = "Honorable Artificer" job_icon = "chiefengineer" jobtype = /datum/job/chief_engineer @@ -140,6 +149,14 @@ satchel = /obj/item/storage/backpack/messenger/inteq courierbag = /obj/item/storage/backpack/messenger/inteq +/datum/outfit/job/inteq/security/empty + name = "IRMG - Enforcer (Naked)" + head = null + suit = null + belt = null + mask = null + gloves = null + /datum/outfit/job/inteq/security/beluga name = "IRMG - Enforcer (Beluga)" @@ -156,14 +173,6 @@ satchel = /obj/item/storage/backpack/messenger/inteq courierbag = /obj/item/storage/backpack/messenger/inteq -/datum/outfit/job/inteq/security/empty - name = "IRMG - Enforcer (Naked)" - head = null - suit = null - belt = null - mask = null - gloves = null - ///engineers /datum/outfit/job/inteq/engineer @@ -201,6 +210,17 @@ courierbag = /obj/item/storage/backpack/messenger/inteq backpack_contents = list(/obj/item/melee/classic_baton=1) +/datum/outfit/job/inteq/warden/pilot + name = "IRMG - Shuttle Pilot" + job_icon = "securityofficer" + id_assignment = "Shuttle Pilot" + + head = /obj/item/clothing/head/soft/inteq + suit = /obj/item/clothing/suit/armor/vest/alt + belt = null + mask = /obj/item/clothing/mask/breath + gloves = /obj/item/clothing/gloves/fingerless + // cmo /datum/outfit/job/inteq/cmo diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 1d12eb25c4e9..5c038b05f181 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -560,7 +560,7 @@ /datum/outfit/job/clip/minutemen/grunt/dressed/armed/f4 //f4 is rename of GAL, don't wanna repath upon adding the clip guns though, if i forget to remove this during then, fucking yell at me name = "CLIP Minutemen - Minuteman (Armed - CM-GAL)" - suit_store = /obj/item/gun/ballistic/automatic/gal + suit_store = /obj/item/gun/ballistic/automatic/marksman/gal belt = /obj/item/storage/belt/military/clip/gal /datum/outfit/job/clip/minutemen/grunt/dressed/armed/cm5 diff --git a/code/modules/clothing/outfits/factions/nanotrasen.dm b/code/modules/clothing/outfits/factions/nanotrasen.dm index e93c7b4b8e52..b22c69b38f6b 100644 --- a/code/modules/clothing/outfits/factions/nanotrasen.dm +++ b/code/modules/clothing/outfits/factions/nanotrasen.dm @@ -53,9 +53,13 @@ head = /obj/item/clothing/head/nanotrasen/cap/supply uniform = /obj/item/clothing/under/nanotrasen/supply/qm + suit = null + alt_suit = null dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo shoes = /obj/item/clothing/shoes/sneakers/brown glasses = /obj/item/clothing/glasses/sunglasses + gloves = null + neck = null l_hand = /obj/item/clipboard chameleon_extras = /obj/item/stamp/qm @@ -468,10 +472,10 @@ accessory = /obj/item/clothing/accessory/holster head = /obj/item/clothing/head/beret/command -// Mech Pilot +// Exosuit Pilot /datum/outfit/job/nanotrasen/security/mech_pilot - name = "Nanotrasen - Mech Pilot" - id_assignment = "Mech Pilot" + name = "Nanotrasen - Exosuit Pilot" + id_assignment = "Exosuit Pilot" uniform = /obj/item/clothing/under/rank/security/officer/military/eng head = /obj/item/clothing/head/beret/sec/officer diff --git a/code/modules/clothing/outfits/factions/syndicate.dm b/code/modules/clothing/outfits/factions/syndicate.dm index 03254ed8927e..93df3985b26c 100644 --- a/code/modules/clothing/outfits/factions/syndicate.dm +++ b/code/modules/clothing/outfits/factions/syndicate.dm @@ -4,7 +4,7 @@ name = "Syndicate - Base Outfit" uniform = /obj/item/clothing/under/color/black - box = /obj/item/storage/box/survival/syndie + box = /obj/item/storage/box/survival id = /obj/item/card/id/syndicate_command/crew_id faction_icon = "bg_syndicate" @@ -52,7 +52,7 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie + box = /obj/item/storage/box/survival /datum/outfit/job/syndicate/assistant/gorlex name = "Syndicate - Junior Agent (Hardliner)" @@ -106,8 +106,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/assistant/twink/post_equip(mob/living/carbon/human/H) . = ..() @@ -205,6 +203,28 @@ W.registered_age = AGE_MINOR to_chat(H, "You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!") +/datum/outfit/job/syndicate/bartender/suns + name = "Syndicate - Student Mixologist (SUNS)" + id_assignment = "Student Mixologist" + + uniform = /obj/item/clothing/under/syndicate/suns/uniform2 + alt_uniform = /obj/item/clothing/under/syndicate/suns/alt + mask = /obj/item/clothing/mask/breath/suns + suit = null + belt = null + head = null + shoes = /obj/item/clothing/shoes/laceup/suns + gloves = null + ears = null + accessory = /obj/item/clothing/accessory/waistcoat/suns/poof + + backpack = /obj/item/storage/backpack + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/duffelbag + courierbag = /obj/item/storage/backpack/messenger + + backpack_contents = null + /datum/outfit/job/syndicate/bartender/twink name = "Syndicate - Bartender (Twinkleshine, Donk)" @@ -224,8 +244,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/bartender/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -279,8 +297,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/sec courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/captain/aclf name = "Captain (ACLF)" @@ -461,6 +477,7 @@ l_hand = /obj/item/storage/firstaid/medical suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/melee/classic_baton/telescopic=1) + box = /obj/item/storage/box/survival/medical /datum/outfit/job/syndicate/cmo/suns name = "Syndicate - Medical Instructor (SUNS)" @@ -555,6 +572,7 @@ r_pocket = /obj/item/assembly/flash/handheld l_pocket = /obj/item/restraints/handcuffs backpack_contents = list(/obj/item/melee/baton/loaded=1) + box = /obj/item/storage/box/survival/security /datum/outfit/job/syndicate/hos/gorlex name = "Syndicate - Sergeant (Hardliner)" @@ -565,7 +583,7 @@ suit = /obj/item/clothing/suit/armor/hardliners/sergeant id = /obj/item/card/id/syndicate_command/crew_id shoes = /obj/item/clothing/shoes/combat - suit_store = /obj/item/gun/ballistic/automatic/pistol + suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate /datum/outfit/job/syndicate/hos/ngr name = "Syndicate - Lieutenant (New Gorlex Republic)" @@ -576,7 +594,7 @@ suit = /obj/item/clothing/suit/armor/ngr/lieutenant id = /obj/item/card/id/syndicate_command/crew_id shoes = /obj/item/clothing/shoes/combat - suit_store = /obj/item/gun/ballistic/automatic/pistol + suit_store = /obj/item/gun/ballistic/automatic/pistol/syndicate /datum/outfit/job/syndicate/hos/twink @@ -606,8 +624,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/hos/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -663,6 +679,7 @@ shoes = /obj/item/clothing/shoes/sneakers/white alt_suit = /obj/item/clothing/suit/apron/surgical l_hand = /obj/item/storage/firstaid/medical + box = /obj/item/storage/box/survival/medical /datum/outfit/job/syndicate/doctor/suns name = "Syndicate - Medical Doctor (SUNS)" @@ -733,6 +750,7 @@ suit_store = /obj/item/flashlight/pen backpack_contents = list(/obj/item/roller=1) pda_slot = ITEM_SLOT_LPOCKET + box = /obj/item/storage/box/survival/medical /datum/outfit/job/syndicate/paramedic/gorlex name = "Syndicate - Paramedic (Gorlex)" @@ -771,8 +789,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie/med courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/paramedic/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -898,6 +914,8 @@ /obj/item/melee/baton/loaded=1, ) + box = /obj/item/storage/box/survival/security + /datum/outfit/job/syndicate/security/gorlex name = "Syndicate - Trooper (Hardliner)" @@ -965,8 +983,6 @@ duffelbag = /obj/item/storage/backpack/duffelbag/syndie courierbag = /obj/item/storage/backpack/messenger/sec - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/security/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) @@ -1008,6 +1024,8 @@ /obj/item/mining_voucher=1,\ /obj/item/stack/marker_beacon/ten=1) + box = /obj/item/storage/box/survival/mining + /datum/outfit/job/syndicate/miner/gorlex name = "Syndicate - Wrecker (Hardliner)" id_assignment = "Wrecker" @@ -1153,8 +1171,6 @@ r_pocket = null implants = list(/obj/item/implant/weapons_auth) - box = /obj/item/storage/box/survival/syndie - /datum/outfit/job/syndicate/engineer/twink/post_equip(mob/living/carbon/human/H) . = ..() assign_codename(H) diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index cb98f607089c..f96ad54adb88 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -18,7 +18,7 @@ flash_protect = FLASH_PROTECTION_WELDER strip_delay = 50 equip_delay_other = 50 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE dog_fashion = null content_overlays = FALSE diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4827186a95c5..2069b1e1e7f3 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -17,7 +17,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet) flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES var/rad_count = 0 var/rad_record = 0 var/grace_count = 0 @@ -1045,7 +1045,7 @@ item_state = "independent_sec_helm" hardsuit_type = "independent-sec" armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - supports_variations = VOX_VARIATION + supports_variations = VOX_VARIATION | SNOUTED_VARIATION /obj/item/clothing/suit/space/hardsuit/security/independent icon_state = "hardsuit-independent-sec" @@ -1056,7 +1056,7 @@ hardsuit_type = "independent-sec" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/independent armor = list("melee" = 35, "bullet" = 25, "laser" = 20, "energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) - supports_variations = VOX_VARIATION + supports_variations = VOX_VARIATION | DIGITIGRADE_VARIATION //Mining /obj/item/clothing/head/helmet/space/hardsuit/mining/independent @@ -1106,7 +1106,7 @@ name = "pilot space suit" icon_state = "space-pilot" item_state = "space-pilot" - desc = "A lightweight, unarmored space suit designed for mech and fighter pilots. Special attachment points make mounting and dismounting from mechs much easier." + desc = "A lightweight, unarmored space suit designed for exosuit and shuttle pilots. Special attachment points make mounting and dismounting from exosuits much easier." clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | FAST_EMBARK pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large @@ -1114,7 +1114,7 @@ name = "pilot helmet" icon_state = "space-pilot-plain0" item_state = "space-pilot-plain" - desc = "A specialized space helmet designed for mech and fighter pilots. Offers limited impact protection." + desc = "A specialized space helmet designed for exosuit and shuttle pilots. Offers limited impact protection." var/skin = "plain" var/blurb = " Its simple design is quite ancient." up = FALSE @@ -1147,7 +1147,7 @@ if("corvid") blurb = " It is sloppily painted with thin teal and red paint. There are some dark stains on the lining..." - desc = "A specialized space helmet designed for mech and fighter pilots. Offers limited impact protection.[blurb]" + desc = "A specialized space helmet designed for exosuit and shuttle pilots. Offers limited impact protection.[blurb]" update_icon_state() /obj/item/clothing/head/helmet/space/pilot/random/New() @@ -1217,6 +1217,7 @@ item_state = "hardsuit_solgov" armor = list("melee" = 50, "bullet" = 45, "laser" = 40, "energy" = 30, "bomb" = 60, "bio" = 100, "rad" = 60, "fire" = 90, "acid" = 75) //intentionally the fucking strong, this is master chief-tier armor //is this really what you call the strong?? is this the best solgov has to offer?????? helmettype = /obj/item/clothing/head/helmet/space/hardsuit/solgov + allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals) slowdown = 0 supports_variations = DIGITIGRADE_VARIATION diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 43dc5a5dd8d0..895dea5156aa 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -58,7 +58,7 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light) visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF + flags_cover = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF | SEALS_EYES visor_flags_inv = HIDEEYES|HIDEFACE // WS Begin - plasmeme command helmets buff - used for RD bomb scanner diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 9dfd23210d9c..4b5da2de4f8e 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -330,7 +330,7 @@ icon_state = "armor_inteq_honorable_battlecoat" item_state = "inteq_honorable_battlecoat" armor = list("melee" = 40, "bullet" = 50, "laser" = 50, "energy" = 40, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 90) - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /obj/item/clothing/suit/armor/inteq/corpsman name = "inteq corpsman vest" diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm index 1131c4e9166c..3ef1628c19b4 100644 --- a/code/modules/clothing/suits/bio.dm +++ b/code/modules/clothing/suits/bio.dm @@ -8,7 +8,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 30, "acid" = 100) flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE resistance_flags = ACID_PROOF - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES /obj/item/clothing/suit/bio_suit name = "bio suit" diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm index f58d445c53f0..b69061cffbd1 100644 --- a/code/modules/clothing/suits/hoodies.dm +++ b/code/modules/clothing/suits/hoodies.dm @@ -11,6 +11,7 @@ /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/radio, + /obj/item/storage/pill_bottle ) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) //it's just a hoodie. supports_variations = KEPORI_VARIATION @@ -115,3 +116,9 @@ icon_state = "hoodie_rilena" item_state = "hoodie_rilena" +/obj/item/clothing/suit/hooded/hoodie/blackwa + name = "black and white hoodie" + desc = "A hoodie that is black, with a white hood. It has a comfy pocket for keeping your hands warm." + icon_state = "hoodie_bwa" + item_state = "hoodie_bwa" + hoodtype = /obj/item/clothing/head/hooded/hood/gray diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 56018c288b6a..3ca620095c61 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -114,6 +114,8 @@ item_state = "highvis" blood_overlay_type = "coat" body_parts_covered = CHEST|ARMS + cold_protection = CHEST|ARMS + min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT togglename = "zipper" allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/t_scanner, /obj/item/radio) resistance_flags = NONE diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 858b494564e6..798a34606bc1 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -59,11 +59,11 @@ armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0, fire = 50, acid = 50) /obj/item/clothing/suit/toggle/labcoat/raincoat - name = "\improper Cybersun labcoat" - desc = {"A translucent, uniquely designed labcoat from Cybersun Solutions. It's made from a special material that actively repels fluids. + name = "translucent labcoat" + desc = {"A uniquely designed, translucent labcoat. It's made from a special material that actively repels fluids. You're pretty sure this is just a raincoat. -Wearing a raincoat inside is like wearing sunglasses at night. A good Cybersun exec does both. +Wearing a raincoat inside is like wearing sunglasses at night. A good chemist does both. "} icon_state = "raincoat" item_state = "raincoat" diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index ac91351c2324..88661d6b835c 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -67,7 +67,7 @@ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT strip_delay = 70 equip_delay_other = 70 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE @@ -126,7 +126,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 60, "rad" = 100, "fire" = 30, "acid" = 30) strip_delay = 60 equip_delay_other = 60 - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES resistance_flags = NONE flags_1 = RAD_PROTECT_CONTENTS_1 supports_variations = VOX_VARIATION diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index 9b141148e5a2..5c1bfb47be66 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -12,14 +12,16 @@ body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - allowed = list( - /obj/item/flashlight, - /obj/item/tank/internals/emergency_oxygen, - /obj/item/tank/internals/plasmaman, - /obj/item/toy, - /obj/item/storage/fancy/cigarettes, - /obj/item/lighter, - ) + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo/large + allowed = list( /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + /obj/item/storage/pill_bottle + ) /obj/item/clothing/head/hooded/winterhood name = "winter hood" diff --git a/code/modules/clothing/towels.dm b/code/modules/clothing/towels.dm index 22c1b29976fc..f35c608a042a 100644 --- a/code/modules/clothing/towels.dm +++ b/code/modules/clothing/towels.dm @@ -32,7 +32,7 @@ item_flags = NOBLUDGEON resistance_flags = FLAMMABLE flags_inv = HIDEHAIR // Only relevant when in head shape, but useful to keep around regardless. - supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON | VOX_VARIATION /// The shape we're currently in. var/shape = TOWEL_FOLDED diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index bfc7524149cb..ac7eeea5dc23 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -167,7 +167,7 @@ can_adjust = FALSE resistance_flags = NONE -/obj/item/clothing/under/costume/mech_suit +/obj/item/clothing/under/costume/mech_suit //these still have "mech" in the name because they're costumes, not serious utility wear name = "red mech pilot's suit" desc = "A red mech pilot's suit. Might make your butt look big." icon_state = "red_mech_suit" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 85c9996489e2..2283e6a45b07 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -206,7 +206,7 @@ head = /obj/item/clothing/head/helmet/space/syndicate/surplus mask = /obj/item/clothing/mask/breath shoes = /obj/item/clothing/shoes/laceup - r_hand = /obj/item/gun/ballistic/automatic/ebr + r_hand = /obj/item/gun/ballistic/automatic/marksman/ebr gloves = null l_pocket = /obj/item/pinpointer/nuke/syndicate r_pocket = /obj/item/ammo_box/magazine/ebr diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index f474018739d0..4f2c3cd1343a 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -1,6 +1,6 @@ // Fish path used for autogenerated fish /obj/item/fish - name = "generic looking aquarium fish" + name = "generic fish" desc = "very bland" icon = 'icons/obj/aquarium.dmi' icon_state = "trout" //Replace this with "bugfish" from tg please diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ced086e1dfc6..4774ea852424 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -476,15 +476,15 @@ GLOBAL_LIST_INIT(hallucination_list, list( A = image(image_file,H,"dualsaberred1", layer=ABOVE_MOB_LAYER) if("taser") if(side == "right") - image_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + image_file = GUN_RIGHTHAND_ICON else - image_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + image_file = GUN_LEFTHAND_ICON A = image(image_file,H,"advtaserstun4", layer=ABOVE_MOB_LAYER) if("ebow") if(side == "right") - image_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + image_file = GUN_RIGHTHAND_ICON else - image_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' + image_file = GUN_LEFTHAND_ICON A = image(image_file,H,"crossbow", layer=ABOVE_MOB_LAYER) if("baton") if(side == "right") diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 32c4b1a9a09f..6ffea82fb945 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -373,7 +373,7 @@ desc = "A popular Gezenan drink made of fermented honey and spices, known as Gezenan Dark Mead, or GDM for short." icon_state = "beer" list_reagents = list(/datum/reagent/consumable/ethanol/beer = 30) - foodtype = GRAIN | ALCOHOL + foodtype = SUGAR | ALCOHOL custom_price = 60 /obj/item/reagent_containers/food/drinks/beer/light diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index 57d84ee22397..785607cdef67 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -202,10 +202,10 @@ /obj/item/reagent_containers/food/drinks/bottle/kahlua name = "Keh'Lu'Tex Liqueur" - desc = "An adapted recipe of a caffeine-mixed liqueur originating from Reh'himl, which replaces it's original ingredient with coffee from Terra." + desc = "An adapted recipe of a caffeine-mixed liqueur originating from Reh'himl, which replaces its original ingredient with coffee from Terra." icon_state = "kahluabottle" list_reagents = list(/datum/reagent/consumable/ethanol/kahlua = 100) - foodtype = VEGETABLES + foodtype = SUGAR | ALCOHOL //it's coffee and rum . /obj/item/reagent_containers/food/drinks/bottle/goldschlager name = "Student-Union's Gold Standard" @@ -618,6 +618,10 @@ custom_materials = list(/datum/material/wood = 800) w_class = WEIGHT_CLASS_BULKY var/sealed = FALSE + var/max_bottles = 6 + var/list/valid_bottles = list(/obj/item/reagent_containers/food/drinks/beer, + /obj/item/reagent_containers/food/drinks/ale, + /obj/item/reagent_containers/food/drinks/bottle) /obj/item/storage/bottles/Initialize() . = ..() @@ -628,12 +632,8 @@ var/datum/component/storage/S = GetComponent(/datum/component/storage) S.max_w_class = WEIGHT_CLASS_NORMAL S.max_combined_w_class = 16 - S.max_items = 6 - S.set_holdable(list( - /obj/item/reagent_containers/food/drinks/beer, - /obj/item/reagent_containers/food/drinks/ale, - /obj/item/reagent_containers/food/drinks/bottle - )) + S.max_items = max_bottles + S.set_holdable(valid_bottles) S.locked = sealed /obj/item/storage/bottles/update_icon_state() @@ -668,3 +668,17 @@ /obj/item/storage/bottles/sandblast/PopulateContents() for(var/i in 1 to 6) new /obj/item/reagent_containers/food/drinks/bottle/sarsaparilla(src) + +/obj/item/storage/bottles/moonshine + name = "moonshine bottle crate" + desc = "Holds four bottles of the strongest hooch this side of the Frontier." + icon_state = "hoochcrate" + max_bottles = 4 + valid_bottles = list(/obj/item/reagent_containers/food/drinks/bottle/moonshine) + +/obj/item/storage/bottles/moonshine/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/reagent_containers/food/drinks/bottle/moonshine(src) + +/obj/item/storage/bottles/moonshine/sealed + sealed = TRUE diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm index fc3df2f74713..3147ee9a5de4 100644 --- a/code/modules/food_and_drinks/food/customizables.dm +++ b/code/modules/food_and_drinks/food/customizables.dm @@ -45,7 +45,7 @@ to_chat(user, "The ingredient is too big for [src]!") else if((ingredients.len >= ingMax) || (reagents.total_volume >= volume)) to_chat(user, "You can't add more ingredients to [src]!") - else if(istype(I, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(I, /obj/item/reagent_containers/food/snacks/cakeslice/custom)) + else if(istype(I, /obj/item/reagent_containers/food/snacks/pizzaslice/custom)) to_chat(user, "Adding [I.name] to [src] would make a mess.") else if(!user.transferItemToLoc(I, src)) @@ -170,26 +170,6 @@ foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/customizable/bread - name = "bread" - ingMax = 6 - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/custom - slices_num = 5 - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "tofubread" - foodtype = GRAIN - - -/obj/item/reagent_containers/food/snacks/customizable/cake - name = "cake" - ingMax = 6 - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/custom - slices_num = 5 - icon = 'icons/obj/food/piecake.dmi' - icon_state = "plaincake" - foodtype = GRAIN | DAIRY - - /obj/item/reagent_containers/food/snacks/customizable/kebab name = "kebab" desc = "Delicious food on a stick." @@ -199,15 +179,6 @@ ingMax = 6 icon_state = "rod" -/obj/item/reagent_containers/food/snacks/customizable/pasta - name = "spaghetti" - desc = "Noodles. With stuff. Delicious." - ingredients_placement = INGREDIENTS_SCATTER - ingMax = 6 - icon = 'icons/obj/food/pizzaspaghetti.dmi' - icon_state = "spaghettiboiled" - foodtype = GRAIN - /obj/item/reagent_containers/food/snacks/customizable/pie name = "pie" @@ -238,43 +209,6 @@ icon_state = "bowl" -/obj/item/reagent_containers/food/snacks/customizable/sandwich - name = "toast" - desc = "A timeless classic." - ingredients_placement = INGREDIENTS_STACK - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "breadslice" - var/finished = 0 - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/customizable/sandwich/initialize_custom_food(obj/item/reagent_containers/BASE, obj/item/I, mob/user) - icon_state = BASE.icon_state - ..() - -/obj/item/reagent_containers/food/snacks/customizable/sandwich/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/reagent_containers/food/snacks/breadslice)) //we're finishing the custom food. - var/obj/item/reagent_containers/food/snacks/breadslice/BS = I - if(finished) - return - to_chat(user, "You finish the [src.name].") - finished = 1 - name = "[customname] sandwich" - BS.reagents.trans_to(src, BS.reagents.total_volume, transfered_by = user) - ingMax = ingredients.len //can't add more ingredients after that - var/mutable_appearance/TOP = mutable_appearance(icon, "[BS.icon_state]") - TOP.pixel_y = 2 * ingredients.len + 3 - add_overlay(TOP) - if(istype(BS, /obj/item/reagent_containers/food/snacks/breadslice/custom)) - var/mutable_appearance/filling = new(icon, "[initial(BS.icon_state)]_filling") - filling.color = BS.filling_color - filling.pixel_y = 2 * ingredients.len + 3 - add_overlay(filling) - qdel(BS) - return - else - ..() - - /obj/item/reagent_containers/food/snacks/customizable/soup name = "soup" desc = "A bowl with liquid and... stuff in it." diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 61121a3ca950..9e84c272dbb6 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -56,6 +56,16 @@ All foods are distributed among various categories. Use common sense. //Placeholder for effect that trigger on eating that aren't tied to reagents. +/obj/item/reagent_containers/food/snacks/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ITEM_FRIED, PROC_REF(on_fried)) + + +/obj/item/reagent_containers/food/snacks/proc/on_fried(fry_object) + reagents.trans_to(fry_object, reagents.total_volume) + qdel() + return COMSIG_FRYING_HANDLED + /obj/item/reagent_containers/food/snacks/add_initial_reagents() if(tastes && tastes.len) if(list_reagents) @@ -175,7 +185,7 @@ All foods are distributed among various categories. Use common sense. if(W.w_class > WEIGHT_CLASS_SMALL) to_chat(user, span_warning("[S] is too big for [src]!")) return FALSE - if(istype(S) && (!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom) || istype(W, /obj/item/reagent_containers/food/snacks/cakeslice/custom))) + if(!S.customfoodfilling || istype(W, /obj/item/reagent_containers/food/snacks/customizable) || istype(W, /obj/item/reagent_containers/food/snacks/pizzaslice/custom)) to_chat(user, span_warning("[src] can't be filled with [S]!")) return FALSE if(contents.len >= 20) @@ -337,26 +347,10 @@ All foods are distributed among various categories. Use common sense. /// All the food items that can store an item inside itself, like bread or cake. /obj/item/reagent_containers/food/snacks/store w_class = WEIGHT_CLASS_NORMAL - var/stored_item = 0 -/obj/item/reagent_containers/food/snacks/store/attackby(obj/item/W, mob/user, params) - ..() - if(W.w_class <= WEIGHT_CLASS_SMALL & !istype(W, /obj/item/reagent_containers/food/snacks)) //can't slip snacks inside, they're used for custom foods. - if(W.get_sharpness()) - return 0 - if(stored_item) - return 0 - if(!iscarbon(user)) - return 0 - if(contents.len >= 20) - to_chat(user, "[src] is full.") - return 0 - to_chat(user, "You slip [W] inside [src].") - user.transferItemToLoc(W, src) - add_fingerprint(user) - contents += W - stored_item = 1 - return 1 // no afterattack here +/obj/item/reagent_containers/food/snacks/store/Initialize() + . = ..() + AddComponent(/datum/component/food_storage) /obj/item/reagent_containers/food/snacks/MouseDrop(atom/over) var/turf/T = get_turf(src) diff --git a/code/modules/food_and_drinks/food/snacks/dough.dm b/code/modules/food_and_drinks/food/snacks/dough.dm index 9567690dc71c..4f5f06379927 100644 --- a/code/modules/food_and_drinks/food/snacks/dough.dm +++ b/code/modules/food_and_drinks/food/snacks/dough.dm @@ -7,7 +7,7 @@ desc = "A piece of dough." icon = 'icons/obj/food/food_ingredients.dmi' icon_state = "dough" - cooked_type = /obj/item/reagent_containers/food/snacks/store/bread/plain + cooked_type = /obj/item/food/bread/plain list_reagents = list(/datum/reagent/consumable/nutriment = 6) w_class = WEIGHT_CLASS_NORMAL tastes = list("dough" = 1) @@ -82,7 +82,7 @@ desc = "Cook it to get a cake." icon = 'icons/obj/food/food_ingredients.dmi' icon_state = "cakebatter" - cooked_type = /obj/item/reagent_containers/food/snacks/store/cake/plain + cooked_type = /obj/item/food/cake/plain list_reagents = list(/datum/reagent/consumable/nutriment = 9) w_class = WEIGHT_CLASS_NORMAL tastes = list("batter" = 1) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index e4ccbd1c8f90..6cc7413cbfdd 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -279,7 +279,7 @@ /obj/item/reagent_containers/food/snacks/meat/slab/gondola name = "gondola meat" desc = "According to legends of old, consuming raw gondola flesh grants one inner peace." - list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/tranquility = 5, /datum/reagent/consumable/cooking_oil = 3) + list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/cooking_oil = 3) tastes = list("meat" = 4, "tranquility" = 1) filling_color = "#9A6750" cooked_type = /obj/item/reagent_containers/food/snacks/meat/steak/gondola diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm deleted file mode 100644 index 13342a968900..000000000000 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ /dev/null @@ -1,302 +0,0 @@ - -/obj/item/reagent_containers/food/snacks/store/bread - icon = 'icons/obj/food/burgerbread.dmi' - volume = 80 - slices_num = 5 - tastes = list("bread" = 10) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/store/bread/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - -/obj/item/reagent_containers/food/snacks/breadslice - icon = 'icons/obj/food/burgerbread.dmi' - bitesize = 2 - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/sandwich - filling_color = "#FFA500" - list_reagents = list(/datum/reagent/consumable/nutriment = 2) - slot_flags = ITEM_SLOT_HEAD - customfoodfilling = 0 //to avoid infinite bread-ception - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - -/obj/item/reagent_containers/food/snacks/store/bread/plain - name = "bread" - desc = "Some plain old earthen bread." - icon_state = "bread" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 7) - list_reagents = list(/datum/reagent/consumable/nutriment = 10) - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/bread - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/plain - tastes = list("bread" = 10) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/plain - name = "bread slice" - desc = "A slice of home." - icon_state = "breadslice" - customfoodfilling = 1 - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/breadslice/moldy - name = "moldy bread slice" - desc = "Entire stations have been ripped apart over arguing whether this is still good to eat." - icon_state = "moldybreadslice" - customfoodfilling = 0 - bonus_reagents = list(/datum/reagent/consumable/mold = 10) - tastes = list("decaying fungus" = 1) - foodtype = GROSS - -/obj/item/reagent_containers/food/snacks/store/bread/meat - name = "meatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman." - icon_state = "meatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/meat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "meat" = 10) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/breadslice/meat - name = "meatbread slice" - desc = "A slice of delicious meatbread." - icon_state = "meatbreadslice" - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/store/bread/xenomeat - name = "xenomeatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical." - icon_state = "xenomeatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/xenomeat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "acid" = 10) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/breadslice/xenomeat - name = "xenomeatbread slice" - desc = "A slice of delicious meatbread. Extra Heretical." - icon_state = "xenobreadslice" - filling_color = "#32CD32" - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/store/bread/spidermeat - name = "spider meat loaf" - desc = "Reassuringly green meatloaf made from spider meat." - icon_state = "spidermeatbread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/spidermeat - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 30, /datum/reagent/toxin = 15, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "cobwebs" = 5) - foodtype = GRAIN | MEAT | TOXIC - -/obj/item/reagent_containers/food/snacks/breadslice/spidermeat - name = "spider meat bread slice" - desc = "A slice of meatloaf made from an animal that most likely still wants you dead." - icon_state = "spiderbreadslice" - filling_color = "#7CFC00" - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/toxin = 3, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | MEAT | TOXIC - -/obj/item/reagent_containers/food/snacks/store/bread/banana - name = "banana-nut bread" - desc = "A heavenly and filling treat." - icon_state = "bananabread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/banana - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/banana = 20) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/banana = 20) - tastes = list("bread" = 10) // bananjuice will also flavour - foodtype = GRAIN | FRUIT - - -/obj/item/reagent_containers/food/snacks/breadslice/banana - name = "banana-nut bread slice" - desc = "A slice of delicious banana bread." - icon_state = "bananabreadslice" - filling_color = "#FFD700" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/banana = 4) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/store/bread/tofu - name = "Tofubread" - desc = "Like meatbread but for vegetarians. Not guaranteed to give superpowers." - icon_state = "tofubread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/tofu - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "tofu" = 10) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/breadslice/tofu - name = "tofubread slice" - desc = "A slice of delicious tofubread." - icon_state = "tofubreadslice" - filling_color = "#FF8C00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/store/bread/creamcheese - name = "cream cheese bread" - desc = "Yum yum yum!" - icon_state = "creamcheesebread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/creamcheese - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "cheese" = 10) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/breadslice/creamcheese - name = "cream cheese bread slice" - desc = "A slice of yum!" - icon_state = "creamcheesebreadslice" - filling_color = "#FF8C00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/bread/mimana - name = "mimana bread" - desc = "Best eaten in silence." - icon_state = "mimanabread" - slice_path = /obj/item/reagent_containers/food/snacks/breadslice/mimana - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/toxin/mutetoxin = 5, /datum/reagent/consumable/nothing = 5, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("bread" = 10, "silence" = 10) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/breadslice/mimana - name = "mimana bread slice" - desc = "A slice of silence!" - icon_state = "mimanabreadslice" - filling_color = "#C0C0C0" - list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/toxin/mutetoxin = 1, /datum/reagent/consumable/nothing = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - foodtype = GRAIN | FRUIT - -/obj/item/reagent_containers/food/snacks/breadslice/custom - name = "bread slice" - icon_state = "tofubreadslice" - filling_color = "#FFFFFF" - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/baguette - name = "baguette" - desc = "Bon appetit!" - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "baguette" - item_state = "baguette" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) - bitesize = 3 - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT - attack_verb = list("touche'd") - tastes = list("bread" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/garlicbread - name = "garlic bread" - desc = "Alas, it is limited." - icon = 'icons/obj/food/burgerbread.dmi' - icon_state = "garlicbread" - item_state = "garlicbread" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 4, /datum/reagent/consumable/garlic = 2) - bitesize = 3 - tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/deepfryholder - name = "Deep Fried Foods Holder Obj" - desc = "If you can see this description the code for the deep fryer fucked up." - icon = 'icons/obj/food/food.dmi' - icon_state = "" - bitesize = 2 - -/obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) - . = ..() - name = fried.name //We'll determine the other stuff when it's actually removed - appearance = fried.appearance - layer = initial(layer) - plane = initial(plane) - lefthand_file = fried.lefthand_file - righthand_file = fried.righthand_file - item_state = fried.item_state - desc = fried.desc - w_class = fried.w_class - slowdown = fried.slowdown - equip_delay_self = fried.equip_delay_self - equip_delay_other = fried.equip_delay_other - strip_delay = fried.strip_delay - species_exception = fried.species_exception - item_flags = fried.item_flags - obj_flags = fried.obj_flags - inhand_x_dimension = fried.inhand_x_dimension - inhand_y_dimension = fried.inhand_y_dimension - - if(istype(fried, /obj/item/reagent_containers/food/snacks)) - fried.reagents.trans_to(src, fried.reagents.total_volume) - qdel(fried) - else - fried.forceMove(src) - -/obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() - if(contents) - QDEL_LIST(contents) - . = ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/On_Consume(mob/living/eater) - if(contents) - QDEL_LIST(contents) - ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/proc/fry(cook_time = 30) - switch(cook_time) - if(0 to 15) - add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) - name = "lightly-fried [name]" - desc = "[desc] It's been lightly fried in a deep fryer." - if(16 to 49) - add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) - name = "fried [name]" - desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." - if(50 to 59) - add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) - name = "deep-fried [name]" - desc = "[desc] Deep-fried to perfection." - if(60 to INFINITY) - add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) - name = "\proper the physical manifestation of the very concept of fried foods" - desc = "A heavily-fried...something. Who can tell anymore?" - filling_color = color - foodtype |= FRIED - -/obj/item/reagent_containers/food/snacks/butterbiscuit - name = "butter biscuit" - desc = "Well butter my biscuit!" - icon = 'icons/obj/food/food.dmi' - icon_state = "butterbiscuit" - filling_color = "#F0E68C" - list_reagents = list(/datum/reagent/consumable/nutriment = 5) - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("butter" = 1, "biscuit" = 1) - foodtype = GRAIN | BREAKFAST - -/obj/item/reagent_containers/food/snacks/butterdog - name = "butterdog" - desc = "Made from exotic butters." - icon = 'icons/obj/food/food.dmi' - icon_state = "butterdog" - bitesize = 1 - filling_color = "#F1F49A" - list_reagents = list(/datum/reagent/consumable/nutriment = 5) - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("butter", "exotic butter") - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/butterdog/ComponentInitialize() - . = ..() - AddComponent(/datum/component/slippery, 80) diff --git a/code/modules/food_and_drinks/food/snacks_cake.dm b/code/modules/food_and_drinks/food/snacks_cake.dm deleted file mode 100644 index d6f6151d47ac..000000000000 --- a/code/modules/food_and_drinks/food/snacks_cake.dm +++ /dev/null @@ -1,431 +0,0 @@ -/obj/item/reagent_containers/food/snacks/store/cake - icon = 'icons/obj/food/piecake.dmi' - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/plain - slices_num = 5 - bitesize = 3 - volume = 80 - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice - icon = 'icons/obj/food/piecake.dmi' - trash = /obj/item/trash/plate - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/nutriment/vitamin = 1) - customfoodfilling = 0 //to avoid infinite cake-ception - tastes = list("cake" = 1) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/plain - name = "plain cake" - desc = "A plain cake, not a lie." - icon_state = "plaincake" - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/cake - bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) - tastes = list("sweetness" = 2,"cake" = 5) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/plain - name = "plain cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "plaincake_slice" - filling_color = "#FFD700" - customfoodfilling = 1 - tastes = list("sweetness" = 2,"cake" = 5) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/carrot - name = "carrot cake" - desc = "A favorite desert of a certain wascally wabbit. Not a lie." - icon_state = "carrotcake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/carrot - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/medicine/oculine = 5, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/medicine/oculine = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/carrot - name = "carrot cake slice" - desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." - icon_state = "carrotcake_slice" - filling_color = "#FFA500" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/oculine = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/brain - name = "brain cake" - desc = "A squishy cake-thing." - icon_state = "braincake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brain - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/medicine/mannitol = 10, /datum/reagent/consumable/nutriment/vitamin = 10) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/medicine/mannitol = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) - foodtype = GRAIN | DAIRY | MEAT | GROSS | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/brain - name = "brain cake slice" - desc = "Lemme tell you something about prions. THEY'RE DELICIOUS." - icon_state = "braincakeslice" - filling_color = "#FF69B4" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/mannitol = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) - foodtype = GRAIN | DAIRY | MEAT | GROSS | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/cheese - name = "cheese cake" - desc = "DANGEROUSLY cheesy." - icon_state = "cheesecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/cheese - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 4, "cream cheese" = 3) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/cheese - name = "cheese cake slice" - desc = "Slice of pure cheestisfaction." - icon_state = "cheesecake_slice" - filling_color = "#FFFACD" - tastes = list("cake" = 4, "cream cheese" = 3) - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/orange - name = "orange cake" - desc = "A cake with added orange." - icon_state = "orangecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/orange - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/orange - name = "orange cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "orangecake_slice" - filling_color = "#FFA500" - tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/lime - name = "lime cake" - desc = "A cake with added lime." - icon_state = "limecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/lime - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/lime - name = "lime cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "limecake_slice" - filling_color = "#00FF00" - tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/lemon - name = "lemon cake" - desc = "A cake with added lemon." - icon_state = "lemoncake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/lemon - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/lemon - name = "lemon cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "lemoncake_slice" - filling_color = "#FFEE00" - tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/chocolate - name = "chocolate cake" - desc = "A cake with added chocolate." - icon_state = "chocolatecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/chocolate - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/chocolate - name = "chocolate cake slice" - desc = "Just a slice of cake, it is enough for everyone." - icon_state = "chocolatecake_slice" - filling_color = "#A0522D" - tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday - name = "birthday cake" - desc = "Happy Birthday little clown..." - icon_state = "birthdaycake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/birthday - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 20, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 1) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/microwave_act(obj/machinery/microwave/M) //super sekrit club - new /obj/item/clothing/head/hardhat/cakehat(get_turf(src)) - qdel(src) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday - name = "birthday cake slice" - desc = "A slice of your birthday." - icon_state = "birthdaycakeslice" - filling_color = "#DC143C" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sprinkles = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - tastes = list("cake" = 5, "sweetness" = 1) - foodtype = GRAIN | DAIRY | JUNKFOOD | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy - name = "energy cake" - desc = "Just enough calories for a whole nuclear operative squad." - icon_state = "energycake" - force = 5 - hitsound = 'sound/weapons/blade1.ogg' - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy - list_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/sprinkles = 10, /datum/reagent/consumable/nutriment/vitamin = 5, /datum/reagent/consumable/pacfuel = 10, /datum/reagent/consumable/liquidelectricity = 10) - tastes = list("cake" = 3, "a Vlad's Salad" = 1) - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy/proc/energy_bite(mob/living/user) - to_chat(user, "As you eat the cake, you accidentally hurt yourself on the embedded energy sword!") - user.apply_damage(30,BRUTE,BODY_ZONE_HEAD) - playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy/attack(mob/living/M, mob/living/user) - . = ..() - if(HAS_TRAIT(user, TRAIT_PACIFISM) && M != user) //Prevents pacifists from attacking others directly - return - energy_bite(M, user) - -/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy/microwave_act(obj/machinery/microwave/M) //super sekriter club - new /obj/item/clothing/head/hardhat/cakehat/energycake(get_turf(src)) - qdel(src) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy - name = "energy cake slice" - desc = "For the traitor on the go." - icon_state = "energycakeslice" - force = 2 - hitsound = 'sound/weapons/blade1.ogg' - filling_color = "#00FF00" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sprinkles = 2, /datum/reagent/consumable/nutriment/vitamin = 1, /datum/reagent/consumable/pacfuel = 2, /datum/reagent/consumable/liquidelectricity = 2) - tastes = list("cake" = 3, "a Vlad's Salad" = 1) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy/proc/energy_bite(mob/living/user) - to_chat(user, "As you eat the cake slice, you accidentally hurt yourself on the embedded energy dagger!") - user.apply_damage(18,BRUTE,BODY_ZONE_HEAD) - playsound(user, 'sound/weapons/blade1.ogg', 5, TRUE) - -/obj/item/reagent_containers/food/snacks/cakeslice/birthday/energy/attack(mob/living/M, mob/living/user) - . = ..() - if(HAS_TRAIT(user, TRAIT_PACIFISM) && M != user) //Prevents pacifists from attacking others directly - return - energy_bite(M, user) - -/obj/item/reagent_containers/food/snacks/store/cake/apple - name = "apple cake" - desc = "A cake centred with Apple." - icon_state = "applecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/apple - slices_num = 5 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 10) - tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/apple - name = "apple cake slice" - desc = "A slice of heavenly cake." - icon_state = "applecakeslice" - filling_color = "#FF4500" - tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/custom - name = "cake slice" - icon_state = "plaincake_slice" - filling_color = "#FFFFFF" - foodtype = GRAIN | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/slimecake - name = "Slime cake" - desc = "A cake made of slimes. Probably not electrified." - icon_state = "slimecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/slimecake - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) - tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/slimecake - name = "slime cake slice" - desc = "A slice of slime cake." - icon_state = "slimecake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice - name = "pumpkin spice cake" - desc = "A hollow cake with real pumpkin." - icon_state = "pumpkinspicecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/pumpkinspice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 5) - tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/pumpkinspice - name = "pumpkin spice cake slice" - desc = "A spicy slice of pumpkin goodness." - icon_state = "pumpkinspicecakeslice" - filling_color = "#FFD700" - tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1) - foodtype = GRAIN | DAIRY | VEGETABLES | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/bsvc // blackberry strawberries vanilla cake - name = "blackberry and strawberry vanilla cake" - desc = "A plain cake, filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_vanilla_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/bsvc - bonus_reagents = list(/datum/reagent/consumable/nutriment = 14, /datum/reagent/consumable/nutriment/vitamin = 4) - tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/bsvc - name = "blackberry and strawberry vanilla cake slice" - desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_vanilla_slice" - filling_color = "#FFD700" - tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/bscc // blackbarry strawberries chocolate cake - name = "blackberry and strawberry chocolate cake" - desc = "A chocolate cake, filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_coco_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/bscc - bonus_reagents = list(/datum/reagent/consumable/nutriment = 14, /datum/reagent/consumable/nutriment/vitamin = 4, /datum/reagent/consumable/coco = 5) - tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/bscc - name = "blackberry and strawberry chocolate cake slice" - desc = "Just a slice of cake filled with assortment of blackberries and strawberries!" - icon_state = "blackbarry_strawberries_cake_coco_slice" - filling_color = "#FFD700" - tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2,"cake" = 3) - foodtype = GRAIN | DAIRY | FRUIT | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/holy_cake - name = "angel food cake" - desc = "A cake made for angels and chaplains alike! Contains holy water." - icon_state = "holy_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/holy_cake_slice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3, /datum/reagent/water/holywater = 10) - tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/cakeslice/holy_cake_slice - name = "angel food cake slice" - desc = "A slice of heavenly cake." - icon_state = "holy_cake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1) - foodtype = GRAIN | DAIRY | SUGAR - -/obj/item/reagent_containers/food/snacks/store/cake/pound_cake - name = "pound cake" - desc = "A condensed cake made for filling people up quickly." - icon_state = "pound_cake" - slices_num = 7 //Its ment to feed the party - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/pound_cake_slice - bonus_reagents = list(/datum/reagent/consumable/nutriment = 60) - tastes = list("cake" = 5, "sweetness" = 1, "batter" = 1) - foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD - -/obj/item/reagent_containers/food/snacks/cakeslice/pound_cake_slice - name = "pound cake slice" - desc = "A slice of condensed cake made for filling people up quickly." - icon_state = "pound_cake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1) - foodtype = GRAIN | DAIRY | SUGAR | JUNKFOOD - -/obj/item/reagent_containers/food/snacks/store/cake/hardware_cake - name = "hardware cake" - desc = "A quote on quote cake that is made with electronic boards and leaks acid..." - icon_state = "hardware_cake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/hardware_cake_slice - bonus_reagents = list(/datum/reagent/toxin/acid = 15, /datum/reagent/fuel/oil = 15) - tastes = list("acid" = 3, "metal" = 4, "glass" = 5) - foodtype = GRAIN | GROSS - -/obj/item/reagent_containers/food/snacks/cakeslice/hardware_cake_slice - name = "hardware cake slice" - desc = "A slice of electronic boards and some acid." - icon_state = "hardware_cake_slice" - filling_color = "#00FFFF" - tastes = list("acid" = 3, "metal" = 4, "glass" = 5) - foodtype = GRAIN | GROSS - -/obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake - name = "vanilla cake" - desc = "A vanilla frosted cake." - icon_state = "vanillacake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/vanilla_slice - bonus_reagents = list(/datum/reagent/consumable/sugar = 15, /datum/reagent/consumable/vanilla = 15) - tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/vanilla_slice - name = "vanilla cake slice" - desc = "A slice of vanilla frosted cake." - icon_state = "vanillacake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/store/cake/clown_cake - name = "clown cake" - desc = "A funny cake with a clown face on it." - icon_state = "clowncake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/clown_slice - bonus_reagents = list(/datum/reagent/consumable/sugar = 15) - tastes = list("cake" = 1, "sugar" = 1, "joy" = 10) - foodtype = GRAIN | SUGAR | DAIRY - -/obj/item/reagent_containers/food/snacks/cakeslice/clown_slice - name = "clown cake slice" - desc = "A slice of bad jokes, and silly props." - icon_state = "clowncake_slice" - filling_color = "#00FFFF" - tastes = list("cake" = 1, "sugar" = 1, "joy" = 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(/datum/reagent/medicine/polypyr = 15, /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/nutriment/vitamin = 5, /datum/reagent/consumable/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 diff --git a/code/modules/food_and_drinks/food/snacks_egg.dm b/code/modules/food_and_drinks/food/snacks_egg.dm index 360053c28ca4..665d94e1fa9b 100644 --- a/code/modules/food_and_drinks/food/snacks_egg.dm +++ b/code/modules/food_and_drinks/food/snacks_egg.dm @@ -10,6 +10,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 4, "sweetness" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/egg name = "egg" @@ -18,7 +20,8 @@ list_reagents = list(/datum/reagent/consumable/eggyolk = 5) cooked_type = /obj/item/reagent_containers/food/snacks/boiledegg filling_color = "#F0E68C" - foodtype = MEAT + foodtype = MEAT | RAW + w_class = WEIGHT_CLASS_TINY grind_results = list() var/static/chick_count = 0 //I copied this from the chicken_count (note the "en" in there) variable from chicken code. @@ -106,6 +109,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("egg" = 1) foodtype = MEAT | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/omelette //FUCK THIS name = "omelette du fromage" diff --git a/code/modules/food_and_drinks/food/snacks_frozen.dm b/code/modules/food_and_drinks/food/snacks_frozen.dm index e35cb7eeb5fe..d79b91507c1b 100644 --- a/code/modules/food_and_drinks/food/snacks_frozen.dm +++ b/code/modules/food_and_drinks/food/snacks_frozen.dm @@ -8,20 +8,24 @@ desc = "Portable Ice-cream in its own packaging." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "icecreamsandwich" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/ice = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) tastes = list("ice cream" = 1) foodtype = GRAIN | DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/strawberryicecreamsandwich name = "strawberry ice cream sandwich" desc = "Portable ice-cream in its own packaging of the strawberry variety." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "strawberryicecreamsandwich" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/ice = 2) tastes = list("ice cream" = 2, "berry" = 2) foodtype = FRUIT | DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/spacefreezy @@ -29,6 +33,7 @@ desc = "The best icecream in space." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "spacefreezy" + w_class = WEIGHT_CLASS_TINY bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 2) list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/bluecherryjelly = 5, /datum/reagent/consumable/nutriment/vitamin = 4) filling_color = "#87CEFA" @@ -40,6 +45,7 @@ desc = "A classic dessert." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "sundae" + w_class = WEIGHT_CLASS_SMALL bonus_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/banana = 5, /datum/reagent/consumable/nutriment/vitamin = 2) filling_color = "#FFFACD" @@ -66,12 +72,14 @@ desc = "It's just shaved ice. Still fun to chew on." icon = 'icons/obj/food/frozen_treats.dmi' icon_state = "flavorless_sc" + w_class = WEIGHT_CLASS_SMALL trash = /obj/item/reagent_containers/food/drinks/sillycup //We dont eat paper cups bonus_reagents = list(/datum/reagent/water = 10) //Base line will allways give water list_reagents = list(/datum/reagent/water = 1) // We dont get food for water/juices filling_color = "#FFFFFF" //Ice is white tastes = list("ice" = 1, "water" = 1) foodtype = SUGAR //We use SUGAR as a base line to act in as junkfood, other wise we use fruit + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/snowcones/lime name = "lime snowcone" diff --git a/code/modules/food_and_drinks/food/snacks_meat.dm b/code/modules/food_and_drinks/food/snacks_meat.dm index 510130ce08be..c088b2259610 100644 --- a/code/modules/food_and_drinks/food/snacks_meat.dm +++ b/code/modules/food_and_drinks/food/snacks_meat.dm @@ -211,6 +211,8 @@ filling_color = "#800000" tastes = list("meat" = 1) foodtype = MEAT + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/sausage name = "sausage" @@ -223,6 +225,7 @@ slices_num = 6 slice_path = /obj/item/reagent_containers/food/snacks/salami foodtype = MEAT | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ var/roasted = FALSE /obj/item/reagent_containers/food/snacks/sausage/Initialize() @@ -266,6 +269,8 @@ filling_color = "#CD853F" tastes = list("the jungle" = 1, "bananas" = 1) foodtype = MEAT | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY var/faction var/spawned_mob = /mob/living/carbon/monkey custom_price = 300 @@ -359,6 +364,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 2) tastes = list("\"chicken\"" = 1) foodtype = MEAT + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/nugget/Initialize() . = ..() diff --git a/code/modules/food_and_drinks/food/snacks_other.dm b/code/modules/food_and_drinks/food/snacks_other.dm index 3d5adf18e6fd..0e55d21b3505 100644 --- a/code/modules/food_and_drinks/food/snacks_other.dm +++ b/code/modules/food_and_drinks/food/snacks_other.dm @@ -37,7 +37,9 @@ filling_color = "#FF1493" tastes = list("watermelon" = 1) foodtype = FRUIT + /*food_flags = FOOD_FINGER_FOOD*/ juice_results = list(/datum/reagent/consumable/watermelonjuice = 5) + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/candy_corn name = "candy corn" @@ -47,6 +49,8 @@ filling_color = "#FF8C00" tastes = list("candy corn" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/candy_corn/prison name = "desiccated candy corn" @@ -64,6 +68,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/hugemushroomslice name = "huge mushroom slice" @@ -112,19 +118,6 @@ . = ..() AddElement(/datum/element/dunkable, 10) -/obj/item/reagent_containers/food/snacks/tatortot - name = "tator tot" - desc = "A large fried potato nugget that may or may not try to valid you." - icon_state = "tatortot" - list_reagents = list(/datum/reagent/consumable/nutriment = 4) - filling_color = "FFD700" - tastes = list("potato" = 3, "valids" = 1) - foodtype = FRIED | VEGETABLES - -/obj/item/reagent_containers/food/snacks/tatortot/Initialize() - . = ..() - AddElement(/datum/element/dunkable, 10) - /obj/item/reagent_containers/food/snacks/soydope name = "soy dope" desc = "Dope from a soy." @@ -192,6 +185,8 @@ list_reagents = list(/datum/reagent/toxin/minttoxin = 2) filling_color = "#800000" foodtype = TOXIC | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/eggwrap name = "egg wrap" @@ -229,6 +224,8 @@ filling_color = "#00800" tastes = list("cobwebs" = 1, "sugar" = 2) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/chococoin name = "chocolate coin" @@ -239,6 +236,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/fudgedice name = "fudge dice" @@ -250,6 +249,8 @@ trash = /obj/item/dice/fudge tastes = list("fudge" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/chocoorange name = "chocolate orange" @@ -260,6 +261,8 @@ filling_color = "#A0522D" tastes = list("chocolate" = 3, "oranges" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/eggplantparm name = "eggplant parmigiana" @@ -404,6 +407,8 @@ filling_color = "#F2CE91" tastes = list("oats" = 3, "nuts" = 2, "honey" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/stuffedlegion name = "stuffed legion" @@ -484,6 +489,8 @@ next_succ = 0 tastes = list("candy" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/chewable/lollipop/Initialize() . = ..() @@ -520,6 +527,7 @@ name = "bubblegum" desc = "A rubbery strip of gum. Not exactly filling, but it keeps you busy." icon_state = "bubblegum" + supports_variations = VOX_VARIATION item_state = "bubblegum" color = "#E48AB5" // craftable custom gums someday? list_reagents = list(/datum/reagent/consumable/sugar = 5) @@ -574,6 +582,8 @@ list_reagents = list(/datum/reagent/consumable/sugar = 5, /datum/reagent/medicine/bicaridine = 2, /datum/reagent/medicine/kelotane = 2) //Kek tastes = list("candy") foodtype = JUNKFOOD + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/gumball/Initialize() . = ..() @@ -654,6 +664,7 @@ desc = "delicious, golden, fatty goodness on a stick." icon_state = "butteronastick" trash = /obj/item/stack/rods + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/onionrings name = "onion rings" @@ -664,6 +675,7 @@ gender = PLURAL tastes = list("batter" = 3, "onion" = 1) foodtype = VEGETABLES + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/pineappleslice name = "pineapple slice" @@ -673,6 +685,7 @@ juice_results = list(/datum/reagent/consumable/pineapplejuice = 3) tastes = list("pineapple" = 1) foodtype = FRUIT | PINEAPPLE + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/tinychocolate name = "chocolate" diff --git a/code/modules/food_and_drinks/food/snacks_pastry.dm b/code/modules/food_and_drinks/food/snacks_pastry.dm index 318de66636e7..7cb9f05900ba 100644 --- a/code/modules/food_and_drinks/food/snacks_pastry.dm +++ b/code/modules/food_and_drinks/food/snacks_pastry.dm @@ -13,6 +13,8 @@ filling_color = "#D2691E" tastes = list("donut" = 1) foodtype = JUNKFOOD | GRAIN | FRIED | SUGAR | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL var/decorated_icon = "donut_homer" var/is_decorated = FALSE var/extra_reagent = null @@ -336,6 +338,8 @@ filling_color = "#F4A460" tastes = list("muffin" = 1) foodtype = GRAIN | SUGAR | BREAKFAST + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/muffin/berry name = "berry muffin" @@ -420,6 +424,8 @@ filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "laziness" = 1) foodtype = GRAIN + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/donkpocket/warm name = "warm Donk-pocket" @@ -538,7 +544,7 @@ name = "\improper Gondola-pocket" desc = "The choice to use real gondola meat in the recipe is controversial, to say the least." //Only a monster would craft this. icon_state = "donkpocketgondola" - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/tranquility = 5) + list_reagents = list(/datum/reagent/consumable/nutriment = 4) cooked_type = /obj/item/reagent_containers/food/snacks/donkpocket/warm/gondola filling_color = "#CD853F" tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1) @@ -548,8 +554,8 @@ name = "warm Gondola-pocket" desc = "The choice to use real gondola meat in the recipe is controversial, to say the least." icon_state = "donkpocketgondola" - bonus_reagents = list(/datum/reagent/medicine/omnizine = 1, /datum/reagent/tranquility = 5) - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1, /datum/reagent/tranquility = 5) + bonus_reagents = list(/datum/reagent/medicine/omnizine = 1) + list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/medicine/omnizine = 1) tastes = list("meat" = 2, "dough" = 2, "inner peace" = 1) foodtype = GRAIN @@ -565,6 +571,8 @@ filling_color = "#F0E68C" tastes = list("cookie" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/cookie/Initialize() . = ..() @@ -583,6 +591,8 @@ filling_color = "#F4A460" tastes = list("cookie" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/fortunecookie/proc/get_fortune() var/atom/drop_location = drop_location() @@ -613,6 +623,8 @@ filling_color = "#F0E68C" tastes = list("pretzel" = 1) foodtype = GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit name = "plump helmet biscuit" @@ -623,6 +635,8 @@ filling_color = "#F0E68C" tastes = list("mushroom" = 1, "biscuit" = 1) foodtype = GRAIN | VEGETABLES + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit/Initialize() var/fey = prob(10) @@ -644,6 +658,8 @@ filling_color = "#F0E68C" tastes = list("cracker" = 1) foodtype = GRAIN + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/hotdog name = "hotdog" @@ -732,21 +748,19 @@ name = "cherry cupcake" desc = "A sweet cupcake with cherry bits." icon_state = "cherrycupcake" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) + bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 1) filling_color = "#F0E68C" tastes = list("cake" = 3, "cherry" = 1) foodtype = GRAIN | FRUIT | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL -/obj/item/reagent_containers/food/snacks/bluecherrycupcake +/obj/item/reagent_containers/food/snacks/cherrycupcake/blue name = "blue cherry cupcake" desc = "Blue cherries inside a delicious cupcake." icon_state = "bluecherrycupcake" - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 3) - list_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 1) - filling_color = "#F0E68C" tastes = list("cake" = 3, "blue cherry" = 1) - foodtype = GRAIN | FRUIT | SUGAR /obj/item/reagent_containers/food/snacks/honeybun name = "honey bun" diff --git a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm index c15a6606be97..169d208bf30d 100644 --- a/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm +++ b/code/modules/food_and_drinks/food/snacks_sandwichtoast.dm @@ -9,6 +9,8 @@ cooked_type = /obj/item/reagent_containers/food/snacks/toastedsandwich tastes = list("meat" = 2, "cheese" = 1, "bread" = 2, "lettuce" = 1) foodtype = GRAIN | VEGETABLES + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/toastedsandwich name = "toasted sandwich" @@ -31,6 +33,8 @@ list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 1) tastes = list("toast" = 1, "cheese" = 1) foodtype = GRAIN | DAIRY + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/jellysandwich name = "jelly sandwich" diff --git a/code/modules/food_and_drinks/food/snacks_spaghetti.dm b/code/modules/food_and_drinks/food/snacks_spaghetti.dm deleted file mode 100644 index 88c1188f1dee..000000000000 --- a/code/modules/food_and_drinks/food/snacks_spaghetti.dm +++ /dev/null @@ -1,106 +0,0 @@ - -/obj/item/reagent_containers/food/snacks/spaghetti - name = "spaghetti" - desc = "Now that's a nic'e pasta!" - icon = 'icons/obj/food/pizzaspaghetti.dmi' - icon_state = "spaghetti" - list_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti - filling_color = "#F0E68C" - tastes = list("pasta" = 1) - foodtype = GRAIN - -/obj/item/reagent_containers/food/snacks/spaghetti/Initialize() - . = ..() - if(!cooked_type) // This isn't cooked, why would you put uncooked spaghetti in your pocket? - var/list/display_message = list( - "Something wet falls out of their pocket and hits the ground. Is that... [name]?", - "Oh shit! All your pocket [name] fell out!") - AddComponent(/datum/component/spill, display_message, 'sound/effects/splat.ogg') - -/obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti - name = "boiled spaghetti" - desc = "A plain dish of noodles, this needs more ingredients." - icon_state = "spaghettiboiled" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 2) - list_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = null - custom_food_type = /obj/item/reagent_containers/food/snacks/customizable/pasta - -/obj/item/reagent_containers/food/snacks/spaghetti/pastatomato - name = "spaghetti" - desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!" - icon_state = "pastatomato" - trash = /obj/item/trash/plate - bitesize = 4 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/tomatojuice = 10, /datum/reagent/consumable/nutriment/vitamin = 4) - cooked_type = null - filling_color = "#DC143C" - tastes = list("pasta" = 1, "tomato" = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/spaghetti/copypasta - name = "copypasta" - desc = "You probably shouldn't try this, you always hear people talking about how bad it is..." - icon_state = "copypasta" - trash = /obj/item/trash/plate - bitesize = 4 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 12, /datum/reagent/consumable/tomatojuice = 20, /datum/reagent/consumable/nutriment/vitamin = 8) - cooked_type = null - filling_color = "#DC143C" - tastes = list("pasta" = 1, "tomato" = 1) - foodtype = GRAIN | VEGETABLES - -/obj/item/reagent_containers/food/snacks/spaghetti/meatballspaghetti - name = "spaghetti and meatballs" - desc = "Now that's a nic'e meatball!" - icon_state = "meatballspaghetti" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 4) - cooked_type = null - tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/spaghetti/spesslaw - name = "spesslaw" - desc = "A lawyers favourite." - icon_state = "spesslaw" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/consumable/nutriment/vitamin = 6) - list_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 6) - cooked_type = null - tastes = list("pasta" = 1, "tomato" = 1, "meat" = 1) - -/obj/item/reagent_containers/food/snacks/spaghetti/chowmein - name = "chow mein" - desc = "A nice mix of noodles and fried vegetables." - icon_state = "chowmein" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 4) - list_reagents = list(/datum/reagent/consumable/nutriment = 7, /datum/reagent/consumable/nutriment/vitamin = 6) - cooked_type = null - tastes = list("noodle" = 1, "tomato" = 1) - -/obj/item/reagent_containers/food/snacks/spaghetti/beefnoodle - name = "beef noodle" - desc = "Nutritious, beefy and noodly." - icon_state = "beefnoodle" - trash = /obj/item/reagent_containers/glass/bowl - bonus_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/nutriment/vitamin = 6, /datum/reagent/liquidgibs = 3) - cooked_type = null - tastes = list("noodle" = 1, "meat" = 1) - foodtype = GRAIN | MEAT - -/obj/item/reagent_containers/food/snacks/spaghetti/butternoodles - name = "butter noodles" - desc = "Noodles covered in savory butter. Simple and slippery, but delicious." - icon_state = "butternoodles" - trash = /obj/item/trash/plate - bonus_reagents = list(/datum/reagent/consumable/nutriment = 8, /datum/reagent/consumable/nutriment/vitamin = 1) - cooked_type = null - tastes = list("noodle" = 1, "butter" = 1) - foodtype = GRAIN | DAIRY diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index 94477d1932aa..b071add1027a 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -12,6 +12,8 @@ filling_color = "#D2691E" tastes = list("candy" = 1) foodtype = JUNKFOOD | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_TINY /obj/item/reagent_containers/food/snacks/candy/bronx name = "South Bronx Paradise bar" @@ -82,7 +84,9 @@ filling_color = "#8B0000" tastes = list("dried raisins" = 1) foodtype = JUNKFOOD | FRUIT | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ custom_price = 90 + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/no_raisin/healthy name = "homemade raisins" @@ -99,7 +103,9 @@ junkiness = 25 filling_color = "#FFD700" foodtype = JUNKFOOD | GRAIN | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ custom_price = 30 + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/candy_trash name = "candy cigarette butt" @@ -136,6 +142,7 @@ filling_color = "#F5F5DC" tastes = list("sweetness" = 3, "cake" = 1) foodtype = GRAIN | FRUIT | VEGETABLES + w_class = WEIGHT_CLASS_SMALL /obj/item/reagent_containers/food/snacks/energybar name = "High-power energy bars" @@ -146,3 +153,5 @@ filling_color = "#97ee63" tastes = list("pure electricity" = 3, "fitness" = 2) foodtype = TOXIC + /*food_flags = FOOD_FINGER_FOOD*/ + w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 8eccd04c8404..62e6a4075a93 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -18,6 +18,8 @@ // _- _ // - +//God bless These Deepfried States o7 -2024 + /obj/machinery/deepfryer name = "deep fryer" desc = "Deep fried everything." @@ -27,7 +29,7 @@ use_power = IDLE_POWER_USE idle_power_usage = IDLE_DRAW_LOW layer = BELOW_OBJ_LAYER - var/obj/item/reagent_containers/food/snacks/deepfryholder/frying //What's being fried RIGHT NOW? + var/obj/item/food/deepfryholder/frying //What's being fried RIGHT NOW? var/cook_time = 0 var/oil_use = 0.05 //How much cooking oil is used per tick var/fry_speed = 1 //How quickly we fry food @@ -93,7 +95,7 @@ if(I.resistance_flags & INDESTRUCTIBLE) to_chat(user, "You don't feel it would be wise to fry [I]...") return - if(istype(I, /obj/item/reagent_containers/food/snacks/deepfryholder)) + if(istype(I, /obj/item/food/deepfryholder)) to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.") return if(default_unfasten_wrench(user, I)) @@ -105,7 +107,7 @@ return ..() else if(!frying && user.transferItemToLoc(I, src)) to_chat(user, "You put [I] into [src].") - frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) + frying = new/obj/item/food/deepfryholder(src, I) icon_state = "fryer_on" fry_loop.start() diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill.dm b/code/modules/food_and_drinks/kitchen_machinery/grill.dm index f76bdb462539..c349c7511752 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill.dm @@ -82,7 +82,6 @@ smoke.start() if(grilled_item) grill_time += 1 - grilled_item.reagents.add_reagent(/datum/reagent/consumable/char, 1) grill_fuel -= 10 grilled_item.AddComponent(/datum/component/sizzle) diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm index 1d4e366ad6d9..de4d844aa3ac 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm @@ -210,7 +210,7 @@ return /obj/item/reagent_containers/food/snacks/icecream - name = "ice cream cone" + name = "waffle cone" desc = "Delicious waffle cone, but no ice cream." icon = 'icons/obj/kitchen.dmi' icon_state = "icecream_cone_waffle" //default for admin-spawned cones, href_list["cone"] should overwrite this all the time @@ -220,6 +220,7 @@ var/cone_type bitesize = 4 foodtype = DAIRY | SUGAR + /*food_flags = FOOD_FINGER_FOOD*/ /obj/item/reagent_containers/food/snacks/icecream/Initialize() . = ..() diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 2474d1d53501..9fdacebf8900 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -29,6 +29,7 @@ results = list(/datum/reagent/consumable/ethanol/moonshine = 10) required_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/consumable/sugar = 5) required_catalysts = list(/datum/reagent/consumable/enzyme = 5) + required_container = /obj/structure/fermenting_barrel /datum/chemical_reaction/wine results = list(/datum/reagent/consumable/ethanol/wine = 10) diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index 55db7cf06b84..0a0b00094e79 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -13,17 +13,13 @@ input = /obj/item/reagent_containers/food/snacks/meat/rawcutlet output = /obj/item/reagent_containers/food/snacks/meat/rawbacon -/datum/food_processor_process/potatowedges - input = /obj/item/reagent_containers/food/snacks/grown/potato/wedges - output = /obj/item/reagent_containers/food/snacks/fries - /datum/food_processor_process/sweetpotato input = /obj/item/reagent_containers/food/snacks/grown/potato/sweet output = /obj/item/reagent_containers/food/snacks/yakiimo /datum/food_processor_process/potato input = /obj/item/reagent_containers/food/snacks/grown/potato - output = /obj/item/reagent_containers/food/snacks/tatortot + output = /obj/item/reagent_containers/food/snacks/fries /datum/food_processor_process/carrot input = /obj/item/reagent_containers/food/snacks/grown/carrot @@ -35,7 +31,7 @@ /datum/food_processor_process/spaghetti input = /obj/item/reagent_containers/food/snacks/doughslice - output = /obj/item/reagent_containers/food/snacks/spaghetti + output = /obj/item/food/spaghetti /datum/food_processor_process/corn input = /obj/item/reagent_containers/food/snacks/grown/corn diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm index f29e948adf4c..0dec69a393f5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -6,83 +6,83 @@ /datum/crafting_recipe/food/meatbread name = "Meat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/plain = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/meat + result = /obj/item/food/bread/meat subcategory = CAT_BREAD /datum/crafting_recipe/food/xenomeatbread name = "Xenomeat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/xeno = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/xenomeat + result = /obj/item/food/bread/xenomeat subcategory = CAT_BREAD /datum/crafting_recipe/food/spidermeatbread name = "Spidermeat bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet/spider = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/spidermeat + result = /obj/item/food/bread/spidermeat subcategory = CAT_BREAD /datum/crafting_recipe/food/banananutbread name = "Banana nut bread" reqs = list( /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/boiledegg = 3, /obj/item/reagent_containers/food/snacks/grown/banana = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/banana + result = /obj/item/food/bread/banana subcategory = CAT_BREAD /datum/crafting_recipe/food/tofubread name = "Tofu bread" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/tofu = 3, /obj/item/reagent_containers/food/snacks/cheesewedge = 3 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/tofu + result = /obj/item/food/bread/tofu subcategory = CAT_BREAD /datum/crafting_recipe/food/creamcheesebread name = "Cream cheese bread" reqs = list( /datum/reagent/consumable/milk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/creamcheese + result = /obj/item/food/bread/creamcheese subcategory = CAT_BREAD /datum/crafting_recipe/food/mimanabread name = "Mimana bread" reqs = list( /datum/reagent/consumable/soymilk = 5, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/tofu = 3, /obj/item/reagent_containers/food/snacks/grown/banana/mime = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/bread/mimana + result = /obj/item/food/bread/mimana subcategory = CAT_BREAD /datum/crafting_recipe/food/garlicbread name = "Garlic Bread" time = 40 reqs = list(/obj/item/reagent_containers/food/snacks/grown/garlic = 1, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/garlicbread + result = /obj/item/food/garlicbread subcategory = CAT_BREAD /datum/crafting_recipe/food/butterbiscuit @@ -91,7 +91,7 @@ /obj/item/reagent_containers/food/snacks/bun = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/butterbiscuit + result = /obj/item/food/butterbiscuit subcategory = CAT_BREAD /datum/crafting_recipe/food/butterdog @@ -100,14 +100,14 @@ /obj/item/reagent_containers/food/snacks/bun = 1, /obj/item/reagent_containers/food/snacks/butter = 3, ) - result = /obj/item/reagent_containers/food/snacks/butterdog + result = /obj/item/food/butterdog subcategory = CAT_BREAD /datum/crafting_recipe/food/moldybread // why would you make this? name = "Moldy Bread" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 1 ) - result = /obj/item/reagent_containers/food/snacks/breadslice/moldy + result = /obj/item/food/breadslice/moldy subcategory = CAT_BREAD 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 dcae05095ae8..7a3a4c6837b5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -6,190 +6,190 @@ /datum/crafting_recipe/food/carrotcake name = "Carrot cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/carrot = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/carrot + result = /obj/item/food/cake/carrot subcategory = CAT_CAKE /datum/crafting_recipe/food/cheesecake name = "Cheese cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/cheese + result = /obj/item/food/cake/cheese subcategory = CAT_CAKE /datum/crafting_recipe/food/applecake name = "Apple cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/apple = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/apple + result = /obj/item/food/cake/apple subcategory = CAT_CAKE /datum/crafting_recipe/food/orangecake name = "Orange cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/orange + result = /obj/item/food/cake/orange subcategory = CAT_CAKE /datum/crafting_recipe/food/limecake name = "Lime cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lime + result = /obj/item/food/cake/lime subcategory = CAT_CAKE /datum/crafting_recipe/food/lemoncake name = "Lemon cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/lemon + result = /obj/item/food/cake/lemon subcategory = CAT_CAKE /datum/crafting_recipe/food/chocolatecake name = "Chocolate cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/chocolate + result = /obj/item/food/cake/chocolate subcategory = CAT_CAKE /datum/crafting_recipe/food/birthdaycake name = "Birthday cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/candle = 1, /datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/caramel = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/birthday + result = /obj/item/food/cake/birthday subcategory = CAT_CAKE /datum/crafting_recipe/food/energycake name = "Energy cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/birthday = 1, + /obj/item/food/cake/birthday = 1, /obj/item/melee/transforming/energy/sword = 1, ) - blacklist = list(/obj/item/reagent_containers/food/snacks/store/cake/birthday/energy) - result = /obj/item/reagent_containers/food/snacks/store/cake/birthday/energy + blacklist = list(/obj/item/food/cake/birthday/energy) + result = /obj/item/food/cake/birthday/energy subcategory = CAT_CAKE /datum/crafting_recipe/food/braincake name = "Brain cake" reqs = list( /obj/item/organ/brain = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + /obj/item/food/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brain + result = /obj/item/food/cake/brain subcategory = CAT_CAKE /datum/crafting_recipe/food/slimecake name = "Slime cake" reqs = list( /obj/item/slime_extract = 1, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + /obj/item/food/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/slimecake + result = /obj/item/food/cake/slimecake subcategory = CAT_CAKE /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/pumpkin = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/pumpkinspice + result = /obj/item/food/cake/pumpkinspice subcategory = CAT_CAKE /datum/crafting_recipe/food/holycake name = "Angel food cake" reqs = list( /datum/reagent/water/holywater = 15, - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1 + /obj/item/food/cake/plain = 1 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/holy_cake + result = /obj/item/food/cake/holy_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/poundcake name = "Pound cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 4 + /obj/item/food/cake/plain = 4 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/pound_cake + result = /obj/item/food/cake/pound_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/hardwarecake name = "Hardware cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/circuitboard = 2, /datum/reagent/toxin/acid = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/hardware_cake + result = /obj/item/food/cake/hardware_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/bscccake name = "blackberry and strawberry chocolate cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 2, /obj/item/reagent_containers/food/snacks/grown/berries = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bscc + result = /obj/item/food/cake/bscc subcategory = CAT_CAKE /datum/crafting_recipe/food/bscvcake name = "blackberry and strawberry vanilla cake" reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/berries = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/bsvc + result = /obj/item/food/cake/bsvc subcategory = CAT_CAKE /datum/crafting_recipe/food/clowncake name = "clown cake" always_availible = FALSE reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/sundae = 2, /obj/item/reagent_containers/food/snacks/grown/banana = 5 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/clown_cake + result = /obj/item/food/cake/clown_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/vanillacake name = "vanilla cake" always_availible = FALSE reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, + /obj/item/food/cake/plain = 1, /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2 ) - result = /obj/item/reagent_containers/food/snacks/store/cake/vanilla_cake + result = /obj/item/food/cake/vanilla_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/food/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 + result = /obj/item/food/cake/trumpet subcategory = CAT_CAKE @@ -198,7 +198,7 @@ reqs = list( /obj/item/organ/brain = 1, /obj/item/organ/heart = 1, - /obj/item/reagent_containers/food/snacks/store/cake/birthday = 1, + /obj/item/food/cake/birthday = 1, /obj/item/reagent_containers/food/snacks/meat/slab = 3, /datum/reagent/blood = 30, /datum/reagent/consumable/sprinkles = 5, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm index 4e0ade4fa22d..96c67eca7a9e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm @@ -139,7 +139,7 @@ time = 30 reqs = list( /obj/item/storage/bag/trash = 1, - /obj/item/reagent_containers/food/snacks/breadslice/moldy = 1, + /obj/item/food/breadslice/moldy = 1, /obj/item/reagent_containers/food/snacks/grown = 4, /obj/item/reagent_containers/food/snacks/candy_corn = 2, /datum/reagent/water = 15 diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm index 522f362e777e..a4ab818fdd6f 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -36,7 +36,7 @@ reqs = list( /obj/item/reagent_containers/food/snacks/friedegg = 1, /obj/item/reagent_containers/food/snacks/meat/steak = 1, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, ) result = /obj/item/reagent_containers/food/snacks/benedict subcategory = CAT_EGG diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm index 1bb3d250a9ae..b1191fda7ada 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -102,7 +102,7 @@ /datum/reagent/consumable/blackpepper = 1, /obj/item/reagent_containers/food/snacks/pastrybase = 2 ) - result = /obj/item/reagent_containers/food/snacks/baguette + result = /obj/item/food/baguette subcategory = CAT_MISCFOOD ////////////////////////////////////////////////TOAST//////////////////////////////////////////////// @@ -111,7 +111,7 @@ name = "Slime toast" reqs = list( /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + /obj/item/food/breadslice/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/slime subcategory = CAT_MISCFOOD @@ -120,7 +120,7 @@ name = "Jellied toast" reqs = list( /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1 + /obj/item/food/breadslice/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/jelliedtoast/cherry subcategory = CAT_MISCFOOD @@ -128,7 +128,7 @@ /datum/crafting_recipe/food/butteredtoast name = "Buttered Toast" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 1, + /obj/item/food/breadslice/plain = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) result = /obj/item/reagent_containers/food/snacks/butteredtoast @@ -138,7 +138,7 @@ name = "Two bread" reqs = list( /datum/reagent/consumable/ethanol/wine = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2 + /obj/item/food/breadslice/plain = 2 ) result = /obj/item/reagent_containers/food/snacks/twobread subcategory = CAT_MISCFOOD 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 ec04dcaa4ec9..a1c1297647c3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -396,8 +396,7 @@ name = "Gondola-pocket" reqs = list( /obj/item/reagent_containers/food/snacks/pastrybase = 1, - /obj/item/reagent_containers/food/snacks/meatball = 1, - /datum/reagent/tranquility = 5 + /obj/item/reagent_containers/food/snacks/meatball = 1 ) result = /obj/item/reagent_containers/food/snacks/donkpocket/gondola subcategory = CAT_PASTRY @@ -474,7 +473,7 @@ reqs = list( /datum/reagent/consumable/eggyolk = 5, /obj/item/reagent_containers/food/snacks/cheesewedge = 1, - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1 + /obj/item/food/bread/plain = 1 ) result = /obj/item/reagent_containers/food/snacks/khachapuri subcategory = CAT_PASTRY @@ -576,7 +575,7 @@ /obj/item/reagent_containers/food/snacks/pastrybase = 1, /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1 ) - result = /obj/item/reagent_containers/food/snacks/bluecherrycupcake + result = /obj/item/reagent_containers/food/snacks/cherrycupcake/blue subcategory = CAT_PASTRY /datum/crafting_recipe/food/honeybun diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm index 41829e9ec2b8..b8cefcb9bd80 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm @@ -9,7 +9,7 @@ /datum/crafting_recipe/food/sandwich name = "Sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/meat/steak = 1, /obj/item/reagent_containers/food/snacks/cheesewedge = 1 ) @@ -19,7 +19,7 @@ /datum/crafting_recipe/food/grilledcheesesandwich name = "Cheese sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/cheesewedge = 2 ) result = /obj/item/reagent_containers/food/snacks/grilledcheese @@ -29,7 +29,7 @@ name = "Jelly sandwich" reqs = list( /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, ) result = /obj/item/reagent_containers/food/snacks/jellysandwich/slime subcategory = CAT_SANDWICH @@ -38,7 +38,7 @@ name = "Jelly sandwich" reqs = list( /datum/reagent/consumable/cherryjelly = 5, - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, ) result = /obj/item/reagent_containers/food/snacks/jellysandwich/cherry subcategory = CAT_SANDWICH @@ -46,7 +46,7 @@ /datum/crafting_recipe/food/notasandwich name = "Not a sandwich" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/clothing/mask/fakemoustache = 1 ) result = /obj/item/reagent_containers/food/snacks/notasandwich @@ -55,7 +55,7 @@ /datum/crafting_recipe/food/blt name = "BLT" reqs = list( - /obj/item/reagent_containers/food/snacks/breadslice/plain = 2, + /obj/item/food/breadslice/plain = 2, /obj/item/reagent_containers/food/snacks/meat/bacon = 2, /obj/item/reagent_containers/food/snacks/grown/cabbage = 1, /obj/item/reagent_containers/food/snacks/grown/tomato = 1 diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm index 796c360c3448..2ad56d0ce62b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -6,65 +6,65 @@ /datum/crafting_recipe/food/tomatopasta name = "Tomato pasta" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/grown/tomato = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato + result = /obj/item/food/spaghetti/pastatomato subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/copypasta name = "Copypasta" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/pastatomato = 2 + /obj/item/food/spaghetti/pastatomato = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/copypasta + result = /obj/item/food/spaghetti/copypasta subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spaghettimeatball name = "Spaghetti meatball" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meatball = 2 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/meatballspaghetti + result = /obj/item/food/spaghetti/meatballspaghetti subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spesslaw name = "Spesslaw" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meatball = 4 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/spesslaw + result = /obj/item/food/spaghetti/spesslaw subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" reqs = list( /obj/item/reagent_containers/glass/bowl = 1, - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet = 2, /obj/item/reagent_containers/food/snacks/grown/cabbage = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/beefnoodle + result = /obj/item/food/spaghetti/beefnoodle subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/chowmein name = "Chowmein" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/meat/cutlet = 1, /obj/item/reagent_containers/food/snacks/grown/cabbage = 2, /obj/item/reagent_containers/food/snacks/grown/carrot = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/chowmein + result = /obj/item/food/spaghetti/chowmein subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/butternoodles name = "Butter Noodles" reqs = list( - /obj/item/reagent_containers/food/snacks/spaghetti/boiledspaghetti = 1, + /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/reagent_containers/food/snacks/butter = 1 ) - result = /obj/item/reagent_containers/food/snacks/spaghetti/butternoodles + result = /obj/item/food/spaghetti/butternoodles subcategory = CAT_SPAGHETTI diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 9d88d3107551..2e40c8ed04c6 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -174,36 +174,12 @@ /datum/crafting_recipe/food/hotcrossbun name = "Hot-Cross Bun" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /datum/reagent/consumable/sugar = 1 ) result = /obj/item/reagent_containers/food/snacks/hotcrossbun subcategory = CAT_MISCFOOD - -/obj/item/reagent_containers/food/snacks/store/cake/brioche - name = "brioche cake" - desc = "A ring of sweet, glazed buns." - icon_state = "briochecake" - slice_path = /obj/item/reagent_containers/food/snacks/cakeslice/brioche - slices_num = 6 - bonus_reagents = list(/datum/reagent/consumable/nutriment = 10, /datum/reagent/consumable/nutriment/vitamin = 2) - -/obj/item/reagent_containers/food/snacks/cakeslice/brioche - name = "brioche cake slice" - desc = "Delicious sweet-bread. Who needs anything else?" - icon_state = "briochecake_slice" - filling_color = "#FFD700" - -/datum/crafting_recipe/food/briochecake - name = "Brioche cake" - reqs = list( - /obj/item/reagent_containers/food/snacks/store/cake/plain = 1, - /datum/reagent/consumable/sugar = 2 - ) - result = /obj/item/reagent_containers/food/snacks/store/cake/brioche - subcategory = CAT_MISCFOOD - /obj/item/reagent_containers/food/snacks/scotchegg name = "scotch egg" desc = "A boiled egg wrapped in a delicious, seasoned meatball." @@ -234,7 +210,7 @@ /datum/crafting_recipe/food/mammi name = "Mammi" reqs = list( - /obj/item/reagent_containers/food/snacks/store/bread/plain = 1, + /obj/item/food/bread/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 1, /datum/reagent/consumable/milk = 5 ) diff --git a/code/modules/holiday/halloween.dm b/code/modules/holiday/halloween.dm index d5b0c0ff6638..4c2586b7dd4b 100644 --- a/code/modules/holiday/halloween.dm +++ b/code/modules/holiday/halloween.dm @@ -250,13 +250,6 @@ // Spooky Uplink Items // ///////////////////////// -/datum/uplink_item/dangerous/crossbow/candy - name = "Candy Corn Crossbow" - desc = "A standard miniature energy crossbow that uses a hard-light projector to transform bolts into candy corn. Happy Halloween!" - category = "Holiday" - item = /obj/item/gun/energy/kinetic_accelerator/crossbow/halloween - surplus = 0 - /datum/uplink_item/device_tools/emag/hack_o_lantern name = "Hack-o'-Lantern" desc = "An emag fitted to support the Halloween season. Candle not included." diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index f614533d2fd5..73a322ce81ae 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -163,7 +163,7 @@ name = "gatfruit" desc = "It smells like burning." icon_state = "gatfruit" - trash = /obj/item/gun/ballistic/revolver + trash = /obj/item/gun/ballistic/revolver/syndicate bitesize_mod = 2 foodtype = FRUIT tastes = list("gunpowder" = 1) diff --git a/code/modules/hydroponics/grown/potato.dm b/code/modules/hydroponics/grown/potato.dm index 703df831552e..44a987dc86ac 100644 --- a/code/modules/hydroponics/grown/potato.dm +++ b/code/modules/hydroponics/grown/potato.dm @@ -29,25 +29,6 @@ juice_results = list(/datum/reagent/consumable/potato_juice = 0) distill_reagent = /datum/reagent/consumable/ethanol/vodka -/obj/item/reagent_containers/food/snacks/grown/potato/wedges - name = "potato wedges" - desc = "Slices of neatly cut potato." - icon_state = "potato_wedges" - filling_color = "#E9967A" - bitesize = 100 - - -/obj/item/reagent_containers/food/snacks/grown/potato/attackby(obj/item/W, mob/user, params) - if(W.get_sharpness()) - to_chat(user, "You cut the potato into wedges with [W].") - var/obj/item/reagent_containers/food/snacks/grown/potato/wedges/Wedges = new /obj/item/reagent_containers/food/snacks/grown/potato/wedges - remove_item_from_storage(user) - qdel(src) - user.put_in_hands(Wedges) - else - return ..() - - // Sweet Potato /obj/item/seeds/potato/sweet name = "pack of sweet potato seeds" diff --git a/code/modules/instruments/items.dm b/code/modules/instruments/items.dm index 022b3278e92b..490742d7cdf7 100644 --- a/code/modules/instruments/items.dm +++ b/code/modules/instruments/items.dm @@ -271,9 +271,8 @@ hitsound = 'sound/items/bikehorn.ogg' /obj/item/choice_beacon/music - name = "instrument delivery beacon" - desc = "Summon your tool of art." - icon_state = "gangtool-red" + name = "instrument box" + desc = "Contains your tool of art." /obj/item/choice_beacon/music/generate_display_names() var/static/list/instruments @@ -299,9 +298,8 @@ return instruments /obj/item/choice_beacon/rnd - name = "C.R.E.W.M.A.T.E type R&D Choice Beacon" - desc = "This aging launch beacon summons a limited production RND package from a nearby orbital satellite, delivered via impact pod." - icon_state = "gangtool-sus" + name = "C.R.E.W.M.A.T.E type R&D box" + desc = "This box contains a limited production RND package." /obj/item/choice_beacon/rnd/generate_display_names() var/static/list/rndboxes diff --git a/code/modules/jobs/access.dm b/code/modules/jobs/access.dm index 550e413f1a59..d11bb6177e14 100644 --- a/code/modules/jobs/access.dm +++ b/code/modules/jobs/access.dm @@ -117,6 +117,8 @@ if (gen_ship_access(ship)) return TRUE + if(!item) + return FALSE var/obj/item/card/id/id = item?.GetID() if (id?.has_ship_access(ship)) return TRUE @@ -366,15 +368,15 @@ if(ACCESS_NETWORK) return "Network Access" if(ACCESS_MECH_MINING) - return "Mining Mech Access" + return "Mining Exosuit Access" if(ACCESS_MECH_MEDICAL) - return "Medical Mech Access" + return "Medical Exosuit Access" if(ACCESS_MECH_SECURITY) - return "Security Mech Access" + return "Security Exosuit Access" if(ACCESS_MECH_SCIENCE) - return "Science Mech Access" + return "Science Exosuit Access" if(ACCESS_MECH_ENGINE) - return "Engineering Mech Access" + return "Engineering Exosuit Access" //WS Begin if(ACCESS_CLONING) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index f850eded96d4..ee953b0fb74d 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -273,6 +273,7 @@ var/obj/item/card/id/C = H.get_idcard(TRUE) if(istype(C)) C.access = J.get_access() + SEND_SIGNAL(C, COSMIG_ACCESS_UPDATED) shuffle_inplace(C.access) // Shuffle access list to make NTNet passkeys less predictable C.registered_name = H.real_name if(H.job) diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index 3fa729969013..7e84efd98de7 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -4,7 +4,7 @@ outfit = /datum/outfit/job/cargo_tech - access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_CARGO, ACCESS_MAILSORTING, ACCESS_MINERAL_STOREROOM) display_order = JOB_DISPLAY_ORDER_CARGO_TECHNICIAN diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index 8293c2bd663b..60c8ab9672b4 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -22,5 +22,5 @@ /datum/outfit/job/janitor/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() if(GARBAGEDAY in SSevents.holidays) - l_pocket = /obj/item/gun/ballistic/revolver + l_pocket = /obj/item/gun/ballistic/revolver/syndicate r_pocket = /obj/item/ammo_box/a357 diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index 2cf67b9bbf70..1469e592b4de 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -4,7 +4,7 @@ outfit = /datum/outfit/job/miner - access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_QM, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) + access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MINING, ACCESS_MECH_MINING, ACCESS_MINING_STATION, ACCESS_MAILSORTING, ACCESS_MINERAL_STOREROOM) display_order = JOB_DISPLAY_ORDER_SHAFT_MINER diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index e9ac7662edab..2040764eefb9 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -281,7 +281,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) if(length(table)) var/turf/food_turf = get_turf(pick(table)) new /obj/item/kitchen/knife(food_turf) - var/obj/item/reagent_containers/food/snacks/store/cake/birthday/iancake = new(food_turf) + var/obj/item/food/cake/birthday/iancake = new(food_turf) iancake.desc = "Happy birthday, Ian!" //some balloons! this picks an open turf and pops a few balloons in and around that turf, yay. diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 030e592d80cd..b6073d4c86a2 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -113,7 +113,7 @@ /obj/item/kinetic_crusher/ui_action_click(mob/user, actiontype) set_light_on(!light_on) - playsound(user, 'sound/weapons/empty.ogg', 100, TRUE) + playsound(user, SOUND_EMPTY_MAG, 100, TRUE) update_appearance() diff --git a/code/modules/mining/equipment/trophies.dm b/code/modules/mining/equipment/trophies.dm index a9631c7ffc15..3510a0b59628 100644 --- a/code/modules/mining/equipment/trophies.dm +++ b/code/modules/mining/equipment/trophies.dm @@ -30,7 +30,7 @@ desc = "A sliced-off goliath tentacle." icon_state = "goliath_tentacle" -//ancient goliath0 +//ancient goliath /obj/item/mob_trophy/elder_tentacle name = "elder tentacle" desc = "The barbed tip of a tentacle sliced from an incredibly ancient goliath." diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 268413ef203c..e48f4d5af5aa 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -869,8 +869,8 @@ name = "Slowpoke" desc = "The work of a truly genius gunsmith, altered and \"improved\" by a truly deranged Nanotrasen scientist, using components from a kinetic accelerator and beam rifle. Draw, partner!" icon = 'icons/obj/guns/energy.dmi' - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON icon_state = "spur" item_state = "spur" selfcharge = 1 diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm index cfd908c23cbb..32b1ffeab8d5 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -40,8 +40,8 @@ GLOBAL_LIST_EMPTY(ore_veins) var/max_mobs = 6 var/spawn_time = 150 //15 seconds var/mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 20, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 20, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, ) var/spawn_text = "emerges from" @@ -126,11 +126,11 @@ GLOBAL_LIST_EMPTY(ore_veins) max_mobs = 6 spawn_time = 100 mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 30, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 30, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient = 5, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril = 5, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest = 5, ) /obj/structure/vein/classthree @@ -149,18 +149,18 @@ GLOBAL_LIST_EMPTY(ore_veins) max_mobs = 6 //Best not to go past 6 due to balance and lag reasons spawn_time = 80 mob_types = list( - /mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril = 60, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril = 30, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 60, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 30, /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, /mob/living/simple_animal/hostile/asteroid/goliath/beast/ancient = 10, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril = 10, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest = 10, ) /obj/structure/vein/ice mob_types = list( /mob/living/simple_animal/hostile/asteroid/wolf = 30, /mob/living/simple_animal/hostile/asteroid/polarbear = 30, - /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril = 20, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest = 20, /mob/living/simple_animal/hostile/asteroid/ice_demon = 10, /mob/living/simple_animal/hostile/asteroid/ice_whelp = 5, /mob/living/simple_animal/hostile/asteroid/lobstrosity = 20, diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6fffc48e76a1..4a768fc1c501 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -68,8 +68,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) add_verb(src, list( /mob/dead/observer/proc/dead_tele, /mob/dead/observer/proc/open_spawners_menu, - /mob/dead/observer/proc/tray_view, - /mob/dead/observer/proc/possess_mouse_verb)) + /mob/dead/observer/proc/tray_view)) if(icon_state in GLOB.ghost_forms_with_directions_list) ghostimage_default = image(src.icon,src,src.icon_state + "_nodir") @@ -496,7 +495,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(isobserver(usr)) //Make sure they're an observer! - var/list/dest = list() //List of possible destinations (mobs) var/target = null //Chosen target. @@ -962,70 +960,3 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp client.images += t_ray_images else client.images -= stored_t_ray_images - -//WS Begin -/mob/dead/observer/proc/possess_mouse_verb() - set category = "Ghost" - set name = "Possess a mouse" - set desc = "Possess a mouse to haunt the station.... and their food!" - - var/list/possessible = list() - - for(var/mob/living/simple_animal/mouse/M in GLOB.alive_mob_list) - if(M.stat != CONSCIOUS) - continue - if(M.key) - continue - if(M in GLOB.player_list) - continue - if(M.mind) - continue - - possessible += M - - if(!possessible.len) - to_chat(src, "There are currently no mice able to be possessed!") - return FALSE - - var/mob/living/simple_animal/mouse/M = pick(possessible) - - possess_mouse(M) - - -/mob/dead/observer/proc/possess_mouse(mob/living/simple_animal/mouse/M) - if(!M) - return FALSE - - if(!SSticker.HasRoundStarted()) - to_chat(usr, "The round hasn't started yet!") - return FALSE - - if(is_banned_from(key, ROLE_SENTIENCE)) - to_chat(src, "You are job banned!") - return FALSE - - if(alert("Are you sure you want to become a mouse? (Warning, you can no longer be cloned!)",,"Yes","No") != "Yes") - return FALSE - - if(M.key || (M.stat != CONSCIOUS) || (M in GLOB.player_list) || M.mind || QDELETED(src) || QDELETED(M)) - to_chat(src, "This mouse is unable to be controlled, please try again!") - return FALSE - - log_game("[key_name(src)] has became a mouse") - - M.key = key - M.faction = list("neutral") - M.chew_probability = 0 //so they cant pull off a big brain play by ghosting somewhere or idk - M.layer = BELOW_OPEN_DOOR_LAYER //ENGAGE ADVANCED HIDING BRAIN FUNCTIONS - M.language_holder = new /datum/language_holder/mouse(M) - M.pass_flags |= PASSDOORHATCH - M.sentience_act() - M.maxHealth = 15 - M.health = M.maxHealth - - to_chat(M , "You are now possessing a mouse. \ - You do not remember your previous life. You can eat trash and \ - food on the floor to gain health and help create new mice. Mouse traps will hurt your fragile body \ - and so will any kind of weapons. You can control click food and trash items in order to eat them. Get. That. Cheese.") - return TRUE -//WS End diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 86d54577538c..da3bc7c2dfb5 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -57,7 +57,7 @@ var/list/misc = list() var/list/npcs = list() - var/list/pois = getpois(skip_mindless = TRUE, specify_dead_role = FALSE) + var/list/pois = getpois(skip_mindless = TRUE, specify_dead_role = FALSE, only_realname = TRUE) for (var/name in pois) var/list/serialized = list() serialized["name"] = name @@ -67,6 +67,8 @@ serialized["ref"] = REF(poi) var/mob/M = poi + + serialized["fake_name"] = M.name if (istype(M)) if (isobserver(M)) ghosts += list(serialized) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index dd5b29059085..3ed2b86816ac 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -538,6 +538,7 @@ REMOVE_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) REMOVE_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) REMOVE_TRAIT(src, TRAIT_FLOORED, STAMINA) + REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, STAMINA) else return update_health_hud() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 916095ed266e..43cefa251e34 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -1,7 +1,7 @@ /mob/living/carbon/attackby(obj/item/W, mob/user, params) var/obj/item/bodypart/BP = get_bodypart(check_zone(user.zone_selected)) - var/has_painkillers = user.reagents.has_reagent(/datum/reagent/medicine/morphine, needs_metabolizing = TRUE) - if(W.tool_behaviour == TOOL_WELDER && IS_ROBOTIC_LIMB(BP) && BP.brute_dam > 5) //prioritize healing if we're synthetic + var/has_painkillers = reagents.has_reagent(/datum/reagent/medicine/morphine, needs_metabolizing = TRUE) + if(W.tool_behaviour == TOOL_WELDER && IS_ROBOTIC_LIMB(BP) && BP.brute_dam) //prioritize healing if we're synthetic return ..() if(user.a_intent != INTENT_HELP || !W.get_temperature() || !BP.can_bandage()) //this will also catch low damage synthetic welding return ..() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index f92e8d762f2d..7bbe9fb1de72 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -326,7 +326,7 @@ if(!key) msg += "[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.\n" else if(!client) - msg += "[t_He] appears to be suffering from SSD - Space Sleep Disorder. [t_He] may snap out of it at any time! Or maybe never. It's best to leave [t_him] be.\n" + msg += "[t_He] [t_has] been suffering from SSD - Space Sleep Disorder - for [trunc(((world.time - lastclienttime) / (1 MINUTES)))] minutes. [t_He] may snap out of it at any time! Or maybe never. It's best to leave [t_him] be.\n" if (length(msg)) . += "[msg.Join("")]" diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 1cb061ff9fd9..64dfdfde91ce 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -501,6 +501,10 @@ else if(!(flags & SHOCK_NOGLOVES)) //This gets the siemens_coeff for all non tesla shocks if(gloves) siemens_coeff *= gloves.siemens_coefficient + //If it doesnt have physiology its prob still initializing. + if(!physiology) + . = ..() + return siemens_coeff *= physiology.siemens_coeff siemens_coeff *= dna.species.siemens_coeff . = ..() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 730001819de4..18b6cb9ba40e 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -61,6 +61,21 @@ return ONE_ATMOSPHERE return pressure +/mob/living/carbon/human/proc/check_for_seal() + var/obj/item/clothing/clothing_suit = wear_suit + var/obj/item/clothing/clothing_head = head + if(istype(clothing_suit) && istype(clothing_head)) + if (clothing_suit.clothing_flags & clothing_head.clothing_flags & STOPSPRESSUREDAMAGE) + return TRUE + return FALSE + +/mob/living/carbon/human/proc/check_for_goggles() + if(head?.flags_cover & SEALS_EYES) + return head + if(wear_mask?.flags_cover & SEALS_EYES) + return wear_mask + if(glasses?.flags_cover & SEALS_EYES) + return glasses /mob/living/carbon/human/handle_traits() if (getOrganLoss(ORGAN_SLOT_BRAIN) >= 60) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index e2a01d29540c..788baa32fbf5 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1,5 +1,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) +#define MINIMUM_MOLS_TO_HARM 1 + /** * # species datum * @@ -1793,6 +1795,61 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(!H.on_fire || areatemp > H.bodytemperature) // If we are not on fire or the area is hotter H.adjust_bodytemperature((areatemp - H.bodytemperature), use_insulation=TRUE, use_steps=TRUE, hardsuit_fix=bodytemp_normal - H.bodytemperature) + if(H.check_for_seal()) + return + + var/plasma = environment.get_moles(GAS_PLASMA) + var/tritium = environment.get_moles(GAS_TRITIUM) + var/chlorine = environment.get_moles(GAS_CHLORINE) + var/hydrogen_chloride = environment.get_moles(GAS_HYDROGEN_CHLORIDE) + if(chlorine <= MINIMUM_MOLS_TO_HARM && hydrogen_chloride <= MINIMUM_MOLS_TO_HARM && tritium <= MINIMUM_MOLS_TO_HARM && plasma <= MINIMUM_MOLS_TO_HARM) + return + + var/eyedamage = FALSE + var/irritant = FALSE + var/burndamage = 0 + var/lowerthreshold = 0 + if(HAS_TRAIT(H, TRAIT_METALLIC)) //makes certain species take more damage and start taking damage at lower air amounts + lowerthreshold = 1 + + if(plasma > (MINIMUM_MOLS_TO_HARM * 10)) + eyedamage = TRUE + irritant = TRUE + if(tritium) + burndamage += max(sqrt(tritium) - 2 + lowerthreshold, 0) + if(tritium > MINIMUM_MOLS_TO_HARM) + eyedamage = TRUE + irritant = TRUE + if(chlorine) + burndamage += max(sqrt(chlorine) - 4 + lowerthreshold, 0) + irritant = TRUE + if(chlorine > (MINIMUM_MOLS_TO_HARM * 10)) + eyedamage = TRUE + if(hydrogen_chloride) + burndamage += max(sqrt(hydrogen_chloride) - 1 + lowerthreshold, 0) + eyedamage = TRUE + irritant = TRUE + + if(!eyedamage && !burndamage && !irritant) + return + H.apply_damage(burndamage, BURN, spread_damage = TRUE) + if(prob(50) && burndamage) + if(lowerthreshold) + to_chat(H, "You're corroding!") + else + to_chat(H, "You're melting!") + playsound(H, 'sound/items/welder.ogg', 30, TRUE) + if(!H.check_for_goggles() && eyedamage) + H.adjustOrganLoss(ORGAN_SLOT_EYES, 1) + if(prob(50)) + to_chat(H, "Your eyes burn!") + if(irritant && prob(50)) + if(lowerthreshold) + to_chat(H, "Your outer shell smolders!") + else + to_chat(H, "Your skin itches.") + + /// Handle the body temperature status effects for the species /// Traits for resitance to heat or cold are handled here. /datum/species/proc/handle_body_temperature(mob/living/carbon/human/H) @@ -2264,3 +2321,5 @@ GLOBAL_LIST_EMPTY(roundstart_races) /datum/species/proc/get_harm_descriptors() return + +#undef MINIMUM_MOLS_TO_HARM diff --git a/code/modules/mob/living/carbon/human/species_types/IPC.dm b/code/modules/mob/living/carbon/human/species_types/IPC.dm index 9410111c9e4f..20d3f81aa38d 100644 --- a/code/modules/mob/living/carbon/human/species_types/IPC.dm +++ b/code/modules/mob/living/carbon/human/species_types/IPC.dm @@ -5,7 +5,7 @@ species_age_min = 0 species_age_max = 300 species_traits = list(NOTRANSSTING,NOEYESPRITES,NO_DNA_COPY,TRAIT_EASYDISMEMBER,NOZOMBIE,MUTCOLORS,REVIVESBYHEALING,NOHUSK,NOMOUTH,NO_BONES) //all of these + whatever we inherit from the real species - inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_VIRUSIMMUNE,TRAIT_NOBREATH,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_LIMBATTACHMENT) + inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_VIRUSIMMUNE,TRAIT_NOBREATH,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_LIMBATTACHMENT, TRAIT_METALLIC) inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID mutantbrain = /obj/item/organ/brain/mmi_holder/posibrain mutanteyes = /obj/item/organ/eyes/robotic diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index 3278d3d77c1e..7e76fff79c1e 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -10,7 +10,7 @@ disliked_food = FRIED | GROSS | CLOTH liked_food = MEAT | GORE changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - loreblurb = "Kepori are a species covered in feathers vaguely reminiscent of earth’s extinct troodontidae. They’re small and sometimes seen as weak by other species due to their hollow bones but make up for that in speed and reflexes. Those found in space are commonly known as rollaways. They tend to woop when excited, scared, or for any other reason at all." + loreblurb = "Kepori are a species covered in feathers vaguely reminiscent of earth’s extinct troodontidae. They’re small and sometimes seen as weak by other species due to their hollow bones but make up for that in speed and reflexes. They tend to woop when excited, scared, or for any other reason at all." attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index beecda12b083..462abc5cd38c 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -435,17 +435,42 @@ There are several things that need to be remembered: if(s_store) var/obj/item/I = s_store - var/mutable_appearance/s_store_overlay update_hud_s_store(I) - var/t_state = I.item_state - if(!t_state) - t_state = I.icon_state - s_store_overlay = I.build_worn_icon(default_layer = -SUIT_STORE_LAYER, default_icon_file = 'icons/mob/clothing/belt_mirror.dmi', override_state = t_state) + ///The final thing we overlay. Set on build_worn_icon. + var/mutable_appearance/suit_store_overlay - if(!s_store_overlay) - return - overlays_standing[SUIT_STORE_LAYER] = s_store_overlay - apply_overlay(SUIT_STORE_LAYER) + ///icon file of the clothing + var/icon_file = I.mob_overlay_icon + + /// Does this clothing need to be generated via greyscale + var/handled_by_bodytype = FALSE + + if(!suit_store_overlay) + if(dna.species.bodytype & BODYTYPE_VOX) + if(I.supports_variations & VOX_VARIATION) + icon_file = VOX_BACK_PATH + else + handled_by_bodytype = TRUE + + else if(dna.species.bodytype & BODYTYPE_KEPORI) +// if(I.supports_variations & KEPORI_VARIATION) +// icon_file = KEPORI_BACK_PATH +// else + handled_by_bodytype = TRUE + + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(I))) + icon_file = DEFAULT_BACK_PATH + handled_by_bodytype = TRUE + + var/use_autogen = handled_by_bodytype ? dna.species : null + suit_store_overlay = I.build_worn_icon(default_layer = -SUIT_STORE_LAYER, default_icon_file = icon_file, override_file = icon_file, isinhands = FALSE, override_file = icon_file, mob_species = use_autogen) + + if(!suit_store_overlay) + return + overlays_standing[SUIT_STORE_LAYER] = suit_store_overlay + + if(suit_store_overlay) + apply_overlay(SUIT_STORE_LAYER) /mob/living/carbon/human/update_inv_head() @@ -716,13 +741,13 @@ There are several things that need to be remembered: update_hud_neck(I) if(!(ITEM_SLOT_NECK in check_obscured_slots())) - if(dna.species.bodytype & BODYTYPE_VOX) // there is neither a vox or kepori neck path, we just tell it to greyscale no matter what -// if(I.supports_variations & VOX_VARIATION) -// icon_file = VOX_NECK_PATH -// if(I.vox_override_icon) -// icon_file = I.vox_override_icon -// else - handled_by_bodytype = TRUE + if(dna.species.bodytype & BODYTYPE_VOX) // there is no kepori neck path, we just tell it to greyscale no matter what + if(I.supports_variations & VOX_VARIATION) + icon_file = VOX_NECK_PATH + if(I.vox_override_icon) + icon_file = I.vox_override_icon + else + handled_by_bodytype = TRUE else if(dna.species.bodytype & BODYTYPE_KEPORI) // if(I.supports_variations & KEPORI_VARIATION) diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 0fc21db37d8c..c5145600bbf8 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -25,9 +25,12 @@ if(.) //not dead handle_blood() - if(isLivingSSD())//if you're disconnected, you're going to sleep - if(AmountSleeping() < 20) - AdjustSleeping(20)//adjust every 10 seconds + if(isLivingSSD()) // If you're disconnected, you're going to sleep + if(trunc((world.time - lastclienttime) / (3 MINUTES)) > 0) // After a three minute grace period, your character will fall asleep + if(AmountSleeping() < 20) + AdjustSleeping(20) // Adjust every 10 seconds + if(ssd_indicator) + cut_overlay(GLOB.ssd_indicator_overlay) // Prevents chronically SSD players from breaking immersion if(stat != DEAD) var/bprv = handle_bodyparts() diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm index cc15c12d836e..5ab2c57be0f4 100644 --- a/code/modules/mob/living/carbon/status_procs.dm +++ b/code/modules/mob/living/carbon/status_procs.dm @@ -17,6 +17,7 @@ ADD_TRAIT(src, TRAIT_INCAPACITATED, STAMINA) ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA) ADD_TRAIT(src, TRAIT_FLOORED, STAMINA) + ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, STAMINA) if((maxHealth - health + getStaminaLoss()) > 120) // Puts you a little further into the initial stamcrit, makes stamcrit harder to outright counter with chems. //WS Edit - Stamina stacks with health damage adjustStaminaLoss(30, FALSE) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 5c499fe21029..269c74a837bd 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1410,6 +1410,32 @@ if(player_logged && stat != DEAD) return TRUE +// The above code is kept to prevent old SSD behavior from breaking, while the code below is dedicated to the SSD Indicator + +GLOBAL_VAR_INIT(ssd_indicator_overlay, mutable_appearance('icons/mob/ssd_indicator.dmi', "default0", RUNECHAT_PLANE)) + +/mob/living + var/ssd_indicator = FALSE + var/lastclienttime = 0 + +/mob/living/proc/set_ssd_indicator(state) + if(state == ssd_indicator) + return + ssd_indicator = state + if(ssd_indicator && stat != DEAD) + add_overlay(GLOB.ssd_indicator_overlay) + else + cut_overlay(GLOB.ssd_indicator_overlay) + +/mob/living/Login() + . = ..() + set_ssd_indicator(FALSE) + +/mob/living/Logout() + . = ..() + lastclienttime = world.time + set_ssd_indicator(TRUE) + /mob/living/vv_get_header() . = ..() var/refid = REF(src) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 5229967f0374..01610cd13644 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -235,6 +235,9 @@ if(!target && trash) //Then for trash. target = scan(/obj/item/trash) + if(!target && trash) //Then for Chainsmokers. + target = scan(/obj/item/cigbutt) + if(!target && trash) //Search for dead mices. target = scan(/obj/item/reagent_containers/food/snacks/deadmouse) @@ -317,6 +320,7 @@ target_types += list( /obj/item/trash, /obj/item/reagent_containers/food/snacks/deadmouse, + /obj/item/cigbutt, ) target_types = typecacheof(target_types) @@ -340,7 +344,7 @@ else if(istype(A, /obj/item) || istype(A, /obj/effect/decal/remains)) visible_message("[src] sprays hydrofluoric acid at [A]!") playsound(src, 'sound/effects/spray2.ogg', 50, TRUE, -6) - A.acid_act(75, 10) + A.acid_act(100, 10) target = null else if(istype(A, /mob/living/simple_animal/hostile/cockroach) || istype(A, /mob/living/simple_animal/mouse)) var/mob/living/simple_animal/M = target diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 1916a7c52adb..646a3eb8436b 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -270,7 +270,7 @@ maxHealth = 50 gender = FEMALE harm_intent_damage = 10 - butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/reagent_containers/food/snacks/cakeslice/birthday = 3, \ + butcher_results = list(/obj/item/organ/brain = 1, /obj/item/organ/heart = 1, /obj/item/food/cakeslice/birthday = 3, \ /obj/item/reagent_containers/food/snacks/meat/slab = 2) response_harm_continuous = "takes a bite out of" response_harm_simple = "take a bite out of" diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index f2fbf6e5b262..7b11d05bcf2c 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -145,9 +145,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) else return ..() -/mob/living/simple_animal/mouse/attack_ghost(mob/dead/observer/user) - user.possess_mouse(src) - /mob/living/simple_animal/mouse/start_pulling(atom/movable/AM, state, force, supress_message) return FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index 040b6b26ae2a..ddae7a07397b 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -2,27 +2,54 @@ name = "Frontiersman" desc = "A frontiersman! A terrorist that would probably kill everyone without mercy." icon_state = "frontiersmanmelee" + icon = 'icons/mob/simple_frontiersman.dmi' icon_living = "frontiersmanmelee" icon_dead = "frontiersmanmelee_dead" speak_chance = 0 melee_damage_lower = 15 melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/frontier, - /obj/item/kitchen/knife) + /obj/item/kitchen/knife/combat/survival) atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list(FACTION_ANTAG_FRONTIERSMEN) + footstep_type = FOOTSTEP_MOB_SHOE + +/mob/living/simple_animal/hostile/human/frontier/internals + icon_state = "frontiersmanmelee_mask" + icon_living = "frontiersmanmelee_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + /mob/living/simple_animal/hostile/human/frontier/ranged icon_state = "frontiersmanranged" icon_living = "frontiersmanranged" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/gun/ballistic/revolver) + /obj/item/gun/ballistic/revolver/syndicate) ranged = 1 retreat_distance = 5 minimum_distance = 5 projectilesound = 'sound/weapons/gun/revolver/shot.ogg' casingtype = /obj/item/ammo_casing/a357 +/mob/living/simple_animal/hostile/human/frontier/ranged/internals + icon_state = "frontiersmanranged_mask" + icon_living = "frontiersmanranged_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/gun/ballistic/revolver, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) @@ -34,6 +61,21 @@ casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals + icon_state = "frontiersmanrangedrifle_mask" + icon_living = "frontiersmanrangedrifle_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/gun/ballistic/rifle/illestren, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) @@ -47,6 +89,21 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/shotgun/brimstone) +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals + icon_state = "frontiersmanrangedelite_mask" + icon_living = "frontiersmanrangedelite_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/shotgun/brimstone, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) @@ -60,6 +117,21 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/automatic/assault/skm) +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals + icon_state = "frontiersmanrangedak47_mask" + icon_living = "frontiersmanrangedak47_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/automatic/assault/skm, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) @@ -72,6 +144,21 @@ casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals + icon_state = "frontiersmanrangedmosin_mask" + icon_living = "frontiersmanrangedmosin_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/gun/ballistic/rifle/illestren, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) @@ -87,6 +174,21 @@ projectiletype = /obj/projectile/beam/weak/penetrator loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy) +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals + icon_state = "frontiersmanrangedminigun_mask" + icon_living = "frontiersmanrangedminigun_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless) @@ -101,10 +203,20 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, /obj/item/gun/ballistic/automatic/pistol/APS) +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals + icon_state = "frontiersmanofficer_mask" + icon_living = "frontiersmanofficer_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, + /obj/item/gun/ballistic/automatic/pistol/APS, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals/neutered + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, + /obj/item/clothing/mask/gas, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/officer/neutured loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer) - -/mob/living/simple_animal/hostile/human/frontier/ranged/officer/Aggro() - ..() - summon_backup(15) - say(pick("Help!!", "They're right here!!", "Don't let me die!!")) diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index f7abea96b222..52863c1a5c64 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -39,7 +39,7 @@ icon_state = "survivor_hunter" icon_living = "survivor_hunter" projectiletype = null - casingtype = /obj/item/ammo_casing/aac_300blk/recycled + casingtype = /obj/item/ammo_casing/a762_40 projectilesound = 'sound/weapons/gun/rifle/shot.ogg' ranged = 1 rapid_fire_delay = 6 @@ -244,7 +244,7 @@ if(prob(20)) l_pocket = /obj/item/reagent_containers/food/snacks/meat/steak/goliath else if(prob(60)) - l_pocket = /obj/item/ammo_box/aac_300blk_stripper + l_pocket = /obj/item/ammo_box/a762_stripper if(prob(20)) new /obj/item/gun/ballistic/rifle/polymer(loc) else diff --git a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm index 2a60b3c52fc2..7caaf4f1e436 100644 --- a/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm +++ b/code/modules/mob/living/simple_animal/hostile/mecha_pilot.dm @@ -19,7 +19,7 @@ Featuring: */ /mob/living/simple_animal/hostile/human/syndicate/mecha_pilot - name = "Syndicate Mecha Pilot" + name = "Syndicate Exosuit Pilot" desc = "Death to Nanotrasen. This variant comes in MECHA DEATH flavour." wanted_objects = list() search_objects = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm index 3a4506b62562..a762a9298279 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/codename_claw.dm @@ -232,7 +232,6 @@ projectiletype = /obj/projectile/tentacle projectilesound = 'sound/effects/splat.ogg' Shoot(target) - /////TENTACLE END /////STING ATTACK diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index 00a32a8dc449..03faa787d155 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -322,4 +322,3 @@ Difficulty: Extremely Hard var/turf/T = get_turf(target) mineral_scan_pulse(T, world.view + 1) . = ..() - diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm index 0c13b9d67f16..04723d80ba5a 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm @@ -49,9 +49,6 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe mob_biotypes = MOB_ROBOTIC gps_name = "Hungry Signal" - achievement_type = /datum/award/achievement/boss/swarmer_beacon_kill - crusher_achievement_type = /datum/award/achievement/boss/swarmer_beacon_crusher - score_achievement_type = /datum/award/score/swarmer_beacon_score faction = list("mining", "boss", "swarmer") weather_immunities = list("lava","ash") stop_automated_movement = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index d10b9b86fb9b..b03363e956f1 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -1,4 +1,3 @@ -#define LEGIONVIRUS_TYPE /datum/disease/transformation/legionvirus #define BULLET_SHELL_DAMAGE 1 //A beast that fire freezing blasts. @@ -204,7 +203,6 @@ projectiletype = /obj/projectile/temp/basilisk/heated #undef BULLET_SHELL_DAMAGE -#undef LEGIONVIRUS_TYPE //Watcher /mob/living/simple_animal/hostile/asteroid/basilisk/watcher @@ -340,8 +338,8 @@ if(istype(L)) L.apply_status_effect(/datum/status_effect/freon/watcher) -/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/forgotten name = "forgotten watcher" 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 cb7eaad0e988..94dd221945b9 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 @@ -185,7 +185,6 @@ move_to_delay = 5 mob_biotypes = MOB_ORGANIC|MOB_BEAST mouse_opacity = MOUSE_OPACITY_ICON - butcher_results = list() guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide = 1) deathmessage = "falls to the ground." status_flags = CANPUSH diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm index bf8552ba5cb0..e4478b705f45 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm @@ -250,10 +250,7 @@ health = 180 speed = 4 //mob_trophy = /obj/item/mob_trophy/elder_tentacle - pre_attack_icon = "ancient_goliath_preattack" - throw_message = "does nothing to the rocky hide of the" guaranteed_butcher_results = list() - trophy_drop_mod = 75 wander = FALSE bonus_tame_chance = 10 var/list/cached_tentacle_turfs @@ -280,9 +277,9 @@ else cached_tentacle_turfs -= t -/mob/living/simple_animal/hostile/asteroid/goliath/beast/tendril +/mob/living/simple_animal/hostile/asteroid/goliath/beast/nest butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/goliath = 2, /obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 2) - fromtendril = TRUE + from_nest = TRUE //tentacles /obj/effect/temp_visual/goliath_tentacle diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 5158c80d056a..b7ca291a5be4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -164,7 +164,7 @@ if(stored_mob) stored_mob.forceMove(get_turf(src)) stored_mob = null - else if(fromtendril) + else if(from_nest) new /obj/effect/mob_spawn/human/corpse/charredskeleton(T) else if(dwarf_mob) new /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/dwarf(T) @@ -172,11 +172,11 @@ new /obj/effect/mob_spawn/human/corpse/damaged/legioninfested(T) ..(gibbed) -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest + from_nest = TRUE -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf/death(gibbed) move_force = MOVE_FORCE_DEFAULT @@ -208,7 +208,7 @@ attack_sound = 'sound/weapons/pierce.ogg' throw_message = "is shrugged off by" del_on_death = TRUE - stat_attack = HARD_CRIT + stat_attack = SOFT_CRIT robust_searching = 1 var/can_infest_dead = FALSE @@ -222,7 +222,7 @@ /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/staff/Initialize() . = ..() - addtimer(CALLBACK(src, PROC_REF(death)), 50) + addtimer(CALLBACK(src, PROC_REF(death)), 5 SECONDS) AddComponent(/datum/component/swarming) /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life() @@ -230,6 +230,8 @@ if(stat == DEAD || !isturf(loc)) return for(var/mob/living/carbon/human/victim in range(src, 1)) //Only for corpse right next to/on same tile + if(istype(victim.getorganslot(ORGAN_SLOT_REGENERATIVE_CORE), /obj/item/organ/legion_skull)) // no double dipping + continue switch(victim.stat) if(UNCONSCIOUS, HARD_CRIT) infest(victim) @@ -239,21 +241,87 @@ infest(victim) return //This will qdelete the legion. - /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H) - visible_message("[name] burrows into the flesh of [H]!") - var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L - if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! - L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) + visible_message(span_warning("[name] burrows into the flesh of [H]!")) + if(H.stat != DEAD) + var/obj/item/organ/legion_skull/throwyouabone = new() + throwyouabone.Insert(H) else - L = new(H.loc) - visible_message("[L] staggers to [L.p_their()] feet!") - H.death() - H.adjustBruteLoss(1000) - L.stored_mob = H - H.forceMove(L) + var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L + if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff! + L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc) + else + L = new(H.loc) + visible_message(span_warning("[L] staggers to [L.p_their()] feet!")) + H.adjustBruteLoss(1000) + L.stored_mob = H + H.forceMove(L) qdel(src) +/obj/item/organ/legion_skull + name = "legion skull" + desc = "The skull of a legion, likely torn from a soon-to-be host." + icon_state = "legion_skull" + zone = BODY_ZONE_CHEST + slot = ORGAN_SLOT_REGENERATIVE_CORE + grind_results = list(/datum/reagent/medicine/soulus = 2, /datum/reagent/blood = 5) + var/datum/disease/transformation/legionvirus/malignance + var/malignance_countdown = 5 MINUTES + var/malignance_tracker + +/obj/item/organ/legion_skull/on_find(mob/living/finder) + ..() + to_chat(finder, span_warning("You found a skull-shaped growth in [owner]'s [zone]!")) + +/obj/item/organ/legion_skull/Insert(mob/living/carbon/M, special = 0) + ..() + malignance = new() + malignance.infect(M, FALSE) //we handle all the fancy virus stuff in the organ, so we need a reference for it + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) + M.heal_overall_bleeding(12) //stop dying so fast + +/obj/item/organ/legion_skull/Remove(mob/living/carbon/M, special = 0) + malignance_countdown = initial(malignance_countdown) + deltimer(malignance_tracker) + malignance_tracker = null + malignance.cure() + ..() + +/obj/item/organ/legion_skull/on_life() + . = ..() + skull_check() + +/obj/item/organ/legion_skull/on_death() + . = ..() + skull_check() + +/// track our timers and reagents +/obj/item/organ/legion_skull/proc/skull_check() + if(!malignance) + malignance = new() + malignance.infect(owner, FALSE) + if(owner.reagents.has_reagent(/datum/reagent/medicine/synaptizine, needs_metabolizing = TRUE) || owner.reagents.has_reagent(/datum/reagent/medicine/spaceacillin, needs_metabolizing = TRUE)) + if(isnull(timeleft(malignance_tracker))) //ruhehehehehe + malignance_countdown = min(malignance_countdown + 1 SECONDS, initial(malignance_countdown)) //slightly improve our resistance to dying so we don't turn the second a treatment runs out + return + malignance_countdown = timeleft(malignance_tracker) //pause our timer if we have the reagents + deltimer(malignance_tracker) + malignance_tracker = null //you would think deltimer would do this but it actually doesn't track a direct reference! + return + if(!malignance_tracker) + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) //and resume if we run out + +/// Updates the stage of our tied disease +/obj/item/organ/legion_skull/proc/update_stage() + malignance.update_stage(min(malignance.stage + 1, malignance.max_stages)) + if(malignance.stage == 5) + malignance.stage_act() //force the transformation here, then delete everything + qdel(malignance) + qdel(src) + return + malignance_countdown = initial(malignance_countdown) + malignance_tracker = addtimer(CALLBACK(src, PROC_REF(update_stage)), malignance_countdown, TIMER_STOPPABLE|TIMER_DELETE_ME) + //Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions) /mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced name = "Signifer" @@ -320,7 +388,7 @@ /mob/living/simple_animal/hostile/big_legion/Initialize() .=..() - AddComponent(/datum/component/spawner, list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/tendril), 200, faction, "peels itself off from", 3) + AddComponent(/datum/component/spawner, list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest), 200, faction, "peels itself off from", 3) // Snow Legion /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow @@ -345,8 +413,8 @@ icon_aggro = "snowlegion_head" icon_dead = "snowlegion_head" -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/tendril - fromtendril = TRUE +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest + from_nest = TRUE /mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal name = "disfigured legion" @@ -376,7 +444,7 @@ P.fire(i*(360/5)) return ..() -//Tendril-spawned Legion remains, the charred skeletons of those whose bodies sank into lava or fell into chasms. +//nest-spawned Legion remains, the charred skeletons of those whose bodies sank into lava or fell into chasms. /obj/effect/mob_spawn/human/corpse/charredskeleton name = "charred skeletal remains" burn_damage = 1000 @@ -413,19 +481,16 @@ ) ) - switch(type) - if("Miner") - outfit = /datum/outfit/generic/miner - if("Assistant") - outfit = /datum/outfit/generic - if("Engineer") - outfit = /datum/outfit/generic/engineer - if("Doctor") - outfit = /datum/outfit/generic/doctor - if("Scientist") - outfit = /datum/outfit/generic/science - if("Cargo") - outfit = /datum/outfit/generic/cargo - if("Security") - outfit = /datum/outfit/generic/security + var/outfit_map = list( + "Miner" = /datum/outfit/generic/miner, + "Assistant" = /datum/outfit/generic, + "Engineer" = /datum/outfit/generic/engineer, + "Doctor" = /datum/outfit/generic/doctor, + "Scientist" = /datum/outfit/generic/science, + "Cargo" = /datum/outfit/generic/cargo, + "Security" = /datum/outfit/generic/security + ) + + outfit = outfit_map[type] // Access outfit directly + . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index 0dca4c21dade..437333f15284 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -46,8 +46,8 @@ belt = pickweight(list( /obj/item/gun/ballistic/automatic/pistol/candor = 2, /obj/item/gun/ballistic/automatic/pistol/commander = 1, - /obj/item/gun/ballistic/automatic/pistol = 1, - /obj/item/gun/ballistic/revolver = 1, + /obj/item/gun/ballistic/automatic/pistol/syndicate = 1, + /obj/item/gun/ballistic/revolver/syndicate = 1, /obj/item/gun/ballistic/revolver/firebrand = 1, ) ) @@ -203,14 +203,14 @@ if(prob(50)) r_pocket = pickweight(list( /obj/item/stack/marker_beacon = 20, - /obj/item/spacecash/bundle/mediumrand = 7, + /obj/item/spacecash/bundle/smallrand = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 ) ) if(prob(25)) l_pocket = pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 5, + /obj/item/spacecash/bundle/smallrand = 5, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/cooldown = 1 ) @@ -411,7 +411,7 @@ for(var/i = 1 to 3) if(prob(75)) backpack_contents += pickweight(list( - /obj/item/spacecash/bundle/mediumrand = 5, + /obj/item/spacecash/bundle/smallrand = 5, /obj/item/ammo_box/magazine/illestren_a850r = 5, /obj/item/ammo_box/magazine/zip_ammo_9mm = 5, /obj/item/modular_computer/tablet/preset/cargo = 3, diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/mining_mobs/ice demon.dm rename to code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm similarity index 100% rename from code/modules/mob/living/simple_animal/hostile/mining_mobs/ice whelp.dm rename to code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 19334bc84fcd..6beb2f23b9e6 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -15,7 +15,7 @@ var/mob_trophy var/throw_message = "bounces off of" var/throw_deflection = 20 //WS edit - Whitesands - var/fromtendril = FALSE + var/from_nest = FALSE see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE mob_size = MOB_SIZE_LARGE @@ -70,7 +70,7 @@ /mob/living/simple_animal/hostile/asteroid/death(gibbed) SSblackbox.record_feedback("tally", "mobs_killed_mining", 1, type) - if(prob(trophy_drop_mod)) //on average, you'll need to kill 4 creatures before getting the item + if(prob(trophy_drop_mod)) //on average, you'll need to kill 5 creatures before getting the item spawn_mob_trophy() ..(gibbed) diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 55d873cf036a..25827781b4b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -167,48 +167,3 @@ attack_verb_simple = "punch" deathmessage = "falls apart into a fine dust." phaser = FALSE - -/obj/structure/spawner/nether - name = "netherworld link" - desc = null //see examine() - icon_state = "nether" - max_integrity = 50 - spawn_time = 600 //1 minute - max_mobs = 15 - spawn_text = "crawls through" - mob_types = list(/mob/living/simple_animal/hostile/netherworld/migo, /mob/living/simple_animal/hostile/netherworld, /mob/living/simple_animal/hostile/netherworld/blankbody) - faction = list("nether") - -/obj/structure/spawner/nether/Initialize() - .=..() - START_PROCESSING(SSprocessing, src) - -/obj/structure/spawner/nether/examine(mob/user) - . = ..() - if(isskeleton(user) || iszombie(user)) - . += "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!" - else - . += "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea." - -/obj/structure/spawner/nether/attack_hand(mob/user) - . = ..() - if(isskeleton(user) || iszombie(user)) - to_chat(user, "You don't feel like going home yet...") - else - user.visible_message("[user] is violently pulled into the link!", \ - "Touching the portal, you are quickly pulled through into a world of unimaginable horror!") - contents.Add(user) - -/obj/structure/spawner/nether/process() - for(var/mob/living/M in contents) - if(M) - playsound(src, 'sound/magic/demon_consume.ogg', 50, TRUE) - M.adjustBruteLoss(60) - new /obj/effect/gibspawner/generic(get_turf(M), M) - if(M.stat == DEAD) - var/mob/living/simple_animal/hostile/netherworld/blankbody/blank - blank = new(loc) - blank.name = "[M]" - blank.desc = "It's [M], but [M.p_their()] flesh has an ashy texture, and [M.p_their()] face is featureless save an eerie smile." - src.visible_message("[M] reemerges from the link!") - qdel(M) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index de1cb857ed4e..42d217cf96e4 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -169,13 +169,9 @@ var/static/regex/nostutter = regex(@@[aeiouAEIOU "'()[\]{}.!?,:;_`~-]@) for(var/i = 1, i <= leng, i += length(rawchar)) rawchar = newletter = phrase[i] - if(prob(80) && !nostutter.Find(rawchar)) - if(prob(10)) - newletter = "[newletter]-[newletter]-[newletter]-[newletter]" - else if(prob(20)) + if(prob(70) && !nostutter.Find(rawchar)) + if(prob(25)) newletter = "[newletter]-[newletter]-[newletter]" - else if (prob(5)) - newletter = "" else newletter = "[newletter]-[newletter]" . += newletter diff --git a/code/modules/mob_spawner/burrow.dm b/code/modules/mob_spawner/burrow.dm new file mode 100644 index 000000000000..f8d4c31bc87f --- /dev/null +++ b/code/modules/mob_spawner/burrow.dm @@ -0,0 +1,109 @@ +GLOBAL_LIST_INIT(ore_probability, list( + /obj/item/stack/ore/plasma = 75, + /obj/item/stack/ore/iron = 75, + /obj/item/stack/ore/titanium = 50, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/gold = 50, + /obj/item/stack/ore/uranium = 50, + /obj/item/stack/ore/diamond = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25, + /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 25 + )) + +/obj/structure/spawner/burrow + name = "burrow entrance" + desc = "A hole in the ground, filled with fauna ready to defend it." + max_integrity = 250 + faction = list("mining") + max_mobs = 3 + +/obj/structure/spawner/burrow/Initialize() + . = ..() + clear_rock() + +/** + * Clears rocks around the spawner when it is created + * + */ +/obj/structure/spawner/burrow/proc/clear_rock() + for(var/turf/F in RANGE_TURFS(2, src)) + if(abs(src.x - F.x) + abs(src.y - F.y) > 3) + continue + if(ismineralturf(F)) + var/turf/closed/mineral/M = F + M.ScrapeAway(null, CHANGETURF_IGNORE_AIR) + +/obj/structure/spawner/burrow/deconstruct(disassembled) + destroy_effect() + drop_loot() + return ..() + +/** + * Effects and messages created when the spawner is destroyed + * + */ +/obj/structure/spawner/burrow/proc/destroy_effect() + playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) + visible_message("[src] collapses, sealing everything inside!\nOres fall out of the burrow as it is destroyed!") + +/** + * Drops items after the spawner is destroyed + * + */ +/obj/structure/spawner/burrow/proc/drop_loot() + for(var/type in GLOB.ore_probability) + var/chance = GLOB.ore_probability[type] + if(!prob(chance)) + continue + new type(loc, rand(5, 10)) + +/obj/structure/spawner/burrow/lava_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 27, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 26, + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/nest = 26, + /mob/living/simple_animal/hostile/asteroid/brimdemon = 20, + /mob/living/simple_animal/hostile/asteroid/basilisk/watcher/icewing = 1 + ) + +/obj/structure/spawner/burrow/sand_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/nest = 40, + /mob/living/simple_animal/hostile/asteroid/basilisk/whitesands = 40, + /mob/living/simple_animal/hostile/asteroid/goliath/beast/nest = 20 + ) + +/obj/structure/spawner/burrow/ice_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/wolf, + /mob/living/simple_animal/hostile/asteroid/polarbear + ) + +/obj/structure/spawner/burrow/ice_planet/hard + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/brimdemon = 35, + /mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow/nest = 35, + /mob/living/simple_animal/hostile/asteroid/ice_whelp = 15, + /mob/living/simple_animal/hostile/asteroid/ice_demon = 15 + ) + +/obj/structure/spawner/burrow/jungle_planet + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/wolf/random, + /mob/living/simple_animal/hostile/retaliate/bat, + /mob/living/simple_animal/hostile/retaliate/poison/snake + ) + +/obj/structure/spawner/burrow/rock_plant + mob_types = list( + /mob/living/simple_animal/hostile/asteroid/goliath/beast/rockplanet, + /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/rockplanet + ) + +/obj/structure/spawner/burrow/asteroid + mob_types = list ( + /mob/living/simple_animal/hostile/asteroid/goliath, + /mob/living/simple_animal/hostile/asteroid/hivelord, + /mob/living/simple_animal/hostile/carp + ) diff --git a/code/modules/mob_spawner/hivebot.dm b/code/modules/mob_spawner/hivebot.dm new file mode 100644 index 000000000000..630ed6f6f3c7 --- /dev/null +++ b/code/modules/mob_spawner/hivebot.dm @@ -0,0 +1,50 @@ +/obj/structure/spawner/hivebot + name = "hivebot fabricator" + desc = "An active fabricator, creating hivebots out of resources from below the surface." + + icon = 'icons/obj/machines/bsm.dmi' + icon_state = "bsm_on" + + faction = list("mining") + max_integrity = 250 + mob_types = list( + /mob/living/simple_animal/hostile/hivebot/wasteplanet = 40, + /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged = 40, + /mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid = 10, + /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 5, + /mob/living/simple_animal/hostile/hivebot/mechanic = 5 + ) + spawn_text = "crawls out of" + spawn_sound = list('sound/effects/suitstep2.ogg') + resistance_flags = FIRE_PROOF | LAVA_PROOF + var/obj/effect/light_emitter/hivespawner/emitted_light + +/obj/structure/spawner/hivebot/Initialize() + . = ..() + emitted_light = new(loc) + +/obj/structure/spawner/hivebot/deconstruct(disassembled) + destroy_effect() + drop_loot() + return ..() + +/obj/structure/spawner/hivebot/Destroy() + QDEL_NULL(emitted_light) + return ..() + +/obj/structure/spawner/hivebot/proc/destroy_effect() + playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) + visible_message("[src] begins to rattle and shake, sparks flying off of it!") + + +/obj/structure/spawner/hivebot/proc/drop_loot() + var/datum/effect_system/smoke_spread/smoke = new + smoke.set_up(2, loc) + smoke.start() + new /obj/effect/particle_effect/sparks(loc) + new /obj/effect/spawner/lootdrop/waste/hivebot/beacon(loc) + +/obj/effect/light_emitter/hivespawner + set_luminosity = 4 + set_cap = 2.5 + light_color = COLOR_RED_LIGHT diff --git a/code/modules/mob_spawner/spawner.dm b/code/modules/mob_spawner/spawner.dm new file mode 100644 index 000000000000..f5cfdadd0e96 --- /dev/null +++ b/code/modules/mob_spawner/spawner.dm @@ -0,0 +1,40 @@ +/obj/structure/spawner + name = "monster nest" + icon = 'icons/mob/nest.dmi' + icon_state = "hole" + max_integrity = 100 + + move_resist = INFINITY + anchored = TRUE + density = TRUE + + var/max_mobs = 5 + var/spawn_time = 300 //30 seconds default + var/mob_types = list(/mob/living/simple_animal/hostile/carp) + var/spawn_text = "emerges from" + var/faction = list("hostile") + var/spawn_sound = list('sound/effects/break_stone.ogg') + var/spawner_type = /datum/component/spawner + var/spawn_distance_min = 1 + var/spawn_distance_max = 1 + +/obj/structure/spawner/Initialize() + . = ..() + AddComponent(spawner_type, mob_types, spawn_time, faction, spawn_text, max_mobs, spawn_sound, spawn_distance_min, spawn_distance_max) + +/obj/structure/spawner/attack_animal(mob/living/simple_animal/M) + if(faction_check(faction, M.faction, FALSE)&&!M.client) + return + ..() + +/obj/structure/spawner/carp + name = "carp spawn" //the non game spawn meaning + desc = "A puddle, which appears to be full of carp" + icon_state = "puddle" + icon = 'icons/obj/watercloset.dmi' + max_integrity = 150 + max_mobs = 5 + spawn_time = 1200 + mob_types = list(/mob/living/simple_animal/hostile/carp) + spawn_text = "swims out of" + faction = list("carp") diff --git a/code/datums/components/spawner.dm b/code/modules/mob_spawner/spawner_componet.dm similarity index 99% rename from code/datums/components/spawner.dm rename to code/modules/mob_spawner/spawner_componet.dm index aab5bb6ea08a..8a904a5504c4 100644 --- a/code/datums/components/spawner.dm +++ b/code/modules/mob_spawner/spawner_componet.dm @@ -14,7 +14,6 @@ var/wave_timer var/current_timerid - /datum/component/spawner/Initialize(_mob_types, _spawn_time, _faction, _spawn_text, _max_mobs, _spawn_sound, _spawn_distance_min, _spawn_distance_max, _wave_length, _wave_downtime) if(_spawn_time) spawn_time=_spawn_time diff --git a/code/modules/overmap/missions/acquire_mission.dm b/code/modules/overmap/missions/acquire_mission.dm index de60174081db..8a3424c8eb11 100644 --- a/code/modules/overmap/missions/acquire_mission.dm +++ b/code/modules/overmap/missions/acquire_mission.dm @@ -14,6 +14,7 @@ /datum/mission/acquire/accept(datum/overmap/ship/controlled/acceptor, turf/accept_loc) . = ..() container = spawn_bound(container_type, accept_loc, VARSET_CALLBACK(src, container, null)) + container.name += " ([capitalize(objective_type.name)])" /datum/mission/acquire/Destroy() container = null @@ -211,6 +212,21 @@ Acquire: Anomaly weight = 1 objective_type = /mob/living/simple_animal/bot/firebot/rockplanet +/* + Acquire: Landmines +*/ + +/datum/mission/acquire/landmine + name = "Defuse landmines" + desc = "CLIP and Gezena have assigned us to offer a bounty to turn in disarmed ordnance for future ventures. We'll pay you well, but we're not responsible for any accidents." + weight = 6 + value = 1500 + duration = 80 MINUTES + dur_mod_range = 0.4 + container_type = /obj/item/storage/toolbox/bounty + objective_type = /obj/item/mine/pressure/explosive + num_wanted = 2 + /* Acquire: Fishing */ diff --git a/code/modules/overmap/missions/drill_mission.dm b/code/modules/overmap/missions/drill_mission.dm index 06859e8327d2..307d73d59592 100644 --- a/code/modules/overmap/missions/drill_mission.dm +++ b/code/modules/overmap/missions/drill_mission.dm @@ -21,7 +21,7 @@ sampler = spawn_bound(/obj/machinery/drill/mission, accept_loc, VARSET_CALLBACK(src, sampler, null)) sampler.mission_class = class_wanted sampler.num_wanted = num_wanted - + sampler.name += " (Class [class_wanted])" //Gives players a little extra money for going past the mission goal /datum/mission/drill/turn_in() value += (sampler.num_current - num_wanted)*50 diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index bce7a3f322c5..0bf0a3eb51d3 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -36,7 +36,7 @@ /// List of types which should be allowed to be faxed if hacked var/static/list/exotic_types = list( /obj/item/reagent_containers/food/snacks/pizzaslice, - /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/food/breadslice, /obj/item/reagent_containers/food/snacks/donkpocket, /obj/item/reagent_containers/food/snacks/cookie, /obj/item/reagent_containers/food/snacks/salami, diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm index 93b8319dbed7..e91a03e421f3 100644 --- a/code/modules/photography/camera/camera.dm +++ b/code/modules/photography/camera/camera.dm @@ -20,6 +20,7 @@ slot_flags = ITEM_SLOT_NECK custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 150) custom_price = 120 + supports_variations = VOX_VARIATION var/flash_enabled = TRUE var/state_on = "camera" var/state_off = "camera_off" diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm index 26597a64f33b..b216296cfe8d 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammunition.dm @@ -32,7 +32,7 @@ var/pellets = 1 //Pellets for spreadshot var/variance = 0 //Variance for inaccuracy fundamental to the casing - var/randomspread = 0 //Randomspread for automatics + var/randomspread = FALSE //Randomspread for automatics var/delay = 0 //Delay for energy weapons var/click_cooldown_override = 0 //Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index b3875292fba2..154a6c77a7f3 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -74,22 +74,6 @@ projectile_type = /obj/projectile/bullet/a762_40 bullet_per_box = 80 -// .300 Blackout (Polymer Survivor Rifle) - -/obj/item/ammo_casing/aac_300blk - name = ".300 BLK bullet casing" - desc = "A .300 Blackout bullet casing." - icon_state = "rifle-steel" - caliber = ".300 BLK" - projectile_type = /obj/projectile/bullet/aac_300blk - bullet_per_box = 20 - -/obj/item/ammo_casing/aac_300blk/recycled - name = "recycled .300 BLK bullet casing" - desc = "A recycled .300 Blackout bullet casing." - caliber = ".300 BLK" - projectile_type = /obj/projectile/bullet/aac_300blk - //.308 (M514 EBR & CM-GAL-S) /obj/item/ammo_casing/a308 diff --git a/code/modules/projectiles/ammunition/caseless/rocket.dm b/code/modules/projectiles/ammunition/caseless/rocket.dm index 9ebb6d88f2d7..3eccf800defe 100644 --- a/code/modules/projectiles/ammunition/caseless/rocket.dm +++ b/code/modules/projectiles/ammunition/caseless/rocket.dm @@ -8,7 +8,7 @@ /obj/item/ammo_casing/caseless/rocket/hedp name = "\improper PM-9HEDP" - desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward mechs." + desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward armor." caliber = "84mm" icon_state = "84mm-hedp" projectile_type = /obj/projectile/bullet/a84mm diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index 955856704ac6..8b10f0374eef 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -136,6 +136,9 @@ multiple_sprites = AMMO_BOX_PER_BULLET instant_load = TRUE +/obj/item/ammo_box/a858/empty + start_empty = TRUE + // .308 Stripper Clip (Vickland) /obj/item/ammo_box/vickland_a308 @@ -149,6 +152,8 @@ w_class = WEIGHT_CLASS_TINY instant_load = TRUE +/obj/item/ammo_box/vickland_a308/empty + start_empty = TRUE // .300 Magnum Stripper Clip (Scout) @@ -164,19 +169,22 @@ /obj/item/ammo_box/a300/empty start_empty = TRUE -// .300 Blackout Stripper Clip (Polymer Survivor Rifle) +// 7.62 Stripper Clip (Polymer Survivor Rifle) -/obj/item/ammo_box/aac_300blk_stripper - name = "stripper clip (.300 BLK)" +/obj/item/ammo_box/a762_stripper + name = "stripper clip (7.62)" desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." - icon_state = "300m" - ammo_type = /obj/item/ammo_casing/aac_300blk - caliber = ".300 BLK" + icon_state = "stripper_308-5" + base_icon_state = "stripper_308" + ammo_type = /obj/item/ammo_casing/a762_40 + caliber = "7.62x40mm" max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET w_class = WEIGHT_CLASS_TINY instant_load = TRUE +/obj/item/ammo_box/a762_stripper/empty + start_empty = TRUE // Ferromagnetic Pellet Speed Loader (Claris) /obj/item/ammo_box/amagpellet_claris @@ -447,7 +455,7 @@ desc = "A box of standard 8x50mm ammo." icon_state = "8x50mmbox" ammo_type = /obj/item/ammo_casing/a8_50r - max_ammo = 20 + max_ammo = 25 /obj/item/ammo_box/ferropelletbox name = "ammo box (ferromagnetic pellets)" diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm index 1066e5b7ef2d..9224c0db84af 100644 --- a/code/modules/projectiles/boxes_magazines/external/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm @@ -56,7 +56,7 @@ multiple_sprites = AMMO_BOX_FULL_EMPTY /obj/item/ammo_box/magazine/skm_762_40/empty - start_empty = FALSE + start_empty = TRUE /obj/item/ammo_box/magazine/skm_762_40/extended name = "extended assault rifle magazine (7.62x40mm CLIP)" diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index 4f2f8c537958..e179fbfa903c 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -22,8 +22,8 @@ /obj/item/ammo_box/magazine/internal/boltaction/polymer name = "polymer bolt action rifle internal magazine" - ammo_type = /obj/item/ammo_casing/aac_300blk - caliber = ".300 BLK" + ammo_type = /obj/item/ammo_casing/a762_40 + caliber = "7.62x40mm" max_ammo = 5 /obj/item/ammo_box/magazine/internal/vickland diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 3edfd1382cf4..ca1a1a89b8c9 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -2,8 +2,10 @@ name = "gun" desc = "It's a gun. It's pretty terrible, though." icon = 'icons/obj/guns/projectile.dmi' - icon_state = "detective" + icon_state = "flatgun" item_state = "gun" + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=2000) @@ -16,101 +18,185 @@ attack_verb = list("struck", "hit", "bashed") pickup_sound = 'sound/items/handling/gun_pickup.ogg' drop_sound = 'sound/items/handling/gun_drop.ogg' + //trigger guard on the weapon, hulks can't fire them with their big meaty fingers + trigger_guard = TRIGGER_GUARD_NORMAL - /// The manufacturer of this weapon. For flavor mostly. If none, this will not show. + ///The manufacturer of this weapon. For flavor mostly. If none, this will not show. var/manufacturer = MANUFACTURER_NONE +/* + * Muzzle +*/ + ///Effect for the muzzle flash of the gun. + var/obj/effect/muzzle_flash/muzzle_flash + ///Icon state of the muzzle flash effect. + var/muzzleflash_iconstate + ///Brightness of the muzzle flash effect. + var/muzzle_flash_lum = 3 + ///Color of the muzzle flash effect. + var/muzzle_flash_color = COLOR_VERY_SOFT_YELLOW + +/* + * Firing +*/ var/fire_sound = 'sound/weapons/gun/pistol/shot.ogg' var/vary_fire_sound = TRUE var/fire_sound_volume = 50 var/dry_fire_sound = 'sound/weapons/gun/general/dry_fire.ogg' - ///Text showed when attempting to fire with no round or empty round. var/dry_fire_text = "click" - ///whether or not a message is displayed when fired - var/suppressed = null - var/can_suppress = FALSE + +/* + * Reloading +*/ + var/obj/item/ammo_casing/chambered = null + ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it + var/tac_reloads = TRUE + ///If we have the 'snowflake mechanic,' how long should it take to reload? + var/tactical_reload_delay = 1 SECONDS + +//BALLISTIC + ///Compatible magazines with the gun + var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info + ///Whether the gun alarms when empty or not. + var/empty_alarm = FALSE + ///Do we eject the magazine upon runing out of ammo? + var/empty_autoeject = FALSE + ///Whether the gun supports multiple special mag types + var/special_mags = FALSE + + ///Actual magazine currently contained within the gun + var/obj/item/ammo_box/magazine/magazine + ///whether the gun ejects the chambered casing + var/casing_ejector = TRUE + ///Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT. + var/internal_magazine = FALSE + + ///Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx + var/magazine_wording = "magazine" + ///Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc. + var/cartridge_wording = "bullet" + + ///sound when inserting magazine + var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' + ///sound when inserting an empty magazine + var/load_empty_sound = 'sound/weapons/gun/general/magazine_insert_empty.ogg' + ///volume of loading sound + var/load_sound_volume = 40 + ///whether loading sound should vary + var/load_sound_vary = TRUE + ///Sound of ejecting a magazine + var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' + ///sound of ejecting an empty magazine + var/eject_empty_sound = 'sound/weapons/gun/general/magazine_remove_empty.ogg' + ///volume of ejecting a magazine + var/eject_sound_volume = 40 + ///whether eject sound should vary + var/eject_sound_vary = TRUE + +//ENERGY + //What type of power cell this uses + var/obj/item/stock_parts/cell/gun/cell + var/cell_type = /obj/item/stock_parts/cell/gun + //Can it be charged in a recharger? + var/can_charge = TRUE + var/selfcharge = FALSE + var/charge_tick = 0 + var/charge_delay = 4 + //whether the gun's cell drains the cyborg user's cell to recharge + var/use_cyborg_cell = FALSE + ///Used for large and small cells + var/mag_size = MAG_SIZE_MEDIUM + //Time it takes to unscrew the cell + var/unscrewing_time = 2 SECONDS + + ///if the gun's cell cannot be replaced + var/internal_cell = FALSE + + var/list/ammo_type = list(/obj/item/ammo_casing/energy) + //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. + var/select = 1 + +/* + * Operation +*/ + //whether or not a message is displayed when fired + var/suppressed = FALSE var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' var/suppressed_volume = 60 - var/can_unsuppress = TRUE - var/obj/item/ammo_casing/chambered = null - ///trigger guard on the weapon. Used for hulk mutations and ashies. I honestly dont know how usefult his is, id avoid touching it - trigger_guard = TRIGGER_GUARD_NORMAL - ///Set the description of the gun to this when sawed off - var/sawn_desc = null - ///This triggers some sprite behavior in shotguns and prevents further sawoff, note that can_be_sawn_off is on gun/ballistic and not here, wtf. - var/sawn_off = FALSE - /// how many shots per burst, Ex: most machine pistols, M90, some ARs are 3rnd burst, while others like the GAR and laser minigun are 2 round burst. - var/burst_size = 3 - ///The rate of fire when firing in a burst. Not the delay between bursts - var/burst_delay = 0.15 SECONDS - ///The rate of fire when firing full auto and semi auto, and between bursts; for bursts its fire delay + burst_delay after every burst - var/fire_delay = 0.2 SECONDS + //true if the gun is wielded via twohanded component, shouldnt affect anything else + var/wielded = FALSE + //true if the gun is wielded after delay, should affects accuracy + var/wielded_fully = FALSE + ///Slowdown for wielding + var/wield_slowdown = 0.1 + ///How long between wielding and firing in tenths of seconds + var/wield_delay = 0.4 SECONDS + ///Storing value for above + var/wield_time = 0 - /// after initializing, we set the firemode to this - var/default_firemode = FIREMODE_SEMIAUTO - ///Firemode index, due to code shit this is the currently selected firemode - var/firemode_index - /// Our firemodes, subtract and add to this list as needed. NOTE that the autofire component is given on init when FIREMODE_FULLAUTO is here. - var/list/gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_FULLAUTO, FIREMODE_OTHER, FIREMODE_OTHER_TWO) - /// A acoc list that determines the names of firemodes. Use if you wanna be weird and set the name of say, FIREMODE_OTHER to "Underbarrel grenade launcher" for example. - var/list/gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "misc. fire", FIREMODE_OTHER_TWO = "very misc. fire") - ///BASICALLY: the little button you select firing modes from? this is jsut the prefix of the icon state of that. For example, if we set it as "laser", the fire select will use "laser_single" and so on. - var/fire_select_icon_state_prefix = "" - ///If true, we put "safety_" before fire_select_icon_state_prefix's prefix. ex. "safety_laser_single" - var/adjust_fire_select_icon_state_on_safety = FALSE +// BALLISTIC + ///Whether the gun has to be racked each shot or not. + var/semi_auto = TRUE + ///The bolt type of the gun, affects quite a bit of functionality, see gun.dm in defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT + var/bolt_type = BOLT_TYPE_STANDARD + ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. + var/bolt_locked = FALSE + ///Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc. + var/bolt_wording = "bolt" + ///length between individual racks + var/rack_delay = 5 + ///time of the most recent rack, used for cooldown purposes + var/recent_rack = 0 + + ///Whether the gun can be sawn off by sawing tools + var/can_be_sawn_off = FALSE + //description change if weapon is sawn-off + var/sawn_desc = null + var/sawn_off = FALSE - ///Are we firing a burst? If so, dont fire again until burst is done - var/currently_firing_burst = FALSE - ///This prevents gun from firing until the coodown is done, affected by lag - var/current_cooldown = 0 - ///affects if you can fire it unwielded or even dual wield it. LIGHT means dual wield allowed, HEAVY and higher means you have to wield to fire + ///sound of racking + var/rack_sound = 'sound/weapons/gun/general/bolt_rack.ogg' + ///volume of racking + var/rack_sound_volume = 60 + ///whether racking sound should vary + var/rack_sound_vary = TRUE + ///sound of when the bolt is locked back manually + var/lock_back_sound = 'sound/weapons/gun/general/slide_lock_1.ogg' + ///volume of lock back + var/lock_back_sound_volume = 60 + ///whether lock back varies + var/lock_back_sound_vary = TRUE + + ///sound of dropping the bolt or releasing a slide + var/bolt_drop_sound = 'sound/weapons/gun/general/bolt_drop.ogg' + ///volume of bolt drop/slide release + var/bolt_drop_sound_volume = 60 + ///empty alarm sound (if enabled) + var/empty_alarm_sound = 'sound/weapons/gun/general/empty_alarm.ogg' + ///empty alarm volume sound + var/empty_alarm_volume = 70 + ///whether empty alarm sound varies + var/empty_alarm_vary = TRUE + +/* + * Stats +*/ var/weapon_weight = WEAPON_LIGHT - ///If dual wielding, add this to the spread - var/dual_wield_spread = 24 - /// ???, no clue what this is. Original desc: //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. - var/randomspread = 1 - - ///Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. + //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. var/projectile_damage_multiplier = 1 - - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' - - var/list/attachment_options = list() //This.. works for now.. gun refactor soon - - var/can_flashlight = FALSE //if a flashlight can be added or removed if it already has one. - var/obj/item/flashlight/seclite/gun_light - var/datum/action/item_action/toggle_gunlight/alight - var/gunlight_state = "flight" - - var/can_bayonet = FALSE //if a bayonet can be added or removed if it already has one. - var/obj/item/kitchen/knife/bayonet - var/knife_x_offset = 0 - var/knife_y_offset = 0 - - var/ammo_x_offset = 0 //used for positioning ammo count overlay on sprite - var/ammo_y_offset = 0 - var/flight_x_offset = 0 - var/flight_y_offset = 0 - - //Zooming - var/zoomable = FALSE //whether the gun generates a Zoom action on creation - var/zoomed = FALSE //Zoom toggle - var/zoom_amt = 3 //Distance in TURFs to move the user's screen forward (the "zoom" effect) - var/zoom_out_amt = 0 - var/datum/action/toggle_scope_zoom/azoom - + //Speed someone can be flung if its point blank var/pb_knockback = 0 - var/wielded = FALSE // true if the gun is wielded via twohanded component, shouldnt affect anything else - - var/wielded_fully = FALSE // true if the gun is wielded after delay, should affects accuracy - + //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. + var/randomspread = TRUE ///How much the bullet scatters when fired while wielded. var/spread = 4 ///How much the bullet scatters when fired while unwielded. var/spread_unwielded = 12 + //additional spread when dual wielding + var/dual_wield_spread = 24 + ///Screen shake when the weapon is fired while wielded. var/recoil = 0 @@ -121,43 +207,126 @@ ///this is how much deviation the gun recoil can have, recoil pushes the screen towards the reverse angle you shot + some deviation which this is the max. var/recoil_deviation = 22.5 - ///Slowdown for wielding - var/wield_slowdown = 0.1 - ///How long between wielding and firing in tenths of seconds - var/wield_delay = 0.4 SECONDS - ///Storing value for above - var/wield_time = 0 + /// how many shots per burst, Ex: most machine pistols, M90, some ARs are 3rnd burst, while others like the GAR and laser minigun are 2 round burst. + var/burst_size = 3 + ///The rate of fire when firing in a burst. Not the delay between bursts + var/burst_delay = 0.15 SECONDS + ///The rate of fire when firing full auto and semi auto, and between bursts; for bursts its fire delay + burst_delay after every burst + var/fire_delay = 0.2 SECONDS + //Prevent the weapon from firing again while already firing + var/firing_burst = 0 - ///Effect for the muzzle flash of the gun. - var/obj/effect/muzzle_flash/muzzle_flash - ///Icon state of the muzzle flash effect. - var/muzzleflash_iconstate - ///Brightness of the muzzle flash effect. - var/muzzle_flash_lum = 3 - ///Color of the muzzle flash effect. - var/muzzle_flash_color = COLOR_VERY_SOFT_YELLOW +/* + * Overlay +*/ + ///Used for positioning ammo count overlay on sprite + var/ammo_x_offset = 0 + var/ammo_y_offset = 0 - //gun saftey +//BALLISTIC + ///Whether the sprite has a visible magazine or not + var/mag_display = FALSE + ///Whether the sprite has a visible ammo display or not + var/mag_display_ammo = FALSE + ///Whether the sprite has a visible indicator for being empty or not. + var/empty_indicator = FALSE + ///Whether the sprite has a visible magazine or not + var/show_magazine_on_sprite = FALSE + ///Whether the sprite has a visible ammo display or not + var/show_magazine_on_sprite_ammo = FALSE + ///Whether the gun supports multiple special mag types + var/unique_mag_sprites_for_variants = FALSE + +//ENERGY + //Do we handle overlays with base update_appearance()? + var/automatic_charge_overlays = TRUE + var/charge_sections = 4 + //if this gun uses a stateful charge bar for more detail + var/shaded_charge = FALSE + //Modifies WHOS state //im SOMEWHAT this is wether or not the overlay changes based on the ammo type selected + var/modifystate = TRUE + +/* + * Attachment +*/ + ///The types of attachments allowed, a list of types. SUBTYPES OF AN ALLOWED TYPE ARE ALSO ALLOWED + var/list/valid_attachments = list() + ///Reference to our attachment holder to prevent subtypes having to call GetComponent + var/datum/component/attachment_holder/attachment_holder + ///Number of attachments that can fit on a given slot + var/list/slot_available = ATTACHMENT_DEFAULT_SLOT_AVAILABLE + ///Offsets for the slots on this gun. should be indexed by SLOT and then by X/Y + var/list/slot_offsets = list() + +/* + * Zooming +*/ + ///Whether the gun generates a Zoom action on creation + var/zoomable = FALSE + //Zoom toggle + var/zoomed = FALSE + ///Distance in TURFs to move the user's screen forward (the "zoom" effect) + var/zoom_amt = 3 + var/zoom_out_amt = 0 + var/datum/action/toggle_scope_zoom/azoom + +/* + * Safety +*/ ///Does this gun have a saftey and thus can toggle it? var/has_safety = FALSE ///If the saftey on? If so, we can't fire the weapon var/safety = FALSE - ///The wording of safety. Useful for guns that have a non-standard safety system, like a revolver var/safety_wording = "safety" +/* + * Spawn Info (Stuff that becomes useless onces the gun is spawned, mostly here for mappers) +*/ + ///Attachments spawned on initialization. Should also be in valid attachments or it SHOULD(once i add that) fail + var/list/default_attachments = list() + +//BALLISTIC + ///Whether the gun will spawn loaded with a magazine + var/spawnwithmagazine = TRUE + +//ENERGY + //set to true so the gun is given an empty cell + var/dead_cell = FALSE + +// Need to sort + ///trigger guard on the weapon. Used for hulk mutations and ashies. I honestly dont know how usefult his is, id avoid touching it + trigger_guard = TRIGGER_GUARD_NORMAL + + /// after initializing, we set the firemode to this + var/default_firemode = FIREMODE_SEMIAUTO + ///Firemode index, due to code shit this is the currently selected firemode + var/firemode_index + /// Our firemodes, subtract and add to this list as needed. NOTE that the autofire component is given on init when FIREMODE_FULLAUTO is here. + var/list/gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_FULLAUTO, FIREMODE_OTHER, FIREMODE_OTHER_TWO) + /// A acoc list that determines the names of firemodes. Use if you wanna be weird and set the name of say, FIREMODE_OTHER to "Underbarrel grenade launcher" for example. + var/list/gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "misc. fire", FIREMODE_OTHER_TWO = "very misc. fire") + ///BASICALLY: the little button you select firing modes from? this is jsut the prefix of the icon state of that. For example, if we set it as "laser", the fire select will use "laser_single" and so on. + var/fire_select_icon_state_prefix = "" + ///If true, we put "safety_" before fire_select_icon_state_prefix's prefix. ex. "safety_laser_single" + var/adjust_fire_select_icon_state_on_safety = FALSE + + ///Are we firing a burst? If so, dont fire again until burst is done + var/currently_firing_burst = FALSE + ///This prevents gun from firing until the coodown is done, affected by lag + var/current_cooldown = 0 + /obj/item/gun/Initialize() . = ..() RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) - if(gun_light) - alight = new(src) muzzle_flash = new(src, muzzleflash_iconstate) build_zooming() build_firemodes() /obj/item/gun/ComponentInitialize() . = ..() + attachment_holder = AddComponent(/datum/component/attachment_holder, slot_available, valid_attachments, slot_offsets, default_attachments) AddComponent(/datum/component/two_handed) /// triggered on wield of two handed item @@ -192,19 +361,14 @@ /obj/item/gun/proc/on_unwield(obj/item/source, mob/user) wielded = FALSE wielded_fully = FALSE + zoom(user, forced_zoom = FALSE) user.remove_movespeed_modifier(/datum/movespeed_modifier/gun) /obj/item/gun/Destroy() - if(gun_light) - QDEL_NULL(gun_light) - if(bayonet) - QDEL_NULL(bayonet) if(chambered) //Not all guns are chambered (EMP'ed energy guns etc) QDEL_NULL(chambered) if(azoom) QDEL_NULL(azoom) - if(isatom(suppressed)) //SUPPRESSED IS USED AS BOTH A TRUE/FALSE AND AS A REF, WHAT THE FUCKKKKKKKKKKKKKKKKK - QDEL_NULL(suppressed) if(muzzle_flash) QDEL_NULL(muzzle_flash) return ..() @@ -212,36 +376,17 @@ /obj/item/gun/handle_atom_del(atom/A) if(A == chambered) chambered = null - update_appearance() - if(A == bayonet) - clear_bayonet() - if(A == gun_light) - clear_gunlight() + update_icon() return ..() /obj/item/gun/examine(mob/user) . = ..() - if(gun_light) - . += "It has \a [gun_light] [can_flashlight ? "" : "permanently "]mounted on it." - if(can_flashlight) //if it has a light and this is false, the light is permanent. - . += "[gun_light] looks like it can be unscrewed from [src]." - else if(can_flashlight) - . += "It has a mounting point for a seclite." - - if(bayonet) - . += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it." - if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent. - . += "[bayonet] looks like it can be unscrewed from [src]." - else if(can_bayonet) - . += "It has a bayonet lug on it." - if(has_safety) . += "The safety is [safety ? "ON" : "OFF"]. Ctrl-Click to toggle the safety." if(manufacturer) . += "It has [manufacturer] engraved on it." - /obj/item/gun/equipped(mob/living/user, slot) . = ..() if(zoomed && user.get_active_held_item() != src) @@ -249,48 +394,8 @@ /obj/item/gun/attack(mob/M as mob, mob/user) if(user.a_intent == INTENT_HARM) //Flogging - if(bayonet) - M.attackby(bayonet, user) - return - else - return ..() - return - -/obj/item/gun/attack_obj(obj/O, mob/user) - if(user.a_intent == INTENT_HARM) - if(bayonet) - O.attackby(bayonet, user) - return - return ..() - -/obj/item/gun/attackby(obj/item/I, mob/user, params) - if(user.a_intent == INTENT_HARM) - return ..() - else if(istype(I, /obj/item/flashlight/seclite)) - if(!can_flashlight) - return ..() - var/obj/item/flashlight/seclite/S = I - if(!gun_light) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You click [S] into place on [src].") - set_gun_light(S) - update_gunlight() - alight = new(src) - if(loc == user) - alight.Grant(user) - else if(istype(I, /obj/item/kitchen/knife)) - var/obj/item/kitchen/knife/K = I - if(!can_bayonet || !K.bayonet || bayonet) //ensure the gun has an attachment point available, and that the knife is compatible with it. - return ..() - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You attach [K] to [src]'s bayonet lug.") - bayonet = K - update_appearance() - - else return ..() + return //called after the gun has successfully fired its chambered ammo. /obj/item/gun/proc/process_chamber(atom/shooter) @@ -512,6 +617,7 @@ /obj/item/gun/proc/reset_current_cooldown() current_cooldown = FALSE + /obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj) if(!safety) to_chat(user, "*[dry_fire_text]*") @@ -599,116 +705,6 @@ update_appearance() - -/obj/item/gun/screwdriver_act(mob/living/user, obj/item/I) - . = ..() - if(.) - return - if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) - return - attachment_options = list() - get_gun_attachments() - if(LAZYLEN(attachment_options) == 1) - remove_gun_attachments(user, I, attachment_options[1]) - else if (LAZYLEN(attachment_options)) - var/picked_option = show_radial_menu(user, src, attachment_options, radius = 38, require_near = TRUE) - remove_gun_attachments(user, I, picked_option) - -/obj/item/gun/proc/get_gun_attachments() - if(can_flashlight && gun_light) - attachment_options += list("Light" = image(icon = gun_light.icon, icon_state = gun_light.icon_state)) - if(can_bayonet && bayonet) - attachment_options += list("Knife" = image(icon = bayonet.icon, icon_state = bayonet.icon_state)) - -/obj/item/gun/proc/remove_gun_attachments(mob/living/user, obj/item/I, picked_option) - if(picked_option == "Light") - return remove_gun_attachment(user, I, gun_light, "unscrewed") - else if(picked_option == "Knife") - return remove_gun_attachment(user, I, bayonet, "unfix") - -/obj/item/gun/proc/remove_gun_attachment(mob/living/user, obj/item/tool_item, obj/item/item_to_remove, removal_verb) - if(tool_item) - tool_item.play_tool_sound(src) - to_chat(user, "You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].") - item_to_remove.forceMove(drop_location()) - - if(Adjacent(user) && !issilicon(user)) - user.put_in_hands(item_to_remove) - - if(item_to_remove == bayonet) - return clear_bayonet() - else if(item_to_remove == gun_light) - return clear_gunlight() - -/obj/item/gun/proc/clear_bayonet() - if(!bayonet) - return - bayonet = null - update_appearance() - return TRUE - -/obj/item/gun/proc/clear_gunlight() - if(!gun_light) - return - var/obj/item/flashlight/seclite/removed_light = gun_light - set_gun_light(null) - update_gunlight() - removed_light.update_brightness() - QDEL_NULL(alight) - return TRUE - -/** - * Swaps the gun's seclight, dropping the old seclight if it has not been qdel'd. - * - * Returns the former gun_light that has now been replaced by this proc. - * Arguments: - * * new_light - The new light to attach to the weapon. Can be null, which will mean the old light is removed with no replacement. - */ -/obj/item/gun/proc/set_gun_light(obj/item/flashlight/seclite/new_light) - // Doesn't look like this should ever happen? We're replacing our old light with our old light? - if(gun_light == new_light) - CRASH("Tried to set a new gun light when the old gun light was also the new gun light.") - - . = gun_light - - // If there's an old gun light that isn't being QDELETED, detatch and drop it to the floor. - if(!QDELETED(gun_light)) - gun_light.set_light_flags(gun_light.light_flags & ~LIGHT_ATTACHED) - if(gun_light.loc != get_turf(src)) - gun_light.forceMove(get_turf(src)) - - // If there's a new gun light to be added, attach and move it to the gun. - if(new_light) - new_light.set_light_flags(new_light.light_flags | LIGHT_ATTACHED) - if(new_light.loc != src) - new_light.forceMove(src) - - gun_light = new_light - -/obj/item/gun/ui_action_click(mob/user, actiontype) - if(istype(actiontype, alight)) - toggle_gunlight() - else - ..() - -/obj/item/gun/proc/toggle_gunlight() - if(!gun_light) - return - - var/mob/living/carbon/human/user = usr - gun_light.on = !gun_light.on - gun_light.update_brightness() - to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].") - - playsound(user, gun_light.on ? gun_light.toggle_on_sound : gun_light.toggle_off_sound, 40, TRUE) - update_gunlight() - -/obj/item/gun/proc/update_gunlight() - update_appearance() - for(var/X in actions) - var/datum/action/A = X - A.UpdateButtonIcon() - /obj/item/gun/attack_hand(mob/user) . = ..() update_appearance() @@ -729,27 +725,6 @@ /obj/item/gun/update_overlays() . = ..() - if(gun_light) - var/mutable_appearance/flashlight_overlay - var/state = "[gunlight_state][gun_light.on? "_on":""]" //Generic state. - if(gun_light.icon_state in icon_states('icons/obj/guns/flashlights.dmi')) //Snowflake state? - state = gun_light.icon_state - flashlight_overlay = mutable_appearance('icons/obj/guns/flashlights.dmi', state) - flashlight_overlay.pixel_x = flight_x_offset - flashlight_overlay.pixel_y = flight_y_offset - . += flashlight_overlay - - if(bayonet) - var/mutable_appearance/knife_overlay - var/state = "bayonet" //Generic state. - if(bayonet.icon_state in icon_states('icons/obj/guns/bayonets.dmi')) //Snowflake state? - state = bayonet.icon_state - var/icon/bayonet_icons = 'icons/obj/guns/bayonets.dmi' - knife_overlay = mutable_appearance(bayonet_icons, state) - knife_overlay.pixel_x = knife_x_offset - knife_overlay.pixel_y = knife_y_offset - . += knife_overlay - if(ismob(loc) && has_safety) var/mutable_appearance/safety_overlay safety_overlay = mutable_appearance('icons/obj/guns/safety.dmi') @@ -798,7 +773,7 @@ if(chambered && chambered.BB && can_trigger_gun(user)) chambered.BB.damage *= 3 //Check is here for safeties and such, brain will be removed after - if(!pre_fire(target, user, TRUE, params, BODY_ZONE_HEAD)) + if(!pre_fire(target, user, TRUE, FALSE, params, BODY_ZONE_HEAD)) // We're already in handle_suicide, hence the 4th parameter needs to be FALSE to avoid circular logic. Also, BODY_ZONE_HEAD because we want to damage the head as a whole. return var/obj/item/organ/brain/brain_to_blast = target.getorganslot(ORGAN_SLOT_BRAIN) @@ -986,10 +961,7 @@ flash_loc.vis_contents -= muzzle_flash muzzle_flash.applied = FALSE -///////////// -// ZOOMING // -///////////// - +//I need to refactor this into an attachment /datum/action/toggle_scope_zoom name = "Toggle Scope" check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_LYING @@ -1021,7 +993,11 @@ return if(isnull(forced_zoom)) - zoomed = !zoomed + if((!zoomed && wielded_fully) || zoomed) + zoomed = !zoomed + else + to_chat(user, "You can't look down the scope without wielding [src]!") + zoomed = FALSE else zoomed = forced_zoom diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index b88c8afed86d..dd71ff999fac 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -8,96 +8,31 @@ /obj/item/gun/ballistic desc = "Now comes in flavors like GUN. Uses 10mm ammo, for some reason." name = "projectile gun" - icon_state = "pistol" w_class = WEIGHT_CLASS_NORMAL has_safety = TRUE safety = TRUE - ///sound when inserting magazine - var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' - ///sound when inserting an empty magazine - var/load_empty_sound = 'sound/weapons/gun/general/magazine_insert_empty.ogg' - ///volume of loading sound - var/load_sound_volume = 40 - ///whether loading sound should vary - var/load_sound_vary = TRUE - ///sound of racking - var/rack_sound = 'sound/weapons/gun/general/bolt_rack.ogg' - ///volume of racking - var/rack_sound_volume = 60 - ///whether racking sound should vary - var/rack_sound_vary = TRUE - ///sound of when the bolt is locked back manually - var/lock_back_sound = 'sound/weapons/gun/general/slide_lock_1.ogg' - ///volume of lock back - var/lock_back_sound_volume = 60 - ///whether lock back varies - var/lock_back_sound_vary = TRUE - ///Sound of ejecting a magazine - var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' - ///sound of ejecting an empty magazine - var/eject_empty_sound = 'sound/weapons/gun/general/magazine_remove_empty.ogg' - ///volume of ejecting a magazine - var/eject_sound_volume = 40 - ///whether eject sound should vary - var/eject_sound_vary = TRUE - ///sound of dropping the bolt or releasing a slide - var/bolt_drop_sound = 'sound/weapons/gun/general/bolt_drop.ogg' - ///volume of bolt drop/slide release - var/bolt_drop_sound_volume = 60 - ///empty alarm sound (if enabled) - var/empty_alarm_sound = 'sound/weapons/gun/general/empty_alarm.ogg' - ///empty alarm volume sound - var/empty_alarm_volume = 70 - ///whether empty alarm sound varies - var/empty_alarm_vary = TRUE - - ///Whether the gun will spawn loaded with a magazine - var/spawnwithmagazine = TRUE - ///Compatible magazines with the gun - var/mag_type = /obj/item/ammo_box/magazine/m10mm //Removes the need for max_ammo and caliber info - ///Whether the sprite has a visible magazine or not - var/show_magazine_on_sprite = FALSE - ///Whether the sprite has a visible ammo display or not - var/show_magazine_on_sprite_ammo = FALSE - ///Whether the sprite has a visible indicator for being empty or not. - var/empty_indicator = FALSE - ///Whether the gun alarms when empty or not. - var/empty_alarm = FALSE - ///Do we eject the magazine upon runing out of ammo? - var/empty_autoeject = FALSE - ///Whether the gun supports multiple special mag types - var/unique_mag_sprites_for_variants = FALSE - ///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT - var/bolt_type = BOLT_TYPE_STANDARD - ///Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both. - var/bolt_locked = FALSE - ///Whether the gun has to be racked each shot or not. - var/semi_auto = TRUE - ///Actual magazine currently contained within the gun - var/obj/item/ammo_box/magazine/magazine - ///whether the gun ejects the chambered casing - var/casing_ejector = TRUE - ///Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT. - var/internal_magazine = FALSE - ///Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc. - var/bolt_wording = "bolt" - ///Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx - var/magazine_wording = "magazine" - ///Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc. - var/cartridge_wording = "bullet" - ///length between individual racks - var/rack_delay = 5 - ///time of the most recent rack, used for cooldown purposes - var/recent_rack = 0 - ///Whether the gun can be sawn off by sawing tools - var/can_be_sawn_off = FALSE - - ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it - var/tac_reloads = TRUE //Snowflake mechanic no more. - ///If we have the 'snowflake mechanic,' how long should it take to reload? - var/tactical_reload_delay = 1 SECONDS + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet + ) + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 26, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) /obj/item/gun/ballistic/Initialize() . = ..() @@ -124,8 +59,6 @@ . += "[icon_state]_bolt[bolt_locked ? "_locked" : ""]" if (bolt_type == BOLT_TYPE_OPEN && bolt_locked) . += "[icon_state]_bolt" - if (suppressed) - . += "[icon_state]_suppressor" if (magazine) if (unique_mag_sprites_for_variants) . += "[icon_state]_mag_[magazine.base_icon_state]" @@ -204,12 +137,12 @@ update_appearance() ///Handles all the logic needed for magazine insertion -/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE) - if(!istype(AM, mag_type)) - to_chat(user, "\The [AM] doesn't seem to fit into \the [src]...") +/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/inserted_mag, display_message = TRUE) + if(!istype(inserted_mag, mag_type)) + to_chat(user, "\The [inserted_mag] doesn't seem to fit into \the [src]...") return FALSE - if(user.transferItemToLoc(AM, src)) - magazine = AM + if(user.transferItemToLoc(inserted_mag, src)) + magazine = inserted_mag if (display_message) to_chat(user, "You load a new [magazine_wording] into \the [src].") if (magazine.ammo_count()) @@ -288,48 +221,11 @@ A.update_appearance() update_appearance() return - if(istype(A, /obj/item/suppressor)) - var/obj/item/suppressor/S = A - if(!can_suppress) - to_chat(user, "You can't seem to figure out how to fit [S] on [src]!") - return - if(!user.is_holding(src)) - to_chat(user, "You need be holding [src] to fit [S] to it!") - return - if(suppressed) - to_chat(user, "[src] already has a suppressor!") - return - if(user.transferItemToLoc(A, src)) - to_chat(user, "You screw \the [S] onto \the [src].") - install_suppressor(A) - return if (can_be_sawn_off) if (sawoff(user, A)) return return FALSE -///Installs a new suppressor, assumes that the suppressor is already in the contents of src -/obj/item/gun/ballistic/proc/install_suppressor(obj/item/suppressor/S) - suppressed = S - w_class += S.w_class //so pistols do not fit in pockets when suppressed - update_appearance() - -/obj/item/gun/ballistic/AltClick(mob/user) - if (unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY)) - reskin_obj(user) - return - if(loc == user) - if(suppressed && can_unsuppress) - var/obj/item/suppressor/S = suppressed - if(!user.is_holding(src)) - return ..() - to_chat(user, "You unscrew \the [suppressed] from \the [src].") - user.put_in_hands(suppressed) - w_class -= S.w_class - suppressed = null - update_appearance() - return - ///Prefire empty checks for the bolt drop /obj/item/gun/ballistic/proc/prefire_empty_checks() if (!chambered && !get_ammo()) @@ -403,9 +299,7 @@ . += "It does not seem to have a round chambered." if (bolt_locked) . += "The [bolt_wording] is locked back and needs to be released before firing." - if (suppressed) - . += "It has a suppressor attached that can be removed with alt+click." - . += "You can [bolt_wording] [src] by pressing the unqiue action key. By default, this is space" + . += "You can [bolt_wording] [src] by pressing the unique action key. By default, this is space" ///Gets the number of bullets in the gun /obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE) @@ -438,9 +332,6 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(sawn_off) to_chat(user, "\The [src] is already shortened!") return - if(bayonet) - to_chat(user, "You cannot saw-off \the [src] with \the [bayonet] attached!") - return user.changeNext_move(CLICK_CD_MELEE) user.visible_message("[user] begins to shorten \the [src].", "You begin to shorten \the [src]...") @@ -471,16 +362,3 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(AC.BB) process_fire(user, user, FALSE) . = TRUE - - -/obj/item/suppressor - name = "suppressor" - desc = "A syndicate small-arms suppressor for maximum espionage." - icon = 'icons/obj/guns/projectile.dmi' - icon_state = "suppressor" - w_class = WEIGHT_CLASS_TINY - - -/obj/item/suppressor/specialoffer - name = "cheap suppressor" - desc = "A foreign knock-off suppressor, it feels flimsy, cheap, and brittle. Still fits most weapons." diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index cceda8a28b77..ce500cda930b 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -35,7 +35,11 @@ /obj/item/gun/ballistic/automatic/assault/skm name = "\improper SKM-24" desc = "An obsolete model of assault rifle once used by CLIP. Legendary for its durability and low cost, surplus rifles are commonplace on the Frontier, and the design has been widely copied. Chambered in 7.62x40mm CLIP." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + fire_sound = 'sound/weapons/gun/rifle/skm.ogg' rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' @@ -74,6 +78,11 @@ name = "\improper SKM-44" desc = "An obsolete model of assault rifle once used by CLIP. Most of these were seized from Frontiersmen armories or purchased in CLIP, then modified to IRMG standards. Chambered in 7.62x40mm CLIP." + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' + icon_state = "skm_inteq" item_state = "skm_inteq" manufacturer = MANUFACTURER_INTEQ @@ -106,13 +115,20 @@ /obj/item/gun/ballistic/automatic/assault/p16/minutemen name = "\improper CM-16" desc = "The standard-issue rifle of CLIP and an extensively modified reproduction of the P-16. Chambered in 5.56mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' icon_state = "cm16" item_state = "cm16" /obj/item/gun/ballistic/automatic/assault/swiss_cheese name = "\improper Swiss Cheese" desc = "An ancient longarm famous for its boxy, modular design. Mass produced by the Terran Confederation in ages past, these often mutiple century old designs have survied due to their sheer ruggedness. The DMA on this unit is sadly broken, but these rifles are known for their excellent burst fire. Uses 5.56mm ammunition for Matter mode." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' fire_sound = 'sound/weapons/gun/rifle/swiss.ogg' icon_state = "swiss" item_state = "swiss" @@ -141,11 +157,13 @@ /obj/item/gun/ballistic/automatic/assault/e40 name = "\improper E-40 Hybrid Rifle" desc = "A Hybrid Assault Rifle, best known for being having a dual ballistic/laser system along with an advanced ammo counter. Once an icon for bounty hunters, age has broken most down, so these end up in collector's hands or as shoddy Frontiersmen laser SMG conversions when in their inheritted stockpiles. But if one were to find one in working condition, it would be just as formidable as back then. Chambered in .229 Eoehoma caseless, and uses energy for lasers." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e40" item_state = "e40" mag_type = /obj/item/ammo_box/magazine/e40 - can_suppress = FALSE var/obj/item/gun/energy/laser/e40_laser_secondary/secondary fire_select_icon_state_prefix = "e40_" @@ -291,10 +309,14 @@ //techinically a battle rifle, i'm putting it here for organisation sake -/obj/item/gun/ballistic/automatic/vickland //weapon designed by Apogee-dev +/obj/item/gun/ballistic/automatic/marksman/vickland //weapon designed by Apogee-dev name = "\improper Vickland" desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' icon_state = "vickland" item_state = "vickland" @@ -303,8 +325,9 @@ internal_magazine = TRUE mag_type = /obj/item/ammo_box/magazine/internal/vickland fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' - actions_types = list() + manufacturer = MANUFACTURER_HUNTERSPRIDE + zoomable = FALSE //no scope on it rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index c0ccf71d513e..769ea9e7f57e 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -1,7 +1,6 @@ /obj/item/gun/ballistic/automatic w_class = WEIGHT_CLASS_NORMAL - can_suppress = TRUE gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO @@ -22,48 +21,6 @@ recoil_unwielded = 4 wield_slowdown = 0.35 - -// SNIPER // - -/obj/item/gun/ballistic/automatic/sniper_rifle - name = "sniper rifle" - desc = "An anti-material rifle chambered in .50 BMG with a scope mounted on it. Its prodigious bulk requires both hands to use." - icon_state = "sniper" - item_state = "sniper" - fire_sound = 'sound/weapons/gun/sniper/shot.ogg' - fire_sound_volume = 90 - vary_fire_sound = FALSE - load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' - rack_sound = 'sound/weapons/gun/sniper/rack.ogg' - suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' - recoil = 2 - weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/sniper_rounds - burst_size = 1 - w_class = WEIGHT_CLASS_NORMAL - zoomable = TRUE - zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. - zoom_out_amt = 5 - slot_flags = ITEM_SLOT_BACK - actions_types = list() - show_magazine_on_sprite = TRUE - manufacturer = MANUFACTURER_SCARBOROUGH - - spread = -5 - spread_unwielded = 20 - recoil = 5 - recoil_unwielded = 50 - wield_slowdown = 1 - wield_delay = 1.3 SECONDS - -/obj/item/gun/ballistic/automatic/sniper_rifle/syndicate - name = "syndicate sniper rifle" - desc = "A heavily-modified .50 BMG anti-material rifle utilized by Syndicate agents. Requires both hands to fire." - can_suppress = TRUE - can_unsuppress = TRUE - -EMPTY_GUN_HELPER(automatic/sniper_rifle/syndicate) - // Old Semi-Auto Rifle // /obj/item/gun/ballistic/automatic/surplus //TODO: NEEDS TO BE REPLACED WITH PISTOL CARBINES OR LOWCAL SEMI-AUTO RIFLES @@ -75,8 +32,6 @@ EMPTY_GUN_HELPER(automatic/sniper_rifle/syndicate) mag_type = /obj/item/ammo_box/magazine/m10mm/rifle fire_delay = 0.5 SECONDS burst_size = 1 - can_unsuppress = TRUE - can_suppress = TRUE w_class = WEIGHT_CLASS_HUGE slot_flags = ITEM_SLOT_BACK show_magazine_on_sprite = TRUE @@ -90,69 +45,16 @@ EMPTY_GUN_HELPER(automatic/sniper_rifle/syndicate) item_state = "arg" mag_type = /obj/item/ammo_box/magazine/recharge fire_delay = 0.2 SECONDS - can_suppress = FALSE burst_size = 0 fire_sound = 'sound/weapons/laser.ogg' casing_ejector = FALSE -/obj/item/gun/ballistic/automatic/ebr //fuck this gun, its getting wiped soon enough - name = "\improper M514 EBR" - desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308. Effective against personnel and armor alike." - icon = 'icons/obj/guns/48x32guns.dmi' - lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' - righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' - icon_state = "ebr" - item_state = "ebr" - zoomable = TRUE - show_magazine_on_sprite = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/ebr - fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' - burst_size = 0 - manufacturer = MANUFACTURER_SCARBOROUGH - - wield_slowdown = 2 - spread = -4 - -EMPTY_GUN_HELPER(automatic/ebr) - -/obj/item/gun/ballistic/automatic/gal - name = "\improper CM-GAL-S" - desc = "The standard issue DMR of CLIP. Dates back to the Xenofauna War, this particular model is in a carbine configuration, and, as such, is shorter than the standard model. Chambered in .308." - icon = 'icons/obj/guns/48x32guns.dmi' - fire_sound = 'sound/weapons/gun/rifle/shot.ogg' - icon_state = "gal" - item_state = "gal" - zoomable = TRUE - show_magazine_on_sprite = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/gal - fire_sound = 'sound/weapons/gun/rifle/gal.ogg' - burst_size = 0 - actions_types = list() - manufacturer = MANUFACTURER_MINUTEMAN - - wield_slowdown = 2 - spread = -4 - fire_select_icon_state_prefix = "clip_" - adjust_fire_select_icon_state_on_safety = TRUE - -/obj/item/gun/ballistic/automatic/gal/inteq - name = "\improper SsG-04" - desc = "A marksman rifle purchased from CLIP and modified to suit IRMG's needs. Chambered in .308." - icon_state = "gal-inteq" - item_state = "gal-inteq" - /obj/item/gun/ballistic/automatic/zip_pistol name = "makeshift pistol" desc = "A makeshift zip gun cobbled together from various scrap bits and chambered in 9mm. It's a miracle it even works." icon_state = "ZipPistol" item_state = "ZipPistol" mag_type = /obj/item/ammo_box/magazine/zip_ammo_9mm - can_suppress = FALSE actions_types = list() - can_bayonet = FALSE show_magazine_on_sprite = TRUE weapon_weight = WEAPON_LIGHT diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 11de497c874d..3fdc2e55dadd 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -1,13 +1,16 @@ /obj/item/gun/ballistic/automatic/powered/gauss name = "prototype gauss rifle" desc = "An experimental Nanotrasen rifle with a high capacity. Useful for putting down crowds. Chambered in ferromagnetic pellets." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "gauss" item_state = "arg" slot_flags = 0 mag_type = /obj/item/ammo_box/magazine/gauss fire_sound = 'sound/weapons/gun/gauss/magrifle.ogg' load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' - can_suppress = FALSE burst_size = 1 fire_delay = 0.3 SECONDS spread = 0 @@ -31,6 +34,10 @@ name = "Model H" desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." mag_type = /obj/item/ammo_box/magazine/modelh + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' icon_state = "model-h" item_state = "model-h" fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' @@ -61,7 +68,10 @@ name = "Claris" desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." mag_type = /obj/item/ammo_box/magazine/internal/claris - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' icon_state = "claris" item_state = "claris" fire_sound = 'sound/weapons/gun/gauss/claris.ogg' @@ -84,7 +94,10 @@ name = "Solar 'GAR' Carbine" desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." mag_type = /obj/item/ammo_box/magazine/gar - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' icon_state = "gar" item_state = "gar" fire_sound = 'sound/weapons/gun/gauss/gar.ogg' diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index afa111c6bbf8..8a3e68b9a6ec 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -154,11 +154,15 @@ /obj/item/gun/ballistic/automatic/hmg/l6_saw name = "\improper L6 SAW" desc = "A heavy machine gun, designated 'L6 SAW'. Chambered in 7.12x82mm." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "l6" item_state = "l6closedmag" base_icon_state = "l6" + mag_type = /obj/item/ammo_box/magazine/mm712x82 - can_suppress = FALSE spread = 7 fire_delay = 0.1 SECONDS @@ -216,9 +220,14 @@ /obj/item/gun/ballistic/automatic/hmg/solar //This thing fires a 5.56 equivalent, that's an LMG, not an HMG, get out name = "\improper Solar" desc = "A TerraGov LMG-169 designed in 169 FS, nicknamed 'Solar.' A inscription reads: 'PROPERTY OF TERRAGOV', with 'TERRAGOV' poorly scribbled out, and replaced by 'SOLAR ARMORIES'. Chambered in 4.73×33mm caseless ammunition." + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "solar" + fire_sound = 'sound/weapons/gun/l6/shot.ogg' - item_state = "arg" mag_type = /obj/item/ammo_box/magazine/rifle47x33mm spread = 7 @@ -226,8 +235,6 @@ fire_select_icon_state_prefix = "caseless_" - can_suppress = FALSE - can_bayonet = FALSE show_magazine_on_sprite = TRUE w_class = WEIGHT_CLASS_BULKY manufacturer = MANUFACTURER_SOLARARMORIES @@ -236,7 +243,11 @@ name = "\improper SKM-24u" desc = "What appears to be a standard SKM-24 at first glance is actually a light machine gun conversion, with an extended, heavy barrel and overhauled internals. Its weight, bulk, and robust fire rate make it difficult to handle without using the bipod in a prone position or against appropriate cover such as a table. Chambered in 7.62x40mm CLIP." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + icon_state = "skm_lmg" item_state = "skm_lmg" diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 5619b039d488..f18f97cd0f4f 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -4,9 +4,6 @@ /obj/item/gun/ballistic/revolver/grenadelauncher//this is only used for underbarrel grenade launchers at the moment, but admins can still spawn it if they feel like being assholes desc = "A break-action, single-shot grenade launcher. A compact way to deliver a big boom." name = "grenade launcher" - icon = 'icons/obj/guns/48x32guns.dmi' - icon_state = "dshotgun_sawn" - item_state = "gun" mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' w_class = WEIGHT_CLASS_NORMAL @@ -46,13 +43,18 @@ /obj/item/gun/ballistic/rocketlauncher name = "\improper PML-9" desc = "A reusable rocket-propelled grenade launcher. The words \"NT this way\" and an arrow have been written near the barrel." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "rocketlauncher" item_state = "rocketlauncher" mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' load_sound = 'sound/weapons/gun/general/rocket_load.ogg' w_class = WEIGHT_CLASS_BULKY - can_suppress = FALSE burst_size = 1 fire_delay = 0.4 SECONDS casing_ejector = FALSE @@ -74,7 +76,12 @@ /obj/item/gun/ballistic/rocketlauncher/solgov name = "Panzerfaust XII" desc = "The standard recoiless rifle of the Solarian Confederation. Barely varies from previous models." - icon = 'icons/obj/guns/48x32guns.dmi' + + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "panzerfaust" item_state = "panzerfaust" manufacturer = MANUFACTURER_SOLARARMORIES diff --git a/code/modules/projectiles/guns/ballistic/marksman.dm b/code/modules/projectiles/guns/ballistic/marksman.dm new file mode 100644 index 000000000000..46a9e2466290 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/marksman.dm @@ -0,0 +1,102 @@ + +/obj/item/gun/ballistic/automatic/marksman + burst_size = 1 + zoomable = TRUE //this var as true without setting anything else produces a 2x zoom + wield_slowdown = 2 + wield_delay = 1 SECONDS + +// SNIPER // + +/obj/item/gun/ballistic/automatic/marksman/sniper_rifle + name = "sniper rifle" + desc = "An anti-material rifle chambered in .50 BMG with a scope mounted on it. Its prodigious bulk requires both hands to use." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "sniper" + item_state = "sniper" + fire_sound = 'sound/weapons/gun/sniper/shot.ogg' + fire_sound_volume = 90 + vary_fire_sound = FALSE + load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg' + rack_sound = 'sound/weapons/gun/sniper/rack.ogg' + suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' + weapon_weight = WEAPON_HEAVY + mag_type = /obj/item/ammo_box/magazine/sniper_rounds + w_class = WEIGHT_CLASS_BULKY + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + slot_flags = ITEM_SLOT_BACK + actions_types = list() + show_magazine_on_sprite = TRUE + manufacturer = MANUFACTURER_SCARBOROUGH + + spread = -5 + spread_unwielded = 40 + recoil = 5 + recoil_unwielded = 50 + + wield_delay = 1.3 SECONDS + +EMPTY_GUN_HELPER(automatic/marksman/sniper_rifle) + +/obj/item/gun/ballistic/automatic/marksman/ebr //fuck this gun, its getting wiped soon enough + name = "\improper M514 EBR" + desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308. Effective against personnel and armor alike." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + icon_state = "ebr" + item_state = "ebr" + zoomable = TRUE + show_magazine_on_sprite = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + mag_type = /obj/item/ammo_box/magazine/ebr + fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg' + manufacturer = MANUFACTURER_SCARBOROUGH + + wield_slowdown = 2 + spread = -4 + +EMPTY_GUN_HELPER(automatic/marksman/ebr) + +/obj/item/gun/ballistic/automatic/marksman/gal + name = "\improper CM-GAL-S" + desc = "The standard issue DMR of CLIP. Dates back to the Xenofauna War, this particular model is in a carbine configuration, and, as such, is shorter than the standard model. Chambered in .308." + + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/shot.ogg' + icon_state = "gal" + item_state = "gal" + show_magazine_on_sprite = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + mag_type = /obj/item/ammo_box/magazine/gal + fire_sound = 'sound/weapons/gun/rifle/gal.ogg' + burst_size = 0 + actions_types = list() + manufacturer = MANUFACTURER_MINUTEMAN + + wield_slowdown = 2 + spread = -4 + fire_select_icon_state_prefix = "clip_" + adjust_fire_select_icon_state_on_safety = TRUE + +/obj/item/gun/ballistic/automatic/marksman/gal/inteq + name = "\improper SsG-04" + desc = "A marksman rifle purchased from CLIP and modified to suit IRMG's needs. Chambered in .308." + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' + icon_state = "gal-inteq" + item_state = "gal-inteq" diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 797d8ff97cbc..b2416462da39 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -1,28 +1,11 @@ /obj/item/gun/ballistic/automatic/pistol - name = "Stechkin" - desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. Has a threaded barrel for suppressors." - icon_state = "pistol" - w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/m10mm - can_suppress = TRUE - actions_types = list() bolt_type = BOLT_TYPE_LOCKING - fire_sound = 'sound/weapons/gun/pistol/shot.ogg' - dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' - suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' - load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + vary_fire_sound = FALSE - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' fire_sound_volume = 90 bolt_wording = "slide" weapon_weight = WEAPON_LIGHT pickup_sound = 'sound/items/handling/gun_pickup.ogg' - manufacturer = MANUFACTURER_SCARBOROUGH recoil = 0.5 // apogee wants bloom, this is a placeholder until then to simulate the same concept. recoil_unwielded = 3 @@ -36,14 +19,39 @@ muzzleflash_iconstate = "muzzle_flash_light" -EMPTY_GUN_HELPER(automatic/pistol) +/obj/item/gun/ballistic/automatic/pistol/syndicate + name = "Stechkin" + desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. Has a threaded barrel for suppressors." + icon_state = "pistol" + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' -/obj/item/gun/ballistic/automatic/pistol/suppressed/Initialize(mapload) - . = ..() - var/obj/item/suppressor/S = new(src) - install_suppressor(S) + w_class = WEIGHT_CLASS_SMALL + mag_type = /obj/item/ammo_box/magazine/m10mm + fire_sound = 'sound/weapons/gun/pistol/shot.ogg' + dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' + suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + manufacturer = MANUFACTURER_SCARBOROUGH + + spread = 6 //becuase its compact, spread is slightly worse + spread_unwielded = 9 + recoil_unwielded = 2 + +EMPTY_GUN_HELPER(automatic/pistol/syndicate) -/obj/item/gun/ballistic/automatic/pistol/suns +/obj/item/gun/ballistic/automatic/pistol/syndicate/suns desc = "A small, easily concealable 10mm handgun that bears Scarborough Arms stamps. It is painted in the colors of SUNS." icon_state = "pistol_suns" @@ -52,9 +60,12 @@ EMPTY_GUN_HELPER(automatic/pistol) desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45." icon_state = "candor" item_state = "hp_generic" - w_class = WEIGHT_CLASS_NORMAL + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + mag_type = /obj/item/ammo_box/magazine/m45 - can_suppress = FALSE fire_sound = 'sound/weapons/gun/pistol/candor.ogg' rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' @@ -68,7 +79,7 @@ EMPTY_GUN_HELPER(automatic/pistol) EMPTY_GUN_HELPER(automatic/pistol/candor) /obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are - desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of 'Hunter's Pride Arms and Ammunition'. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." item_state = "hp_generic_fresh" EMPTY_GUN_HELPER(automatic/pistol/candor/factory) @@ -86,10 +97,14 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) /obj/item/gun/ballistic/automatic/pistol/deagle name = "\improper Desert Eagle" desc = "An oversized handgun chambered in .50 AE. A true hand cannon." + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' icon_state = "deagle" force = 14 mag_type = /obj/item/ammo_box/magazine/m50 - can_suppress = FALSE + mag_display = TRUE show_magazine_on_sprite = TRUE fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' rack_sound = 'sound/weapons/gun/pistol/rack.ogg' @@ -122,23 +137,44 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) name = "stechkin APS pistol" desc = "A burst-fire machine pistol based on the stechkin model. Utilizes specialized 9mm magazines." icon_state = "aps" - w_class = WEIGHT_CLASS_SMALL + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + mag_type = /obj/item/ammo_box/magazine/pistolm9mm - can_suppress = FALSE + + fire_sound = 'sound/weapons/gun/pistol/shot.ogg' + dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' + suppressed_sound = 'sound/weapons/gun/pistol/shot_suppressed.ogg' + + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + burst_size = 3 burst_delay = 0.1 SECONDS fire_delay = 0.4 SECONDS gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) default_firemode = FIREMODE_SEMIAUTO - /obj/item/gun/ballistic/automatic/pistol/commander name = "\improper Commander" desc = "A classic handgun in a tasteful black and stainless steel color scheme. An enamel Nanotrasen logo is set into the grips. Chambered in 9mm." icon_state = "commander" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/co9mm - can_suppress = FALSE manufacturer = MANUFACTURER_NANOTRASEN fire_sound = 'sound/weapons/gun/pistol/commander.ogg' load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -146,11 +182,19 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + EMPTY_GUN_HELPER(automatic/pistol/commander) /obj/item/gun/ballistic/automatic/pistol/commander/inteq name = "\improper Commissioner" desc = "A handgun seized from Nanotrasen armories by deserting troopers and modified to IRMG's standards. A yellow IRMG shield is set into the grips. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' icon_state = "commander-inteq" item_state = "commander-inteq" manufacturer = MANUFACTURER_INTEQ @@ -161,9 +205,13 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) name = "\improper Commissar" desc = "A Nanotrasen-issue handgun, modified with a voice box to further enhance its effectiveness in troop discipline." icon_state = "commander" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/co9mm - can_suppress = FALSE var/funnysounds = TRUE var/cooldown = 0 load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -171,6 +219,10 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + /obj/item/gun/ballistic/automatic/pistol/commissar/equipped(mob/living/user, slot) ..() if(slot == ITEM_SLOT_HANDS && funnysounds) // We do this instead of equip_sound as we only want this to play when it's wielded @@ -199,6 +251,7 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) to_chat(user, "You toggle [src]'s vox audio functions.") /obj/item/gun/ballistic/automatic/pistol/commissar/AltClick(mob/user) + . = ..() if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return if((cooldown < world.time - 200) && funnysounds) @@ -215,6 +268,11 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) name = "\improper Pistole C" desc = "A favorite of the Terran Regency that is despised by the Solarian bureaucracy. Shifted out of military service centuries ago, though still popular among civilians. Chambered in 5.56mm caseless." icon_state = "pistole-c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + weapon_weight = WEAPON_LIGHT w_class = WEIGHT_CLASS_SMALL mag_type = /obj/item/ammo_box/magazine/pistol556mm @@ -225,17 +283,27 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + fire_select_icon_state_prefix = "caseless_" /obj/item/gun/ballistic/automatic/pistol/solgov/old icon_state = "pistole-c-old" -/obj/item/gun/ballistic/automatic/pistol/tec9 +/obj/item/gun/ballistic/automatic/pistol/tec9 //fucking kill this gun already my god name = "\improper TEC-9 machine pistol" desc = "A crude machine pistol designed to vomit 9mm ammunition at a truly eye-watering rate of fire." icon_state = "tec9" + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + fire_delay = 0.15 SECONDS weapon_weight = WEAPON_LIGHT - w_class = WEIGHT_CLASS_SMALL + w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/tec9 show_magazine_on_sprite = TRUE load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -243,15 +311,18 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" desc = "An exceedingly flimsy plastic gun that is extremely cheap to produce. You get what you pay for." fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' - icon_state = "disposable" //credit to discord user any% for the sprite + + icon_state = "disposable" //credit to discord user 20nypercent for the sprite w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/disposable custom_materials = list(/datum/material/plastic=2000) - can_suppress = FALSE manufacturer = MANUFACTURER_NONE has_safety = FALSE //thing barely costs anything, why would it have a safety? safety = FALSE @@ -269,6 +340,12 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) name = ".38 Derringer" desc = "An easily concealable derringer. Uses .38 special ammo." icon_state = "derringer" + + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + mag_type = /obj/item/ammo_box/magazine/internal/derr38 fire_sound = 'sound/weapons/gun/revolver/shot.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' @@ -297,6 +374,12 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) /obj/item/gun/ballistic/derringer/traitor name = "\improper .357 Syndicate Derringer" desc = "An easily concealable derriger, if not for the bright red-and-black. Uses .357 ammo." + + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + icon_state = "derringer_syndie" mag_type = /obj/item/ammo_box/magazine/internal/derr357 fire_sound_volume = 50 //Tactical stealth firing @@ -314,11 +397,25 @@ EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) name = "\improper Himehabu" desc = "A very small .22 LR pistol. The long awaited successor to the Stechkin; It has become a favorite among syndicate spies. Chambered in .22 LR." icon_state = "himehabu" + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + + w_class = WEIGHT_CLASS_TINY mag_type = /obj/item/ammo_box/magazine/m22lr - can_suppress = FALSE fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release_alt.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + recoil = -2 recoil_unwielded = -2 spread_unwielded = 0 diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 1807f2c4ab03..545cbf8bf117 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -7,8 +7,8 @@ #define REVOLVER_FLIP "flip the revolver by the trigger" /obj/item/gun/ballistic/revolver - name = "\improper .357 revolver" - desc = "A weighty revolver with a Scarborough Arms logo engraved on the barrel. Uses .357 ammo." //usually used by syndicates + name = "i demand" + desc = "You feel as if you should make a 'adminhelp' if you see one of these, along with a 'github' report. You don't really understand what this means though." icon_state = "revolver" mag_type = /obj/item/ammo_box/magazine/internal/cylinder fire_sound = 'sound/weapons/gun/revolver/shot.ogg' @@ -192,8 +192,6 @@ to_chat(user, "You load the [cartridge_wording] into [src].") return TRUE - - /obj/item/gun/ballistic/revolver/attackby(obj/item/attacking_obj, mob/user, params) if (istype(attacking_obj, /obj/item/ammo_casing) || istype(attacking_obj, /obj/item/ammo_box)) if(istype(attacking_obj, /obj/item/ammo_casing)) @@ -470,11 +468,25 @@ playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) return +/obj/item/gun/ballistic/revolver/syndicate //mystery tool that we can use later + name = "\improper syndicate revolver" + desc = "A weighty revolver with a Scarborough Arms logo engraved on the barrel. Uses .357 ammo." //usually used by syndicates + icon_state = "revolver" + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' + /obj/item/gun/ballistic/revolver/detective name = "\improper HP Detective Special" desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' icon_state = "detective" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 obj_flags = UNIQUE_RENAME semi_auto = TRUE //double action @@ -545,12 +557,19 @@ EMPTY_GUN_HELPER(revolver/detective) /obj/item/gun/ballistic/revolver/detective/no_mag spawnwithmagazine = FALSE +/obj/item/gun/ballistic/revolver/syndicate/no_mag + spawnwithmagazine = FALSE + /obj/item/gun/ballistic/revolver/no_mag spawnwithmagazine = FALSE /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" desc = "A high-powered revolver with a unique auto-reloading system. Uses .357 ammo." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "mateba" manufacturer = MANUFACTURER_NONE semi_auto = TRUE @@ -569,7 +588,11 @@ EMPTY_GUN_HELPER(revolver/detective) /obj/item/gun/ballistic/revolver/montagne name = "\improper HP Montagne" desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .44." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "montagne" manufacturer = MANUFACTURER_HUNTERSPRIDE spread_unwielded = 15 @@ -587,7 +610,11 @@ EMPTY_GUN_HELPER(revolver/detective) /obj/item/gun/ballistic/revolver/ashhand name = "HP Ashhand" desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "ashhand" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' @@ -604,93 +631,16 @@ EMPTY_GUN_HELPER(revolver/detective) . = ..() AddComponent(/datum/component/ammo_hud/revolver) -// A gun to play Russian Roulette! -// You can spin the chamber to randomize the position of the bullet. - -//TODO: this is stupid, but used in ONE fucking ruin. Remember to remove when you aren't afraid to do a ton of path changes. - -/obj/item/gun/ballistic/revolver/russian - name = "\improper Russian revolver" - desc = "A Solarian revolver for particularly lethal drinking games. It has a mechanism requiring you to spin the chamber before each trigger pull. Uses .357 ammo." - icon_state = "russianrevolver" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rus357 - var/spun = FALSE - manufacturer = MANUFACTURER_NONE - -/obj/item/gun/ballistic/revolver/russian/do_spin() - . = ..() - if(.) - spun = TRUE - -/obj/item/gun/ballistic/revolver/russian/attackby(obj/item/A, mob/user, params) - ..() - if(get_ammo() > 0) - spin() - update_appearance() - A.update_appearance() - return - -/obj/item/gun/ballistic/revolver/russian/attack_self(mob/user) - if(!spun) - spin() - spun = TRUE - return - ..() - -/obj/item/gun/ballistic/revolver/russian/afterattack(atom/target, mob/living/user, flag, params) - . = ..(null, user, flag, params) - - if(flag) - if(!(target in user.contents) && ismob(target)) - if(user.a_intent == INTENT_HARM) // Flogging action - return - - if(isliving(user)) - if(!can_trigger_gun(user)) - return - if(target != user) - if(ismob(target)) - to_chat(user, "A mechanism prevents you from shooting anyone but yourself!") - return - - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(!spun) - to_chat(user, "You need to spin \the [src]'s chamber first!") - return - - spun = FALSE - - if(chambered) - var/obj/item/ammo_casing/AC = chambered - if(AC.fire_casing(user, user)) - playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) - var/zone = check_zone(user.zone_selected) - var/obj/item/bodypart/affecting = H.get_bodypart(zone) - if(zone == BODY_ZONE_HEAD || zone == BODY_ZONE_PRECISE_EYES || zone == BODY_ZONE_PRECISE_MOUTH) - shoot_self(user, affecting) - else - user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!", "You cowardly fire [src] at your [affecting.name]!", "You hear a gunshot!") - chambered = null - return - - user.visible_message("*click*") - playsound(src, dry_fire_sound, 30, TRUE) - -/obj/item/gun/ballistic/revolver/russian/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) - add_fingerprint(user) - playsound(src, dry_fire_sound, 30, TRUE) - user.visible_message("[user.name] tries to fire \the [src] at the same time, but only succeeds at looking like an idiot.", "\The [src]'s anti-combat mechanism prevents you from firing it at the same time!") - -/obj/item/gun/ballistic/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = BODY_ZONE_HEAD) - user.apply_damage(300, BRUTE, affecting) - user.visible_message("[user.name] fires [src] at [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!") - /obj/item/gun/ballistic/revolver/firebrand name = "\improper HP Firebrand" desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo." icon_state = "pepperbox" item_state = "hp_generic_fresh" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox spread = 20 manufacturer = MANUFACTURER_HUNTERSPRIDE @@ -707,8 +657,13 @@ EMPTY_GUN_HELPER(revolver/detective) name = "\improper HP Shadow" desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .44." fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "shadow" + item_state = "hp_generic" + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 manufacturer = MANUFACTURER_HUNTERSPRIDE obj_flags = UNIQUE_RENAME diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index bf8866ebe07f..2d3cb6908c83 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -73,11 +73,17 @@ /obj/item/gun/ballistic/rifle/illestren name = "\improper HP Illestren" desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR." + icon_state = "illestren" + item_state = "illestren" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' - icon_state = "illestren" - item_state = "illestren" + internal_magazine = FALSE mag_type = /obj/item/ammo_box/magazine/illestren_a850r empty_autoeject = TRUE @@ -93,7 +99,6 @@ if(.) spread = 24 spread_unwielded = 30 - can_bayonet = FALSE item_state = "illestren_sawn" mob_overlay_state = item_state weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can @@ -130,6 +135,11 @@ mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov icon_state = "ssg669c" item_state = "ssg669c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + fire_sound = 'sound/weapons/gun/rifle/ssg669c.ogg' can_be_sawn_off = FALSE @@ -148,13 +158,19 @@ /obj/item/gun/ballistic/rifle/scout name = "HP Scout" desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "scout" + item_state = "scout" + mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile fire_sound = 'sound/weapons/gun/rifle/scout.ogg' rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg' - icon_state = "scout" - item_state = "scout" + can_be_sawn_off = FALSE zoomable = TRUE @@ -168,12 +184,12 @@ /obj/item/gun/ballistic/rifle/polymer name = "polymer survivor rifle" - desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in .300 Blackout." + desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in 7.62x40mm." icon = 'icons/obj/guns/projectile.dmi' icon_state = "crackhead_rifle" item_state = "crackhead_rifle" - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_NORMAL + weapon_weight = WEAPON_HEAVY + w_class = WEIGHT_CLASS_BULKY mag_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer can_be_sawn_off = FALSE manufacturer = MANUFACTURER_NONE diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index f9e4fca2a641..1f15f8d01689 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -62,7 +62,11 @@ desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g." sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance." fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg' - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "brimstone" item_state = "brimstone" @@ -74,7 +78,7 @@ fire_delay = 0.05 SECONDS //slamfire rack_delay = 0.2 SECONDS - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE /obj/item/gun/ballistic/shotgun/brimstone/sawoff(mob/user) @@ -98,12 +102,16 @@ /obj/item/gun/ballistic/shotgun/hellfire name = "HP Hellfire" desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "hellfire" item_state = "hellfire" + mag_type = /obj/item/ammo_box/magazine/internal/shot/riot sawn_desc = "Come with me if you want to live." - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' fire_delay = 0.1 SECONDS @@ -133,8 +141,6 @@ recoil = 1 recoil_unwielded = 4 wield_delay = 0.65 SECONDS - -/obj/item/gun/ballistic/shotgun/automatic manufacturer = MANUFACTURER_NANOTRASEN /obj/item/gun/ballistic/shotgun/automatic/shoot_live_shot(mob/living/user) @@ -150,14 +156,14 @@ item_state = "shotgun_combat" fire_delay = 0.5 SECONDS mag_type = /obj/item/ammo_box/magazine/internal/shot/com - w_class = WEIGHT_CLASS_HUGE + w_class = WEIGHT_CLASS_BULKY /obj/item/gun/ballistic/shotgun/automatic/combat/compact name = "compact combat shotgun" desc = "A compact version of the semi-automatic combat shotgun. For close encounters." icon_state = "cshotgunc" mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact - w_class = WEIGHT_CLASS_BULKY + w_class = WEIGHT_CLASS_NORMAL weapon_weight = WEAPON_MEDIUM //Dual Feed Shotgun @@ -165,7 +171,14 @@ /obj/item/gun/ballistic/shotgun/automatic/dual_tube name = "cycler shotgun" desc = "An advanced shotgun with two separate magazine tubes, allowing you to quickly toggle between ammo types." + + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + icon_state = "cycler" + mag_type = /obj/item/ammo_box/magazine/internal/shot/tube w_class = WEIGHT_CLASS_HUGE var/toggled = FALSE @@ -208,16 +221,15 @@ /obj/item/gun/ballistic/shotgun/bulldog //TODO: REPATH TO LIKE /obj/item/gun/ballistic/shotgun/automatic/bulldog name = "\improper Bulldog Shotgun" desc = "A semi-automatic, magazine-fed shotgun designed for combat in tight quarters, manufactured by Scarborough Arms. A historical favorite of various Syndicate factions, especially the Gorlex Marauders." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "bulldog" item_state = "bulldog" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 + weapon_weight = WEAPON_MEDIUM mag_type = /obj/item/ammo_box/magazine/m12g - can_suppress = FALSE burst_size = 1 fire_delay = 0.4 SECONDS // this NEEDS the old delay. fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' @@ -267,7 +279,11 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) /obj/item/gun/ballistic/shotgun/bulldog/minutemen //TODO: REPATH name = "\improper CM-15" desc = "A standard-issue shotgun of CLIP, most often used by boarding crews. Only compatible with specialized 8-round magazines." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + mag_type = /obj/item/ammo_box/magazine/cm15_mag icon_state = "cm15" item_state = "cm15" @@ -287,8 +303,11 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g." sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - icon = 'icons/obj/guns/48x32guns.dmi' base_icon_state = "dshotgun" icon_state = "dshotgun" @@ -310,12 +329,17 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) "Stained Green" = "dshotgun_green" ) semi_auto = TRUE - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE bolt_type = BOLT_TYPE_NO_BOLT pb_knockback = 3 // it's a super shotgun! manufacturer = MANUFACTURER_HUNTERSPRIDE bolt_wording = "barrel" + burst_delay = 0.05 SECONDS + burst_size = 2 + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + /obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user) if (bolt_locked == FALSE) to_chat(user, "You snap open the [bolt_wording] of \the [src].") @@ -425,6 +449,10 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) name = "improvised shotgun" desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun." icon = 'icons/obj/guns/projectile.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON + mob_overlay_icon = null + base_icon_state = "ishotgun" icon_state = "ishotgun" item_state = "ishotgun" @@ -436,6 +464,9 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) unique_reskin = null var/slung = FALSE + gun_firemodes = list(FIREMODE_SEMIAUTO) + default_firemode = FIREMODE_SEMIAUTO + /obj/item/gun/ballistic/shotgun/doublebarrel/improvised/attackby(obj/item/A, mob/user, params) ..() if(istype(A, /obj/item/stack/cable_coil) && !sawn_off) @@ -485,7 +516,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact w_class = WEIGHT_CLASS_SMALL sawn_desc = "You know, this isn't funny anymore." - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE /obj/item/gun/ballistic/shotgun/automatic/combat/compact/compact/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(prob(0 + (magazine.ammo_count() * 20))) //minimum probability of 20, maximum of 60 @@ -508,7 +539,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact w_class = WEIGHT_CLASS_TINY sawn_desc = "Sigh. This is a trigger attached to a bullet." - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE /obj/item/gun/ballistic/shotgun/automatic/combat/compact/compact/compact/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(prob(50)) //It's going to blow up. @@ -540,7 +571,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) attack_verb = list("bludgeoned", "smashed") mag_type = /obj/item/ammo_box/magazine/internal/shot/sex burst_size = 6 - fire_delay = 0.08 SECONDS //?? very weird number + burst_delay = 0.04 SECONDS //?? very weird number pb_knockback = 12 unique_reskin = null recoil = 10 @@ -553,6 +584,8 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) rack_sound_volume = 50 can_be_sawn_off = FALSE manufacturer = MANUFACTURER_BRAZIL + gun_firemodes = list(FIREMODE_BURST) + default_firemode = FIREMODE_BURST /obj/item/gun/ballistic/shotgun/doublebarrel/brazil/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(prob(0 + (magazine.ammo_count() * 10))) @@ -577,6 +610,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) pb_knockback = 40 recoil = 100 recoil_unwielded = 200 + recoil_backtime_multiplier = 1 fire_sound_volume = 100 mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred @@ -588,10 +622,10 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) base_icon_state = "flamingarrow" icon_state = "flamingarrow" item_state = "flamingarrow" - icon = 'icons/obj/guns/48x32guns.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester @@ -599,7 +633,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' bolt_wording = "lever" cartridge_wording = "bullet" - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE wield_slowdown = 0.5 wield_delay = 0.65 SECONDS @@ -687,9 +721,10 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) /obj/item/gun/ballistic/shotgun/doublebarrel/twobore name = "HP Huntsman" desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." - icon = 'icons/obj/guns/48x32guns.dmi' - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 base_icon_state = "huntsman" @@ -711,6 +746,9 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) rack_sound_volume = 50 manufacturer = MANUFACTURER_HUNTERSPRIDE + gun_firemodes = list(FIREMODE_SEMIAUTO) //no dual burst for you + default_firemode = FIREMODE_SEMIAUTO + //Break-Action Rifle /obj/item/gun/ballistic/shotgun/doublebarrel/beacon name = "HP Beacon" @@ -720,21 +758,16 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) icon_state = "beacon" item_state = "beacon" unique_reskin = null - icon = 'icons/obj/guns/48x32guns.dmi' - mob_overlay_icon = 'icons/mob/clothing/back.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 mag_type = /obj/item/ammo_box/magazine/internal/shot/beacon fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' - can_be_sawn_off=TRUE w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM force = 10 - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK obj_flags = UNIQUE_RENAME semi_auto = TRUE - can_be_sawn_off = TRUE + can_be_sawn_off = TRUE pb_knockback = 3 wield_slowdown = 0.7 spread_unwielded = 15 @@ -742,6 +775,9 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) recoil = 0 recoil_unwielded = 5 + gun_firemodes = list(FIREMODE_SEMIAUTO) + default_firemode = FIREMODE_SEMIAUTO + /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(mob/user) . = ..() if(.) @@ -755,7 +791,7 @@ EMPTY_GUN_HELPER(shotgun/bulldog/inteq) recoil = 2 recoil_unwielded = 4 -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/no_mag spawnwithmagazine = FALSE /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 06d93c3f7dc8..2cb68fc09176 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -39,27 +39,17 @@ . = total_spread return ..() -/obj/item/gun/ballistic/automatic/smg/proto - name = "\improper Nanotrasen Saber SMG" - desc = "A prototype full-auto 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors and a folding stock." - icon_state = "saber" - actions_types = list() - mag_type = /obj/item/ammo_box/magazine/smgm9mm - - bolt_type = BOLT_TYPE_LOCKING - show_magazine_on_sprite = TRUE - manufacturer = MANUFACTURER_NANOTRASEN_OLD - /obj/item/gun/ballistic/automatic/smg/c20r name = "\improper C-20r SMG" desc = "A bullpup .45 SMG designated 'C-20r.' Its buttstamp reads 'Scarborough Arms - Per falcis, per pravitas.'" + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "c20r" item_state = "c20r" + mag_type = /obj/item/ammo_box/magazine/smgm45 - can_bayonet = TRUE - can_suppress = FALSE - knife_x_offset = 26 - knife_y_offset = 12 show_magazine_on_sprite = TRUE show_magazine_on_sprite_ammo = TRUE empty_indicator = TRUE @@ -74,7 +64,6 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/c20r/cobra name = "\improper Cobra 20" desc = "An older model of SMG manufactured by Scarborough Arms, a predecessor to the military C-20 series. Chambered in .45. " - can_bayonet = FALSE icon_state = "cobra20" item_state = "cobra20" @@ -89,14 +78,14 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/wt550 name = "\improper WT-550 Automatic Rifle" desc = "An outdated PDW, used centuries ago by Nanotrasen security elements. Uses 4.6x30mm rounds." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "wt550" item_state = "arg" mag_type = /obj/item/ammo_box/magazine/wt550m9 - can_suppress = FALSE actions_types = list() - can_bayonet = TRUE - knife_x_offset = 25 - knife_y_offset = 12 show_magazine_on_sprite = TRUE show_magazine_on_sprite_ammo = TRUE empty_indicator = TRUE @@ -109,7 +98,13 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/mini_uzi name = "\improper Type U3 Uzi" desc = "A lightweight submachine gun, for when you really want someone dead. Uses 9mm rounds." + + icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' icon_state = "uzi" + mag_type = /obj/item/ammo_box/magazine/uzim9mm bolt_type = BOLT_TYPE_OPEN show_magazine_on_sprite = TRUE @@ -131,6 +126,10 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/vector name = "\improper Vector carbine" desc = "A police carbine based on a pre-Night of Fire SMG design. Most of the complex workings have been removed for reliability. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "vector" item_state = "vector" mag_type = /obj/item/ammo_box/magazine/smgm9mm //you guys remember when the autorifle was chambered in 9mm @@ -142,10 +141,14 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/m90 name = "\improper M-90gl Carbine" desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off." + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "m90" item_state = "m90" + mag_type = /obj/item/ammo_box/magazine/m556 - can_suppress = FALSE gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "underbarrel grenade launcher") gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_OTHER) default_firemode = FIREMODE_SEMIAUTO @@ -220,11 +223,14 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev name = "HP Firestorm" desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "firestorm" item_state = "firestorm" mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag - can_suppress = FALSE unique_mag_sprites_for_variants = TRUE burst_size = 1 actions_types = list() @@ -248,8 +254,14 @@ EMPTY_GUN_HELPER(automatic/smg/c20r) /obj/item/gun/ballistic/automatic/smg/cm5 name = "\improper CM-5" desc = "The standard issue SMG of CLIP. One of the few firearm designs that were left mostly intact from the designs found on the UNSV Lichtenstein. Chambered in 9mm." + icon = 'icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi' + icon_state = "cm5" item_state = "cm5" + mag_type = /obj/item/ammo_box/magazine/smgm9mm weapon_weight = WEAPON_LIGHT fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' @@ -292,11 +304,9 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) eject_empty_sound = 'sound/weapons/gun/rifle/skm_unload.ogg' weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY + w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/skm_545_39 - actions_types = list(/datum/action/item_action/fold_stock) //once again, ideally an attatchment in the future - recoil = 2 recoil_unwielded = 6 @@ -306,80 +316,43 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) wield_delay = 0.6 SECONDS wield_slowdown = 0.35 - ///is the bipod deployed? - var/stock_folded = FALSE - - ///we add these two values to recoi/spread when we have the bipod deployed - var/stock_recoil_bonus = -2 - var/stock_spread_bonus = -5 - - var/folded_slowdown = 0.6 - var/folded_wield_delay = 0.6 SECONDS - - var/unfolded_slowdown = 0.35 - var/unfolded_wield_delay = 0.2 SECONDS - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/ComponentInitialize() - . = ..() - AddElement(/datum/element/update_icon_updates_onmob) - -/datum/action/item_action/fold_stock - name = "Fold/Unfold stock" - desc = "Fold or unfold the stock for easier storage." - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/ui_action_click(mob/user, action) - if(!istype(action, /datum/action/item_action/fold_stock)) - return ..() - fold(user) - - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/proc/fold(mob/user) - if(stock_folded) - to_chat(user, "You unfold the stock on the [src].") - w_class = WEIGHT_CLASS_BULKY - wield_delay = folded_wield_delay - wield_slowdown = folded_slowdown - else - to_chat(user, "You fold the stock on the [src].") - w_class = WEIGHT_CLASS_NORMAL - wield_delay = unfolded_wield_delay - wield_slowdown = unfolded_slowdown - - if(wielded) - user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = wield_slowdown) - - stock_folded = !stock_folded - playsound(src, 'sound/weapons/empty.ogg', 100, 1) - update_appearance() - - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_recoil(mob/user, recoil_bonus = 0) - var/total_recoil = recoil_bonus - if(!stock_folded) - total_recoil += stock_recoil_bonus - - return ..(user, total_recoil) - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/calculate_spread(mob/user, bonus_spread) - var/total_spread = bonus_spread - - if(!stock_folded) - total_spread += stock_spread_bonus - - return ..(user, total_spread) - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/update_icon_state() - . = ..() - item_state = "[initial(item_state)][stock_folded ? "_nostock" : ""]" - mob_overlay_state = "[initial(item_state)][stock_folded ? "_nostock" : ""]" - -/obj/item/gun/ballistic/automatic/smg/skm_carbine/update_overlays() - . = ..() - . += "[base_icon_state || initial(icon_state)][stock_folded ? "_nostock" : "_stock"]" + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/foldable_stock + ) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1, + ATTACHMENT_SLOT_STOCK = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_MUZZLE = list( + "x" = 26, + "y" = 20, + ), + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ), + ATTACHMENT_SLOT_STOCK = list( + "x" = 11, + "y" = 20, + ) + ) + + default_attachments = list(/obj/item/attachment/foldable_stock) /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq name = "\improper SKM-44v Mongrel" desc = "An SKM-44, further modified into a sub-machine gun by Inteq artificers with a new magazine well, collapsing stock, and shortened barrel. Faced with a surplus of SKM-44s and a shortage of other firearms, IRMG has made the most of their available materiel with conversions such as this. Chambered in 10mm." + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' icon_state = "skm_inteqsmg" item_state = "skm_inteqsmg" @@ -399,13 +372,24 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) recoil = 0 recoil_unwielded = 4 - stock_spread_bonus = -4 - stock_recoil_bonus = -1 - wield_delay = 0.4 SECONDS - folded_slowdown = 0.15 - folded_wield_delay = 0.2 SECONDS + valid_attachments = list( + /obj/item/attachment/silencer, + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/foldable_stock/inteq + ) + default_attachments = list(/obj/item/attachment/foldable_stock/inteq) - unfolded_slowdown = 0.35 - unfolded_wield_delay = 0.4 SECONDS +/obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto + name = "\improper Nanotrasen Saber SMG" + desc = "A prototype full-auto 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors and a folding stock." + icon = 'icons/obj/guns/projectile.dmi' + icon_state = "saber" + item_state = "gun" + mag_type = /obj/item/ammo_box/magazine/smgm9mm + bolt_type = BOLT_TYPE_LOCKING + show_magazine_on_sprite = TRUE + manufacturer = MANUFACTURER_NANOTRASEN_OLD diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 796a62dd9427..135a1b2d06b0 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -8,7 +8,6 @@ force = 0 throwforce = 0 burst_size = 3 - can_suppress = TRUE item_flags = NONE casing_ejector = FALSE manufacturer = MANUFACTURER_NANOTRASEN @@ -22,7 +21,10 @@ /obj/item/gun/ballistic/automatic/toy/pistol name = "foam force pistol" desc = "A small, easily concealable toy handgun. Ages 8 and up." - icon = 'icons/obj/guns/projectile.dmi' + icon = 'icons/obj/guns/manufacturer/scarborough/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/scarborough/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/scarborough/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "pistol" // WS edit - Fix various startup runtimes bolt_type = BOLT_TYPE_LOCKING w_class = WEIGHT_CLASS_SMALL @@ -44,13 +46,13 @@ /obj/item/gun/ballistic/shotgun/toy name = "foam force shotgun" desc = "A toy shotgun with wood furniture and a four-shell capacity underneath. Ages 8 and up." + icon_state = "shotgun" force = 0 throwforce = 0 mag_type = /obj/item/ammo_box/magazine/internal/shot/toy fire_sound = 'sound/items/syringeproj.ogg' item_flags = NONE casing_ejector = FALSE - can_suppress = FALSE pb_knockback = 0 recoil = -10 //its a toy... recoil_unwielded = -10 @@ -81,7 +83,6 @@ /obj/item/gun/ballistic/automatic/smg/c20r/toy name = "donksoft SMG" desc = "A bullpup two-round burst toy SMG, designated 'C-20r'. Ages 8 and up." - can_suppress = FALSE item_flags = NONE mag_type = /obj/item/ammo_box/magazine/toy/smgm45 fire_sound = 'sound/items/syringeproj.ogg' @@ -101,7 +102,6 @@ name = "donksoft LMG" desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up." fire_sound = 'sound/items/syringeproj.ogg' - can_suppress = FALSE item_flags = NONE mag_type = /obj/item/ammo_box/magazine/toy/m762 casing_ejector = FALSE diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index fb0970321308..abe3e3fd7b43 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -1,8 +1,8 @@ /obj/item/gun/energy - icon_state = "energy" name = "energy gun" desc = "A basic energy-based gun." icon = 'icons/obj/guns/energy.dmi' + icon_state = "laser" muzzleflash_iconstate = "muzzle_flash_laser" muzzle_flash_color = COLOR_SOFT_RED @@ -10,41 +10,31 @@ has_safety = TRUE safety = TRUE + modifystate = FALSE + ammo_x_offset = 2 + gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO fire_select_icon_state_prefix = "laser_" - var/obj/item/stock_parts/cell/gun/cell //What type of power cell this uses - var/cell_type = /obj/item/stock_parts/cell/gun - var/modifystate = 0 - var/list/ammo_type = list(/obj/item/ammo_casing/energy) - var/select = 1 //The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next. - var/can_charge = TRUE //Can it be charged in a recharger? - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? - var/charge_sections = 4 - ammo_x_offset = 2 - var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/selfcharge = 0 - var/charge_tick = 0 - var/charge_delay = 4 - var/use_cyborg_cell = FALSE //whether the gun's cell drains the cyborg user's cell to recharge - var/dead_cell = FALSE //set to true so the gun is given an empty cell - - var/internal_cell = FALSE ///if the gun's cell cannot be replaced - var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell - var/big_gun = FALSE ///if the gun is big and can fit the comically large gun cell - var/unscrewing_time = 20 ///Time it takes to unscrew the cell - - ///Whether the gun can be tacloaded by slapping a fresh magazine directly on it - var/tac_reloads = FALSE - ///If we allow tacitcal reloads, how long should it take to reload? - var/tactical_reload_delay = 1.2 SECONDS - - var/load_sound = 'sound/weapons/gun/general/magazine_insert_full.ogg' //Sound when inserting magazine. UPDATE PLEASE - var/eject_sound = 'sound/weapons/gun/general/magazine_remove_full.ogg' //Sound of ejecting a cell. UPDATE PLEASE - var/sound_volume = 40 //Volume of loading/unloading sounds - var/load_sound_vary = TRUE //Should the load/unload sounds vary? + tac_reloads = FALSE + tactical_reload_delay = 1.2 SECONDS + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet + ) + slot_available = list( + ATTACHMENT_SLOT_RAIL = 1 + ) + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) /obj/item/gun/energy/emp_act(severity) . = ..() @@ -63,8 +53,8 @@ cell = new cell_type(src) else cell = new(src) - if(!dead_cell) - cell.give(cell.maxcharge) + if(dead_cell) + cell.use(cell.maxcharge) update_ammo_types() recharge_newshot(TRUE) if(selfcharge) @@ -133,16 +123,16 @@ return ..() /obj/item/gun/energy/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(small_gun && !istype(C, /obj/item/stock_parts/cell/gun/mini)) + if(mag_size == MAG_SIZE_SMALL && !istype(C, /obj/item/stock_parts/cell/gun/mini)) to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) return FALSE - if(!big_gun && istype(C, /obj/item/stock_parts/cell/gun/large)) + if(mag_size == MAG_SIZE_LARGE && !istype(C, /obj/item/stock_parts/cell/gun/large)) to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) return FALSE if(user.transferItemToLoc(C, src)) cell = C to_chat(user, span_notice("You load the [C] into \the [src].")) - playsound(src, load_sound, sound_volume, load_sound_vary) + playsound(src, load_sound, load_sound_volume, load_sound_vary) update_appearance() return TRUE else @@ -150,7 +140,7 @@ return FALSE /obj/item/gun/energy/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) - playsound(src, load_sound, sound_volume, load_sound_vary) + playsound(src, load_sound, load_sound_volume, load_sound_vary) cell.forceMove(drop_location()) var/obj/item/stock_parts/cell/gun/old_cell = cell old_cell.update_appearance() @@ -170,17 +160,13 @@ user.put_in_hands(old_cell) update_appearance() -/obj/item/gun/energy/get_gun_attachments() +/obj/item/gun/energy/screwdriver_act(mob/living/user, obj/item/I) if(cell && !internal_cell) - attachment_options += list("Cell" = image(icon = cell.icon, icon_state = cell.icon_state)) - ..() - -/obj/item/gun/energy/remove_gun_attachments(mob/living/user, obj/item/I, picked_option) - if(picked_option == "Cell") - if(I.use_tool(src, user, unscrewing_time, volume=100)) - eject_cell(user, I) - return TRUE - ..() + to_chat(user, span_notice("You begin unscrewing and pulling out the cell...")) + if(I.use_tool(src, user, unscrewing_time, volume = 100)) + to_chat(user, span_notice("You remove the power cell.")) + eject_cell(user) + return ..() /obj/item/gun/energy/can_shoot(visuals) if(safety && !visuals) @@ -331,7 +317,7 @@ . = ..() var/obj/item/ammo_casing/energy/shot = ammo_type[select] if(ammo_type.len > 1) - . += "You can switch firemodes by pressing the unqiue action key. By default, this is space" + . += "You can switch firemodes by pressing the unique action key. By default, this is space" if(cell) . += "\The [name]'s cell has [cell.percent()]% charge remaining." . += "\The [name] has [round(cell.charge/shot.e_cost)] shots remaining on [shot.select_name] mode." diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 12df6fd4a352..90bfa9a8ead1 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -1,14 +1,15 @@ /obj/item/gun/energy/e_gun name = "energy rifle" desc = "A basic hybrid energy gun with two settings: disable and kill." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "energy" item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) - modifystate = 1 - can_flashlight = TRUE + modifystate = TRUE ammo_x_offset = 2 - flight_x_offset = 15 - flight_y_offset = 10 dual_wield_spread = 60 manufacturer = MANUFACTURER_SHARPLITE_NEW @@ -22,32 +23,22 @@ item_state = "gun" w_class = WEIGHT_CLASS_SMALL cell_type = /obj/item/stock_parts/cell/gun/mini - small_gun = TRUE + mag_size = MAG_SIZE_SMALL throwforce = 11 //This is funny, trust me. ammo_x_offset = 2 charge_sections = 3 - can_flashlight = FALSE // Can't attach or detach the flashlight, and override it's icon update - gunlight_state = "mini-light" - flight_x_offset = 19 - flight_y_offset = 13 - wield_delay = 0.2 SECONDS wield_slowdown = 0.15 spread = 2 spread_unwielded = 5 -/obj/item/gun/energy/e_gun/mini/Initialize() - set_gun_light(new /obj/item/flashlight/seclite(src)) - return ..() - /obj/item/gun/energy/e_gun/mini/empty_cell dead_cell = TRUE /obj/item/gun/energy/e_gun/hades name = "SL AL-655 'Hades' energy rifle" desc = "The standard issue rifle of Nanotrasen's Security Forces. Most have been put in long term storage following the ICW, and usually aren't issued to low ranking security divisions." - icon = 'icons/obj/guns/48x32guns.dmi' icon_state = "energytac" ammo_x_offset = 2 charge_sections = 5 @@ -75,12 +66,6 @@ ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/electrode/old) manufacturer = MANUFACTURER_NANOTRASEN_OLD -/obj/item/gun/energy/e_gun/mini/practice_phaser - name = "practice phaser" - desc = "A modified version of the basic phaser gun, this one fires less concentrated energy bolts designed for target practice." - ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/practice) - icon_state = "decloner" - /obj/item/gun/energy/e_gun/hos name = "\improper X-01 MultiPhase Energy Gun" desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." @@ -111,10 +96,9 @@ desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology." icon_state = "dragnet" item_state = "dragnet" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON ammo_type = list(/obj/item/ammo_casing/energy/net, /obj/item/ammo_casing/energy/trap) - can_flashlight = FALSE ammo_x_offset = 1 /obj/item/gun/energy/e_gun/dragnet/snare @@ -131,7 +115,6 @@ w_class = WEIGHT_CLASS_HUGE ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) weapon_weight = WEAPON_HEAVY - can_flashlight = FALSE trigger_guard = TRIGGER_GUARD_NONE ammo_x_offset = 2 @@ -201,7 +184,7 @@ item_state = "gun" ammo_x_offset = 2 charge_sections = 6 - small_gun = TRUE + mag_size = MAG_SIZE_SMALL wield_delay = 0.2 SECONDS wield_slowdown = 0.15 @@ -245,7 +228,7 @@ inhand_y_dimension = 64 icon_state = "iotshotgun" item_state = "shotgun_combat" - shaded_charge = 1 + shaded_charge = TRUE w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima, /obj/item/ammo_casing/energy/laser/ultima) var/obj/item/modular_computer/integratedNTOS @@ -254,12 +237,13 @@ /obj/item/gun/energy/e_gun/e11 name = "E-11 hybrid energy rifle" desc = "A hybrid energy gun fondly remembered as one of the worst weapons ever made. It hurts, but that's only if it manages to hit its target." + icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e11" ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser/eoehoma) - can_flashlight = TRUE ammo_x_offset = 0 - flight_x_offset = 20 - flight_y_offset = 9 spread = 80 spread_unwielded = 140 dual_wield_spread = 140 diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index ac3aa9e3d21a..2ca71649a6f7 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -8,14 +8,8 @@ item_flags = NONE obj_flags = UNIQUE_RENAME weapon_weight = WEAPON_LIGHT - can_flashlight = TRUE - flight_x_offset = 15 - flight_y_offset = 9 automatic_charge_overlays = FALSE - can_bayonet = TRUE - knife_x_offset = 20 - knife_y_offset = 12 - internal_cell = TRUE + internal_cell = TRUE //prevents you from giving it an OP cell - WS Edit custom_price = 750 w_class = WEIGHT_CLASS_BULKY @@ -28,12 +22,18 @@ var/overheat = FALSE var/mob/holder - var/max_mod_capacity = 100 var/list/modkits = list() var/recharge_timerid + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 24, + "y" = 13, + ) + ) + /obj/item/gun/energy/kinetic_accelerator/shoot_with_empty_chamber(mob/living/user) playsound(src, dry_fire_sound, 30, TRUE) //click sound but no to_chat message to cut on spam return diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 92193ed89bdb..eff3d67b2df1 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -1,6 +1,7 @@ /obj/item/gun/energy/laser name = "SL L-204 laser gun" desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal." + icon_state = "laser" item_state = "laser" w_class = WEIGHT_CLASS_NORMAL @@ -25,13 +26,22 @@ /obj/item/gun/energy/laser/retro name ="SL L-104 retro laser gun" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "retro" desc = "An antiquated model of the basic lasergun, no longer used or sold by Sharplite. Nevertheless, the sheer popularity of this model makes it a somewhat common sight to this day." ammo_x_offset = 3 manufacturer = MANUFACTURER_SHARPLITE + /obj/item/gun/energy/laser/captain name = "antique laser gun" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "caplaser" item_state = null desc = "This is the SL X-00, an antique laser gun, out of production for decades and well beyond anyone's capacity to recreate. All craftsmanship is of the highest quality. It is decorated with ashdrake leather and chrome. The gun menaces with spikes of energy. On the item is an image of a space station. The station is exploding." @@ -49,8 +59,6 @@ /obj/item/gun/energy/laser/captain/scattershot name = "scatter shot laser rifle" - icon_state = "lasercannon" - item_state = "laser" desc = "An industrial-grade heavy-duty laser rifle with a modified laser lens to scatter its shot into multiple smaller lasers. The inner-core can self-charge for theoretically infinite use." ammo_type = list(/obj/item/ammo_casing/energy/laser/scatter, /obj/item/ammo_casing/energy/laser) shaded_charge = FALSE @@ -76,7 +84,7 @@ icon_state = "cshotgun" item_state = "shotgun" desc = "A combat shotgun gutted and refitted with an internal laser system. Can switch between taser and scattered disabler shots." - shaded_charge = 0 + shaded_charge = FALSE ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter, /obj/item/ammo_casing/energy/electrode) manufacturer = MANUFACTURER_NONE @@ -88,7 +96,7 @@ icon_state = "lasercannon" item_state = "laser" w_class = WEIGHT_CLASS_BULKY - big_gun = TRUE + mag_size = MAG_SIZE_LARGE cell_type = "/obj/item/stock_parts/cell/gun/large" force = 10 flags_1 = CONDUCT_1 @@ -153,6 +161,9 @@ /obj/item/gun/energy/laser/iot name = "\improper SL E-255 Ultimate" desc = "An energy shotgun with an integrated computer system for surveillance and statistics tracking." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' inhand_x_dimension = 64 @@ -184,11 +195,15 @@ /obj/item/gun/energy/laser/hitscanpistol name = "experimental laser gun" desc = "A highly experimental laser gun, with unknown inner workings. It has no markings besides a \"GROUP A\" inscription on the barrel." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "hitscangun" item_state = "gun" ammo_x_offset = 2 charge_sections = 4 - small_gun = TRUE + mag_size = MAG_SIZE_SMALL w_class = WEIGHT_CLASS_NORMAL cell_type = /obj/item/stock_parts/cell/gun/mini ammo_type = list(/obj/item/ammo_casing/energy/lasergun/hitscan) @@ -203,6 +218,10 @@ /obj/item/gun/energy/laser/e10 name = "E-10 laser pistol" desc = "A very old laser weapon. Despite the extreme age of some of these weapons, they are sometimes preferred to newer, mass-produced Nanotrasen laser weapons." + icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e10" w_class = WEIGHT_CLASS_SMALL @@ -219,10 +238,14 @@ name = "E-50 energy emitter" desc = "A heavy and extremely powerful laser. Sets targets on fire and kicks ass, but it uses a massive amount of energy per shot and is generally awkward to handle." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e50" + item_state = "e50" - big_gun = TRUE + mag_size = MAG_SIZE_LARGE cell_type = /obj/item/stock_parts/cell/gun/large ammo_type = list(/obj/item/ammo_casing/energy/laser/eoehoma/e50) weapon_weight = WEAPON_HEAVY diff --git a/code/modules/projectiles/guns/energy/mounted.dm b/code/modules/projectiles/guns/energy/mounted.dm index 4dc5cae77558..cf67db9fd5ae 100644 --- a/code/modules/projectiles/guns/energy/mounted.dm +++ b/code/modules/projectiles/guns/energy/mounted.dm @@ -6,7 +6,6 @@ item_state = "armcannonstun4" force = 5 selfcharge = 1 - can_flashlight = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses neural signals instead /obj/item/gun/energy/e_gun/advtaser/mounted/dropped()//if somebody manages to drop this somehow... diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index f16cbbd98e8c..c2e5b4cb2933 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -1,7 +1,10 @@ /obj/item/gun/energy/pulse name = "pulse rifle" desc = "A top-of-the-line, heavy-duty, multifaceted energy rifle with three firing modes. The gold standard for Nanotrasen's heavier security specialists." - icon = 'icons/obj/guns/48x32guns.dmi' + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "pulse" item_state = null w_class = WEIGHT_CLASS_BULKY @@ -27,17 +30,17 @@ /obj/item/gun/energy/pulse/carbine name = "pulse carbine" desc = "A next-generation pulse weapon for Nanotrasen's security forces. High production costs and logistical issues have limited its deployment to specialist Loss Prevention and Emergency Response units." - icon = 'icons/obj/guns/energy.dmi' + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK icon_state = "pulse_carbine" item_state = null internal_cell = FALSE - big_gun = TRUE //haha gun go brr + mag_size = MAG_SIZE_LARGE //haha gun go brr cell_type = /obj/item/stock_parts/cell/gun/large - can_flashlight = TRUE - flight_x_offset = 18 - flight_y_offset = 12 ammo_x_offset = 2 charge_sections = 4 @@ -58,7 +61,10 @@ /obj/item/gun/energy/pulse/pistol name = "pulse pistol" desc = "A pulse rifle in an easily concealed handgun package with low capacity." - icon = 'icons/obj/guns/energy.dmi' + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT icon_state = "pulse_pistol" @@ -75,10 +81,3 @@ /obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user) to_chat(user, "[src.name] has three settings, and they are all DESTROY.") - -/obj/item/gun/energy/pulse/pistol/m1911 - name = "\improper Candor-P" - desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people." - icon_state = "m1911" - item_state = "gun" - cell_type = /obj/item/stock_parts/cell/infinite diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 3233e9afff45..09de7690b5ea 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -6,9 +6,8 @@ shaded_charge = FALSE ammo_x_offset = 2 ammo_y_offset = 2 - can_flashlight = FALSE w_class = WEIGHT_CLASS_HUGE - big_gun = TRUE //yes, you can put the comically large cell in it. No, you aren't getting it roundstart. You slut. + mag_size = MAG_SIZE_LARGE //yes, you can put the comically large cell in it. No, you aren't getting it roundstart. You slut. flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/ion) @@ -28,9 +27,6 @@ slot_flags = ITEM_SLOT_BELT ammo_x_offset = 2 ammo_y_offset = 0 - can_flashlight = TRUE - flight_x_offset = 18 - flight_y_offset = 11 /obj/item/gun/energy/decloner name = "biological demolecularisor" @@ -51,10 +47,10 @@ icon_state = "flora" item_state = "gun" ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut, /obj/item/ammo_casing/energy/flora/revolution) - modifystate = 1 + modifystate = TRUE ammo_x_offset = 1 selfcharge = 1 - shaded_charge = 1 + shaded_charge = TRUE /obj/item/gun/energy/meteorgun name = "meteor gun" @@ -98,24 +94,16 @@ overheat_time = 20 holds_charge = TRUE unique_frequency = TRUE - can_flashlight = FALSE max_mod_capacity = 0 manufacturer = MANUFACTURER_SCARBOROUGH -/obj/item/gun/energy/kinetic_accelerator/crossbow/halloween - name = "candy corn crossbow" - desc = "A weapon favored by Syndicate trick-or-treaters." - icon_state = "crossbow_halloween" - item_state = "crossbow" - ammo_type = list(/obj/item/ammo_casing/energy/bolt/halloween) - /obj/item/gun/energy/kinetic_accelerator/crossbow/large name = "energy crossbow" desc = "A reverse engineered weapon using syndicate technology." icon_state = "crossbowlarge" w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=4000) - suppressed = null + suppressed = FALSE ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) manufacturer = MANUFACTURER_NONE diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index fc11a632e039..e70c46cc76f6 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -1,11 +1,10 @@ /obj/item/gun/energy/taser name = "taser gun" desc = "A low-capacity, energy-based stun gun used by security teams to subdue targets at range." - icon_state = "taser" + icon_state = "advtaser" item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) ammo_x_offset = 3 - spread = 2 spread_unwielded = 4 @@ -22,22 +21,21 @@ /obj/item/gun/energy/e_gun/advtaser/cyborg name = "cyborg taser" desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating." - can_flashlight = FALSE can_charge = FALSE use_cyborg_cell = TRUE /obj/item/gun/energy/disabler name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "disabler" item_state = null ammo_type = list(/obj/item/ammo_casing/energy/disabler) ammo_x_offset = 2 - can_flashlight = TRUE - flight_x_offset = 15 - flight_y_offset = 10 manufacturer = MANUFACTURER_SHARPLITE_NEW - spread = 2 spread_unwielded = 4 @@ -50,5 +48,9 @@ /obj/item/gun/energy/disabler/e60 name = "E-60" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." + icon = 'icons/obj/guns/manufacturer/eoehoma/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/eoehoma/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/eoehoma/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e60" manufacturer = MANUFACTURER_EOEHOMA diff --git a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm similarity index 76% rename from code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm rename to code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index 17cc5157ce78..faafde9656c4 100644 --- a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -1,12 +1,12 @@ -/obj/item/gun/energy/kalix //blue //todo: fix up belt_mirror.dmi, it's incomprehensible +/obj/item/gun/energy/kalix name = "Etherbor BG-12" - desc = "Brought to you by Etherbor Industries, proudly based within the PGF, is the BG-12 energy beam gun! The BG-12 is Etherbor's current newest civilian energy weapon model." + desc = "Etherbor Industries's current civilian energy weapon model. The BG-12 energy beam gun is identical to the military model, minus the removal of the full auto mode. Otherwise, it's no different from older hunting beams from Kalixcis's history." icon_state = "kalixgun" item_state = "kalixgun" - icon = 'icons/obj/guns/faction/gezena/energy.dmi' - lefthand_file = 'icons/obj/guns/faction/gezena/lefthand.dmi' - righthand_file = 'icons/obj/guns/faction/gezena/righthand.dmi' - mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + icon = 'icons/obj/guns/manufacturer/etherbor/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/etherbor/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/etherbor/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/etherbor/onmob.dmi' w_class = WEIGHT_CLASS_BULKY modifystate = TRUE @@ -47,13 +47,16 @@ /obj/item/gun/energy/kalix/pgf name = "Etherbor BG-16" - desc = "An advanced variant of the BG-12, the BG-16 is the military-grade beam gun designed and manufactured by Etherbor Industries as the standard-issue close-range weapon of the PGF." + desc = "The BG-16 is the military-grade beam gun designed and manufactured by Etherbor Industries as the standard-issue close-range weapon of the PGF." icon_state = "pgfgun" item_state = "pgfgun" w_class = WEIGHT_CLASS_NORMAL + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + cell_type = /obj/item/stock_parts/cell/gun/pgf - ammo_type = list(/obj/item/ammo_casing/energy/pgf , /obj/item/ammo_casing/energy/disabler/hitscan) + ammo_type = list(/obj/item/ammo_casing/energy/kalix/pgf , /obj/item/ammo_casing/energy/disabler/hitscan) /obj/projectile/beam/hitscan/kalix/pgf name = "concentrated energy" @@ -64,14 +67,14 @@ muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_GREEN impact_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN -/obj/item/ammo_casing/energy/pgf +/obj/item/ammo_casing/energy/kalix/pgf projectile_type = /obj/projectile/beam/hitscan/kalix/pgf fire_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' delay = 1 -/obj/item/gun/energy/kalix/pistol //blue //todo: fix up belt_mirror.dmi, it's incomprehensible +/obj/item/gun/energy/kalix/pistol //blue name = "Etherbor SG-8" - desc = "Etherbor's current and sidearm offering. While intended for marines, it's also available for civillians" + desc = "Etherbor's current and sidearm offering. While marketed for the military, it's also available for civillians as an upgrade over older and obsolete beam pistols." icon_state = "kalixpistol" item_state = "kalixpistol" w_class = WEIGHT_CLASS_NORMAL @@ -99,11 +102,9 @@ /obj/item/gun/energy/kalix/pgf/heavy name = "Etherbor HBG-7" - desc = "The HBG-7 is the standard-issue rifle weapon of the PGF. If the stopping power and fire rate isn't enough, it comes with a DMR mode that has greater armor piercing for dealing with armored targets." + desc = "The HBG-7 is the standard-issue rifle weapon of the PGF. It comes with a special DMR mode that has greater armor piercing for dealing with armored targets." icon_state = "pgfheavy" item_state = "pgfheavy" - icon = 'icons/obj/guns/faction/gezena/48x32.dmi' - mob_overlay_icon = 'icons/mob/clothing/faction/gezena/back.dmi' w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK @@ -157,7 +158,7 @@ /obj/item/gun/energy/kalix/pgf/heavy/sniper name = "Etherbor HBG-7L" - desc = "HBG-7 with a longer barrel and scope. Intended to get the best use out of the DMR mode, it suffers if used normally from longer wield times and slowdown" + desc = "HBG-7 with a longer barrel and scope. Intended to get the best use out of the DMR mode, it suffers from longer wield times and slowdown, but it's longer barrel makes it ideal for accuracy." icon_state = "pgfheavy_sniper" item_state = "pgfheavy_sniper" diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 8b6626bc5e97..b131b03ec148 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -29,7 +29,7 @@ w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/beam_rifle/hitscan) internal_cell = FALSE //prevents you from giving it an OP cell - WS Edit //shut up dumb nerd - big_gun = TRUE + mag_size = MAG_SIZE_LARGE cell_type = "/obj/item/stock_parts/cell/gun/large" canMouseDown = TRUE var/aiming = FALSE diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm index 84d00b226371..809c15682cd4 100644 --- a/code/modules/projectiles/guns/misc/syringe_gun.dm +++ b/code/modules/projectiles/guns/misc/syringe_gun.dm @@ -80,7 +80,6 @@ w_class = WEIGHT_CLASS_SMALL force = 2 //Also very weak because it's smaller suppressed = TRUE //Softer fire sound - can_unsuppress = FALSE //Permanently silenced /obj/item/gun/syringe/dna name = "modified syringe gun" diff --git a/code/modules/projectiles/guns/powered.dm b/code/modules/projectiles/guns/powered.dm index ac7418748d9b..a9ab2f6365f4 100644 --- a/code/modules/projectiles/guns/powered.dm +++ b/code/modules/projectiles/guns/powered.dm @@ -1,21 +1,6 @@ /obj/item/gun/ballistic/automatic/powered mag_type = /obj/item/ammo_box/magazine/gauss - can_suppress = FALSE - - var/obj/item/stock_parts/cell/cell - var/cell_type = /obj/item/stock_parts/cell/gun - var/charge_sections = 3 - var/empty_battery_sound = FALSE // play empty alarm if no battery - - var/shaded_charge = FALSE //if this gun uses a stateful charge bar for more detail - var/automatic_charge_overlays = TRUE //Do we handle overlays with base update_appearance()? - - var/internal_cell = FALSE ///if the gun's cell cannot be replaced - var/small_gun = FALSE ///if the gun is small and can only fit the small gun cell - var/big_gun = FALSE ///if the gun is big and can fit the comically large gun cell - var/unscrewing_time = 2 SECONDS ///Time it takes to unscrew the cell - var/sound_volume = 40 //Volume of loading/unloading cell sounds - + charge_sections = 3 /obj/item/gun/ballistic/automatic/powered/Initialize() . = ..() @@ -61,24 +46,24 @@ return ..() /obj/item/gun/ballistic/automatic/powered/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(small_gun && !istype(C, /obj/item/stock_parts/cell/gun/mini)) - to_chat(user, "[C] doesn't seem to fit into [src]...") + if(mag_size == MAG_SIZE_SMALL && !istype(C, /obj/item/stock_parts/cell/gun/mini)) + to_chat(user, "\The [C] doesn't seem to fit into \the [src]...") return FALSE - if(!big_gun && istype(C, /obj/item/stock_parts/cell/gun/large)) - to_chat(user, "[C] doesn't seem to fit into [src]...") + if(mag_size == MAG_SIZE_LARGE && !istype(C, /obj/item/stock_parts/cell/gun/large)) + to_chat(user, "\The [C] doesn't seem to fit into \the [src]...") return FALSE if(user.transferItemToLoc(C, src)) cell = C - to_chat(user, "You load [C] into [src].") - playsound(src, load_sound, sound_volume, load_sound_vary) + to_chat(user, "You load the [C] into \the [src].") + playsound(src, load_sound, load_sound_volume, load_sound_vary) update_appearance() return TRUE else - to_chat(user, "You cannot seem to get [src] out of your hands!") + to_chat(user, "You cannot seem to get \the [src] out of your hands!") return FALSE /obj/item/gun/ballistic/automatic/powered/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) - playsound(src, load_sound, sound_volume, load_sound_vary) + playsound(src, load_sound, load_sound_volume, load_sound_vary) cell.forceMove(drop_location()) var/obj/item/stock_parts/cell/gun/old_cell = cell cell = null @@ -88,7 +73,7 @@ update_appearance() /obj/item/gun/ballistic/automatic/powered/screwdriver_act(mob/living/user, obj/item/I) - if(cell && !internal_cell && !bayonet && (!gun_light || !can_flashlight)) + if(cell && !internal_cell) to_chat(user, "You begin unscrewing and pulling out the cell...") if(I.use_tool(src, user, unscrewing_time, volume=100)) to_chat(user, "You remove the power cell.") diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 0b9bcb8da4f7..66adeb53ac59 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -490,7 +490,7 @@ if(direct_target) return TRUE // If target not able to use items, move and stand - or if they're just dead, pass over. - if(L.stat == DEAD || (!hit_stunned_targets && HAS_TRAIT(L, TRAIT_IMMOBILIZED) && HAS_TRAIT(L, TRAIT_FLOORED) && HAS_TRAIT(L, TRAIT_HANDS_BLOCKED))) + if(L.stat || (!hit_stunned_targets && HAS_TRAIT(L, TRAIT_IMMOBILIZED) && HAS_TRAIT(L, TRAIT_FLOORED) && HAS_TRAIT(L, TRAIT_HANDS_BLOCKED))) return FALSE return TRUE diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index f7b963cff94b..bbdb9f1e0160 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -42,13 +42,6 @@ damage = 25 armour_penetration = 20 -//.300 BLK (Polymer Survivor Rifle) - -/obj/projectile/bullet/aac_300blk - name = ".300 Blackout bullet" - damage = 30 - armour_penetration = 20 - //7.62x40mm CLIP (SKM Rifles) /obj/projectile/bullet/a762_40 diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 86f4e05226e4..9eb48f11cf4d 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -512,7 +512,7 @@ matching_container = 1 else - if(cached_my_atom.type == C.required_container) + if(cached_my_atom.type in typesof(C.required_container)) matching_container = 1 if (isliving(cached_my_atom) && !C.mob_react) //Makes it so certain chemical reactions don't occur in mobs return diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 10519c75c434..b59f4358c76a 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -125,6 +125,7 @@ All effects don't start immediately, but rather get worse over time; the rate is description = "A widely known coffee-flavoured liqueur. Still labeled under an old name from Earth, despite the loss of history." color = "#664300" // rgb: 102, 67, 0 boozepwr = 45 + taste_description = "a bitter combination" glass_icon_state = "kahluaglass" glass_name = "glass of coffee liquor" glass_desc = "Bitter from the coffee and alcohol alike!" diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 8cb74f4ad51e..d37048250e62 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -316,17 +316,21 @@ description = "Coffee and ice, refreshing and cool." color = "#112a3b" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 taste_description = "bitter coldness" glass_icon_state = "icedcoffeeglass" glass_name = "iced coffee" glass_desc = "Iced black coffee. It's still going to be pretty bitter on it's own, though!" +/datum/reagent/consumable/icecoffee/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/icecoffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.Jitter(5) ..() . = 1 @@ -335,18 +339,22 @@ description = "Coffee with pulsing ice shards" color = "#132043" // rgb: 16, 40, 56 nutriment_factor = 0 + overdose_threshold = 80 quality = DRINK_FANTASTIC taste_description = "bitter coldness and a hint of smoke" glass_icon_state = "hoticecoffee" glass_name = "hot ice coffee" glass_desc = "The wonders of fusion mixed into a cup of coffee, resulting in an extremely hot-cold drink." +/datum/reagent/consumable/hot_ice_coffee/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/hot_ice_coffee/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-60) M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.Jitter(5) M.adjustToxLoss(1*REM, 0) ..() . = TRUE @@ -416,7 +424,7 @@ description = "A citrusy drink from the Kepori space installation known as The Ring." color = "#c4ff2d" // rgb: 16, 32, 0 taste_description = "sweet citrus soda" - glass_icon_state = "Comet_trail_glass" + glass_icon_state = "comet_trail_glass" glass_name = "glass of Comet Trail" glass_desc = "A glass of Comet Trail. Taste the stars!" @@ -461,7 +469,7 @@ description = "A spicy soft drink made from a coca-like plant from Kalixcis. Popularly served both cold -and- hot, depending on the weather." color = "#5f2010" taste_description = "spiced cola" - glass_icon_state = "molten_glass" + glass_icon_state = "glass_brown" glass_name = "glass of Molten Bubbles" glass_desc = "A glass of Molten Bubbles. The spices tickle your nose." @@ -487,6 +495,8 @@ description = "Extra refreshing for those long desert days." color = "#af9938" taste_description = "root-beer and asbestos" + glass_name = "glass of Sandblast Sarsaparilla" + glass_desc = "A glass of Sandblast Sarsaparilla. Perfect for those long desert days." /datum/reagent/consumable/lemon_lime name = "Lemon Lime" @@ -615,17 +625,21 @@ description = "A hot beverage for those who can't handle the lactose." color = "#664300" // rgb: 102, 67, 0 quality = DRINK_NICE + overdose_threshold = 80 taste_description = "creamy coffee" glass_icon_state = "soy_latte" glass_name = "soy latte" glass_desc = "A nice and refreshing beverage. It goes well with a book, if you have the time to read." +/datum/reagent/consumable/soy_latte/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/soy_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) - M.Jitter(5) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -636,17 +650,21 @@ description = "A nice, strong and tasty beverage while you are reading." color = "#664300" // rgb: 102, 67, 0 quality = DRINK_NICE + overdose_threshold = 80 taste_description = "bitter cream" glass_icon_state = "cafe_latte" glass_name = "cafe latte" glass_desc = "A nice, strong and refreshing beverage. It goes well with a book, if you have the time to read." +/datum/reagent/consumable/cafe_latte/overdose_process(mob/living/M) + M.Jitter(5) + ..() + /datum/reagent/consumable/cafe_latte/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) - M.Jitter(5) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 09812ef20cf3..b78fd6aa8198 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -113,9 +113,9 @@ /datum/reagent/consumable/cooking_oil/expose_obj(obj/O, reac_volume) if(holder && holder.chem_temp >= fry_temperature) - if(isitem(O) && !istype(O, /obj/item/reagent_containers/food/snacks/deepfryholder)) + if(isitem(O) && !istype(O, /obj/item/food/deepfryholder)) O.loc.visible_message("[O] rapidly fries as it's splashed with hot oil! Somehow.") - var/obj/item/reagent_containers/food/snacks/deepfryholder/F = new(O.drop_location(), O) + var/obj/item/food/deepfryholder/F = new(O.drop_location(), O) F.fry(volume) F.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) @@ -209,30 +209,6 @@ taste_description = "hot peppers" taste_mult = 1.5 -/datum/reagent/consumable/capsaicin/on_mob_life(mob/living/carbon/M) - var/heating = 0 - switch(current_cycle) - if(1 to 15) - heating = 5 * TEMPERATURE_DAMAGE_COEFFICIENT - if(holder.has_reagent(/datum/reagent/cryostylane)) - holder.remove_reagent(/datum/reagent/cryostylane, 5) - if(isslime(M)) - heating = rand(5,20) - if(15 to 25) - heating = 10 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(10,20) - if(25 to 35) - heating = 15 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(15,20) - if(35 to INFINITY) - heating = 20 * TEMPERATURE_DAMAGE_COEFFICIENT - if(isslime(M)) - heating = rand(20,25) - M.adjust_bodytemperature(heating) - ..() - /datum/reagent/consumable/frostoil name = "Frost Oil" description = "A special oil that noticeably chills the body. Extracted from chilly peppers and slimes." @@ -770,22 +746,6 @@ taste_description = "caramel" reagent_state = SOLID -/datum/reagent/consumable/char - name = "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 = 15 - -/datum/reagent/consumable/char/overdose_process(mob/living/M) - if(prob(25)) - M.say(pick_list_replacements(BOOMER_FILE, "boomer"), forced = /datum/reagent/consumable/char) - ..() - return - /datum/reagent/consumable/bbqsauce name = "BBQ Sauce" description = "Sweet, smoky, savory, and gets everywhere. Perfect for grilling." diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 6084311b3507..d42fc60057f1 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1310,8 +1310,6 @@ M.adjustStaminaLoss(-3 * REM, 0) M.jitteriness = min(max(0, M.jitteriness + 3), 30) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) - if(prob(10)) - M.say(pick("Yeah, well, you know, that's just, like, uh, your opinion, man.", "Am I glad he's frozen in there and that we're out here, and that he's the sheriff and that we're frozen out here, and that we're in there, and I just remembered, we're out here. What I wanna know is: Where's the caveman?", "It ain't me, it ain't me...", "Make love, not war!", "Stop, hey, what's that sound? Everybody look what's going down...", "Do you believe in magic in a young girl's heart?"), forced = /datum/reagent/medicine/earthsblood) M.druggy = min(max(0, M.druggy + 10), 15) //See above ..() . = 1 @@ -1963,7 +1961,10 @@ ..() /datum/reagent/medicine/soulus/overdose_process(mob/living/M) - M.ForceContractDisease(new /datum/disease/transformation/legionvirus(), FALSE, TRUE) + var/mob/living/carbon/C = M + if(!istype(C.getorganslot(ORGAN_SLOT_REGENERATIVE_CORE), /obj/item/organ/legion_skull)) + var/obj/item/organ/legion_skull/spare_ribs = new() + spare_ribs.Insert(M) ..() /datum/reagent/medicine/soulus/on_mob_end_metabolize(mob/living/M) @@ -2073,7 +2074,6 @@ bp.receive_damage(0, 0, 200) else //SUCH A LUST FOR REVENGE!!! to_chat(M, "A phantom limb hurts!") - M.say("Why are we still here, just to suffer?", forced = /datum/reagent/medicine/lavaland_extract) return ..() /datum/reagent/medicine/skeletons_boon diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 02d8850f8776..fdfeeb1cda9c 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -410,7 +410,6 @@ description = "A substance applied to the skin to darken the skin." color = "#FFC080" // rgb: 255, 196, 128 Bright orange metabolization_rate = 10 * REAGENTS_METABOLISM // very fast, so it can be applied rapidly. But this changes on an overdose - overdose_threshold = 11 //Slightly more than one un-nozzled spraybottle. taste_description = "sour oranges" /datum/reagent/spraytan/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) @@ -470,41 +469,11 @@ N.dna.features["mcolor"] = newcolor N.regenerate_icons() - - if(method == INGEST) if(show_message) to_chat(M, "That tasted horrible.") ..() - -/datum/reagent/spraytan/overdose_process(mob/living/M) - metabolization_rate = 1 * REAGENTS_METABOLISM - - if(ishuman(M)) - var/mob/living/carbon/human/N = M - if(!HAS_TRAIT(N, TRAIT_BALD)) - N.hairstyle = "Spiky" - N.facial_hairstyle = "Shaved" - N.facial_hair_color = "000" - N.hair_color = "000" - if(!(HAIR in N.dna.species.species_traits)) //No hair? No problem! - N.dna.species.species_traits += HAIR - if(N.dna.species.use_skintones) - N.skin_tone = "orange" - else if(MUTCOLORS in N.dna.species.species_traits) //Aliens with custom colors simply get turned orange - N.dna.features["mcolor"] = "f80" - N.regenerate_icons() - if(prob(7)) - if(N.w_uniform) - M.visible_message(pick("[M]'s collar pops up without warning.", "[M] flexes [M.p_their()] arms.")) - else - M.visible_message("[M] flexes [M.p_their()] arms.") - if(prob(10)) - M.say(pick("Shit was SO cash.", "You are everything bad in the world.", "What sports do you play, other than 'jack off to naked drawn Japanese people?'", "Don???t be a stranger. Just hit me with your best shot.", "My name is John and I hate every single one of you."), forced = /datum/reagent/spraytan) - ..() - return - /datum/reagent/mulligan name = "Mulligan Toxin" description = "This toxin will rapidly change the DNA of human beings. Commonly used by Syndicate spies and assassins in need of an emergency ID change." @@ -657,11 +626,14 @@ name = "Chlorine" description = "A pale yellow gas that's well known as an oxidizer. While it forms many harmless molecules in its elemental form it is far from harmless." reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM * 0.5 color = "#FFFB89" //pale yellow? let's make it light gray - taste_description = "chlorine" + taste_description = "caustic" /datum/reagent/chlorine/on_mob_life(mob/living/carbon/M) - M.take_bodypart_damage(1*REM, 0, 0, 0) + M.take_bodypart_damage(0, 1*REM, 0, 0) + if(prob(25)) + M.adjustOrganLoss(ORGAN_SLOT_LUNGS,2*REM) . = 1 ..() @@ -680,6 +652,45 @@ mytray.adjustWater(-round(chems.get_reagent_amount(type) * 0.5)) mytray.adjustWeeds(-rand(1,3)) +/datum/reagent/chlorine/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("cl2=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/chlorine/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("cl2=[reac_volume/2];TEMP=[temp]") + return + +/datum/reagent/hydrogen_chloride + name = "Hydrogen Chloride" + description = "A colorless gas that turns into hydrochloric acid in the presence of water." + reagent_state = GAS + metabolization_rate = REAGENTS_METABOLISM * 0.5 + color = "#f4ffe0" + taste_description = "acid" + +/datum/reagent/hydrogen_chloride/on_mob_life(mob/living/carbon/exposed_mob) + exposed_mob.take_bodypart_damage(0, 2*REM, 0, 0) + exposed_mob.adjustOrganLoss(ORGAN_SLOT_LUNGS,1*REM) + exposed_mob.adjustOrganLoss(ORGAN_SLOT_STOMACH,1*REM) + . = 1 + ..() + +/datum/reagent/hydrogen_chloride/expose_obj(obj/exposed_object, reac_volume) + if((!exposed_object) || (!reac_volume)) + return 0 + var/temp = holder ? holder.chem_temp : T20C + exposed_object.atmos_spawn_air("hcl=[reac_volume/2];TEMP=[temp]") + +/datum/reagent/hydrogen_chloride/expose_turf(turf/open/exposed_turf, reac_volume) + if(istype(exposed_turf)) + var/temp = holder ? holder.chem_temp : T20C + exposed_turf.atmos_spawn_air("hcl=[reac_volume/2];TEMP=[temp]") + return + /datum/reagent/fluorine name = "Fluorine" description = "A comically-reactive chemical element. The universe does not want this stuff to exist in this form in the slightest." @@ -1538,20 +1549,6 @@ name = "Royal Carpet?" description = "For those that break the game and need to make an issue report." -/datum/reagent/carpet/royal/on_mob_life(mob/living/carbon/M) - . = ..() - if(!M.mind?.assigned_role) - return - switch(M.mind.assigned_role) - if("Chief Medical Officer", "Captain", "Chief Engineer", "Research Director", "Head of Personnel") - if(prob(10)) - to_chat(M, "You feel like royalty.") - if(prob(5)) - M.say(pick("Peasants..","This carpet is worth more than your contracts!","I could fire you at any time..."), forced = "royal carpet") - if("Quartermaster") - if(prob(15)) - to_chat(M, "You feel like an impostor...") - /datum/reagent/carpet/royal/black name = "Royal Black Carpet" description = "For those that feel the need to show off their timewasting skills." @@ -1865,11 +1862,6 @@ color = "#00ff80" taste_description = "strange honey" -/datum/reagent/royal_bee_jelly/on_mob_life(mob/living/carbon/M) - if(prob(2)) - M.say(pick("Bzzz...","BZZ BZZ","Bzzzzzzzzzzz..."), forced = "royal bee jelly") - ..() - //Misc reagents /datum/reagent/romerol @@ -2048,18 +2040,6 @@ to_chat(M, "You should sit down and take a rest...") ..() -/datum/reagent/tranquility - name = "Tranquility" - description = "A highly mutative liquid of unknown origin." - color = "#9A6750" //RGB: 154, 103, 80 - taste_description = "inner peace" - can_synth = FALSE - -/datum/reagent/tranquility/expose_mob(mob/living/L, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0) - if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection)))) - L.ForceContractDisease(new /datum/disease/transformation/gondola(), FALSE, TRUE) - - /datum/reagent/spider_extract name = "Spider Extract" description = "A highly specialized extract coming from the Australicus sector, used to create broodmother spiders." diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 498017191179..6045779f6030 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -974,18 +974,13 @@ taste_description = "bone hurting" overdose_threshold = 50 -/datum/reagent/toxin/bonehurtingjuice/on_mob_add(mob/living/carbon/M) - M.say("oof ouch my bones", forced = /datum/reagent/toxin/bonehurtingjuice) - /datum/reagent/toxin/bonehurtingjuice/on_mob_life(mob/living/carbon/M) M.adjustStaminaLoss(7.5, 0) if(prob(20)) - switch(rand(1, 3)) + switch(rand(1, 2)) if(1) - M.say(pick("oof.", "ouch.", "my bones.", "oof ouch.", "oof ouch my bones."), forced = /datum/reagent/toxin/bonehurtingjuice) - if(2) M.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt.")) - if(3) + if(2) to_chat(M, "Your bones hurt!") return ..() @@ -1000,7 +995,6 @@ bp.receive_damage(0, 0, 200) else //SUCH A LUST FOR REVENGE!!! to_chat(M, "A phantom limb hurts!") - M.say("Why are we still here, just to suffer?", forced = /datum/reagent/toxin/bonehurtingjuice) return ..() /datum/reagent/toxin/bungotoxin diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index d3bf1e211290..7429db4c1dec 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -139,7 +139,7 @@ var/chosen = getbork() var/obj/B = new chosen(T) if(prob(5))//Fry it! - var/obj/item/reagent_containers/food/snacks/deepfryholder/fried + var/obj/item/food/deepfryholder/fried fried = new(T, B) fried.fry() // actually set the name and colour it B = fried diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 11cbd03c9787..78326279b6f9 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -395,7 +395,7 @@ to_chat(user, "You remove [vial] from [src].") vial = null update_appearance() - playsound(loc, 'sound/weapons/empty.ogg', 50, 1) + playsound(loc, SOUND_EMPTY_MAG, 50, 1) else to_chat(user, "This hypo isn't loaded!") return diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 05f68682083c..b4f46e6e4c19 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -260,8 +260,8 @@ icon = 'icons/obj/guns/projectile.dmi' icon_state = "chemsprayer" item_state = "chemsprayer" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON throwforce = 0 w_class = WEIGHT_CLASS_NORMAL stream_mode = 1 @@ -298,8 +298,8 @@ desc = "A utility used to spray large amounts of cleaning reagents in a given area. It regenerates space cleaner by itself but it's unable to be fueled by normal means." icon_state = "chemsprayer_janitor" item_state = "chemsprayer_janitor" - lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' + lefthand_file = GUN_LEFTHAND_ICON + righthand_file = GUN_RIGHTHAND_ICON reagent_flags = NONE list_reagents = list(/datum/reagent/space_cleaner = 1000) volume = 1000 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 5e45c756c881..79b28ccef331 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -149,8 +149,8 @@ other types of metals and chemistry for reagents). blueprints[1] = new /datum/design/disposable_gun() /obj/item/disk/design_disk/clip_mechs - name = "design disk - CLIP mecha modifications" - desc = "A design disk containing specifications for CLIP-custom mecha conversions." + name = "design disk - CLIP exosuit modifications" + desc = "A design disk containing specifications for CLIP-custom exosuit conversions." color = "#57b8f0" max_blueprints = 2 diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 517c8691c92d..06b58f27105b 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -1191,6 +1191,46 @@ build_path = /obj/item/circuitboard/machine/pipedispenser category = list("initial", "Machinery") +/datum/design/illestren_a850rclip + name = "8x50 Stripper Clip" + id = "IllestrenStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/magazine/illestren_a850r/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a300clip + name = ".300 Scout Stripper Clip" + id = "ScoutStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a300/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a762_40clip + name = "7.62 Stripper Clip" + id = "PolymerStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a762_stripper/empty + category = list("initial", "Security", "Ammo") + +/datum/design/vickland_a308clip + name = ".308 Stripper Clip" + id = "VicklandStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/vickland_a308/empty + category = list("initial", "Security", "Ammo") + +/datum/design/a858clip + name = "8x58 Stripper Clip" + id = "SSGStripClip" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 10000) + build_path = /obj/item/ammo_box/a858/empty + category = list("initial", "Security", "Ammo") + /datum/design/control name = "Blast Door Controller" id = "blast" @@ -1247,3 +1287,12 @@ materials = list(/datum/material/plastic = 30) build_path = /obj/item/folder/biscuit/unsealed/confidental category = list("initial", "Tools", "Misc") + +/datum/design/marker_beacon + name = "Marker Beacon" + id = "marker_beacon" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 50, /datum/material/glass = 20) + build_path = /obj/item/stack/marker_beacon + category = list("initial","Misc") + diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 9b167598d026..2ba8ef1e2d7a 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -183,8 +183,8 @@ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO /datum/design/board/mechapower - name = "Computer Design (Mech Bay Power Control Console)" - desc = "Allows for the construction of circuit boards used to build a mech bay power control console." + name = "Computer Design (Exosuit) Bay Power Control Console)" + desc = "Allows for the construction of circuit boards used to build an exosuit bay power control console." id = "mechapower" build_path = /obj/item/circuitboard/computer/mech_bay_power_console category = list("Computer Boards") diff --git a/code/modules/research/designs/mining_designs.dm b/code/modules/research/designs/mining_designs.dm index 2cddc5043c3f..aa221c2b21a7 100644 --- a/code/modules/research/designs/mining_designs.dm +++ b/code/modules/research/designs/mining_designs.dm @@ -8,7 +8,7 @@ id = "cargoexpress"//the coder reading this build_type = IMPRINTER materials = list(/datum/material/glass = 1000) - build_path = /obj/item/circuitboard/computer/cargo/express + build_path = /obj/item/circuitboard/computer/cargo category = list("Mining Designs") departmental_flags = DEPARTMENTAL_FLAG_CARGO diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 3353dcfb3289..c444336adde5 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -558,7 +558,7 @@ id = "suppressor" build_type = PROTOLATHE materials = list(/datum/material/iron = 2000, /datum/material/silver = 500) - build_path = /obj/item/suppressor + build_path = /obj/item/attachment/silencer category = list("Weapons") departmental_flags = DEPARTMENTAL_FLAG_SECURITY diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index dbca44b757b9..6d2236a974b9 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -53,7 +53,7 @@ id = "mech_tools" starting_node = TRUE display_name = "Basic Exosuit Equipment" - description = "Various tools fit for basic mech units" + description = "Various tools fit for basic exosuit units" design_ids = list("mech_drill", "mech_mscanner", "mech_extinguisher", "mech_cable_layer") //WS Edit - Reverted Smartwire /datum/techweb_node/basic_tools @@ -814,7 +814,7 @@ /datum/techweb_node/adv_mecha_tools id = "adv_mecha_tools" display_name = "Advanced Exosuit Equipment" - description = "Tools for high level mech suits" + description = "Tools for high level exosuits" prereq_ids = list("adv_mecha") design_ids = list("mech_rcd", "mech_thrusters") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -823,7 +823,7 @@ /datum/techweb_node/med_mech_tools id = "med_mech_tools" display_name = "Medical Exosuit Equipment" - description = "Tools for high level mech suits" + description = "Tools for high level exosuits" prereq_ids = list("adv_biotech") design_ids = list("mech_sleeper", "mech_syringe_gun", "mech_medi_beam") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -832,7 +832,7 @@ /datum/techweb_node/mech_modules id = "adv_mecha_modules" display_name = "Simple Exosuit Modules" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("adv_mecha", "bluespace_power") design_ids = list("mech_energy_relay", "mech_ccw_armor", "mech_proj_armor", "mech_generator_nuclear") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -841,7 +841,7 @@ /datum/techweb_node/mech_scattershot id = "mecha_tools" display_name = "Exosuit Weapon (LBX AC 10 \"Scattershot\")" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_scattershot", "mech_scattershot_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -850,7 +850,7 @@ /datum/techweb_node/mech_carbine id = "mech_carbine" display_name = "Exosuit Weapon (FNX-99 \"Hades\" Carbine)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_carbine", "mech_carbine_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -859,7 +859,7 @@ /datum/techweb_node/mech_ion id = "mmech_ion" display_name = "Exosuit Weapon (MKIV Ion Heavy Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("electronic_weapons", "emp_adv") design_ids = list("mech_ion") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -868,7 +868,7 @@ /datum/techweb_node/mech_tesla id = "mech_tesla" display_name = "Exosuit Weapon (MKI Tesla Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("electronic_weapons", "adv_power") design_ids = list("mech_tesla") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -877,7 +877,7 @@ /datum/techweb_node/mech_laser id = "mech_laser" display_name = "Exosuit Weapon (CH-PS \"Immolator\" Laser)" - description = "A basic piece of mech weaponry" + description = "A basic piece of exosuit weaponry" prereq_ids = list("beam_weapons") design_ids = list("mech_laser") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -886,7 +886,7 @@ /datum/techweb_node/mech_laser_heavy id = "mech_laser_heavy" display_name = "Exosuit Weapon (CH-LC \"Solaris\" Laser Cannon)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("adv_beam_weapons") design_ids = list("mech_laser_heavy") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -895,7 +895,7 @@ /datum/techweb_node/mech_disabler id = "mech_disabler" display_name = "Exosuit Weapon (CH-DS \"Peacemaker\" Mounted Disabler)" - description = "A basic piece of mech weaponry" + description = "A basic piece of exosuit weaponry" prereq_ids = list("beam_weapons") design_ids = list("mech_disabler") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -904,7 +904,7 @@ /datum/techweb_node/mech_grenade_launcher id = "mech_grenade_launcher" display_name = "Exosuit Weapon (SGL-6 Grenade Launcher)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("mech_grenade_launcher", "mech_grenade_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -913,7 +913,7 @@ /datum/techweb_node/mech_missile_rack id = "mech_missile_rack" display_name = "Exosuit Weapon (BRM-6 Missile Rack)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("mech_missile_rack", "mech_missile_rack_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -922,7 +922,7 @@ /datum/techweb_node/clusterbang_launcher id = "clusterbang_launcher" display_name = "Exosuit Module (SOB-3 Clusterbang Launcher)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("explosive_weapons") design_ids = list("clusterbang_launcher", "clusterbang_launcher_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -931,7 +931,7 @@ /datum/techweb_node/mech_teleporter id = "mech_teleporter" display_name = "Exosuit Module (Teleporter Module)" - description = "An advanced piece of mech Equipment" + description = "An advanced piece of exosuit equipment" prereq_ids = list("micro_bluespace") design_ids = list("mech_teleporter") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -940,7 +940,7 @@ /datum/techweb_node/mech_wormhole_gen id = "mech_wormhole_gen" display_name = "Exosuit Module (Localized Wormhole Generator)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("bluespace_travel") design_ids = list("mech_wormhole_gen") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -949,7 +949,7 @@ /datum/techweb_node/mech_lmg id = "mech_lmg" display_name = "Exosuit Weapon (\"Ultra AC 2\" LMG)" - description = "An advanced piece of mech weaponry" + description = "An advanced piece of exosuit weaponry" prereq_ids = list("ballistic_weapons") design_ids = list("mech_lmg", "mech_lmg_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -966,7 +966,7 @@ /////////////////////////Nanites///////////////////////// -//Disabled pending nanite rework --Apogee-dev +//Disabled FOREVER /* /datum/techweb_node/nanite_base id = "nanite_base" diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm index 25aa79302918..f01b148d4d5e 100644 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ b/code/modules/research/xenobiology/crossbreeding/charged.dm @@ -107,7 +107,7 @@ Charged extracts: effect_desc = "Creates a slime cake and some drinks." /obj/item/slimecross/charged/silver/do_effect(mob/user) - new /obj/item/reagent_containers/food/snacks/store/cake/slimecake(get_turf(user)) + new /obj/item/food/cake/slimecake(get_turf(user)) for(var/i in 1 to 10) var/drink_type = get_random_drink() new drink_type(get_turf(user)) diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm index b231ea902371..8c2496ce05ab 100644 --- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm @@ -40,7 +40,6 @@ /obj/structure/lavaland/ash_walker/deconstruct(disassembled) new /obj/item/assembly/signaler/anomaly (get_step(loc, pick(GLOB.alldirs))) - new /obj/effect/collapse(loc) return ..() /obj/structure/lavaland/ash_walker/process() diff --git a/code/modules/ruins/rockplanet_ruin_code.dm b/code/modules/ruins/rockplanet_ruin_code.dm index 57a6d6fd4657..d09bbe9d5dd7 100644 --- a/code/modules/ruins/rockplanet_ruin_code.dm +++ b/code/modules/ruins/rockplanet_ruin_code.dm @@ -112,3 +112,8 @@ if(give_to_user) user.put_in_hands(result) to_chat(user, "You finish breaking [src]") + +/obj/item/paper/crumpled/muddy/fluff/distillery + name = "distillery instructions" + desc = "A crumpled note soaked in alcohol." + default_raw_text = "

    Moonshine Instructions


    Alright, I know some of y'all ain't literate enough for this, but if I'm ever found dead or missing, read this note. Gotta keep the craft alive.


    1. Fill the still with around 5 units of enzyme. We keep the whole supply in the green crate in the storeroom.
    2. Grind a cob of corn into bits, and add the mash to the still.
    3. Pour an equal amount of sugar into the still, and stir.
    4. Now, you'll have to scoop the product out and filter it by hand. We used to have a better still that'd filter the product itself, until last year's incident. This has to do for now.
    5. Evaluate your product. Good 'shine is clear like water, and burns blue. If it ain't good, dump it.

    PS: If you've got some leftover sugar, mix it into bicaridine. Equal parts sugar, carbon, and oxygen makes a potent salve for your wounds." diff --git a/code/modules/spells/spell_types/conjure.dm b/code/modules/spells/spell_types/conjure.dm index c47205a27323..c34d5cf7c985 100644 --- a/code/modules/spells/spell_types/conjure.dm +++ b/code/modules/spells/spell_types/conjure.dm @@ -55,18 +55,6 @@ range = 3 newVars = list("emagged" = 2, "remote_disabled" = 1,"shoot_sound" = 'sound/weapons/laser.ogg',"projectile" = /obj/projectile/beam/laser, "declare_arrests" = 0,"name" = "Wizard's Justicebot") -/obj/effect/proc_holder/spell/aoe_turf/conjure/linkWorlds - name = "Link Worlds" - desc = "A whole new dimension for you to play with! They won't be happy about it, though." - invocation = "WTF" - clothes_req = FALSE - charge_max = 600 - cooldown_min = 200 - summon_type = list(/obj/structure/spawner/nether) - summon_amt = 1 - range = 1 - cast_sound = 'sound/weapons/marauder.ogg' - /obj/effect/proc_holder/spell/targeted/conjure_item name = "Summon weapon" desc = "A generic spell that should not exist. This summons an instance of a specific type of item, or if one already exists, un-summons it. Summons into hand if possible." diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index ed6d9a9b957d..55138a36c367 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -9,12 +9,12 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/laser, - /obj/item/gun/ballistic/revolver, + /obj/item/gun/ballistic/revolver/syndicate, /obj/item/gun/ballistic/revolver/detective, /obj/item/gun/ballistic/automatic/pistol/deagle/camo, /obj/item/gun/ballistic/automatic/gyropistol, /obj/item/gun/energy/pulse, - /obj/item/gun/ballistic/automatic/pistol/suppressed, + /obj/item/gun/ballistic/automatic/pistol/syndicate, /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/item/gun/ballistic/shotgun, /obj/item/gun/ballistic/shotgun/automatic/combat, @@ -26,7 +26,7 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/lasercannon, /obj/item/gun/energy/kinetic_accelerator/crossbow/large, /obj/item/gun/energy/e_gun/nuclear, - /obj/item/gun/ballistic/automatic/smg/proto, + /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto, /obj/item/gun/ballistic/automatic/smg/c20r, /obj/item/gun/ballistic/automatic/hmg/l6_saw, /obj/item/gun/ballistic/automatic/smg/m90, @@ -43,7 +43,7 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/ballistic/shotgun/bulldog, /obj/item/gun/ballistic/revolver/grenadelauncher, /obj/item/gun/ballistic/revolver/golden, - /obj/item/gun/ballistic/automatic/sniper_rifle, + /obj/item/gun/ballistic/automatic/marksman/sniper_rifle, /obj/item/gun/ballistic/rocketlauncher, /obj/item/gun/medbeam, /obj/item/gun/energy/laser/scatter, diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 92cb95a9c605..f8d8a9a49384 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -244,7 +244,7 @@ burn *= 2 // Is the damage greater than the threshold, and if so, probability of damage + item force - if((brute_dam > bone_break_threshold) && prob(brute_dam + break_modifier)) + if(brute && (brute_dam > bone_break_threshold) && prob(brute_dam + break_modifier)) break_bone() // Bleeding is applied here diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index 26b93d2c4642..6ba9ce69d700 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -55,7 +55,7 @@ update_appearance() return 1 -/obj/item/organ/heart/OnEatFrom(eater, feeder) +/obj/item/organ/heart/on_eat_from(eater, feeder) . = ..() beating = FALSE update_appearance() diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 05ca5131e0f9..f6af39b201c0 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -284,6 +284,38 @@ breath.adjust_moles(GAS_FREON, -gas_breathed) + // Chlorine + var/chlorine_pp = PP(breath,GAS_CHLORINE) + if (prob(chlorine_pp)) + to_chat(H, "Your lungs feel awful!") + if (chlorine_pp >40) + H.emote("gasp") + H.adjustFireLoss(5) + if (prob(chlorine_pp/2)) + to_chat(H, "Your throat closes up!") + H.silent = max(H.silent, 3) + else + H.adjustFireLoss(round(chlorine_pp/8)) + gas_breathed = breath.get_moles(GAS_CHLORINE) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/chlorine,1) + + breath.adjust_moles(GAS_CHLORINE, -gas_breathed) + // Hydrogen Chloride + var/hydrogen_chloride_pp = PP(breath,GAS_HYDROGEN_CHLORIDE) + if (prob(hydrogen_chloride_pp)) + to_chat(H, "Your lungs feel terrible!") + if (hydrogen_chloride_pp >20) + H.emote("gasp") + H.adjustFireLoss(10) + if (prob(hydrogen_chloride_pp/2)) + to_chat(H, "Your throat closes up!") + H.silent = max(H.silent, 3) + else + H.adjustFireLoss(round(hydrogen_chloride_pp/4)) + if (gas_breathed > gas_stimulation_min) + H.reagents.add_reagent(/datum/reagent/hydrogen_chloride) + // Stimulum gas_breathed = PP(breath,GAS_STIMULUM) if (gas_breathed > gas_stimulation_min) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index b8871b21524e..72b7fba9d2da 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -38,7 +38,14 @@ /obj/item/organ/Initialize() . = ..() if(organ_flags & ORGAN_EDIBLE) - AddComponent(/datum/component/edible, food_reagents, null, RAW | MEAT | GORE, null, 10, null, null, null, COLOR_PINK, CALLBACK(src, PROC_REF(OnEatFrom))) + AddComponent(/datum/component/edible,\ + initial_reagents = food_reagents,\ + foodtypes = RAW | MEAT | GORE,\ + volume = 10,\ + filling_color = COLOR_PINK,\ + pre_eat = CALLBACK(src, PROC_REF(pre_eat)),\ + on_compost = CALLBACK(src, PROC_REF(pre_compost)),\ + after_eat = CALLBACK(src, PROC_REF(on_eat_from))) ///When you take a bite you cant jam it in for surgery anymore. /obj/item/organ/proc/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) @@ -133,8 +140,21 @@ STOP_PROCESSING(SSobj, src) return ..() -/obj/item/organ/proc/OnEatFrom(eater, feeder) - useable = FALSE //You can't use it anymore after eating it you spaztic +// Put any "can we eat this" checks for edible organs here +/obj/item/organ/proc/pre_eat(eater, feeder) + if(iscarbon(eater)) + var/mob/living/carbon/target = eater + for(var/S in target.surgeries) + var/datum/surgery/surgery = S + if(surgery.location == zone) + return FALSE + return TRUE + +/obj/item/organ/proc/pre_compost(user) + return TRUE + +/obj/item/organ/proc/on_eat_from(eater, feeder) + useable = FALSE //You bit it, no more using it /obj/item/organ/item_action_slot_check(slot,mob/user) return //so we don't grant the organ's action to mobs who pick up the organ. diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index c0313adb2539..6a5a344b177e 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -439,14 +439,6 @@ var/mob/living/L = V L.emote("flip") - //SPEAK - else if((findtext(message, speak_words))) - cooldown = COOLDOWN_MEME - for(var/V in listeners) - var/mob/living/L = V - addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), pick_list_replacements(BRAIN_DAMAGE_FILE, "brain_damage")), 5 * i) - i++ - //GET UP else if((findtext(message, getup_words))) cooldown = COOLDOWN_DAMAGE //because stun removal diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 017356d9152a..9aee2ca10624 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -72,7 +72,7 @@ ignore += typesof(/obj/effect/pod_landingzone_effect) ignore += typesof(/obj/effect/pod_landingzone) //These want fried food to take on the shape of, we can't pass that in - ignore += typesof(/obj/item/reagent_containers/food/snacks/deepfryholder) + ignore += typesof(/obj/item/food/deepfryholder) //Can't pass in a thing to glow ignore += typesof(/obj/effect/abstract/eye_lighting) //It wants a lot more context then we have diff --git a/code/modules/unit_tests/projectiles.dm b/code/modules/unit_tests/projectiles.dm index e93d20910af0..5c8412d05aec 100644 --- a/code/modules/unit_tests/projectiles.dm +++ b/code/modules/unit_tests/projectiles.dm @@ -6,7 +6,7 @@ /datum/unit_test/gun_go_bang/Run() // test is for a ballistic gun that starts loaded + chambered - var/obj/item/gun/test_gun = allocate(/obj/item/gun/ballistic/automatic/pistol) + var/obj/item/gun/test_gun = allocate(/obj/item/gun/ballistic/automatic/pistol/candor) var/mob/living/carbon/human/victim = allocate(/mob/living/carbon/human) var/mob/living/carbon/human/gunner = allocate(/mob/living/carbon/human) ADD_TRAIT(victim, TRAIT_PIERCEIMMUNE, INNATE_TRAIT) // So the human isn't randomly affected by shrapnel diff --git a/code/modules/unit_tests/serving_tray.dm b/code/modules/unit_tests/serving_tray.dm index 9bd487ba68a8..b4dc1f77a520 100644 --- a/code/modules/unit_tests/serving_tray.dm +++ b/code/modules/unit_tests/serving_tray.dm @@ -6,7 +6,7 @@ var/obj/structure/table/the_table = allocate(/obj/structure/table) var/obj/item/storage/bag/tray/test_tray = allocate(/obj/item/storage/bag/tray) var/obj/item/reagent_containers/food/banana = allocate(/obj/item/reagent_containers/food/snacks/grown/banana) - var/obj/item/reagent_containers/food/the_bread = allocate(/obj/item/reagent_containers/food/snacks/breadslice) + var/obj/item/reagent_containers/food/the_bread = allocate(/obj/item/food/breadslice) var/obj/item/reagent_containers/food/sugarcookie = allocate(/obj/item/reagent_containers/food/snacks/sugarcookie) var/obj/item/clothing/under/jumpsuit = allocate(/obj/item/clothing/under/color/black) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index eaa0a631ec5d..84485cbe903d 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -485,7 +485,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/sniper name = "Sniper Rifle" desc = "Ranged fury, Syndicate style. Guaranteed to cause shock and awe or your TC back!" - item = /obj/item/gun/ballistic/automatic/sniper_rifle/syndicate + item = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle cost = 16 surplus = 25 include_modes = list(/datum/game_mode/nuclear) @@ -494,7 +494,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "Stechkin Pistol" desc = "A small, easily concealable handgun that uses 10mm auto rounds in 8-round magazines and is compatible \ with suppressors." - item = /obj/item/gun/ballistic/automatic/pistol + item = /obj/item/gun/ballistic/automatic/pistol/syndicate cost = 7 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -508,7 +508,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/revolver name = "Syndicate Revolver" desc = "A brutally simple Syndicate revolver that fires .357 Magnum rounds and has 7 chambers." - item = /obj/item/gun/ballistic/revolver + item = /obj/item/gun/ballistic/revolver/syndicate cost = 13 surplus = 50 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -575,7 +575,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/dangerous/ebr name = "M514 EBR" desc = "A cheap rifle with high stopping power and low capacity." - item = /obj/item/gun/ballistic/automatic/ebr + item = /obj/item/gun/ballistic/automatic/marksman/ebr cost = 8 surplus = 20 include_modes = list(/datum/game_mode/nuclear) @@ -683,7 +683,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_weapons/suppressor name = "Suppressor" desc = "This suppressor will silence the shots of the weapon it is attached to for increased stealth and superior ambushing capability. It is compatible with many small ballistic guns including the Stechkin and C-20r, but not revolvers or energy guns." - item = /obj/item/suppressor + item = /obj/item/attachment/silencer cost = 3 surplus = 10 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) @@ -937,7 +937,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) include_modes = list(/datum/game_mode/nuclear) /datum/uplink_item/ammo/mech/bag - name = "Mech Support Kit Bag" + name = "Exosuit Support Kit Bag" desc = "A duffel bag containing ammo for four full reloads of the scattershotm which is equipped on standard Dark Gygax and Mauler exosuits. Also comes with some support equipment for maintaining the mech, including tools and an inducer." item = /obj/item/storage/backpack/duffelbag/syndie/ammo/mech cost = 4 @@ -1832,9 +1832,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/role_restricted/concealed_weapon_bay name = "Concealed Weapon Bay" - desc = "A modification for non-combat mechas that allows them to equip one piece of equipment designed for combat mechs. \ + desc = "A modification for civilian exosuits that allows them to equip one piece of equipment designed for combat exosuits. \ It also hides the equipped weapon from plain sight. \ - Only one can fit on a mecha." + Only one can fit on an exosuit." item = /obj/item/mecha_parts/concealed_weapon_bay cost = 3 restricted_roles = list("Roboticist", "Research Director") diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index a22b68c5a1c8..fc5b6503f90c 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -104,8 +104,8 @@ /obj/vehicle/ridden/wheelchair/proc/can_user_rotate(mob/living/user) var/mob/living/L = user if(istype(L)) - if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user))) - return FALSE + if(user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return TRUE if(isobserver(user) && CONFIG_GET(flag/ghost_interaction)) return TRUE return FALSE diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 84f82d81a2e2..a3fa70ce6209 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -102,7 +102,7 @@ /obj/item/reagent_containers/food/drinks/soda_cans/orange_soda = 10, /obj/item/reagent_containers/food/drinks/soda_cans/sol_dry = 10, /obj/item/reagent_containers/food/drinks/soda_cans/shoal_punch = 10) - product_slogans = "very fruit you could want, at your beak! Shoal Punch!" + product_slogans = "Every fruit you could want, at your beak! Shoal Punch!" product_ads = "Every fruit you could want, at your beak!;Don't go flying dry!;Over two trillion served!;Thirsty? Get punched!;Skrikira trikxti skrmikr rakti!;Don't go dry, get Shoal Punch." light_mask = "shamblers-light-mask" light_color = COLOR_MOSTLY_PURE_PINK diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm deleted file mode 100644 index 5f06b35f76b5..000000000000 --- a/code/modules/vending/liberation.dm +++ /dev/null @@ -1,35 +0,0 @@ -/obj/machinery/vending/liberationstation - name = "\improper Liberation Station" - desc = "An overwhelming amount of ancient patriotism washes over you just by looking at the machine." - icon_state = "liberationstation" - product_slogans = "Liberation Station: Your one-stop shop for all things second amendment!;Be a patriot today, pick up a gun!;Quality weapons for cheap prices!" - product_ads = "Float like an astronaut, sting like a bullet!;Express your second amendment today!;Guns don't kill people, but you can!;Who needs responsibilities when you have guns?" - vend_reply = "Remember the name: Liberation Station!" - products = list( - /obj/item/reagent_containers/food/snacks/burger/plain = 5, //O say can you see, by the dawn's early light - /obj/item/reagent_containers/food/snacks/burger/baseball = 3, //What so proudly we hailed at the twilight's last gleaming - /obj/item/reagent_containers/food/snacks/fries = 5, //Whose broad stripes and bright stars through the perilous fight - /obj/item/reagent_containers/food/drinks/beer/light = 10, //O'er the ramparts we watched, were so gallantly streaming? - /obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2, - /obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2, - /obj/item/gun/ballistic/automatic/pistol/candor = 2, - /obj/item/gun/ballistic/automatic/smg/proto = 2, - /obj/item/gun/ballistic/shotgun/automatic/combat = 2, - /obj/item/gun/ballistic/automatic/gyropistol = 1, - /obj/item/gun/ballistic/shotgun = 2) - premium = list( - /obj/item/ammo_box/magazine/smgm9mm = 2, - /obj/item/ammo_box/magazine/m50 = 4, - /obj/item/ammo_box/magazine/m45 = 2, - /obj/item/ammo_box/magazine/m75 = 2, - /obj/item/reagent_containers/food/snacks/cheesyfries = 5, - /obj/item/reagent_containers/food/snacks/burger/baconburger = 5) //Premium burgers for the premium section - contraband = list( - /obj/item/clothing/under/misc/patriotsuit = 3, - /obj/item/bedsheet/patriot = 5, - /obj/item/reagent_containers/food/snacks/burger/superbite = 3) //U S A - armor = list("melee" = 100, "bullet" = 100, "laser" = 100, "energy" = 100, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) - resistance_flags = FIRE_PROOF - default_price = 150 - extra_price = 500 - light_mask = "liberation-light-mask" diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 95afc6f2eb92..911eaed20652 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -131,7 +131,7 @@ ) voucher_items = list( "M-90gl Carbine" = /obj/item/gun/ballistic/automatic/smg/m90, - "sniper rifle" = /obj/item/gun/ballistic/automatic/sniper_rifle, + "sniper rifle" = /obj/item/gun/ballistic/automatic/marksman/sniper_rifle, "C-20r SMG" = /obj/item/gun/ballistic/automatic/smg/c20r, "Bulldog Shotgun" = /obj/item/gun/ballistic/shotgun/bulldog) diff --git a/code/modules/vending/sustenance.dm b/code/modules/vending/sustenance.dm index 0519285d26a5..0677a77edb58 100644 --- a/code/modules/vending/sustenance.dm +++ b/code/modules/vending/sustenance.dm @@ -7,7 +7,7 @@ icon_state = "sustenance" products = list( /obj/item/reagent_containers/food/snacks/tofu/prison = 24, - /obj/item/reagent_containers/food/snacks/breadslice/moldy = 15, + /obj/item/food/breadslice/moldy = 15, /obj/item/reagent_containers/food/drinks/ice/prison = 12, /obj/item/reagent_containers/food/snacks/candy_corn/prison = 6) contraband = list( diff --git a/config/admins.txt b/config/admins.txt index b695c94f084b..24f777f26b19 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -5,5 +5,6 @@ #If SQL-based admin loading is enabled, admins listed here will always be loaded first and will override any duplicate entries in the database. MarkSuckerberg = Development Head +rkz = Development Head #just use the database, this is deprecated diff --git a/html/changelogs/AutoChangeLog-pr-3135.yml b/html/changelogs/AutoChangeLog-pr-3135.yml deleted file mode 100644 index e26262cc7c80..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3135.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: Martinpachu -changes: - - {rscadd: 'A technique for gunslinger with the lever-action flaming arrow! Firing - it while wielded will quickly and automatically rack the lever, less quickly - than a .38 revolver or fanned shadow though.'} - - {rscdel: The +5 damage and AP bonus on the shadow while using it as a gunslinger.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3143.yml b/html/changelogs/AutoChangeLog-pr-3143.yml deleted file mode 100644 index 7a096ce0336b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3143.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: generalthrax -changes: - - {bugfix: Fixed typos in the Shadow and Montagne revolvers} - - {bugfix: Black market rusted reds no longer flash into dust when you purchase - them} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3260.yml b/html/changelogs/AutoChangeLog-pr-3260.yml new file mode 100644 index 000000000000..66db9e27173b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3260.yml @@ -0,0 +1,4 @@ +author: phoaly +changes: + - {balance: Talos Corpsman has been readded with a different medkit loadout.} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3264.yml b/html/changelogs/AutoChangeLog-pr-3264.yml new file mode 100644 index 000000000000..fb44fa9df39a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3264.yml @@ -0,0 +1,7 @@ +author: firebudgy +changes: + - {rscadd: Sprites for several different kinds of scarves for Vox!} + - {rscadd: 'Additional sprites for several other items for Vox, such as chest-high + towels and hazard jackets.'} + - {rscadd: 'Created onmob_neck_vox.dmi file, plus enabled support for it.'} +delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3278.yml b/html/changelogs/AutoChangeLog-pr-3278.yml new file mode 100644 index 000000000000..9ed2319f1c79 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3278.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: Fixes the Industrial Jacket to be warm (For Real)} +delete-after: true diff --git a/html/changelogs/archive/2024-06.yml b/html/changelogs/archive/2024-06.yml index 46e0d8c88d58..d39c3b4431ae 100644 --- a/html/changelogs/archive/2024-06.yml +++ b/html/changelogs/archive/2024-06.yml @@ -339,3 +339,28 @@ Martinpachu: - rscadd: Cargo guns and certain guns in ships now come inside cases alongside some magazines, the ammo now comes separately for safety reasons. +2024-06-27: + Gristlebee: + - tweak: Saber SMG stock folds + - tweak: TEC-9 Pistol is now automatic and normal sized + - balance: Combat shotgun is now bulky, and the compact combat shotgun is normal. + Martinpachu: + - rscadd: A technique for gunslinger with the lever-action flaming arrow! Firing + it while wielded will quickly and automatically rack the lever, less quickly + than a .38 revolver or fanned shadow though. + - rscdel: The +5 damage and AP bonus on the shadow while using it as a gunslinger. + Sadhorizon: + - rscdel: Miners and Cargo Technicians no longer get QM access. + SomeguyManperson: + - bugfix: cyborgs can touch people again + - code_imp: robotic limbs will always have healing prioritized over being cauterized + if treated with a welder + generalthrax: + - rscdel: Tranquility reagent no longer turns you into a gondola + - bugfix: Fixed typos in the Shadow and Montagne revolvers + - bugfix: Black market rusted reds no longer flash into dust when you purchase them + thestripes: + - rscadd: Added Kepori names, surnames, and a list for the char gen to draw from. + Remember to update your character names! + - rscdel: Removed old Kepori name gen system and a bit of lore from the species + blurb diff --git a/html/changelogs/archive/2024-07.yml b/html/changelogs/archive/2024-07.yml new file mode 100644 index 000000000000..9f9679a752b3 --- /dev/null +++ b/html/changelogs/archive/2024-07.yml @@ -0,0 +1,167 @@ +2024-07-01: + Skies-Of-Blue: + - bugfix: you can now rotate wheelchairs, just as god intended +2024-07-02: + GenericDM: + - bugfix: fixes exactly one typographical error somewhere in the code +2024-07-03: + Cloudbreak: + - code_imp: Typographical error fixed. +2024-07-04: + Latentish: + - rscadd: Added the Panacea-class + - rscdel: Removed the Aegis-class + generalthrax: + - bugfix: Fixed Comet Trail, Molten Bubbles, and Sunset Sarsaparilla glass sprites +2024-07-06: + Sadhorizon: + - bugfix: Dog beds start anchored now. Mobs can no longer move while buckled. + rye-rice: + - rscadd: Resprites the E-50 and gives it proper inhands now! + - bugfix: The Syndicate sniper rifle fires at a normal rate of fire and has the + correct recoil now. +2024-07-09: + Apogee-dev: + - bugfix: N+S Captains no longer spawn with Nanotrasen coats. + - balance: reduced default ship spawn limit to 1. + - bugfix: Cargo pods no longer land in Talos maint + - bugfix: Gas tanks on the Talos have higher security + - bugfix: Talos now has an autolathe in cargo + Sadhorizon: + - rscadd: Added a plastic flower - a selection of flowers to wear. Added it to the + loadout too. + SapphicOverload: + - rscadd: Adds an igniter and button to the TEG of every ship that was missing one + - rscdel: Removed the welding tool TEG chute some ships had + SomeguyManperson: + - bugfix: loadout boxes will no longer sometimes not spawn + - code_imp: People who are stunned are now more reliably passed by bullets not aimed + directly at them + generalthrax: + - rscdel: Removed some irrelevant old tips of the round + - rscadd: Added 80+ new tips more relevant to Shiptest's gameplay loop +2024-07-10: + Cloudbreak: + - bugfix: A few clothing items now properly display again for Vox. + meemofcourse: + - rscadd: Minor changes to the Tortuga. + - bugfix: The holofields on the Tortuga-class and Brawler-class now work. +2024-07-11: + Cloudbreak: + - code_imp: Fixes a singular typo within the code. + Martinpachu: + - balance: Pizzas have become cheaper. (6000 cr - 3000 cr) + PositiveEntropy: + - bugfix: Mars and Venus are now referred to by their correct names! + - bugfix: You can now store guns, ammunition, and melee weapons on the armor slot + when equipping a SolCon/SolGov hardsuit, and its subtypes! + generalthrax: + - rscdel: Removed tator tots and raw potato wedges +2024-07-12: + generalthrax: + - rscdel: Removed mice possession + - rscdel: Broad removal of forcesays from most reagents and items + - rscdel: Removed char reagent and spraytan overdose + - rscdel: Removed gibbering lines + - rscdel: Removed Chav, Swedish, Elvis mutations + - rscadd: The outpost is now offering bounties to defuse landmines to Frontier vessels. + meemofcourse: + - balance: Remapped the Valor, with two extra jobs (Shuttle Corpsman, Shuttle Pilot). + - code_imp: The Vanguard base outfit starts with gear. +2024-07-13: + FalloutFalcon: + - bugfix: pets no longer cause run times trying to open ship doors + - bugfix: no longer have to reinsert your id into your wallet for access + - rscadd: A new generic nest used across all planets + - rscdel: Old portal and tendrils and other cruft + - refactor: refactorted mob spawners to have one for each planet + Gristlebee: + - bugfix: 357 guncase spawns with the correct revolver + Skies-Of-Blue: + - balance: you can now fit radios and pill bottles in both hoodies and winter coats + - bugfix: the innate storage on winter coats has been restored, alt click to access! + SomeguyManperson: + - bugfix: brute damage is now required to break bones + TiberianEuan: + - rscadd: Black hoodie with grey hood. + - imageadd: New hoodie icons. + cuddleandtea: + - admin: new light maker subtype for build mode + generalthrax: + - bugfix: Fixed the Landmine mission description and flavoured it a little + - balance: Decreased the amount of landmines required for its mission and increased + the value per mine slightly + - rscdel: Capsaicin no longer Boils you +2024-07-15: + FalloutFalcon: + - refactor: refactored attachments to be modular + Sadhorizon: + - tweak: Changed sunskipper's prefix to SV. + - bugfix: Added a missing pipe to the sunskipper. + Skies-Of-Blue: + - rscadd: typing indicators now trigger off of the command bar + - rscadd: an SSD Indicator for when you have been disconnected for less than three + minutes + - balance: players will now remain awake for three minutes after disconnecting, + with a new SSD icon to boot! + - balance: players SSD longer than three minutes will lose their icon and fall asleep, + much like the previous behavior + SomeguyManperson: + - bugfix: gun cargo packs now act more as they would be expected to +2024-07-17: + FalloutFalcon: + - rscadd: Orbit menu is less cluttered and just shows the real name, hovering over + it shows their standard name. + - refactor: refactored express console to not be a subtype of the cargo console + and replacing it. + Martinpachu: + - balance: Doubled the price on every automatic gun and added 250 credits to the + price of every semi-auto pistol. + Sadhorizon: + - tweak: Choice beacons were reflavored into choice boxes. + - rscdel: Removed a bunch of meme, weird and unused items from the loadout. + - tweak: Reflavored the Cybersun labcoat into a generic "translucent labcoat" + SomeguyManperson: + - bugfix: ships docked to eachother now share gravity +2024-07-18: + Fest1v3: + - rscadd: adds a few vox sprites + - bugfix: fixes a few vox sprites +2024-07-24: + DIB-DOG: + - bugfix: fixed the foodtype of two Gezenan drinks to match their descriptions + - rscadd: added a taste description to Keh'Lu'Tex Liqueur + Gristlebee: + - rscadd: Acquire Mission containers and Mission drills display their objective + type. + - rscadd: Changed name of base fish type to generic fish + SomeguyManperson: + - bugfix: the BG-16 is now as ammo efficient as the BG-12 + - bugfix: the BG-16 has automatic fire again + generalthrax: + - balance: Undoubles the price on every automatic gun and removed 250 from the price + of every semi-auto pistol. +2024-07-26: + Cloudbreak: + - rscadd: A new ruin, the Abandoned Listening Post. + - rscadd: Areas associated with the listening post. + - bugfix: Single line in maps catalogue. +2024-07-27: + Gristlebee: + - rscadd: Marker beacons can now be printed at the autolathe from the Misc tab +2024-07-31: + rkz, benbot(benjamin), Time-Green, SteelSlayer, floyd, Qustinuus, ArcaneDefence, FlowerCuco: + - rscadd: Food storage! Hide some glass in the captains cake! Begone digestive tract! + - rscadd: Bread, Cake and Spaghetti to Newfood + - rscadd: some smaller foods can now be eaten whilst on the run! (This ONLY applies + to newfood items thus far!) + - rscadd: converted edible component to work with newfood + - rscdel: oldfood for Bread, Cake and Spaghetti + - rscdel: Temporarily removes customfood bread, cake, pasta, and sandwiches + - tweak: edited a few messed up values + - tweak: food trash is sensible now. Finishing stuff like cake will actually spawn + a plate rubbish. Instead of you eating the plate, biggun, perhaps properly dispose + of it! + - bugfix: Wildly STUPID item weights. Candycorn and cakes are no longer the SAME + size + - code_imp: provides some semblance of sorting for signal defines diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml new file mode 100644 index 000000000000..131d225b1811 --- /dev/null +++ b/html/changelogs/archive/2024-08.yml @@ -0,0 +1,73 @@ +2024-08-02: + FalloutFalcon: + - rscadd: New admin button to launch a distress announcement quicker. + Sadhorizon: + - tweak: Cafe latte, iced coffee, hot ice coffee and soy latte now only make your + character jitter on OD. + - tweak: Reduced the prices of first aid kits. + - tweak: Remapped the Kilo-class Mining Ship + SomeguyManperson: + - rscadd: legion attacks will now inject an organ which eventually causes a transformation, + rather than instantly killing and transforming people. +2024-08-03: + Anticept: + - bugfix: Executing someone with a gun is back, you psychos. Paint the floor red! + Martinpachu: + - balance: 8x50 boxes now come with 25 ammo as opposed to 20. + Sadhorizon: + - tweak: Internals Crate now costs 100 credits and contains full oxygen tanks. + - tweak: Plasmaman Tank Kit renamed to Plasmaman Internals Crate. It now costs 100 + credits and contains full plasma tanks. + SomeguyManperson: + - bugfix: mini/energy gun cases no longer spawn with the wrong weapon in them + - balance: gun attachments are now small instead of normal sized + Yata9ar4su: + - bugfix: Cash bundle value will now be correct in chat, cash will not drop upon + stacking + firebudgy: + - rscadd: New sprites for Vox! Vanguard and Honorable Vanguard Battlecoat sprite + changes, NGR hard hats, and hazard vests! + generalthrax: + - rscadd: Industrial jacket now keeps you warm + - bugfix: Contender is now called the Beacon in cargo + zimon9: + - rscadd: an anesthetics crate +2024-08-04: + Apogee-dev: + - bugfix: Changed almost every player facing instance of the word "mech" to "exosuit" + - balance: Replaced syndie survival boxes in outfit datums with normal job-equivalent + boxes + FalloutFalcon: + - balance: nerfed legion money drops. + Gristlebee: + - rscadd: Sandbags can be deconed by click dragging them onto your mob. + - rscadd: Sandbags to the outpost for 150 credits. + Martinpachu: + - rscadd: Clips of all kinds (not magazines!) can now be produced on the autolathe. + - rscdel: Clip cargo packs, as they are now redundant. + PositiveEntropy: + - imageadd: Resprites muzzle flashes! + Sadhorizon: + - imageadd: Added directionals for mining processing consoles. + Thera-Pissed: + - bugfix: hydrogen and combustion bugs + Zevotech: + - balance: the Quirk Social Anxiety no longer silences you randomly + - bugfix: Stuttering is now far less extreme and will not delete characters + - bugfix: Psicodine now actually suppresses the effects of social anxiety + firebudgy: + - bugfix: Fixed three typos in the code. + phoaly: + - balance: Buffed LP hardsuits +2024-08-07: + Sadhorizon: + - tweak: Remapped the Dwayne-class Long Range Mining Transport. + - rscadd: Added a random plushie spawner and a random moth plushie spawner. + Thera-Pissed: + - rscadd: Chlorine and Hydrogen Chloride gases! Wear your goggles! +2024-08-10: + generalthrax: + - rscadd: Cleanbots now destroy cigarette butts, and dispense enough acid to do + so. + rye-rice: + - bugfix: indie sec hardsuit now shows up diff --git a/html/typing_indicator.html b/html/typing_indicator.html new file mode 100644 index 000000000000..2988edff55fa --- /dev/null +++ b/html/typing_indicator.html @@ -0,0 +1,46 @@ + + + + + + + + + diff --git a/icons/misc/buildmode.dmi b/icons/misc/buildmode.dmi index db1e5fdba40b..44698597b02c 100644 Binary files a/icons/misc/buildmode.dmi and b/icons/misc/buildmode.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index e8702376efce..5508bc67523c 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index f334af20104e..7568a1274d66 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi deleted file mode 100644 index bc048fc920c9..000000000000 Binary files a/icons/mob/clothing/belt_mirror.dmi and /dev/null differ diff --git a/icons/mob/clothing/suits/hooded.dmi b/icons/mob/clothing/suits/hooded.dmi index a4be6f11f793..e1f98d991357 100644 Binary files a/icons/mob/clothing/suits/hooded.dmi and b/icons/mob/clothing/suits/hooded.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index d356f95fd272..ff71ba99e3c0 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index b69fb6ff8f74..c40ac3335e06 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/simple_frontiersman.dmi b/icons/mob/simple_frontiersman.dmi new file mode 100644 index 000000000000..c5b9962fd236 Binary files /dev/null and b/icons/mob/simple_frontiersman.dmi differ diff --git a/icons/mob/species/kepori/onmob_head_kepori.dmi b/icons/mob/species/kepori/onmob_head_kepori.dmi index b4631838b75a..8d1c43955f8a 100644 Binary files a/icons/mob/species/kepori/onmob_head_kepori.dmi and b/icons/mob/species/kepori/onmob_head_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_suit_kepori.dmi b/icons/mob/species/kepori/onmob_suit_kepori.dmi index 6182a9612547..ae5750dd0558 100644 Binary files a/icons/mob/species/kepori/onmob_suit_kepori.dmi and b/icons/mob/species/kepori/onmob_suit_kepori.dmi differ diff --git a/icons/mob/species/kepori/onmob_uniform_kepori.dmi b/icons/mob/species/kepori/onmob_uniform_kepori.dmi index d6f011cef312..f6d35ec4c795 100644 Binary files a/icons/mob/species/kepori/onmob_uniform_kepori.dmi and b/icons/mob/species/kepori/onmob_uniform_kepori.dmi differ diff --git a/icons/mob/species/misc/digitigrade_suits.dmi b/icons/mob/species/misc/digitigrade_suits.dmi index 8bdb115b0370..b622c59dfa73 100644 Binary files a/icons/mob/species/misc/digitigrade_suits.dmi and b/icons/mob/species/misc/digitigrade_suits.dmi differ diff --git a/icons/mob/species/vox/onmob_back_vox.dmi b/icons/mob/species/vox/onmob_back_vox.dmi index 953ff24a290e..c2000834877e 100644 Binary files a/icons/mob/species/vox/onmob_back_vox.dmi and b/icons/mob/species/vox/onmob_back_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_eyes_vox.dmi b/icons/mob/species/vox/onmob_eyes_vox.dmi index 2a30fe355bf1..2081f5eb8569 100644 Binary files a/icons/mob/species/vox/onmob_eyes_vox.dmi and b/icons/mob/species/vox/onmob_eyes_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_hands_vox.dmi b/icons/mob/species/vox/onmob_hands_vox.dmi index ff5c1a11df61..977e9a71a7c5 100644 Binary files a/icons/mob/species/vox/onmob_hands_vox.dmi and b/icons/mob/species/vox/onmob_hands_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_head_vox.dmi b/icons/mob/species/vox/onmob_head_vox.dmi index 0ab1c3be9674..e921c4e2bda0 100644 Binary files a/icons/mob/species/vox/onmob_head_vox.dmi and b/icons/mob/species/vox/onmob_head_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_mask_vox.dmi b/icons/mob/species/vox/onmob_mask_vox.dmi index b460caedb721..7aa3dfb2e046 100644 Binary files a/icons/mob/species/vox/onmob_mask_vox.dmi and b/icons/mob/species/vox/onmob_mask_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_neck_vox.dmi b/icons/mob/species/vox/onmob_neck_vox.dmi new file mode 100644 index 000000000000..1877ca277c96 Binary files /dev/null and b/icons/mob/species/vox/onmob_neck_vox.dmi differ diff --git a/icons/mob/species/vox/onmob_suit_vox.dmi b/icons/mob/species/vox/onmob_suit_vox.dmi index 7b2ee1c8d1c9..02984e64f329 100644 Binary files a/icons/mob/species/vox/onmob_suit_vox.dmi and b/icons/mob/species/vox/onmob_suit_vox.dmi differ diff --git a/icons/mob/ssd_indicator.dmi b/icons/mob/ssd_indicator.dmi new file mode 100644 index 000000000000..3f7d100b6c67 Binary files /dev/null and b/icons/mob/ssd_indicator.dmi differ diff --git a/icons/obj/clothing/suits/hooded.dmi b/icons/obj/clothing/suits/hooded.dmi index 5b04aa13aaa7..6d449550ad43 100644 Binary files a/icons/obj/clothing/suits/hooded.dmi and b/icons/obj/clothing/suits/hooded.dmi differ diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index b34b3777adac..20fe8abf2d5c 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/guns/48x32guns.dmi b/icons/obj/guns/48x32guns.dmi index 232ecdb35e02..960b9ec448af 100644 Binary files a/icons/obj/guns/48x32guns.dmi and b/icons/obj/guns/48x32guns.dmi differ diff --git a/icons/obj/guns/attachments.dmi b/icons/obj/guns/attachments.dmi new file mode 100644 index 000000000000..29ae084d5759 Binary files /dev/null and b/icons/obj/guns/attachments.dmi differ diff --git a/icons/obj/guns/bayonets.dmi b/icons/obj/guns/bayonets.dmi deleted file mode 100644 index 32b5448b8edc..000000000000 Binary files a/icons/obj/guns/bayonets.dmi and /dev/null differ diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi index 3208083cd0bd..6a32de5b08fb 100644 Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ diff --git a/icons/obj/guns/faction/gezena/48x32.dmi b/icons/obj/guns/faction/gezena/48x32.dmi deleted file mode 100644 index 29c89ec1edb1..000000000000 Binary files a/icons/obj/guns/faction/gezena/48x32.dmi and /dev/null differ diff --git a/icons/obj/guns/faction/gezena/energy.dmi b/icons/obj/guns/faction/gezena/energy.dmi deleted file mode 100644 index be3b5b2f71d6..000000000000 Binary files a/icons/obj/guns/faction/gezena/energy.dmi and /dev/null differ diff --git a/icons/obj/guns/flashlights.dmi b/icons/obj/guns/flashlights.dmi deleted file mode 100644 index eef6d953f94a..000000000000 Binary files a/icons/obj/guns/flashlights.dmi and /dev/null differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi b/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi new file mode 100644 index 000000000000..d87a6f3c8433 Binary files /dev/null and b/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi b/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi new file mode 100644 index 000000000000..7673c2f6d642 Binary files /dev/null and b/icons/obj/guns/manufacturer/clip_lanchester/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi b/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi new file mode 100644 index 000000000000..4f9158d2d36d Binary files /dev/null and b/icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi b/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi new file mode 100644 index 000000000000..4549f30f4ff9 Binary files /dev/null and b/icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/eoehoma/48x32.dmi b/icons/obj/guns/manufacturer/eoehoma/48x32.dmi new file mode 100644 index 000000000000..5ab3ee4a0cb0 Binary files /dev/null and b/icons/obj/guns/manufacturer/eoehoma/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/eoehoma/lefthand.dmi b/icons/obj/guns/manufacturer/eoehoma/lefthand.dmi new file mode 100644 index 000000000000..9fd5086f4003 Binary files /dev/null and b/icons/obj/guns/manufacturer/eoehoma/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/eoehoma/onmob.dmi b/icons/obj/guns/manufacturer/eoehoma/onmob.dmi new file mode 100644 index 000000000000..f4b14ced71a7 Binary files /dev/null and b/icons/obj/guns/manufacturer/eoehoma/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/eoehoma/righthand.dmi b/icons/obj/guns/manufacturer/eoehoma/righthand.dmi new file mode 100644 index 000000000000..c1f9ccab3ff0 Binary files /dev/null and b/icons/obj/guns/manufacturer/eoehoma/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/etherbor/48x32.dmi b/icons/obj/guns/manufacturer/etherbor/48x32.dmi new file mode 100644 index 000000000000..e5a9074f06c2 Binary files /dev/null and b/icons/obj/guns/manufacturer/etherbor/48x32.dmi differ diff --git a/icons/obj/guns/faction/gezena/lefthand.dmi b/icons/obj/guns/manufacturer/etherbor/lefthand.dmi similarity index 100% rename from icons/obj/guns/faction/gezena/lefthand.dmi rename to icons/obj/guns/manufacturer/etherbor/lefthand.dmi diff --git a/icons/obj/guns/manufacturer/etherbor/onmob.dmi b/icons/obj/guns/manufacturer/etherbor/onmob.dmi new file mode 100644 index 000000000000..43e539c557b8 Binary files /dev/null and b/icons/obj/guns/manufacturer/etherbor/onmob.dmi differ diff --git a/icons/obj/guns/faction/gezena/righthand.dmi b/icons/obj/guns/manufacturer/etherbor/righthand.dmi similarity index 100% rename from icons/obj/guns/faction/gezena/righthand.dmi rename to icons/obj/guns/manufacturer/etherbor/righthand.dmi diff --git a/icons/obj/guns/manufacturer/frontier_import/48x32.dmi b/icons/obj/guns/manufacturer/frontier_import/48x32.dmi new file mode 100644 index 000000000000..149793c43c38 Binary files /dev/null and b/icons/obj/guns/manufacturer/frontier_import/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi b/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi new file mode 100644 index 000000000000..33b3381bdfe0 Binary files /dev/null and b/icons/obj/guns/manufacturer/frontier_import/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/onmob.dmi b/icons/obj/guns/manufacturer/frontier_import/onmob.dmi new file mode 100644 index 000000000000..a0706579ccb5 Binary files /dev/null and b/icons/obj/guns/manufacturer/frontier_import/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/frontier_import/righthand.dmi b/icons/obj/guns/manufacturer/frontier_import/righthand.dmi new file mode 100644 index 000000000000..73945b8524df Binary files /dev/null and b/icons/obj/guns/manufacturer/frontier_import/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/48x32.dmi b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi new file mode 100644 index 000000000000..19b4202da78a Binary files /dev/null and b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi new file mode 100644 index 000000000000..4fb5eca5c011 Binary files /dev/null and b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/onmob.dmi b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi new file mode 100644 index 000000000000..8911c8fbb68f Binary files /dev/null and b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/hunterspride/righthand.dmi b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi new file mode 100644 index 000000000000..043167735662 Binary files /dev/null and b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/48x32.dmi b/icons/obj/guns/manufacturer/inteq/48x32.dmi new file mode 100644 index 000000000000..e7deb0f12ce0 Binary files /dev/null and b/icons/obj/guns/manufacturer/inteq/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/lefthand.dmi b/icons/obj/guns/manufacturer/inteq/lefthand.dmi new file mode 100644 index 000000000000..19335eb44ff9 Binary files /dev/null and b/icons/obj/guns/manufacturer/inteq/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/onmob.dmi b/icons/obj/guns/manufacturer/inteq/onmob.dmi new file mode 100644 index 000000000000..f402ffd24e2c Binary files /dev/null and b/icons/obj/guns/manufacturer/inteq/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/inteq/righthand.dmi b/icons/obj/guns/manufacturer/inteq/righthand.dmi new file mode 100644 index 000000000000..33d087f394f1 Binary files /dev/null and b/icons/obj/guns/manufacturer/inteq/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi new file mode 100644 index 000000000000..bac0ccc8f210 Binary files /dev/null and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi new file mode 100644 index 000000000000..24ac86c3e0b5 Binary files /dev/null and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi new file mode 100644 index 000000000000..8a1d7f06e561 Binary files /dev/null and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi new file mode 100644 index 000000000000..b6831ec9696a Binary files /dev/null and b/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/48x32.dmi b/icons/obj/guns/manufacturer/scarborough/48x32.dmi new file mode 100644 index 000000000000..361448b49a35 Binary files /dev/null and b/icons/obj/guns/manufacturer/scarborough/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/lefthand.dmi b/icons/obj/guns/manufacturer/scarborough/lefthand.dmi new file mode 100644 index 000000000000..8d184d907db6 Binary files /dev/null and b/icons/obj/guns/manufacturer/scarborough/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/onmob.dmi b/icons/obj/guns/manufacturer/scarborough/onmob.dmi new file mode 100644 index 000000000000..5127ecfed566 Binary files /dev/null and b/icons/obj/guns/manufacturer/scarborough/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/scarborough/righthand.dmi b/icons/obj/guns/manufacturer/scarborough/righthand.dmi new file mode 100644 index 000000000000..5dbfb0acfc25 Binary files /dev/null and b/icons/obj/guns/manufacturer/scarborough/righthand.dmi differ diff --git a/icons/obj/guns/manufacturer/solararmories/48x32.dmi b/icons/obj/guns/manufacturer/solararmories/48x32.dmi new file mode 100644 index 000000000000..690fc5b54bdf Binary files /dev/null and b/icons/obj/guns/manufacturer/solararmories/48x32.dmi differ diff --git a/icons/obj/guns/manufacturer/solararmories/lefthand.dmi b/icons/obj/guns/manufacturer/solararmories/lefthand.dmi new file mode 100644 index 000000000000..b28e97e9a1db Binary files /dev/null and b/icons/obj/guns/manufacturer/solararmories/lefthand.dmi differ diff --git a/icons/obj/guns/manufacturer/solararmories/onmob.dmi b/icons/obj/guns/manufacturer/solararmories/onmob.dmi new file mode 100644 index 000000000000..3e5b665f4fb0 Binary files /dev/null and b/icons/obj/guns/manufacturer/solararmories/onmob.dmi differ diff --git a/icons/obj/guns/manufacturer/solararmories/righthand.dmi b/icons/obj/guns/manufacturer/solararmories/righthand.dmi new file mode 100644 index 000000000000..ab82dd742a66 Binary files /dev/null and b/icons/obj/guns/manufacturer/solararmories/righthand.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index 9068f301647f..ab051d8a21bb 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/machines/mining_machines.dmi b/icons/obj/machines/mining_machines.dmi index 96151f074e11..bcd6235d26a6 100644 Binary files a/icons/obj/machines/mining_machines.dmi and b/icons/obj/machines/mining_machines.dmi differ diff --git a/icons/obj/nutanks.dmi b/icons/obj/nutanks.dmi index 4365bdb86771..94e4c7288512 100644 Binary files a/icons/obj/nutanks.dmi and b/icons/obj/nutanks.dmi differ diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index 89f94e16a65a..736a25d57f5f 100644 Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index df2add959648..9ff37a4b7e0c 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/surgery.dmi b/icons/obj/surgery.dmi index 8f2566a98f8a..816d3671a8d9 100644 Binary files a/icons/obj/surgery.dmi and b/icons/obj/surgery.dmi differ diff --git a/interface/skin.dmf b/interface/skin.dmf index 9d933e057c46..18122c5e3e89 100644 --- a/interface/skin.dmf +++ b/interface/skin.dmf @@ -90,6 +90,15 @@ window "mainwindow" background-color = #272727 is-visible = false saved-params = "" + elem "commandbar_spy" + type = BROWSER + is-default = false + pos = 0,0 + size = 200x200 + anchor1 = -1,-1 + anchor2 = -1,-1 + is-visible = false + saved-params = "" window "mapwindow" elem "mapwindow" diff --git a/shiptest.dme b/shiptest.dme index 17389f325e20..f170643beb9e 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -108,6 +108,7 @@ #include "code\__DEFINES\plumbing.dm" #include "code\__DEFINES\power.dm" #include "code\__DEFINES\preferences.dm" +#include "code\__DEFINES\processing.dm" #include "code\__DEFINES\procpath.dm" #include "code\__DEFINES\profile.dm" #include "code\__DEFINES\projectiles.dm" @@ -155,7 +156,16 @@ #include "code\__DEFINES\wires.dm" #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" -#include "code\__DEFINES\dcs\signals.dm" +#include "code\__DEFINES\dcs\signals\signals.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_object.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_clothing.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_food.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_grenade.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_implant.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_item\signals_item.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_aquarium.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_machinery.dm" +#include "code\__DEFINES\dcs\signals\signals_obj\signals_machine\signals_supermatter.dm" #include "code\__HELPERS\_auxtools_api.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" @@ -460,6 +470,8 @@ #include "code\datums\components\anti_magic.dm" #include "code\datums\components\armor_plate.dm" #include "code\datums\components\art.dm" +#include "code\datums\components\attachment.dm" +#include "code\datums\components\attachment_holder.dm" #include "code\datums\components\bandage.dm" #include "code\datums\components\bane.dm" #include "code\datums\components\beetlejuice.dm" @@ -478,7 +490,6 @@ #include "code\datums\components\deployable.dm" #include "code\datums\components\dooropendeathproc.dm" #include "code\datums\components\earprotection.dm" -#include "code\datums\components\edible.dm" #include "code\datums\components\edit_complainer.dm" #include "code\datums\components\embedded.dm" #include "code\datums\components\empprotection.dm" @@ -526,7 +537,6 @@ #include "code\datums\components\sizzle.dm" #include "code\datums\components\slippery.dm" #include "code\datums\components\soulstoned.dm" -#include "code\datums\components\spawner.dm" #include "code\datums\components\spill.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" @@ -557,6 +567,8 @@ #include "code\datums\components\fantasy\affix.dm" #include "code\datums\components\fantasy\prefixes.dm" #include "code\datums\components\fantasy\suffixes.dm" +#include "code\datums\components\food\edible.dm" +#include "code\datums\components\food\food_storage.dm" #include "code\datums\components\plumbing\_plumbing.dm" #include "code\datums\components\plumbing\chemical_acclimator.dm" #include "code\datums\components\plumbing\filter.dm" @@ -639,7 +651,6 @@ #include "code\datums\elements\cleaning.dm" #include "code\datums\elements\connect_loc.dm" #include "code\datums\elements\digitalcamo.dm" -#include "code\datums\elements\dunkable.dm" #include "code\datums\elements\earhealing.dm" #include "code\datums\elements\embed.dm" #include "code\datums\elements\firestacker.dm" @@ -660,6 +671,9 @@ #include "code\datums\elements\world_icon.dm" #include "code\datums\elements\decals\_decals.dm" #include "code\datums\elements\decals\blood.dm" +#include "code\datums\elements\food\dunkable.dm" +#include "code\datums\elements\food\food_trash.dm" +#include "code\datums\elements\food\processable.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -1201,6 +1215,12 @@ #include "code\game\objects\items\vending_items.dm" #include "code\game\objects\items\wayfinding.dm" #include "code\game\objects\items\weaponry.dm" +#include "code\game\objects\items\attachments\_attachment.dm" +#include "code\game\objects\items\attachments\bayonet.dm" +#include "code\game\objects\items\attachments\laser_sight.dm" +#include "code\game\objects\items\attachments\rail_light.dm" +#include "code\game\objects\items\attachments\silencer.dm" +#include "code\game\objects\items\attachments\stock.dm" #include "code\game\objects\items\circuitboards\circuitboard.dm" #include "code\game\objects\items\circuitboards\computer_circuitboards.dm" #include "code\game\objects\items\circuitboards\machine_circuitboards.dm" @@ -1245,6 +1265,10 @@ #include "code\game\objects\items\devices\radio\headset.dm" #include "code\game\objects\items\devices\radio\intercom.dm" #include "code\game\objects\items\devices\radio\radio.dm" +#include "code\game\objects\items\food\_food.dm" +#include "code\game\objects\items\food\bread.dm" +#include "code\game\objects\items\food\cake.dm" +#include "code\game\objects\items\food\spaghetti.dm" #include "code\game\objects\items\grenades\antigravity.dm" #include "code\game\objects\items\grenades\chem_grenade.dm" #include "code\game\objects\items\grenades\clusterbuster.dm" @@ -1357,13 +1381,13 @@ #include "code\game\objects\structures\fireplace.dm" #include "code\game\objects\structures\flora.dm" #include "code\game\objects\structures\fluff.dm" +#include "code\game\objects\structures\geyser.dm" #include "code\game\objects\structures\ghost_role_spawners.dm" #include "code\game\objects\structures\girders.dm" #include "code\game\objects\structures\grille.dm" #include "code\game\objects\structures\guillotine.dm" #include "code\game\objects\structures\guncase.dm" #include "code\game\objects\structures\headpike.dm" -#include "code\game\objects\structures\hivebot.dm" #include "code\game\objects\structures\holosign.dm" #include "code\game\objects\structures\janicart.dm" #include "code\game\objects\structures\kitchen_spike.dm" @@ -1391,7 +1415,6 @@ #include "code\game\objects\structures\showcase.dm" #include "code\game\objects\structures\shower.dm" #include "code\game\objects\structures\signs.dm" -#include "code\game\objects\structures\spawner.dm" #include "code\game\objects\structures\spirit_board.dm" #include "code\game\objects\structures\stairs.dm" #include "code\game\objects\structures\statues.dm" @@ -1441,9 +1464,6 @@ #include "code\game\objects\structures\crates_lockers\crates\large.dm" #include "code\game\objects\structures\crates_lockers\crates\secure.dm" #include "code\game\objects\structures\crates_lockers\crates\wooden.dm" -#include "code\game\objects\structures\icemoon\cave_entrance.dm" -#include "code\game\objects\structures\lavaland\geyser.dm" -#include "code\game\objects\structures\lavaland\necropolis_tendril.dm" #include "code\game\objects\structures\plaques\_plaques.dm" #include "code\game\objects\structures\plaques\static_plaques.dm" #include "code\game\objects\structures\signs\_signs.dm" @@ -1868,6 +1888,7 @@ #include "code\modules\buildmode\submodes\copy.dm" #include "code\modules\buildmode\submodes\delete.dm" #include "code\modules\buildmode\submodes\fill.dm" +#include "code\modules\buildmode\submodes\lightmaker.dm" #include "code\modules\buildmode\submodes\map_export.dm" #include "code\modules\buildmode\submodes\outfit.dm" #include "code\modules\buildmode\submodes\proccall.dm" @@ -1878,9 +1899,9 @@ #include "code\modules\cargo\bounty.dm" #include "code\modules\cargo\bounty_console.dm" #include "code\modules\cargo\centcom_podlauncher.dm" +#include "code\modules\cargo\console.dm" #include "code\modules\cargo\export_scanner.dm" #include "code\modules\cargo\exports.dm" -#include "code\modules\cargo\expressconsole.dm" #include "code\modules\cargo\gondolapod.dm" #include "code\modules\cargo\order.dm" #include "code\modules\cargo\packs.dm" @@ -1960,6 +1981,7 @@ #include "code\modules\client\verbs\ooc.dm" #include "code\modules\client\verbs\ping.dm" #include "code\modules\client\verbs\reset_held_keys.dm" +#include "code\modules\client\verbs\typing.dm" #include "code\modules\client\verbs\who.dm" #include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" @@ -2172,9 +2194,7 @@ #include "code\modules\food_and_drinks\food\customizables.dm" #include "code\modules\food_and_drinks\food\ration.dm" #include "code\modules\food_and_drinks\food\snacks.dm" -#include "code\modules\food_and_drinks\food\snacks_bread.dm" #include "code\modules\food_and_drinks\food\snacks_burgers.dm" -#include "code\modules\food_and_drinks\food\snacks_cake.dm" #include "code\modules\food_and_drinks\food\snacks_egg.dm" #include "code\modules\food_and_drinks\food\snacks_frozen.dm" #include "code\modules\food_and_drinks\food\snacks_meat.dm" @@ -2185,7 +2205,6 @@ #include "code\modules\food_and_drinks\food\snacks_salad.dm" #include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm" #include "code\modules\food_and_drinks\food\snacks_soup.dm" -#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm" #include "code\modules\food_and_drinks\food\snacks_vend.dm" #include "code\modules\food_and_drinks\food\snacks\dough.dm" #include "code\modules\food_and_drinks\food\snacks\meat.dm" @@ -2774,8 +2793,8 @@ #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord_outfits.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice demon.dm" -#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice whelp.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_demon.dm" +#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice_whelp.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\lobstrosity.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\polarbear.dm" @@ -2798,6 +2817,10 @@ #include "code\modules\mob\living\simple_animal\slime\slime.dm" #include "code\modules\mob\living\simple_animal\slime\slime_say.dm" #include "code\modules\mob\living\simple_animal\slime\subtypes.dm" +#include "code\modules\mob_spawner\burrow.dm" +#include "code\modules\mob_spawner\hivebot.dm" +#include "code\modules\mob_spawner\spawner.dm" +#include "code\modules\mob_spawner\spawner_componet.dm" #include "code\modules\modular_computers\laptop_vendor.dm" #include "code\modules\modular_computers\computers\_modular_computer_shared.dm" #include "code\modules\modular_computers\computers\item\computer.dm" @@ -3043,6 +3066,7 @@ #include "code\modules\projectiles\guns\ballistic\gauss.dm" #include "code\modules\projectiles\guns\ballistic\hmg.dm" #include "code\modules\projectiles\guns\ballistic\launchers.dm" +#include "code\modules\projectiles\guns\ballistic\marksman.dm" #include "code\modules\projectiles\guns\ballistic\pistol.dm" #include "code\modules\projectiles\guns\ballistic\revolver.dm" #include "code\modules\projectiles\guns\ballistic\rifle.dm" @@ -3058,7 +3082,7 @@ #include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" -#include "code\modules\projectiles\guns\faction\gezena\energy_gunsword.dm" +#include "code\modules\projectiles\guns\manufacturer\etherbor\energy_gunsword.dm" #include "code\modules\projectiles\guns\misc\beam_rifle.dm" #include "code\modules\projectiles\guns\misc\blastcannon.dm" #include "code\modules\projectiles\guns\misc\bow.dm" @@ -3470,7 +3494,6 @@ #include "code\modules\vending\engineering.dm" #include "code\modules\vending\engivend.dm" #include "code\modules\vending\games.dm" -#include "code\modules\vending\liberation.dm" #include "code\modules\vending\liberation_toy.dm" #include "code\modules\vending\medical.dm" #include "code\modules\vending\medical_wall.dm" diff --git a/strings/boomer.json b/strings/boomer.json deleted file mode 100644 index 4fb2f733f795..000000000000 --- a/strings/boomer.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "boomer": [ - "@pick(kids) these days have it too easy!", - "Do I look like I know what a @pick(file) is!?", - "Listen here Jack, how do I open @pick(file)?", - "How do I open a @pick(file) again?", - "Unlike you snowflakes, I'm not offended so easily.", - "Back in my day...", - "When I was your age...", - "This generation can't take a joke.", - "Why are @pick(kids) these days so @pick(sad) all the time?", - "These damn @pick(kids) need to get a @pick(impossible) for once!", - "It's simply a matter of showing up, looking the manager in the eye, giving him a firm handshake and telling him you want the job.", - "You'll never get anywhere in life without a degree.", - "@pick(expense) isn't really that expensive.", - "When I was a kid I had to walk to school uphill both ways!", - "I hate my wife.", - "I just want to grill for God's sake.", - "I wish I could just go on my lawnmower and cut the grass.", - "Yep, Quake. That was a good game...", - "Yeah, my PDA has wi-fi. A wife I hate." - ], - - "expense": ["Healthcare", "College", "A car", "A house", "Food"], - - "kids": ["kids", "millenials", "snowflakes"], - - "file": ["JPEG", "PDF", "DMI", "JSON"], - - "sad": ["sad", "depressed", "sad and depressed"], - - "impossible": ["job", "house", "job and a house", "life"] -} diff --git a/strings/locations.json b/strings/locations.json index 7a573dd86999..89af1acacd48 100644 --- a/strings/locations.json +++ b/strings/locations.json @@ -51,7 +51,7 @@ "Law Office", "Library", "Locker Room", - "Mech Bay", + "Exosuit Bay", "Medbay Central", "Medbay Maintenance", "Medbay Storage", diff --git a/strings/names/kepori_names.txt b/strings/names/kepori_names.txt new file mode 100644 index 000000000000..f5cf1fa086a7 --- /dev/null +++ b/strings/names/kepori_names.txt @@ -0,0 +1,40 @@ +Ademake +Ankatse +Atchenti +Cautse +Catuwe +Dakenui +Deduci +Dirame +Drakece +Dutsesi +Gahthi +Halake +Hetchel +Huler +Hanusi +Lanirvi +Latedi +Meleri +Meski +Minele +Naaka +Natari +Nenuda +Nirena +Orucati +Pawitts +Plakat +Rakire +Renuire +Rilena +Setasi +Sutiraze +Temiti +Tetha +Tokaibi +Witaseni +Winuusi +Yikitse +Yitosun +Yunthedi diff --git a/strings/sillytips.txt b/strings/sillytips.txt index 192dbce6362f..165e3cbe54d6 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -5,16 +5,12 @@ When a round ends nearly everything about it is lost forever, leave your salt be Killing the entire sector isn't fun except when it is. You can win a pulse rifle from the arcade machine. Honest. Just like real life the entropy of the game can only increase with time. If things aren't on fire yet, just wait. -Completing your objectives is good practice, but the best antagonists will strive to do more than the bare minimum to really leave an impression. The more obscure and underused a game mechanic is, the less likely your victims are to be able to deal with it. Space is cold and it will quickly freeze you to death if you don't protect yourself. This isn't how thermodynamics really works but just go with it. -Blobs are weak to fire! Use a flame thrower for maximum damage! Cleanbot. -The wizard is supposed to be extremely strong in one on one combat, stop getting mad about it. Sometimes a round will just be a bust. C'est la vie. This is a game that is constantly being developed for. Expect things to be added, removed, fixed, and broken on a daily basis. It's fun to try and predict the round type from the tip of the round message. -The quartermaster is not a head of staff and will never be one. The bird remembers. Your sprite represents your hitbox, so that afro makes you easier to kill. The sacrifices we make for style. Sometimes admins will just do stuff. Roll with it. @@ -23,14 +19,21 @@ Plenty of things that aren't traditionally considered weapons can still be used DEATH IS IMMINENT! This game is older than most of the people playing it. Do not go gentle into that good night. -Flashbangs can weaken blob tiles, allowing for you and the crew to easily destroy them. Just the tip? Some people are unable to read text on a game where half of it is based on text. -As the Captain, you can use a whetstone to sharpen your fancy fountain pen for extra robustness. -As the Lawyer, you are the last bastion of roleplay-focused jobs. Even the curator got a whip to go fight people with, that sellout! There are at least 11 ways to get through plastic flaps. How many can you name? FEED ME A STRAY CAT -Did you know that tossing the clown into a singularity will either increase or decrease its size by a large amount? Most items have names longer than "soap". -Demoman takes skill. Ask and you shall receive. +Top Ten Goliath Moments!!! +Sometimes your ship will randomly disappear or obliterate you or get cleaved in half or any combination of the above. Don't dock to a planet at the same time as someone else or undock as someone is docking. +Go on. Saw off those beautiful Hunter's Pride stocks. The Huntsman is watching. +The Drinkening has put countless shiptester's basic reading compehension to the test. Will you succumb? +No, going really really fast through an electric storm won't render you immune. +None of you would survive the uptime drought. +Innumberable frontiersmen have died valiantly in a subshuttle chokepoint attempting to board. Sometimes, a direct subshuttle dock isn't the best tactical move. +Full-body prosthesis are still biological and have normal blood. Don't pump a full bag of coolant into their veins, you. +The shotgun may never miss, but it has low armour penetration with buckshot. +When your gun gives off a pathetic click, it's out of ammo. Mashing the trigger more in a panic won't restore your ammo. +The Trabuco is a crime against the Huntsman and the universe. There's a possibility it'll kill either yourself, your crew, the target, or all of the above. +Don't be the captain found dead in a pit, legioned, with 600 brute and every bone in their body broken. diff --git a/strings/tips.txt b/strings/tips.txt index 6a8c54086d94..c2d32c979b9e 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -19,33 +19,26 @@ You can screwdriver any non-chemical grenade to shorten fuses from 5 seconds, to If you find yourself in a fistfight with another player, staying on the offensive is usually the smart move. Running away often won't accomplish much. Different weapons have different strengths. Some weapons, such as spears, floor tiles, and throwing stars, deal more damage when thrown compared to when attacked normally. A thrown glass of water can make a slippery tile, allowing you to slow down your pursuers in a pinch. -When dealing with security, you can often get your sentence negated entirely through cooperation and deception. -Experiment with different setups of the supermatter engine to maximize output, but don't risk the crew's safety to do so! We were all new once, be patient and guide new players in the right direction. On most clothing items that go in the exosuit slot, you can put certain small items into your suit storage, such as a spraycan, your emergency oxygen tank, or a flashlight. Most job-related exosuit clothing can fit job-related items into it, such as the atmospheric technician's hardsuit/winter coat holding an RPD, or labcoats holding most medicine. If you're using hotkey mode, you can stop pulling things using H. If there's something you need from others, try asking! This game isn't singleplayer and you'd be surprised what you can get accomplished together! You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! -Felinids get temporarily distracted by laser pointers. Use this to your advantage when being pursued by one. Don't be afraid to ask for help, whether from your peers or from mentors. As the Captain, you have absolute access and control over your ship, but this does not mean that being a horrible person won't result in mutiny and a ban. A medical hardsuit can hold an entire medkit in its suit storage! -While both heal toxin damage, the difference between charcoal and antitoxin is that charcoal will actively remove all other reagents from one's body, while antitoxin only removes various toxins - but can overdose. -You can surgically implant or extract things from people's chests. This can range from putting in a bomb to pulling out an alien larva. +While both heal toxin damage, the difference between charcoal and dylovene is that charcoal will actively remove all other reagents from one's body, while dylovene only removes various toxins - but can overdose. +You can surgically implant or extract things from people's chests using either organ manipulation or cavity implant surgeries. This can range from putting in a bomb to pulling out an alien larva. Using disarm attempt will intentionally fail a surgery step. Corpses with the "...and their soul has departed" description no longer have a ghost attached to them and aren't revivable or clonable. -Treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. +Treating plasmamen is not impossible! Salbutamol stops them from suffocating and showers or stasis beds stop them from burning alive. You can even perform surgery on them by doing the procedure on a roller bed under a shower. You can extract implants by holding an empty implant case in your offhand while performing the extraction step. There are dozens of chemicals that can heal, and even more that can cause harm. Experiment! Some chemicals can only be synthesized by heating up the contents with a chemical heater or manually with lighters and similar tools. You can recharge a chemical dispenser with an inducer or by replacing its cell. Water and Potassium mixed together will create an explosion, with power scaling by amount used. Don't do it. -You can eject someone from cloning early by disabling power in the room. Note that they will suffer more genetic damage and may lose vital organs from this. -Being a hulk makes you capable of dealing high melee damage, stunlocking people, and punching through walls. However, you can't fire guns, will lose your hulk status if you go into critical condition. You can take AIs out of their cores by loading them into an intelliCard, which lets you see their laws, It can also be placed into an AI system integrity restorer computer to revive and/or repair them. -You can use the mutation toxin obtained from green slimes to create various mutation toxins by mixing it with various chemicals! -You can maximize the number of uses you get out of a slime by feeding it slime steroid, created from purple slimes, while alive. You can then apply extract enhancer, created from cerulean slimes, on each extract. You can repair your cyborgs with a welding tool if they have brute damage, if they have burn damage, you can remove their battery, expose the wiring with a screwdriver and replace their wires with a cable coil. You can reset a cyborg's module by cutting and mending the reset wire with a wire cutter. You can augment people with cyborg limbs. Augmented limbs can easily be repaired with cables and welders. @@ -55,45 +48,33 @@ As a AI, you can take pictures with your camera and upload them to newscasters. As a AI, you can use CTRL + 1-9 to set a location hotkey for your camera, allowing you to save the location and jump to it at will. Tilde and zero will return you to the last spot you jumped from, and the numpad numbers act as aliases to the regular number keys. As a Cyborg, choose your module carefully, as only cutting and mending your reset wire will let you repick it. If possible, refrain from choosing a module until a situation that requires one occurs. As a Cyborg, you are immune to most forms of stunning, and excel at almost everything far better than humans. However, flashes can easily stunlock you and you cannot do any precision work as you lack hands. -As a Cyborg, you are impervious to fires and heat. If you are rogue, you can release plasma fires everywhere and walk through them without a care in the world! -As a Cyborg, you are extremely vulnerable to EMPs as EMPs both stun you and damage you. The ion rifle in the armory or a traitor with an EMP kit can kill you in seconds. +As a Cyborg, you are impervious to fires and heat. +As a Cyborg, you are extremely vulnerable to EMPs as EMPs both stun you and damage you. As a Service Cyborg, your spray can knocks people down. However, it is blocked by masks and glasses. As an Engineering Cyborg, you can attach air alarm/fire alarm/APC frames to walls by placing them on the floor and using a screwdriver on them. As a Medical Cyborg, you can fully perform surgery and even augment people. You can rename areas or create entirely new ones using your ship expansion permit. The chief engineer’s hardsuit is significantly better than other engineering hardsuits. It has the best features of both engineering and atmospherics hardsuits - boasting nigh-invulnerability to radiation and all atmospheric conditions. The supermatter shard is an extremely dangerous piece of equipment: touching it will disintegrate you. So will touching it with telepathy. -You can electrify grilles by placing wire "nodes" beneath them: the big seemingly unconnected bulges from a half completed wiring job. +Wire "nodes" (big, seemingly unconnected bulges from half completed wiring jobs) are able to do several things: link up thrusters to prechargers, hook up PACMAN generators, and shock grilles among other things. You can cool a supermatter crystal by spraying it with a fire extinguisher. Only for the brave! You can repair windows by using a welding tool on them while on any intent other than harm. -Don't underestimate the humble P.A.C.M.A.N. generators. A RCD can be reloaded with metal, glass or plasteel sheets instead of just compressed matter cartridges. You can unwrench a pipe regardless of the pressures of the gases inside, but if they're too high they can burst out and injure you! -ATMOS holofan projector blocks gases while allowing objects to pass through. With it, you can quickly contain gas spills, fires and hull breaches. Or, use it to seal a plasmaman cloning room. +ATMOS holofan projector blocks gases while allowing objects to pass through. With it, you can quickly contain gas spills, fires and hull breaches. Beware, they wear off after an amount of time highlighted by numbers on the fans. You can change the layer of a pipe by clicking with it on a wrenched pipe or other atmos component of the desired layer. -As a Clown, if you lose your banana peel, you can still slip people with your PDA! Honk! -As a Clown, eating bananas heals you slightly. Honk! -As a Clown, your Grail is the mineral bananium, which can be used to build you a fun and robust mech beloved by everyone. -As a Clown, you can use your stamp on a sheet of cardboard as the first step of making a honkbot. Fun for the whole crew! -As a Clown, spice your gimmicks up! Nobody likes a one-trick pony. -The null rod has anti magic functions: it makes you immune to magic. Books can be turned into a container that can store small items using wire cutters, bibles have this ability without needing to cut it. You can hack the MegaSeed Vendor to get access to more exotic seeds. These seeds can alternatively be ordered from a express console You can mutate the plants with unstable mutagen or, as an alternative, grow glowshrooms for their radium which also mutates plants to start you up! While growing plants you should look into increasing the potency of your plants. This increases the size, amount of chemicals, points gained from grinding them in the biogenerator, and lets people know you are a proficient botanist. You can create a very wide variety of food with the crafting menu. You can find it by looking for the hammer icon near your intents. You can rename custom food with a pen. -any cooked food will be much healthier than the junk food found in vendors. Having the crew routinely eating cooked will provide minor buffs. +Any cooked food will be much healthier than the junk food found in vendors. Most non-custom foods will have a secondary effect, ranging from healing you to making you move at lightspeed. Experiment! Mousetraps can be used to create bombs or booby-trap containers. -You can order contraband items from a express console without hacking it. -You can earn more cargo points by shipping back crates, liquid containers, plasma sheets, rare seeds from hydroponics, and more! -The express supply console can instantly delivers crates by drop pod. The impact will cause a small explosion as well. Every monster has a pattern you can exploit to minimize damage from the encounters. You can harvest goliath plates from goliaths and upgrade your explorer's suit, mining hardsuits as well as Firefighter APLUs with them, greatly reducing incoming melee damage. You can craft a variety of equipment from the local fauna. Bone axes, lava boats and ash drake armour are just a few of them! -As a Monkey, you can crawl through air or scrubber vents by alt+left clicking them. You must drop everything you are wearing and holding to do this, however. -As a Monkey, you can still wear a few human items, such as backpacks, gas masks and hats, and still have two free hands. As a Drone, you can ping other drones to alert them of areas in need of repair. As a Ghost, you can see the inside of a container on the ground by clicking on it. As a Ghost, you can double click on just about anything to follow it. Or just warp around! @@ -106,3 +87,72 @@ You can light a cigar on a supermatter crystal. Using sticky tape on items can make them stick to people and walls! Be careful, grenades might stick to your hand during the moment of truth! In a pinch, stripping yourself naked will give you a sizeable resistance to being tackled. What do you value more, your freedom or your dignity? Wearing riot armor makes you significantly more effective at performing tackle takedowns, but will use extra stamina with each leap! It will also significantly protect you from other tackles! +As the Captain of your vessel, do not neglect the responsibilities of your command. You are the anchor the crew is expected to rely upon, and not being present or authoritative will hurt the experience. +As a vessel's second in command, you have the unique position of being able to temper the behaviour of the Captain. Obey their orders, but do not be afraid to offer your own advice or shoulder some of command's responsibilities. +It is highly ill-advised to run off on your own while exploring. Many ruins and planets are perilous and a match for even experienced players, and having someone to watch your back will save you a lot of trouble. +More often that not, most ships will be apply-only. Don't be afraid to read the memo and try for an application, many captains simply want to curate a certain type of behaviour aboard their vessels. +Captaining is one of the best ways to curate a faction. Set standards, distinguish yourself and your crew, and keep them engaged, and they'll be coming back not only to your ship, but also to the faction. +Most improvised ways of providing medical aid or reviving the dead can be slow or dangerous to the person if you or your character are inexperienced with medicine. Don't be afraid to call for a medical ship if the situation is dire. +In the event most or all of your crew is incapacitated or dead, don't be afraid to ahelp to ask for a distress call. They'll be happy to get you back into the round and the medical ships will be happy as well. +Don't be afraid to ahelp if you're unsure about another player's conduct. If they're making you uncomfortable or hurting the experience, the admins would be happy to sort things out. +Many plants on sand and lava worlds are medicinal, and can stretch your supplies. +For higher tier drill contracts, its recommended to bring a toolbox, spare stock parts, and plasteel if you're not confident in your abilities. The drill is prone to running low on power or needing to be repaired if damaged. +Many weapons can get sawed off, hurting their accuracy and occasionally ammo capacity but wildly compacting them. Hunter's Pride shotguns, the Flaming Arrow, the Illestren, among others, are included. +Static anomalies will cause brain damage in close proximity. Minimize contact with them. +Gravitational anomalies (thronglers) can quickly kill if they're intense. Sometimes, a chair can be used to get close to neutralize them, but do so at your own risk. They cause heavy brute damage. +Certain anomalies like heartbeat, vein, jumper, or plasmasoul anomalies can interact with you through walls. Be careful docking to worlds with anomalies. +Safe speed for carp migrations are under 2 GM/s, for asteroids are below 3 GM/s, and for dust is below 7 GM/s. There is no safe speed for electrical storms, you need full grounding rod coverage. +You can sometimes minimize damage from electrical storms by turning off lights and preventing all source of passive light from touching the outside of the vessel. It is notoriously gimmicky, though, do so at your own risk. +Dwarf legions tend to try and run back towards you if you're too far away. Lure them in for an attack by withdrawing before they retreat again. +Brimdemons oftentimes will strike you with a single melee attack before fleeing for another beam. Back away once they're done firing to minimize chip damage. +You can examine someone twice to see which limb they're bleeding from, to administer gauze or sutures. +Vox are allergic to Ephedrine, Atropine, Epinephrine, Mannitol, Antihol, and Stimulants. Not lethal in small amounts, but it is recommended to purge these reagents if you've made a mistake. +Grinded iron or iron pills from oxygen deprivation kits can be used to slowly regenerate blood in living people, if your blood supplies are thin. +Crystal goliaths, elite mobs, and ancient goliaths give research points on dissection, varying from 5000 to 40000 depending on technology and mob. +Crystal legions and crystal goliaths are extremely dangerous up close. Try and eliminate them quickly from range with powerful firearms. +The smaller the vessel, the more throttle will effect your acceleration. If you're piloting a subshuttle, it's recommended to keep low throttle and adjust to your liking. +Plasma thrusters can allow for extreme speed, but it is recommended to conserve them. You can minimize fuel consumption by using them in small bursts with a low throttle before turning them back off. +Jackhammers can be used to quickly break down walls for breaching or salvage. +Blast doors can be taken apart for a fair amount of plasteel, if you're hurting on fuel. +Kepori have an innate ability to tackle. It can take the enemy off guard, but recommend a helmet if you're using it near walls or prone to miss. +Laser and energy weapons have a cell that can be removed with a screwdriver. If you're removing a cell from a weapon that is not in your hand (on a suit storage slot, for example), the cell will go into your hand instead of the ground. +Frontiersmen clothes and Ramzi Clique rusted red hardsuits are established pirate equipment, and you're likely to be fired upon if you wear them. Use at your own risk. +You can access the black market by building an uplink with a handheld radio, analyzer, and scanning module. It tends to have a random selection of unique items at highly varied prices. You can purchase a LTSRBT from the outpost for a more convenient delivery. +Most armour sets outside of hardsuits do not cover the limbs. Give yourself an advantage by firing on someones legs or arms to slow them down or shoot out their weapon. +You can remove prosthetics or IPC / FBP limbs with prosthetic removal surgery, even on yourself. +You can early eject the en bloc of Illestrens by not firing the last round and clicking on the rifle with your empty hand to take it out manually, for a fast and tactical reload. +The HP Shadow cannot reload all rounds at once with a speedloader, it must be reloaded one round at a time. +You can make an emergency landing by docking to an empty space if you've lost control of your speed or are about to crash into hazards. +It is safe to cross over the tile the system sun is on. Trust me, I've tried. +Acid tiles and acid from anomalies can be sprayed off with fire extinguishers. +You can extinguish yourself without walls nearby by clicking the tile you're on with your extinguisher. +It's wise to carry a pocket extinguisher on sand and lava worlds, for acid and lava respectively. +Directional firelocks can quickly minimize pressure loss from holofield failures, if your vessel lacks them. +Holofields rely on extra power being on the wire net. Make sure power load is a fair bit higher than the draw so you don't get launched into vacuum. +Elzuose are able to heal a respectable amount of damage by rooting in soil or grass. It gives a sizable mood increase, as well as charging your battery. +If you're confused about the contents of an alcoholic drink bottle, you can examine to more often than not see what it contains on the label. +If you don't feel like grinding 500 basic power cells to make potassium, you can buy chemicals from the outpost in bulk. +You can synthesize most chems by clicking certain reagents with stock parts. Examples being Iodine to Bromine with a scanning module and water into 2:1 hydrogen / oxygen with a capacitor. +Perfluorodecalin in oxygen deprivation kits convert oxygen damage to toxin damage at a very effective ratio. Just know what you're doing and be prepared to administer anti-tox chems if it is a large amount of damage. +Epi-pens contain a small amount of formaldehyde, that prevents organs from decaying while they're in a body's system. Use it to give yourself more time while reviving. +Anomalies will give two frequencies when you analyze them, a primary and a secondary, unstable frequency. The primary will neutralize, and the unstable will more often than not cause an explosion or a similar negative effect. +Landmines have 4 wires; one disarms the mind, the other deactivates the pressure plate, another blows it up, and another blows it up on a delay. +You can tamper with landmines from range by pulsing the wires with signalers. +Not everyone is from their species' homeworld. It can be common for a human to have a Kalixcian or Tecetian name, for example. +It can be fun to brainstorm new characters. Give it a shot, you might like it. +You can create entire new shuttles and subshuttles with a shuttle manipulator either from RND or from the outpost. It's usually resource and money-intensive, so be prepared! +Class 3 drills are incredibly dangerous alone or in small groups, even if you're experienced with mining and combat. Bring along a larger crew or call someone willing to help if you're thinking of taking them on. +Most smaller ships can be easily made immune to electrical storms if grounding rods are spaced out around the hull. You can make some quick money from rarely-taken storm contracts. +Ripleys are able to hold up to ten crates and other miscellaneous items like PACMAN generators using a hydraulic clamp. The scrapper's favourite. +Fights can be heavily in favour of the defenders if you play your cards right. Get good angles, turn off lights to give yourself cover, and be able to fire from multiple areas. More than likely, you'll know your environment better than the attacker. +Crate shelves can be used to maximize storage in your cargo bays. No more messes for you. +You can fashion cloth into a rag to clean up your vessel if you've tracked in some blood. +Some ships might prioritize characters exclusively from a faction in their memos, and that's okay! You can experiment with new characters to join, or join / captain another ship. +Moths, if their wings are intact, have full mobility in zero gravity environments that have an atmosphere. +Vox are near-unmatched in hand-to-hand fighting; their kicks deal extra damage and hurt organs. +IPC posibrains are contained in the chest, not the head. +Shiptest has uptime on Wednesdays, Fridays, and Saturdays. +Exosuits are not as durable as they might feel, and it is still wise to take cover with them. +Turning on strafing mode on an exosuit for combat is wise, and allows you to keep your firing lines constantly on the enemy. +A Gygax's leg actuators drain the cell very quickly. Use sparingly. +Installing higher tier capacitors on exosuits increases power efficiency on exosuit abilities, weapons, and idling. diff --git a/strings/traumas.json b/strings/traumas.json index f6bd9b589553..1d1e98581d4f 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -1,168 +1,4 @@ { - "brain_damage": [ - "@pick(semicolon)IM A PONY NEEEEEEIIIIIIIIIGH", - "without oxigen blob don't evoluate?", - "@pick(semicolon)CAPTAINS A COMDOM", - "can u give me @pick(mutations)?", - "THe saiyans screwed", - "Bi is THE BEST OF BOTH WORLDS>", - "@pick(semicolon)I WANNA PET TEH monkeyS", - "stop grifing me!!!!", - "SOTP IT#", - "shiggey diggey!!", - "@pick(semicolon)A PIRATE APPEAR", - "FUS RO DAH", - "stat me", - ">my face", - "roll it easy!", - "lol2cat", - "dem dwarfs man, dem dwarfs", - "hwee did eet fhor khayosss", - "lifelike texture ;_;", - "luv can bloooom", - "PACKETS!!!", - "port ba@pick(y_replacements) med!!!!", - "youed call her a toeugh bithc", - "closd for merbegging", - "@pick(semicolon)pray can u @pick(create_verbs) @pick(create_nouns)???", - "GEY AWAY FROM ME U GREIFING PRICK!!!!", - "@pick(semicolon)HELP INTEG MURDERIN MEE!!!", - "hwat dose tha @pick(random_gibberish) mean?????", - "@pick(semicolon)DO A BLUP SPEaS JUMP!!!!!", - "wearnig siNGUARLTY is.... FINE haHAAA", - "@pick(semicolon)AI laW 22 Open door", - "@pick(semicolon)this SI mY sHip......", - "who the HELL do u thenk u r?!!!!", - "geT THE FUCK OUTTTT", - "@pick(semicolon)CRASHING THIS SHIMP WITH NIO SURVIVROS", - "PSHOOOM", - "REMOVE SINGULARITY", - "INSTLL TEG", - "TURBIN IS BEST ENGIENE", - "SOLIRS CAN POWER THE HOLE FLEEHT ANEWAY @pick(bug)", - "parasteng was best", - "@pick(semicolon)I'VE GOT BALLS OF STEEL", - "NO I'M ONNA KILL YOU MOTHERFUCKER OLD STYLE", - "i will snatch erry motherfucker birthday", - "u just did the world a little bit more sad place for someone", - "@pick(semicolon)N-NYAAAAAA~", - "@pick(bug)", - "@pick(semicolon)wtf??????????? @pick(bug)", - "@pick(semicolon)i ran into the supermattre ten i dsappeard @pick(bug)", - "DON'T EVER TUCH ME", - "@pick(semicolon)How do I set up the. SHow do I set u p the Singu. how I the scrungulartiy????", - "AMOGN US IS FUNNY!!", - "DID YOU FUCKING.", - "i DEMAND!!! APOGEE-DEV BE DEOMTED!!!", - "@pick(semicolon)I don't ndED tEARPAHY.", - "@pick(semicolon)an,d CIOCK.", - "TUWN ME INoT A CAT!!", - "WHY WAES THE PEILL REMOVED???", - "work on the wiki please", - "ahelp SPAWN @pick(aspawnships) PLS", - "Am i allowd to kil l people if thye piss me off", - "IS THIS LIEK VOIDCREW???", - "UNiT PANICKING.", - "HIII!! HI!! <3 <3 <3", - "I LOOK LKIE BEAN,S,,, CRINGE!!!", - "SEET TH shIP TO kOS!!!!!", - "IM SynDCIATe, I ANTag, I CAN KOS......", - "ahelp ADMIN CAN I BE PIRTA", - "DOCTOR YUO DO DISCETIONS!!!", - "RESERCH NANIYES", - "REVSRSE A NY WALLS!!!", - "*monch", - "Amonger", - "Live mas", - "top ten goliath funny moments", - "put me... in a stew... then buryy mee...", - "@pick(semicolon)GTT AWYA FROM HER YOU BITHC!!", - "@pick(semicolon)IS TATH A FUCKIGN,, MOTH.", - "@pick(semicolon)BRAZIL NUMEOR UNO...!!!!", - "@pick(semicolon)blbue hair??? I'M GOIgN TO KILL THDT FUIKNG COW!", - "@pick(semicolon)HOW DO I @pick(ghetto)?????", - "ough", - "ourgh", - "ouughghnnnn", - "hrrnggg", - "HE IS BALD!!!", - "I AM NORMAL. I CAN BE TRUSTED WITH INDUSTRIAL CHEMICALS", - "Welcome to the bathroom", - "THE AMOUNGS BROKE ALL MY BONES", - "HOLY SHIT IT'S @pick(john) @pick(factions)!!", - "BLrobo BLEEBUS.....", - "drugs are funny because they add new rp elements", - "ANOTHER SHIP... STERALIZED...", - "HOpeLes WAsN'T ALwAYS NaMeD HoPelESs BeFORE THe incIDENST...", - "@pick(semicolon)HopeLSS WAS ACTUAL. Ly a LIVIng WaePON....", - "@pick(semicolon)WHEN SHIPQUEST????? PANEL NEW??????", - "WHER.E SHIPQUEST???,???", - "ei,,ither wAy... It Is WHt ti is", - "butT ShIPPtSt nEVER was a WrAZnOe liKE thaEt!!", - "A deEoP-setED dISEuire... fuR pERfECTiOsM...", - "HUMORER IS A DECLIAT THINGE!!", - "who's the asshole flying the pill class", - "IVOR@pick(y_replacements) WHAT THE FOUCKE ARE U DUING!!!??", - "RESIEST BIG MOETH", - "WE MUSTE RIASE UOP AGANST BEEG MOTNH", - "Luckily, I passed high school physics", - "I WANT NOTHING MORE IN THIS LIFE THAN TO CUDDLE UP WITH A CUTE MOTH WAIFU!!", - "GO TO HORNY JAIL!!" - ], - - "mutations": [ - "telikesis", - "halk", - "eppilapse", - "kamelien", - "eksrey", - "glowey skin", - "fungal tb", - "stun gloves" - ], - - "john": ["joehn", "jonn", "jouhn", "jeeoun"], - - "factions": ["SYNDICT", "NATOSASEN", "EEMTEQ", "MIENUTMEN", "SOMLGOVM"], - - "random_gibberish": ["g", "squid", "r", "carbon dioxide"], - - "y_replacements": ["y", "i", "e"], - - "create_verbs": ["spawn", "MAke me", "creat", "tc trade me", "gib"], - - "create_nouns": [ - "zenomorfs", - "ayleins", - "treaitors", - "sheadow lings", - "abdoocters", - "revinent", - "deval", - "deth squads", - "bleb", - "cock cult", - "anteg" - ], - - "aspawnships": [ - "BUblBUE", - "RoUBE", - "PeEL", - "TWInkLRE", - "MAYONEISE", - "raEDIO", - "joUPITR", - "HAELR TROCK", - "BEYOO", - "TID" - ], - - "bug": ["", "IS TIS A BUG??", "SI IST A BUGG/", "BUG!!!"], - - "semicolon": ["", ";", ".h"], - - "ghetto": ["ghetcheom", "ghettoghemc", "gahttochem"], "god_foe": [ "MORTALS", diff --git a/tgui/packages/tgui/constants.ts b/tgui/packages/tgui/constants.ts index 270ce9873bd6..e17958e787f3 100644 --- a/tgui/packages/tgui/constants.ts +++ b/tgui/packages/tgui/constants.ts @@ -239,7 +239,7 @@ const GASES = [ color: 'paleturquoise', }, { - id: 'hydrogen', + id: 'h2', path: '/datum/gas/hydrogen', name: 'Hydrogen', label: 'H₂', @@ -294,6 +294,20 @@ const GASES = [ label: 'Nitrium', color: 'brown', }, + { + id: 'cl2', + path: '/datum/gas/cl2', + name: 'Chlorine', + label: 'Cl₂', + color: 'yellow', + }, + { + id: 'hcl', + path: '/datum/gas/hcl', + name: 'Hydrogen Chloride', + label: 'HCl', + color: 'greenyellow', + }, ] as const; // Returns gas label based on gasId diff --git a/tgui/packages/tgui/interfaces/Cargo.js b/tgui/packages/tgui/interfaces/Cargo.js deleted file mode 100644 index 9dfcd417f593..000000000000 --- a/tgui/packages/tgui/interfaces/Cargo.js +++ /dev/null @@ -1,533 +0,0 @@ -import { flow } from 'common/fp'; -import { filter, sortBy } from 'common/collections'; -import { useBackend, useSharedState } from '../backend'; -import { - AnimatedNumber, - Box, - Button, - Flex, - Icon, - Input, - LabeledList, - NoticeBox, - Section, - Stack, - Table, - Tabs, -} from '../components'; -import { formatMoney } from '../format'; -import { Window } from '../layouts'; - -export const Cargo = (props, context) => { - return ( - - - - - - ); -}; - -export const CargoContent = (props, context) => { - const { act, data } = useBackend(context); - const [tab, setTab] = useSharedState(context, 'tab', 'catalog'); - const { requestonly } = data; - const cart = data.cart || []; - const requests = data.requests || []; - return ( - - -
    - - setTab('catalog')} - > - Catalog - - 0 && 'yellow'} - selected={tab === 'requests'} - onClick={() => setTab('requests')} - > - Requests ({requests.length}) - - {!requestonly && ( - <> - 0 && 'yellow'} - selected={tab === 'cart'} - onClick={() => setTab('cart')} - > - Checkout ({cart.length}) - - setTab('help')} - > - Help - - - )} - -
    - {tab === 'catalog' && } - {tab === 'requests' && } - {tab === 'cart' && } - {tab === 'help' && } -
    - ); -}; - -const CargoStatus = (props, context) => { - const { act, data } = useBackend(context); - const { - department, - grocery, - away, - docked, - loan, - loan_dispatched, - location, - message, - points, - requestonly, - can_send, - } = data; - return ( -
    - formatMoney(value)} - /> - {' credits'} - - } - > - - - {(docked && !requestonly && can_send && ( -
    - ); -}; - -/** - * Take entire supplies tree - * and return a flat supply pack list that matches search, - * sorted by name and only the first page. - * @param {any[]} supplies Supplies list. - * @param {string} search The search term - * @returns {any[]} The flat list of supply packs. - */ -const searchForSupplies = (supplies, search) => { - search = search.toLowerCase(); - - return flow([ - (categories) => categories.flatMap((category) => category.packs), - filter( - (pack) => - pack.name?.toLowerCase().includes(search.toLowerCase()) || - pack.desc?.toLowerCase().includes(search.toLowerCase()) - ), - sortBy((pack) => pack.name), - (packs) => packs.slice(0, 25), - ])(supplies); -}; - -export const CargoCatalog = (props, context) => { - const { express } = props; - const { act, data } = useBackend(context); - - const { self_paid, app_cost } = data; - - const supplies = Object.values(data.supplies); - - const [activeSupplyName, setActiveSupplyName] = useSharedState( - context, - 'supply', - supplies[0]?.name - ); - - const [searchText, setSearchText] = useSharedState( - context, - 'search_text', - '' - ); - - const activeSupply = - activeSupplyName === 'search_results' - ? { packs: searchForSupplies(supplies, searchText) } - : supplies.find((supply) => supply.name === activeSupplyName); - - return ( -
    - - act('toggleprivate')} - /> - - ) - } - > - - - - - - - - - - { - if (value === searchText) { - return; - } - - if (value.length) { - // Start showing results - setActiveSupplyName('search_results'); - } else if (activeSupplyName === 'search_results') { - // return to normal category - setActiveSupplyName(supplies[0]?.name); - } - setSearchText(value); - }} - onChange={(e, value) => { - // Allow edge cases like the X button to work - const onInput = e.target?.props?.onInput; - if (onInput) { - onInput(e, value); - } - }} - /> - - - - {supplies.map((supply) => ( - { - setActiveSupplyName(supply.name); - setSearchText(''); - }} - > - {supply.name} ({supply.packs.length}) - - ))} - - - - - {activeSupply?.packs.map((pack) => { - const tags = []; - if (pack.small_item) { - tags.push('Small'); - } - if (pack.access) { - tags.push('Restricted'); - } - return ( - - {pack.name} - - {tags.join(', ')} - - - - - - ); - })} -
    -
    -
    -
    - ); -}; - -const CargoRequests = (props, context) => { - const { act, data } = useBackend(context); - const { requestonly, can_send, can_approve_requests } = data; - const requests = data.requests || []; - // Labeled list reimplementation to squeeze extra columns out of it - return ( -
    act('denyall')} - /> - ) - } - > - {requests.length === 0 && No Requests} - {requests.length > 0 && ( - - {requests.map((request) => ( - - - #{request.id} - - {request.object} - - {request.orderer} - - - {request.reason} - - - {formatMoney(request.cost)} cr - - {(!requestonly || can_send) && can_approve_requests && ( - -
    - )} -
    - ); -}; - -const CargoCartButtons = (props, context) => { - const { act, data } = useBackend(context); - const { requestonly, can_send, can_approve_requests } = data; - const cart = data.cart || []; - const total = cart.reduce((total, entry) => total + entry.cost, 0); - if (requestonly || !can_send || !can_approve_requests) { - return null; - } - return ( - <> - - {cart.length === 0 && 'Cart is empty'} - {cart.length === 1 && '1 item'} - {cart.length >= 2 && cart.length + ' items'}{' '} - {total > 0 && `(${formatMoney(total)} cr)`} - -