diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm index 3d9b5410eea..57d82ac5f87 100644 --- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm +++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_lower.dmm @@ -504,7 +504,7 @@ /obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/floor/stone/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "lZ" = ( @@ -1336,7 +1336,7 @@ /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "Hi" = ( -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "Hv" = ( @@ -1935,6 +1935,11 @@ /obj/item/ammo_casing/arrow, /turf/open/misc/dirt/icemoon, /area/ruin/unpowered/primitive_catgirl_den) +"VZ" = ( +/obj/effect/turf_decal/weather/snow/corner, +/obj/machinery/smartfridge/drying/rack, +/turf/open/misc/dirt/icemoon, +/area/ruin/unpowered/primitive_catgirl_den) "WM" = ( /obj/structure/mineral_door/wood/large_gate{ dir = 8 @@ -3614,7 +3619,7 @@ gY wM eS pa -Ug +VZ oJ oJ sS diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_upper.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_upper.dmm index 1f7e407ed3a..e50a330f102 100644 --- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_upper.dmm +++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_icewalker_upper.dmm @@ -831,7 +831,7 @@ /turf/open/floor/wood/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "Ej" = ( -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/floor/stone/icemoon, /area/ruin/unpowered/primitive_catgirl_den) "Ez" = ( diff --git a/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_ash_walker1_skyrat.dmm b/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_ash_walker1_skyrat.dmm index f870375de62..6d8c3d0ed0a 100644 --- a/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_ash_walker1_skyrat.dmm +++ b/_maps/RandomRuins/LavaRuins/skyrat/lavaland_surface_ash_walker1_skyrat.dmm @@ -1041,7 +1041,7 @@ /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) "MR" = ( -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /obj/structure/stone_tile/slab, /turf/open/misc/asteroid/basalt/lava_land_surface, /area/ruin/unpowered/ash_walkers) diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 168790f83ac..a5f5352ae69 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -22839,9 +22839,8 @@ /turf/open/floor/iron, /area/station/security/checkpoint/medical/medsci) "fGn" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/bot, /obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "fGt" = ( diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 5457497b8bc..f31f8d73248 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -52092,11 +52092,10 @@ /turf/open/floor/grass, /area/station/security/warden) "pBS" = ( -/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/siding/white{ dir = 1 }, -/obj/item/kirbyplants/organic/applebush, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/white/smooth_large, /area/station/service/kitchen) "pBV" = ( @@ -57072,7 +57071,6 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "qWf" = ( -/obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/siding/white{ dir = 1 }, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index d0ff3a75ab8..99cf05d0d9d 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -36156,7 +36156,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/deepfryer, +/obj/machinery/smartfridge/drying, /obj/effect/turf_decal/bot, /obj/effect/turf_decal/trimline/brown/warning{ dir = 9 diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index c0cb1b2b3bb..973e32ebff3 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -1816,7 +1816,7 @@ /turf/closed/wall/r_wall, /area/mine/laborcamp) "kh" = ( -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /obj/item/food/cheese/firm_cheese, /turf/open/floor/wood/parquet, /area/mine/lobby/raptor) diff --git a/_maps/map_files/NSVBlueshift/Blueshift.dmm b/_maps/map_files/NSVBlueshift/Blueshift.dmm index dcd6e5af381..7ac29c3347a 100644 --- a/_maps/map_files/NSVBlueshift/Blueshift.dmm +++ b/_maps/map_files/NSVBlueshift/Blueshift.dmm @@ -110752,10 +110752,10 @@ /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/smartfridge/drying_rack, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, +/obj/machinery/smartfridge/drying/rack, /turf/open/floor/wood, /area/station/service/chapel) "vfY" = ( @@ -112834,7 +112834,7 @@ /turf/open/floor/iron, /area/station/engineering/main) "vyB" = ( -/obj/machinery/deepfryer, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) "vyF" = ( diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 35a6c56741f..ac39b6bb3af 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -58509,7 +58509,7 @@ /area/station/science/robotics/lab) "pbr" = ( /obj/machinery/light/directional/east, -/obj/machinery/deepfryer, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "pbt" = ( diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 28f15e2b08f..a389e5d0957 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -60536,20 +60536,8 @@ }, /area/station/commons/fitness/recreation) "qSs" = ( -/obj/structure/table, -/obj/item/plate/large, -/obj/item/plate, -/obj/item/plate/small{ - pixel_y = 1 - }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = 10; - pixel_y = 18 - }, -/obj/item/knife/butcher{ - pixel_x = 5 - }, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "qSu" = ( @@ -70518,6 +70506,18 @@ "tDA" = ( /obj/structure/table, /obj/machinery/light/directional/north, +/obj/item/plate/large, +/obj/item/plate, +/obj/item/plate/small{ + pixel_y = 1 + }, +/obj/item/knife/butcher{ + pixel_x = 5 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = 10; + pixel_y = 18 + }, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "tDI" = ( diff --git a/_maps/map_files/generic/CentCom_skyrat_z2.dmm b/_maps/map_files/generic/CentCom_skyrat_z2.dmm index 274728a23d2..80300a0c849 100644 --- a/_maps/map_files/generic/CentCom_skyrat_z2.dmm +++ b/_maps/map_files/generic/CentCom_skyrat_z2.dmm @@ -5396,7 +5396,7 @@ /obj/effect/turf_decal/weather/snow/corner{ dir = 10 }, -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/misc/dirt/planet, /area/centcom/holding/cafe/park) "cEy" = ( diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 15b8b3a93aa..c3413e8770b 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -11241,7 +11241,7 @@ /turf/open/floor/engine, /area/station/engineering/supermatter/room) "cON" = ( -/obj/machinery/deepfryer, +/obj/machinery/smartfridge/drying, /turf/open/floor/iron/white/side{ dir = 8 }, diff --git a/_maps/safehouses/ice.dmm b/_maps/safehouses/ice.dmm index f7faa997396..96d689339ab 100644 --- a/_maps/safehouses/ice.dmm +++ b/_maps/safehouses/ice.dmm @@ -148,7 +148,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/west, -/obj/machinery/smartfridge/drying_rack, +/obj/machinery/smartfridge/drying/rack, /turf/open/floor/iron, /area/virtual_domain/safehouse) "O" = ( diff --git a/_maps/virtual_domains/pirates.dmm b/_maps/virtual_domains/pirates.dmm index 79830c71f14..3f6b66d6d44 100644 --- a/_maps/virtual_domains/pirates.dmm +++ b/_maps/virtual_domains/pirates.dmm @@ -1,15 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"af" = ( -/obj/structure/flora/rock/pile/style_2, -/turf/open/water/beach, -/area/virtual_domain/protected_space/fullbright) "al" = ( /obj/structure/flora/bush/sunny, /turf/open/misc/grass, /area/virtual_domain/fullbright) -"au" = ( -/turf/open/water/beach, -/area/virtual_domain/protected_space/fullbright) "bb" = ( /obj/effect/turf_decal/weather/sand, /turf/open/floor/wood, @@ -19,39 +12,20 @@ dir = 10 }, /area/virtual_domain/fullbright) -"be" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/structure/flora/rock/pile, -/turf/open/water/beach, +"br" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/misc/dirt/jungle, /area/virtual_domain/protected_space) -"bI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/gun/energy/laser/musket{ - pixel_y = 7 - }, -/obj/item/gun/energy/laser/musket{ - pixel_y = 2 - }, -/obj/item/gun/energy/laser/musket{ - pixel_y = -3 - }, -/turf/open/floor/wood, +"ce" = ( +/obj/structure/flora/rock/pile/style_2, +/turf/open/water/beach, /area/virtual_domain/protected_space/fullbright) -"cr" = ( -/obj/item/stack/cannonball/shellball{ - pixel_x = 13; - pixel_y = 11 +"cT" = ( +/obj/item/gun/energy/laser/hellgun{ + pixel_y = 10 }, -/obj/item/stack/cannonball{ - pixel_x = 9; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "cX" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/claymore/cutlass, @@ -67,16 +41,38 @@ icon_state = "wood_large" }, /area/virtual_domain/fullbright) -"db" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/beach, -/area/virtual_domain/protected_space) "dc" = ( /turf/open/misc/beach/coast/corner, /area/virtual_domain/fullbright) +"dp" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) +"dz" = ( +/obj/structure/flora/rock/pile/jungle/large, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"dL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/flashlight/flare/torch{ + pixel_y = 10; + pixel_x = 7 + }, +/obj/item/reagent_containers/cup/bucket/wooden{ + pixel_y = -16; + pixel_x = 12 + }, +/obj/machinery/recharger{ + pixel_y = 6; + pixel_x = -5 + }, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) "dN" = ( /obj/machinery/door/airlock/vault{ color = "#825427"; @@ -84,25 +80,9 @@ }, /turf/open/floor/wood/parquet, /area/virtual_domain) -"eO" = ( -/obj/structure/flora/rock/pile, -/turf/open/water/beach, -/area/virtual_domain/protected_space/fullbright) -"eP" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 4 - }, -/turf/open/misc/beach/coast{ - dir = 6 - }, -/area/virtual_domain/protected_space) "eS" = ( /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"fd" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "fh" = ( /obj/structure/flora/bush/sparsegrass, /obj/structure/flora/bush/lavendergrass, @@ -112,11 +92,6 @@ /obj/structure/flora/bush/sparsegrass/style_random, /turf/open/misc/grass, /area/virtual_domain/fullbright) -"fw" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "fR" = ( /obj/effect/baseturf_helper/virtual_domain, /turf/closed/indestructible/binary, @@ -128,10 +103,6 @@ /obj/effect/decal/cleanable/glass, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"gt" = ( -/obj/item/flashlight/flare/torch, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) "gu" = ( /obj/structure/flora/bush/stalky, /turf/open/misc/beach/coast, @@ -155,27 +126,31 @@ /obj/structure/flora/bush/ferny, /turf/open/misc/grass, /area/virtual_domain/fullbright) +"gN" = ( +/obj/structure/fermenting_barrel/gunpowder{ + pixel_x = -4; + pixel_y = 17 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) +"ha" = ( +/turf/closed/mineral/random/jungle, +/area/virtual_domain/protected_space) "hb" = ( /turf/closed/indestructible/binary, /area/virtual_domain/fullbright) -"hn" = ( +"hp" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"hx" = ( /obj/effect/turf_decal/weather/dirt{ - dir = 4 + dir = 1 }, +/obj/effect/turf_decal/weather/dirt, /turf/open/water/beach, /area/virtual_domain/protected_space) -"hq" = ( -/obj/structure/closet/crate/grave, -/obj/structure/flora/grass/jungle/b, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"hX" = ( -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/water/beach, -/area/virtual_domain/fullbright) "jp" = ( /obj/effect/landmark/bitrunning/cache_spawn, /turf/open/misc/beach/sand, @@ -192,6 +167,25 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/misc/grass, /area/virtual_domain/fullbright) +"ki" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"kl" = ( +/obj/structure/flora/bush/sunny/style_3{ + pixel_y = 22 + }, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"kE" = ( +/obj/structure/flora/grass/jungle/b/style_random{ + pixel_x = -13; + pixel_y = 18 + }, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "lF" = ( /obj/structure/table/wood, /obj/item/melee/energy/sword/pirate{ @@ -222,54 +216,29 @@ /obj/effect/decal/cleanable/oil/streak, /turf/open/floor/wood, /area/virtual_domain/fullbright) +"lM" = ( +/obj/structure/flora/rock/pile/style_3, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "mp" = ( /turf/open/misc/beach/coast{ dir = 4 }, /area/virtual_domain/fullbright) -"mR" = ( -/obj/machinery/smartfridge/drying_rack, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"nb" = ( -/obj/structure/fermenting_barrel{ - pixel_x = 6; - pixel_y = 11 - }, -/obj/effect/turf_decal/weather/sand{ - dir = 9 - }, -/obj/effect/mob_spawn/ghost_role/human/virtual_domain/pirate, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) +"na" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/rock/pile, +/turf/open/water/beach, +/area/virtual_domain/protected_space) "nr" = ( /mob/living/basic/trooper/pirate/melee, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"nN" = ( -/obj/structure/flora/rock, -/turf/open/water/beach, -/area/virtual_domain/protected_space/fullbright) -"nQ" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain/protected_space/fullbright) -"oB" = ( -/obj/structure/flora/grass/jungle, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "oL" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/bed/maint, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"oM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "pi" = ( /obj/structure/flora/rock/style_3, /turf/open/water/beach, @@ -278,21 +247,28 @@ /obj/structure/flora/bush/flowers_br/style_random, /turf/open/misc/grass, /area/virtual_domain/fullbright) -"py" = ( -/turf/closed/indestructible/binary, -/area/virtual_domain/protected_space/fullbright) -"qk" = ( -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "qE" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/ordnance, /turf/open/floor/carpet/blue, /area/virtual_domain) +"qR" = ( +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "qS" = ( /obj/effect/decal/cleanable/ants, /turf/open/misc/grass, /area/virtual_domain/fullbright) +"qT" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"qV" = ( +/obj/machinery/smartfridge/drying/rack, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) "ri" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -301,29 +277,6 @@ /mob/living/basic/trooper/pirate/ranged/space, /turf/open/floor/carpet/blue, /area/virtual_domain) -"rm" = ( -/obj/structure/closet/crate/goldcrate, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"rn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/flashlight/flare/torch{ - pixel_y = 10; - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/bucket/wooden{ - pixel_y = -16; - pixel_x = 12 - }, -/obj/machinery/recharger{ - pixel_y = 6; - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "ru" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -335,13 +288,16 @@ /obj/item/toy/plush/beeplushie, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"sb" = ( -/turf/open/water/beach, -/area/virtual_domain/protected_space) "sj" = ( /obj/effect/mine/explosive/light, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) +"sH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) "td" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/landmark/bitrunning/cache_spawn, @@ -368,6 +324,10 @@ icon_state = "wood_large" }, /area/virtual_domain/fullbright) +"tR" = ( +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "ub" = ( /turf/template_noop, /area/virtual_domain/safehouse) @@ -400,12 +360,33 @@ icon_state = "wood_large" }, /area/virtual_domain/fullbright) -"vR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, +"uS" = ( /turf/open/floor/wood, /area/virtual_domain/protected_space/fullbright) +"vo" = ( +/obj/structure/closet/crate/grave, +/obj/structure/flora/grass/jungle/b, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"vX" = ( +/obj/item/stack/cannonball/shellball{ + pixel_x = 13; + pixel_y = 11 + }, +/obj/item/stack/cannonball{ + pixel_x = 9; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) +"wf" = ( +/obj/structure/flora/rock/pile/jungle/style_3{ + pixel_x = -15; + pixel_y = -4 + }, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) "wj" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -414,17 +395,22 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"wu" = ( -/obj/structure/flora/grass/jungle/b{ - pixel_x = -15; - pixel_y = 9 +"wn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/structure/flora/rock/pile/jungle/large/style_2{ - pixel_x = -3; - pixel_y = -1 +/obj/structure/table/wood, +/obj/item/gun/energy/laser/musket{ + pixel_y = 7 }, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) +/obj/item/gun/energy/laser/musket{ + pixel_y = 2 + }, +/obj/item/gun/energy/laser/musket{ + pixel_y = -3 + }, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) "wH" = ( /obj/structure/fluff/beach_umbrella{ pixel_x = -7; @@ -448,25 +434,14 @@ "xp" = ( /turf/open/water/beach, /area/virtual_domain/fullbright) -"zc" = ( -/obj/item/gun/energy/laser/hellgun{ - pixel_y = 10 - }, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "zj" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/effect/decal/cleanable/garbage, /turf/open/floor/wood, /area/virtual_domain/fullbright) -"zk" = ( +"zA" = ( /obj/effect/turf_decal/siding/wood, -/obj/item/melee/sabre{ - pixel_y = 12; - pixel_x = -10 - }, -/obj/item/gun/energy/laser/retro, -/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/virtual_domain/protected_space/fullbright) "zR" = ( @@ -503,11 +478,6 @@ /obj/structure/rack/skeletal, /turf/open/floor/wood/parquet, /area/virtual_domain) -"AK" = ( -/obj/structure/flora/rock/pile/jungle/style_2, -/obj/effect/baseturf_helper/virtual_domain, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) "AP" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood/parquet, @@ -531,15 +501,26 @@ /obj/structure/bonfire/prelit, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"BX" = ( -/obj/structure/flora/bush/sunny/style_3{ - pixel_y = 22 - }, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) +"Ca" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/indestructible/binary, +/area/virtual_domain/protected_space/fullbright) "Ci" = ( /turf/closed/wall/mineral/wood/nonmetal, /area/virtual_domain/fullbright) +"Cq" = ( +/obj/structure/fermenting_barrel{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/effect/turf_decal/weather/sand{ + dir = 9 + }, +/obj/effect/mob_spawn/ghost_role/human/virtual_domain/pirate, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) "Cu" = ( /obj/item/kirbyplants/organic/plant21{ pixel_x = -8 @@ -549,262 +530,10 @@ }, /turf/open/floor/wood/parquet, /area/virtual_domain) -"CL" = ( -/obj/structure/flora/rock/pile/jungle/large, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"Dd" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "DM" = ( /turf/closed/mineral/random/jungle, /area/virtual_domain/fullbright) -"Eb" = ( -/obj/structure/flora/tree/palm, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"Ec" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/indestructible/binary, -/area/virtual_domain/protected_space/fullbright) -"EL" = ( -/obj/effect/decal/cleanable/dirt/dust, -/mob/living/basic/trooper/pirate/melee/space, -/turf/open/floor/wood/parquet, -/area/virtual_domain) -"ER" = ( -/obj/effect/turf_decal/siding/wood, -/mob/living/basic/trooper/pirate/ranged, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) -"Fl" = ( -/obj/structure/barricade/sandbags, -/obj/effect/turf_decal/weather/sand, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"FP" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/jukebox, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"Gl" = ( -/obj/structure/flora/rock/pile/style_3, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"Gy" = ( -/obj/structure/flora/rock/style_2, -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"Hn" = ( -/obj/effect/baseturf_helper/virtual_domain, -/turf/closed/wall/mineral/wood/nonmetal, -/area/virtual_domain) -"HC" = ( -/turf/closed/mineral/random/jungle, -/area/virtual_domain/protected_space) -"HO" = ( -/obj/structure/table/wood, -/mob/living/basic/parrot{ - name = "pepper" - }, -/turf/open/floor/carpet/blue, -/area/virtual_domain) -"Iv" = ( -/obj/structure/flora/rock/style_3, -/turf/open/water/beach, -/area/virtual_domain/protected_space/fullbright) -"ID" = ( -/obj/effect/landmark/bitrunning/cache_spawn, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"IW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 5 - }, -/turf/open/water/beach, -/area/virtual_domain/protected_space) -"Jf" = ( -/obj/structure/flora/bush/sparsegrass, -/turf/open/misc/grass, -/area/virtual_domain/fullbright) -"Jq" = ( -/obj/effect/mapping_helpers/burnt_floor, -/obj/structure/bed/maint{ - pixel_x = -10; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) -"Jx" = ( -/obj/item/bedsheet/rainbow/double, -/obj/structure/bed/double, -/turf/open/floor/carpet/blue, -/area/virtual_domain) -"JK" = ( -/obj/structure/flora/bush/stalky{ - pixel_y = 13; - pixel_x = -8 - }, -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"JX" = ( -/turf/open/misc/beach/coast/corner{ - dir = 1 - }, -/area/virtual_domain/fullbright) -"KS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/obj/effect/landmark/bitrunning/cache_spawn, -/turf/open/floor/carpet/blue, -/area/virtual_domain) -"KV" = ( -/obj/structure/flora/rock/pile/jungle/style_3{ - pixel_x = -15; - pixel_y = -4 - }, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"Li" = ( -/turf/closed/mineral/random/jungle, -/area/virtual_domain/protected_space/fullbright) -"LC" = ( -/mob/living/basic/trooper/pirate/melee, -/turf/open/misc/grass, -/area/virtual_domain/fullbright) -"LK" = ( -/obj/structure/fermenting_barrel/gunpowder{ - pixel_x = -4; - pixel_y = 17 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) -"LP" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 5 - }, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) -"Mf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"MG" = ( -/obj/structure/barricade/sandbags, -/turf/open/misc/beach/sand, -/area/virtual_domain/fullbright) -"MP" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 4 - }, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) -"NE" = ( -/obj/effect/mob_spawn/corpse/human/damaged, -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"NN" = ( -/obj/structure/flora/bush/fullgrass, -/turf/open/misc/grass, -/area/virtual_domain/fullbright) -"NP" = ( -/obj/effect/mapping_helpers/burnt_floor, -/mob/living/basic/trooper/pirate/ranged, -/obj/structure/chair/wood, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"NU" = ( -/obj/structure/flora/grass/jungle/b/style_random{ - pixel_x = -13; - pixel_y = 18 - }, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"Oi" = ( -/obj/effect/mob_spawn/corpse/human/pirate, -/turf/open/misc/dirt/jungle, -/area/virtual_domain/protected_space) -"Ov" = ( -/turf/open/misc/beach/coast{ - dir = 6 - }, -/area/virtual_domain/fullbright) -"Ox" = ( -/obj/structure/chair/comfy/carp{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/blue, -/area/virtual_domain) -"OD" = ( -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/turf/open/floor/wood, -/area/virtual_domain/fullbright) -"OW" = ( -/obj/effect/turf_decal/weather/dirt{ - dir = 1 - }, -/turf/open/water/beach, -/area/virtual_domain/protected_space) -"Qc" = ( -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"Qy" = ( -/obj/effect/light_emitter{ - set_cap = 3; - set_luminosity = 5 - }, -/turf/open/misc/beach/coast, -/area/virtual_domain/fullbright) -"QF" = ( -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/beach, -/area/virtual_domain/protected_space) -"QG" = ( -/obj/effect/turf_decal/weather/dirt, -/obj/effect/turf_decal/weather/dirt, -/turf/open/water/beach, -/area/virtual_domain/protected_space) -"QN" = ( -/obj/structure/barricade/sandbags, -/obj/effect/turf_decal/weather/sand{ - dir = 6 - }, -/obj/item/binoculars{ - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/wood{ - icon_state = "wood_large" - }, -/area/virtual_domain/fullbright) -"QU" = ( -/obj/effect/mob_spawn/corpse/human/pirate/melee, -/turf/open/water/beach, -/area/virtual_domain/fullbright) -"QX" = ( +"DT" = ( /obj/item/clothing/suit/armor/militia{ pixel_x = -5; pixel_y = 12 @@ -835,6 +564,260 @@ /obj/structure/closet/cabinet, /turf/open/floor/wood, /area/virtual_domain/protected_space/fullbright) +"Eb" = ( +/obj/structure/flora/tree/palm, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"EL" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/basic/trooper/pirate/melee/space, +/turf/open/floor/wood/parquet, +/area/virtual_domain) +"ER" = ( +/obj/effect/turf_decal/siding/wood, +/mob/living/basic/trooper/pirate/ranged, +/turf/open/floor/wood, +/area/virtual_domain/fullbright) +"Fl" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/weather/sand, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"FP" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 4 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/jukebox, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"Gy" = ( +/obj/structure/flora/rock/style_2, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"Hn" = ( +/obj/effect/baseturf_helper/virtual_domain, +/turf/closed/wall/mineral/wood/nonmetal, +/area/virtual_domain) +"HO" = ( +/obj/structure/table/wood, +/mob/living/basic/parrot{ + name = "pepper" + }, +/turf/open/floor/carpet/blue, +/area/virtual_domain) +"Ic" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"In" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) +"Io" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/misc/beach/coast, +/area/virtual_domain/fullbright) +"Jf" = ( +/obj/structure/flora/bush/sparsegrass, +/turf/open/misc/grass, +/area/virtual_domain/fullbright) +"Jq" = ( +/obj/effect/mapping_helpers/burnt_floor, +/obj/structure/bed/maint{ + pixel_x = -10; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/wood, +/area/virtual_domain/fullbright) +"Jx" = ( +/obj/item/bedsheet/rainbow/double, +/obj/structure/bed/double, +/turf/open/floor/carpet/blue, +/area/virtual_domain) +"JF" = ( +/obj/structure/flora/rock, +/turf/open/water/beach, +/area/virtual_domain/protected_space/fullbright) +"JK" = ( +/obj/structure/flora/bush/stalky{ + pixel_y = 13; + pixel_x = -8 + }, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"JX" = ( +/turf/open/misc/beach/coast/corner{ + dir = 1 + }, +/area/virtual_domain/fullbright) +"Ka" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) +"KS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/obj/effect/landmark/bitrunning/cache_spawn, +/turf/open/floor/carpet/blue, +/area/virtual_domain) +"KW" = ( +/obj/structure/flora/grass/jungle, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"LC" = ( +/mob/living/basic/trooper/pirate/melee, +/turf/open/misc/grass, +/area/virtual_domain/fullbright) +"LO" = ( +/obj/effect/light_emitter{ + set_cap = 3; + set_luminosity = 5 + }, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"LP" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 5 + }, +/turf/open/floor/wood, +/area/virtual_domain/fullbright) +"LX" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/virtual_domain/protected_space/fullbright) +"Mc" = ( +/turf/closed/indestructible/binary, +/area/virtual_domain/protected_space/fullbright) +"Mf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"MG" = ( +/obj/structure/barricade/sandbags, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"MJ" = ( +/obj/structure/closet/crate/goldcrate, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"MO" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt, +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"MP" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 4 + }, +/turf/open/floor/wood, +/area/virtual_domain/fullbright) +"Nx" = ( +/turf/open/water/beach, +/area/virtual_domain/protected_space) +"NE" = ( +/obj/effect/mob_spawn/corpse/human/damaged, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"NN" = ( +/obj/structure/flora/bush/fullgrass, +/turf/open/misc/grass, +/area/virtual_domain/fullbright) +"NP" = ( +/obj/effect/mapping_helpers/burnt_floor, +/mob/living/basic/trooper/pirate/ranged, +/obj/structure/chair/wood, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"Ov" = ( +/turf/open/misc/beach/coast{ + dir = 6 + }, +/area/virtual_domain/fullbright) +"Ox" = ( +/obj/structure/chair/comfy/carp{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/blue, +/area/virtual_domain) +"OB" = ( +/obj/structure/flora/grass/jungle/b{ + pixel_x = -15; + pixel_y = 9 + }, +/obj/structure/flora/rock/pile/jungle/large/style_2{ + pixel_x = -3; + pixel_y = -1 + }, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"OD" = ( +/obj/effect/turf_decal/weather/sand{ + dir = 6 + }, +/turf/open/floor/wood, +/area/virtual_domain/fullbright) +"OE" = ( +/obj/effect/mob_spawn/corpse/human/pirate, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"OS" = ( +/obj/structure/flora/rock/pile/jungle/style_2, +/obj/effect/baseturf_helper/virtual_domain, +/turf/open/misc/dirt/jungle, +/area/virtual_domain/protected_space) +"Qc" = ( +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"QJ" = ( +/obj/structure/flora/rock/pile, +/turf/open/water/beach, +/area/virtual_domain/protected_space/fullbright) +"QN" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/weather/sand{ + dir = 6 + }, +/obj/item/binoculars{ + pixel_x = -1; + pixel_y = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood_large" + }, +/area/virtual_domain/fullbright) +"QU" = ( +/obj/effect/mob_spawn/corpse/human/pirate/melee, +/turf/open/water/beach, +/area/virtual_domain/fullbright) +"RC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/misc/beach/coast{ + dir = 6 + }, +/area/virtual_domain/protected_space) "RJ" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -866,6 +849,9 @@ }, /turf/open/floor/wood, /area/virtual_domain/fullbright) +"SE" = ( +/turf/open/water/beach, +/area/virtual_domain/protected_space/fullbright) "SK" = ( /turf/open/misc/beach/coast, /area/virtual_domain/fullbright) @@ -879,6 +865,16 @@ }, /turf/open/floor/wood, /area/virtual_domain/fullbright) +"SZ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/melee/sabre{ + pixel_y = 12; + pixel_x = -10 + }, +/obj/item/gun/energy/laser/retro, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) "Ta" = ( /obj/structure/flora/bush/flowers_pp, /turf/open/misc/grass, @@ -895,26 +891,17 @@ /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/parquet, /area/virtual_domain) +"TT" = ( +/obj/structure/flora/rock/style_3, +/turf/open/water/beach, +/area/virtual_domain/protected_space/fullbright) "Ul" = ( /turf/closed/wall/mineral/wood/nonmetal, /area/virtual_domain) -"Uw" = ( -/obj/structure/cannon{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "Vx" = ( /obj/structure/flora/rock/style_4, /turf/open/water/beach, /area/virtual_domain/fullbright) -"VE" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "VG" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -922,6 +909,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/carpet/blue, /area/virtual_domain) +"VI" = ( +/obj/item/flashlight/flare/torch, +/turf/open/misc/beach/sand, +/area/virtual_domain/fullbright) +"VP" = ( +/turf/closed/mineral/random/jungle, +/area/virtual_domain/protected_space/fullbright) "Wu" = ( /obj/structure/fermenting_barrel/gunpowder{ pixel_x = -4; @@ -943,10 +937,6 @@ }, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"Wx" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "Xn" = ( /obj/modular_map_root/safehouse{ key = "wood" @@ -957,6 +947,15 @@ /obj/structure/barricade/wooden/crude, /turf/closed/wall/mineral/wood/nonmetal, /area/virtual_domain/fullbright) +"XR" = ( +/obj/structure/cannon{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) "XW" = ( /obj/effect/mob_spawn/corpse/human/pirate, /turf/open/misc/beach/coast{ @@ -972,9 +971,6 @@ /obj/effect/decal/cleanable/blood/gibs/old, /turf/open/misc/beach/sand, /area/virtual_domain/fullbright) -"Yy" = ( -/turf/open/floor/wood, -/area/virtual_domain/protected_space/fullbright) "YJ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -1020,6 +1016,10 @@ }, /turf/open/floor/wood, /area/virtual_domain/fullbright) +"ZR" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/virtual_domain/protected_space/fullbright) (1,1,1) = {" xg @@ -1268,10 +1268,10 @@ DM hb hb fR -py -py -py -py +Mc +Mc +Mc +Mc xg xg xg @@ -1312,10 +1312,10 @@ DM hb hb DM -Li -Li -Li -py +VP +VP +VP +Mc xg xg xg @@ -1356,10 +1356,10 @@ sj hb hb DM -Li -Li -Li -py +VP +VP +VP +Mc xg xg xg @@ -1400,13 +1400,13 @@ mp Ov xp xp -au -au -au -py -py -py -py +SE +SE +SE +Mc +Mc +Mc +Mc xg xg xg @@ -1444,15 +1444,15 @@ xp xp xp NE -au -au -au -au -au -nQ -py -py -py +SE +SE +SE +SE +SE +LX +Mc +Mc +Mc xg xg xg @@ -1488,22 +1488,22 @@ xp xp xp Gy -au -au -au -au -au -nQ -bI -VE -py -py -py -py -py -py -py -Ec +SE +SE +SE +SE +SE +LX +wn +Ka +Mc +Mc +Mc +Mc +Mc +Mc +Mc +Ca "} (12,1,1) = {" xg @@ -1532,22 +1532,22 @@ xp xp xp xp -au -au -au -au -nN -nQ -rn -VE -fw +SE +SE +SE +SE +JF +LX +dL +Ka +In ub ub ub ub ub Xn -py +Mc "} (13,1,1) = {" hb @@ -1576,22 +1576,22 @@ xp xp xp xp -au -au -au -au -Iv -nQ -QX -Yy -zk +SE +SE +SE +SE +TT +LX +DT +uS +SZ ub ub ub ub ub ub -py +Mc "} (14,1,1) = {" hb @@ -1601,7 +1601,7 @@ Ul Ul Ul Hn -mR +qV eS eS eS @@ -1620,22 +1620,22 @@ xp xp xp xp -au -au -au -au -au -nQ -nQ -Yy -Dd +SE +SE +SE +SE +SE +LX +LX +uS +zA ub ub ub ub ub ub -py +Mc "} (15,1,1) = {" hb @@ -1664,22 +1664,22 @@ xp xp xp xp -au -au -au -au -au -au -au -au -Wx +SE +SE +SE +SE +SE +SE +SE +SE +ZR ub ub ub ub ub ub -py +Mc "} (16,1,1) = {" hb @@ -1708,22 +1708,22 @@ xp xp xp xp -au -au -au -au -au -au -au -au -au +SE +SE +SE +SE +SE +SE +SE +SE +SE ub ub ub ub ub ub -py +Mc "} (17,1,1) = {" hb @@ -1752,22 +1752,22 @@ xp xp xp xp -au -au -au -au -au -au -au -au -au +SE +SE +SE +SE +SE +SE +SE +SE +SE ub ub ub ub ub ub -py +Mc "} (18,1,1) = {" hb @@ -1778,7 +1778,7 @@ BU td Ul Ci -nb +Cq Mf gx tQ @@ -1796,22 +1796,22 @@ xp xp xp xp -au -au -au -au -au -au -au -Wx -au +SE +SE +SE +SE +SE +SE +SE +ZR +SE ub ub ub ub ub zR -py +Mc "} (19,1,1) = {" hb @@ -1840,22 +1840,22 @@ xp xp xp xp -au -au -au -au -au -au -nQ -fw -au -au -au -au -au -au -py -py +SE +SE +SE +SE +SE +SE +LX +In +SE +SE +SE +SE +SE +SE +Mc +Mc "} (20,1,1) = {" hb @@ -1884,21 +1884,21 @@ xp xp xp xp -au -au -au -au -au -au -Uw -cr -vR -au -au -au -au -au -py +SE +SE +SE +SE +SE +SE +XR +vX +dp +SE +SE +SE +SE +SE +Mc xg "} (21,1,1) = {" @@ -1928,21 +1928,21 @@ xp xp xp xp -au -au -au -au -au -af -nQ -LK -fw -au -au -au -au -au -py +SE +SE +SE +SE +SE +ce +LX +gN +In +SE +SE +SE +SE +SE +Mc xg "} (22,1,1) = {" @@ -1972,21 +1972,21 @@ xp xp xp xp -au -au -au -au -au -au -oM -VE -eO -au -au -au -au -au -py +SE +SE +SE +SE +SE +SE +sH +Ka +QJ +SE +SE +SE +SE +SE +Mc xg "} (23,1,1) = {" @@ -2016,21 +2016,21 @@ xp xp xp xp -au -au -au -au -au -au -au -au -au -au -au -au -Li -Li -py +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +VP +VP +Mc xg "} (24,1,1) = {" @@ -2060,21 +2060,21 @@ xp xp xp xp -au -au -au -au -au -au -au -au -au -au -au -au -Li -Li -py +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +VP +VP +Mc xg "} (25,1,1) = {" @@ -2094,9 +2094,9 @@ eS eS nr eS -gt -Qy -hX +VI +Io +LO xp xp xp @@ -2104,21 +2104,21 @@ xp xp xp xp -au -au -au -au -au -au -au -au -au -au -au -Li -Li -Li -py +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +SE +VP +VP +VP +Mc xg "} (26,1,1) = {" @@ -2137,32 +2137,32 @@ DM DM DM DM -HC -HC -eP -sb -HC -HC +ha +ha +RC +Nx +ha +ha hb hb xp xp xp -au -au -au -au -au -au -au -au -au -py -Li -Li -Li -Li -py +SE +SE +SE +SE +SE +SE +SE +SE +SE +Mc +VP +VP +VP +VP +Mc xg "} (27,1,1) = {" @@ -2182,31 +2182,31 @@ DM DM DM DM -HC -fd -OW -HC +ha +br +qT +ha DM DM hb hb xp xp -au -au -au -au -au -au -au -au -py -py -Li -Li -Li -py -py +SE +SE +SE +SE +SE +SE +SE +SE +Mc +Mc +VP +VP +VP +Mc +Mc xg "} (28,1,1) = {" @@ -2226,30 +2226,30 @@ DM DM DM DM -HC -KV -OW -HC -HC +ha +wf +qT +ha +ha DM DM hb hb hb -py -au -au -au -au -au -au -py -py -py -py -py -py -py +Mc +SE +SE +SE +SE +SE +SE +Mc +Mc +Mc +Mc +Mc +Mc +Mc xg xg "} @@ -2270,24 +2270,24 @@ DM DM DM DM -HC -qk -IW -sb -HC -HC -HC +ha +qR +Ic +Nx +ha +ha +ha DM DM DM -py -py -py -py -py -py -py -py +Mc +Mc +Mc +Mc +Mc +Mc +Mc +Mc xg xg xg @@ -2314,16 +2314,16 @@ DM DM DM DM -HC -Gl -qk -IW -hn -sb -HC -HC -HC -HC +ha +lM +qR +Ic +ki +Nx +ha +ha +ha +ha DM hb hb @@ -2358,17 +2358,17 @@ hb DM DM DM -HC -HC -qk -qk -Oi -OW -sb -be -AK -HC -HC +ha +ha +qR +qR +OE +qT +Nx +na +OS +ha +ha DM hb hb @@ -2403,17 +2403,17 @@ hb DM DM DM -HC -HC -qk -CL -IW -sb -QG -qk -rm -HC -HC +ha +ha +qR +dz +Ic +Nx +MO +qR +MJ +ha +ha DM hb xg @@ -2448,16 +2448,16 @@ hb DM DM DM -HC -oB -qk -wu -IW -QF -BX -qk -rm -HC +ha +KW +qR +OB +Ic +hp +kl +qR +MJ +ha DM hb xg @@ -2492,16 +2492,16 @@ hb hb DM DM -HC -HC -qk -qk -NU -db -hq -zc -ID -HC +ha +ha +qR +qR +kE +hx +vo +cT +tR +ha DM hb xg @@ -2537,15 +2537,15 @@ hb hb hb DM -HC -HC -HC -HC -HC -HC -HC -HC -HC +ha +ha +ha +ha +ha +ha +ha +ha +ha DM hb xg diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm index 07e0eabf01f..805cea677a0 100644 --- a/code/_globalvars/lists/typecache.dm +++ b/code/_globalvars/lists/typecache.dm @@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(typecache_elevated_structures, typecacheof(list( /obj/structure/table, //Kitchen /obj/machinery/smartfridge, - /obj/machinery/smartfridge/drying_rack, // Redundant, given above, but this is for the sake of explicitness. + /obj/machinery/smartfridge/drying, // Redundant, given above, but this is for the sake of explicitness. /obj/structure/bonfire, /obj/machinery/grill, /obj/machinery/griddle, diff --git a/code/datums/elements/dryable.dm b/code/datums/elements/dryable.dm index d0cdf235523..d66ea96d8c1 100644 --- a/code/datums/elements/dryable.dm +++ b/code/datums/elements/dryable.dm @@ -27,25 +27,24 @@ var/atom/movable/resulting_atom = dried_atom resulting_atom.add_atom_colour(COLOR_DRIED_TAN, FIXED_COLOUR_PRIORITY) apply_dried_status(resulting_atom, drying_user) - resulting_atom.forceMove(source.drop_location()) return else if(isstack(source)) //Check if its a sheet var/obj/item/stack/itemstack = dried_atom for(var/i in 1 to itemstack.amount) - var/atom/movable/resulting_atom = new dry_result(source.drop_location()) + var/atom/movable/resulting_atom = new dry_result(source.loc) apply_dried_status(resulting_atom, drying_user) qdel(source) return else if(istype(source, /obj/item/food) && ispath(dry_result, /obj/item/food)) var/obj/item/food/source_food = source - var/obj/item/food/resulting_food = new dry_result(source.drop_location()) + var/obj/item/food/resulting_food = new dry_result(source.loc) resulting_food.reagents.clear_reagents() source_food.reagents.trans_to(resulting_food, source_food.reagents.total_volume) apply_dried_status(resulting_food, drying_user) qdel(source) return else - var/atom/movable/resulting_atom = new dry_result(source.drop_location()) + var/atom/movable/resulting_atom = new dry_result(source.loc) apply_dried_status(resulting_atom, drying_user) qdel(source) diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index e3c2f5f6c61..1c6b468286d 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -572,6 +572,11 @@ return . += span_info("[src] is set to [fridges_name_paths[build_path]]. You can use a screwdriver to reconfigure it.") +/obj/item/circuitboard/machine/dehydrator + name = "Dehydrator" + build_path = /obj/machinery/smartfridge/drying + req_components = list(/datum/stock_part/matter_bin = 1) + needs_anchored = FALSE /obj/item/circuitboard/machine/space_heater name = "Space Heater" diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 52540b3a4ac..5d992853da8 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -330,7 +330,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("cat house", /obj/structure/cat_house, 5, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ - new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ + new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying/rack, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_TOOLS), \ new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_CONTAINERS), \ new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 1.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm index 0fe997baec1..3519c55fc39 100644 --- a/code/modules/food_and_drinks/machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/machinery/smartfridge.dm @@ -5,8 +5,8 @@ name = "smartfridge" desc = "Keeps cold things cold and hot things cold." icon = 'icons/obj/machines/smartfridge.dmi' - icon_state = "smartfridge" - base_icon_state = "plant" + icon_state = "smartfridge-icon" + base_icon_state = "smartfridge" layer = BELOW_OBJ_LAYER density = TRUE circuit = /obj/item/circuitboard/machine/smartfridge @@ -14,9 +14,11 @@ light_range = MINIMUM_USEFUL_LIGHT_RANGE integrity_failure = 0.5 can_atmos_pass = ATMOS_PASS_NO + /// Icon state part for contents display + var/contents_overlay_icon = "plant" /// What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them. var/base_build_path = /obj/machinery/smartfridge - /// Maximum number of items that can be loaded into the machine + /// Maximum number of items that can be loaded into the machine per matter bin tier var/max_n_of_items = 1500 /// List of items that the machine starts with upon spawn var/list/initial_contents @@ -25,14 +27,18 @@ /// Is this smartfridge going to have a glowing screen? (Drying Racks are not) var/has_emissive = TRUE /// Whether the smartfridge is welded down to the floor disabling unwrenching + var/can_be_welded_down = TRUE + /// Whether the smartfridge is welded down to the floor disabling unwrenching var/welded_down = FALSE + /// The sound of item retrieval + var/vend_sound = 'sound/machines/machine_vend.ogg' /obj/machinery/smartfridge/Initialize(mapload) . = ..() create_reagents(100, NO_REACT) air_update_turf(TRUE, TRUE) register_context() - if(mapload) + if(mapload && can_be_welded_down) welded_down = TRUE if(islist(initial_contents)) @@ -49,6 +55,8 @@ move_update_air(old_loc) /obj/machinery/smartfridge/welder_act(mob/living/user, obj/item/tool) + if(!can_be_welded_down) + return ..() if(welded_down) if(!tool.tool_start_check(user, amount=2)) return ITEM_INTERACT_BLOCKING @@ -112,9 +120,9 @@ /obj/machinery/smartfridge/screwdriver_act(mob/living/user, obj/item/tool) if(default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) if(panel_open) - add_overlay("[initial(icon_state)]-panel") + add_overlay("[base_icon_state]-panel") else - cut_overlay("[initial(icon_state)]-panel") + cut_overlay("[base_icon_state]-panel") SStgui.update_uis(src) return ITEM_INTERACT_SUCCESS return ITEM_INTERACT_BLOCKING @@ -156,7 +164,7 @@ if(welded_down) context[SCREENTIP_CONTEXT_LMB] = "Unweld" tool_tip_set = TRUE - else if (!welded_down && anchored) + else if (!welded_down && anchored && can_be_welded_down) context[SCREENTIP_CONTEXT_LMB] = "Weld down" tool_tip_set = TRUE if(machine_stat & BROKEN) @@ -181,7 +189,7 @@ /obj/machinery/smartfridge/RefreshParts() . = ..() for(var/datum/stock_part/matter_bin/matter_bin in component_parts) - max_n_of_items = 1500 * matter_bin.tier + max_n_of_items = initial(max_n_of_items) * matter_bin.tier /obj/machinery/smartfridge/examine(mob/user) . = ..() @@ -197,7 +205,7 @@ if(welded_down) . += span_info("It's moorings are firmly [EXAMINE_HINT("welded")] to the floor.") - else + else if (can_be_welded_down) . += span_info("It's moorings are loose and can be [EXAMINE_HINT("welded")] down.") if(anchored) @@ -211,24 +219,21 @@ set_light((!(machine_stat & BROKEN) && powered()) ? MINIMUM_USEFUL_LIGHT_RANGE : 0) /obj/machinery/smartfridge/update_icon_state() - icon_state = "[initial(icon_state)]" + icon_state = "[base_icon_state]" if(machine_stat & BROKEN) icon_state += "-broken" - else if(!powered()) - icon_state += "-off" return ..() /// Returns the number of items visible in the fridge. Faster than subtracting 2 lists /obj/machinery/smartfridge/proc/visible_items() - return contents.len - 1 // Circuitboard + return contents.len - 1 // Exclude circuitboard /obj/machinery/smartfridge/update_overlays() . = ..() - var/initial_icon_state = initial(icon_state) var/shown_contents_length = visible_items() if(visible_contents && shown_contents_length) - var/content_level = "[initial_icon_state]-[base_icon_state]" + var/content_level = "[base_icon_state]-[contents_overlay_icon]" switch(shown_contents_length) if(1 to 25) content_level += "-1" @@ -238,10 +243,10 @@ content_level += "-3" . += mutable_appearance(icon, content_level) - . += mutable_appearance(icon, "[initial_icon_state]-glass[(machine_stat & BROKEN) ? "-broken" : ""]") - - if(!machine_stat && has_emissive) - . += emissive_appearance(icon, "[initial_icon_state]-light-mask", src, alpha = src.alpha) + . += mutable_appearance(icon, "[base_icon_state]-glass[(machine_stat & BROKEN) ? "-broken" : ""]") + if(has_emissive && powered() && !(machine_stat & BROKEN)) + . += mutable_appearance(icon, "[base_icon_state]-powered") + . += emissive_appearance(icon, "[base_icon_state]-light-mask", src, alpha = src.alpha) /obj/machinery/smartfridge/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) @@ -415,7 +420,8 @@ if(!living_mob.put_in_hands(dispensed_item)) dispensed_item.forceMove(drop_location()) adjust_item_drop_location(dispensed_item) - playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) + if(vend_sound) + playsound(src, vend_sound, 50, TRUE, extrarange = -3) use_energy(active_power_usage) desired-- @@ -426,43 +432,134 @@ return FALSE // ---------------------------- -// Drying Rack 'smartfridge' +// Drying 'smartfridge' // ---------------------------- -/obj/machinery/smartfridge/drying_rack - name = "drying rack" - desc = "A wooden contraption, used to dry plant products, food and hide." - icon = 'icons/obj/service/hydroponics/equipment.dmi' - icon_state = "drying_rack" - resistance_flags = FLAMMABLE - visible_contents = FALSE - base_build_path = /obj/machinery/smartfridge/drying_rack //should really be seeing this without admin fuckery. - use_power = NO_POWER_USE - idle_power_usage = 0 +/obj/machinery/smartfridge/drying + name = "dehydrator" + desc = "A machine meant to remove moisture from various food." + icon_state = "dehydrator-icon" + base_icon_state = "dehydrator" + contents_overlay_icon = "contents" + circuit = /obj/item/circuitboard/machine/dehydrator + light_power = 0.5 + base_build_path = /obj/machinery/smartfridge/drying //should really be seeing this without admin fuckery. has_emissive = FALSE can_atmos_pass = ATMOS_PASS_YES + can_be_welded_down = FALSE + max_n_of_items = 25 + vend_sound = null /// Is the rack currently drying stuff var/drying = FALSE /// The reference to the last user's mind. Needed for the chef made trait to be properly applied correctly to dried food. var/datum/weakref/current_user -/obj/machinery/smartfridge/drying_rack/Initialize(mapload) - . = ..() - - //you can't weld down wood - welded_down = FALSE - - //so we don't drop any of the parent smart fridge parts upon deconstruction - clear_components() - -/obj/machinery/smartfridge/drying_rack/Destroy() +/obj/machinery/smartfridge/drying/Destroy() current_user = null return ..() -/// We cleared out the components in initialize so we can optimize this -/obj/machinery/smartfridge/drying_rack/visible_items() - return contents.len +/obj/machinery/smartfridge/drying/AllowDrop() + return TRUE // Allow drying results to stay inside -/obj/machinery/smartfridge/drying_rack/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) +/obj/machinery/smartfridge/drying/update_overlays() + . = ..() + if(visible_contents && powered() && !(machine_stat & BROKEN)) + var/suffix = drying ? "on" : "off" + . += mutable_appearance(icon, "[base_icon_state]-[suffix]") + . += emissive_appearance(icon, "[base_icon_state]-[suffix]", src, alpha = src.alpha) + +/obj/machinery/smartfridge/drying/visible_items() + return min(1, (contents.len - 1)) // Return one if has any, as there's only one icon for overlay + +/obj/machinery/smartfridge/drying/ui_data(mob/user) + . = ..() + .["isdryer"] = TRUE + .["drying"] = drying + +/obj/machinery/smartfridge/drying/ui_act(action, params) + . = ..() + if(.) + update_appearance() // This is to handle a case where the last item is taken out manually instead of through drying pop-out + return + + switch(action) + if("Dry") + toggle_drying(FALSE, usr) + return TRUE + +/obj/machinery/smartfridge/drying/powered() + return !anchored ? FALSE : ..() + +/obj/machinery/smartfridge/drying/power_change() + . = ..() + if(!powered()) + toggle_drying(TRUE) + +/obj/machinery/smartfridge/drying/load(obj/item/dried_object, mob/user) //For updating the filled overlay + . = ..() + if(!.) + return + update_appearance() + if(drying && user?.mind) + current_user = WEAKREF(user.mind) + +/obj/machinery/smartfridge/drying/process(seconds_per_tick) + if(drying) + for(var/obj/item/item_iterator in src) + if(!accept_check(item_iterator)) + continue + SEND_SIGNAL(item_iterator, COMSIG_ITEM_DRIED, current_user, seconds_per_tick) + + SStgui.update_uis(src) + update_appearance() + use_energy(active_power_usage) + +/obj/machinery/smartfridge/drying/accept_check(obj/item/O) + return HAS_TRAIT(O, TRAIT_DRYABLE) + +/** + * Toggles drying on or off + * Arguments + * * forceoff - if TRUE will force the dryer off always + */ +/obj/machinery/smartfridge/drying/proc/toggle_drying(forceoff, mob/user) + if(drying || forceoff) + drying = FALSE + current_user = FALSE + update_use_power(IDLE_POWER_USE) + else + drying = TRUE + if(user?.mind) + current_user = WEAKREF(user.mind) + update_use_power(ACTIVE_POWER_USE) + update_appearance() + +/obj/machinery/smartfridge/drying/emp_act(severity) + . = ..() + if(. & EMP_PROTECT_SELF) + return + atmos_spawn_air("[TURF_TEMPERATURE(1000)]") + +/// Wooden version +/obj/machinery/smartfridge/drying/rack + name = "drying rack" + desc = "A wooden contraption, used to dry plant products, food and hide." + icon_state = "drying-rack" + base_icon_state = "drying-rack" + resistance_flags = FLAMMABLE + visible_contents = FALSE + base_build_path = /obj/machinery/smartfridge/drying/rack + use_power = NO_POWER_USE + idle_power_usage = 0 + +/obj/machinery/smartfridge/drying/rack/Initialize(mapload) + . = ..() + //so we don't drop any of the parent smart fridge parts upon deconstruction + clear_components() + +/obj/machinery/smartfridge/drying/rack/welder_act_secondary(mob/living/user, obj/item/tool) + return NONE // Can't repair wood with welder + +/obj/machinery/smartfridge/drying/rack/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) if(isnull(held_item)) return NONE @@ -476,111 +573,29 @@ return tool_tip_set ? CONTEXTUAL_SCREENTIP_SET : NONE -/obj/machinery/smartfridge/drying_rack/structure_examine() - . = "" - if(anchored) - . += span_info("It's currently anchored to the floor. It can be [EXAMINE_HINT("wrenched")] loose.") - else - . += span_info("It's not anchored to the floor. It can be [EXAMINE_HINT("wrenched")] down.") +/obj/machinery/smartfridge/drying/rack/structure_examine() + . = ..() . += span_info("The whole rack can be [EXAMINE_HINT("pried")] apart.") -/obj/machinery/smartfridge/drying_rack/welder_act(mob/living/user, obj/item/tool) +/obj/machinery/smartfridge/drying/rack/default_deconstruction_screwdriver() return NONE -/obj/machinery/smartfridge/drying_rack/welder_act_secondary(mob/living/user, obj/item/tool) - return NONE - -/obj/machinery/smartfridge/drying_rack/default_deconstruction_screwdriver() - return NONE - -/obj/machinery/smartfridge/drying_rack/exchange_parts() +/obj/machinery/smartfridge/drying/rack/exchange_parts() return -/obj/machinery/smartfridge/drying_rack/on_deconstruction(disassembled) +/obj/machinery/smartfridge/drying/rack/on_deconstruction(disassembled) new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) -/obj/machinery/smartfridge/drying_rack/crowbar_act(mob/living/user, obj/item/tool) +/obj/machinery/smartfridge/drying/rack/crowbar_act(mob/living/user, obj/item/tool) if(default_deconstruction_crowbar(tool, ignore_panel = TRUE)) return ITEM_INTERACT_SUCCESS -/obj/machinery/smartfridge/drying_rack/ui_data(mob/user) - . = ..() - .["isdryer"] = TRUE - .["drying"] = drying - -/obj/machinery/smartfridge/drying_rack/ui_act(action, params) - . = ..() - if(.) - update_appearance() // This is to handle a case where the last item is taken out manually instead of through drying pop-out - return - - switch(action) - if("Dry") - toggle_drying(FALSE, usr) - return TRUE - -/obj/machinery/smartfridge/drying_rack/powered() - return !anchored ? FALSE : ..() - -/obj/machinery/smartfridge/drying_rack/power_change() - . = ..() - if(!powered()) - toggle_drying(TRUE) - -/obj/machinery/smartfridge/drying_rack/load(obj/item/dried_object, mob/user) //For updating the filled overlay - . = ..() - if(!.) - return - update_appearance() - if(drying && user?.mind) - current_user = WEAKREF(user.mind) - -/obj/machinery/smartfridge/drying_rack/update_overlays() +/obj/machinery/smartfridge/drying/rack/update_overlays() . = ..() if(drying) - . += "drying_rack_drying" + . += "[base_icon_state]-drying" if(contents.len) - . += "drying_rack_filled" - -/obj/machinery/smartfridge/drying_rack/process() - if(drying) - for(var/obj/item/item_iterator in src) - if(!accept_check(item_iterator)) - continue - rack_dry(item_iterator) - - SStgui.update_uis(src) - update_appearance() - use_energy(active_power_usage) - -/obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O) - return HAS_TRAIT(O, TRAIT_DRYABLE) - -/** - * Toggles drying on or off - * Arguments - * * forceoff - if TRUE will force the dryer off always - */ -/obj/machinery/smartfridge/drying_rack/proc/toggle_drying(forceoff, mob/user) - if(drying || forceoff) - drying = FALSE - current_user = FALSE - update_use_power(IDLE_POWER_USE) - else - drying = TRUE - if(user?.mind) - current_user = WEAKREF(user.mind) - update_use_power(ACTIVE_POWER_USE) - update_appearance() - -/obj/machinery/smartfridge/drying_rack/proc/rack_dry(obj/item/target) - SEND_SIGNAL(target, COMSIG_ITEM_DRIED, current_user) - -/obj/machinery/smartfridge/drying_rack/emp_act(severity) - . = ..() - if(. & EMP_PROTECT_SELF) - return - atmos_spawn_air("[TURF_TEMPERATURE(1000)]") + . += "[base_icon_state]-filled" // ---------------------------- // Bar drink smartfridge @@ -589,7 +604,7 @@ name = "drink showcase" desc = "A refrigerated storage unit for tasty tasty alcohol." base_build_path = /obj/machinery/smartfridge/drinks - base_icon_state = "drink" + contents_overlay_icon = "drink" /obj/machinery/smartfridge/drinks/accept_check(obj/item/weapon) //not an item or valid container @@ -609,7 +624,7 @@ /obj/machinery/smartfridge/food desc = "A refrigerated storage unit for food." base_build_path = /obj/machinery/smartfridge/food - base_icon_state = "food" + contents_overlay_icon = "food" /obj/machinery/smartfridge/food/accept_check(obj/item/weapon) if(weapon.w_class >= WEIGHT_CLASS_BULKY) @@ -627,7 +642,7 @@ name = "smart slime extract storage" desc = "A refrigerated storage unit for slime extracts." base_build_path = /obj/machinery/smartfridge/extract - base_icon_state = "slime" + contents_overlay_icon = "slime" /obj/machinery/smartfridge/extract/accept_check(obj/item/weapon) return (istype(weapon, /obj/item/slime_extract) || istype(weapon, /obj/item/slime_scanner)) @@ -642,7 +657,7 @@ name = "smart petri dish storage" desc = "A refrigerated storage unit for petri dishes." base_build_path = /obj/machinery/smartfridge/petri - base_icon_state = "petri" + contents_overlay_icon = "petri" /obj/machinery/smartfridge/petri/accept_check(obj/item/weapon) return istype(weapon, /obj/item/petri_dish) @@ -658,7 +673,7 @@ desc = "A refrigerated storage unit for organ storage." max_n_of_items = 20 //vastly lower to prevent processing too long base_build_path = /obj/machinery/smartfridge/organ - base_icon_state = "organ" + contents_overlay_icon = "organ" /// The rate at which this fridge will repair damaged organs var/repair_rate = 0 @@ -711,7 +726,7 @@ name = "smart chemical storage" desc = "A refrigerated storage unit for medicine storage." base_build_path = /obj/machinery/smartfridge/chemistry - base_icon_state = "chem" + contents_overlay_icon = "chem" /obj/machinery/smartfridge/chemistry/accept_check(obj/item/weapon) // not an item or reagent container @@ -762,7 +777,7 @@ name = "smart virus storage" desc = "A refrigerated storage unit for volatile sample storage." base_build_path = /obj/machinery/smartfridge/chemistry/virology - base_icon_state = "viro" + contents_overlay_icon = "viro" /obj/machinery/smartfridge/chemistry/virology/preloaded initial_contents = list( @@ -783,10 +798,12 @@ name = "disk compartmentalizer" desc = "A machine capable of storing a variety of disks. Denoted by most as the DSU (disk storage unit)." icon_state = "disktoaster" - icon = 'icons/obj/machines/vending.dmi' + base_icon_state = "disktoaster" + has_emissive = TRUE pass_flags = PASSTABLE can_atmos_pass = ATMOS_PASS_YES visible_contents = FALSE + has_emissive = FALSE base_build_path = /obj/machinery/smartfridge/disks /obj/machinery/smartfridge/disks/accept_check(obj/item/weapon) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm index c02a7243368..4d028de06fb 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm @@ -827,7 +827,7 @@ // Machinery: Drying rack /datum/crafting_recipe/food/drying - machinery = list(/obj/machinery/smartfridge/drying_rack) + machinery = list(/obj/machinery/smartfridge/drying) steps = list("Put into the rack and dry") category = CAT_MISCFOOD non_craftable = TRUE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 7572a735292..53104494c82 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -582,6 +582,16 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE +/datum/design/board/dehydrator + name = "Dehydrator Board" + desc = "The circuit board for a dehydrator." + id = "dehydrator" + build_path = /obj/item/circuitboard/machine/dehydrator + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_KITCHEN + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + /datum/design/board/vatgrower name = "Growing Vat Board" desc = "The circuit board for a growing vat." diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm index 1553f3a0c20..591308947b2 100644 --- a/code/modules/research/techweb/nodes/service_nodes.dm +++ b/code/modules/research/techweb/nodes/service_nodes.dm @@ -138,6 +138,7 @@ "reagentgrinder", "microwave_engineering", "smartfridge", + "dehydrator", "sheetifier", "fat_sucker", "dish_drive", diff --git a/icons/obj/machines/smartfridge.dmi b/icons/obj/machines/smartfridge.dmi index 18f3ccedd9b..df5a163b803 100644 Binary files a/icons/obj/machines/smartfridge.dmi and b/icons/obj/machines/smartfridge.dmi differ diff --git a/icons/obj/machines/vending.dmi b/icons/obj/machines/vending.dmi index bf3c42bde16..c6c9fc17e72 100644 Binary files a/icons/obj/machines/vending.dmi and b/icons/obj/machines/vending.dmi differ diff --git a/icons/obj/service/hydroponics/equipment.dmi b/icons/obj/service/hydroponics/equipment.dmi index 0fcebb3c519..be9d9d4eeaf 100644 Binary files a/icons/obj/service/hydroponics/equipment.dmi and b/icons/obj/service/hydroponics/equipment.dmi differ diff --git a/tools/UpdatePaths/Scripts/99999_drying_rack_rename.txt b/tools/UpdatePaths/Scripts/99999_drying_rack_rename.txt new file mode 100644 index 00000000000..92e3aa1eae9 --- /dev/null +++ b/tools/UpdatePaths/Scripts/99999_drying_rack_rename.txt @@ -0,0 +1,3 @@ +#comment Renames the drying_rack to drying/rack + +/obj/machinery/smartfridge/drying_rack : /obj/machinery/smartfridge/drying/rack{@OLD}