diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 19112541782..3800ea6dc96 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -21966,7 +21966,7 @@ }, /area/station/service/hydroponics) "bpW" = ( -/obj/machinery/smartfridge, +/obj/machinery/smartfridge/food/chef, /turf/simulated/floor/plating, /area/station/service/hydroponics) "bpX" = ( diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index cb074f101f4..15720336fae 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -6850,6 +6850,12 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/disposal/east) +"aUB" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/service/hydroponics) "aUE" = ( /obj/machinery/light{ dir = 8 @@ -26889,6 +26895,11 @@ icon_state = "redcorner" }, /area/station/security/prison/cell_block/A) +"dcR" = ( +/obj/structure/table, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating/asteroid/ancient, +/area/station/maintenance/port) "dda" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -28022,17 +28033,6 @@ /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, /area/station/security/prisonlockers) -"dkb" = ( -/obj/machinery/requests_console/directional/south, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - icon_state = "grimy" - }, -/area/station/security/detective) "dkc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -33753,10 +33753,6 @@ /turf/simulated/floor/plating, /area/station/maintenance/starboard) "enw" = ( -/obj/machinery/smartfridge/secure{ - name = "\improper Kitchen Delivery SmartFridge"; - req_one_access_txt = "28;35" - }, /obj/machinery/door/firedoor, /obj/machinery/door/window/classic/normal{ name = "Kitchen"; @@ -33768,6 +33764,7 @@ /obj/effect/mapping_helpers/airlock/windoor/access/any/service/kitchen{ dir = 1 }, +/obj/machinery/smartfridge/food/chef, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -35910,6 +35907,12 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/port) +"eTe" = ( +/obj/machinery/hologram/holopad, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/service/hydroponics) "eTg" = ( /obj/machinery/recharge_station, /turf/simulated/floor/plasteel{ @@ -35956,8 +35959,7 @@ /turf/simulated/floor/grass, /area/station/hallway/spacebridge/scidock) "eTI" = ( -/obj/structure/table, -/obj/effect/spawner/random/maintenance, +/obj/effect/decal/cleanable/blood/splatter, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/port) "eTJ" = ( @@ -37630,13 +37632,6 @@ }, /turf/simulated/floor/plating, /area/station/hallway/primary/central/west) -"fvV" = ( -/obj/structure/chair/office/dark{ - dir = 4 - }, -/obj/effect/landmark/start/detective, -/turf/simulated/floor/carpet, -/area/station/security/detective) "fwd" = ( /obj/effect/decal/cleanable/crayon, /turf/simulated/floor/wood, @@ -38757,12 +38752,6 @@ icon_state = "dark" }, /area/station/engineering/control) -"fPD" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" - }, -/area/station/maintenance/port) "fPE" = ( /obj/structure/disposalpipe/segment/corner{ dir = 4 @@ -41271,6 +41260,25 @@ icon_state = "whitepurple" }, /area/station/science/genetics) +"gEI" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Walkway" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + id_tag = "servlockdown"; + layer = 2.6; + name = "Service Lockdown" + }, +/obj/structure/disposalpipe/segment{ + color = "#954535" + }, +/obj/effect/turf_decal/caution/red, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "neutralcorner" + }, +/area/station/hallway/spacebridge/sercom) "gEJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -43804,6 +43812,7 @@ /area/station/service/bar) "htz" = ( /obj/effect/spawner/random_spawners/dirt_often, +/obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel{ icon_state = "darkgreenfull" }, @@ -47255,13 +47264,6 @@ icon_state = "browncorner" }, /area/station/hallway/primary/fore/east) -"inP" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" - }, -/area/station/maintenance/port) "inQ" = ( /obj/machinery/door/airlock/maintenance{ name = "Port Asteroid Maintenance" @@ -50480,21 +50482,6 @@ icon_state = "dark" }, /area/station/hallway/primary/starboard/south) -"jeu" = ( -/obj/machinery/hologram/holopad, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/service/hydroponics) "jeB" = ( /obj/structure/transit_tube/station/reverse/flipped{ dir = 4 @@ -51159,22 +51146,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/security/lobby) -"joS" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/service/hydroponics) "joZ" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -55817,6 +55788,15 @@ /area/station/medical/medbay) "kAT" = ( /obj/machinery/hologram/holopad, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -57778,6 +57758,12 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/port) +"lhc" = ( +/obj/effect/spawner/random_spawners/dirt_often, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/service/hydroponics) "lhf" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/cable/orange{ @@ -58011,10 +57997,6 @@ }, /turf/simulated/floor/plasteel/freezer, /area/station/service/kitchen) -"ljz" = ( -/obj/effect/decal/cleanable/blood/splatter, -/turf/simulated/floor/plating/asteroid/ancient, -/area/station/maintenance/port) "ljL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment, @@ -61315,12 +61297,11 @@ /turf/simulated/floor/plating, /area/station/maintenance/port) "mgq" = ( -/obj/effect/spawner/random_spawners/dirt_often, -/obj/effect/turf_decal/delivery, -/turf/simulated/floor/plasteel{ - icon_state = "darkgreenfull" +/obj/structure/reagent_dispensers/fueltank, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" }, -/area/station/service/hydroponics) +/area/station/maintenance/port) "mgu" = ( /obj/docking_port/stationary{ dir = 4; @@ -65406,8 +65387,16 @@ /turf/simulated/floor/plating, /area/station/engineering/tech_storage) "nsy" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -84506,6 +84495,14 @@ icon_state = "asteroidplating" }, /area/station/maintenance/port) +"sNb" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/service/hydroponics) "sNm" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ @@ -88030,12 +88027,6 @@ /obj/effect/spawner/airlock/s_to_n, /turf/simulated/wall, /area/station/hallway/primary/central/north) -"tMD" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/plasteel{ - icon_state = "darkgreenfull" - }, -/area/station/service/hydroponics) "tMN" = ( /obj/machinery/door/airlock/external{ id_tag = "laborcamp_home"; @@ -92047,7 +92038,7 @@ /turf/simulated/floor/plating, /area/station/engineering/tech_storage) "uQB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "darkgreenfull" }, @@ -102005,25 +101996,13 @@ icon_state = "dark" }, /area/station/engineering/control) -"xCu" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Walkway" +"xCH" = ( +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - id_tag = "servlockdown"; - layer = 2.6; - name = "Service Lockdown" - }, -/obj/structure/disposalpipe/segment{ - color = "#954535" - }, -/obj/effect/turf_decal/caution/red, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralcorner" - }, -/area/station/hallway/spacebridge/sercom) +/area/station/maintenance/port) "xCR" = ( /obj/machinery/computer/security/telescreen/entertainment, /turf/simulated/mineral/ancient, @@ -102400,6 +102379,13 @@ /obj/machinery/light/small, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/port) +"xHt" = ( +/obj/structure/chair/office/dark{ + dir = 4 + }, +/obj/effect/landmark/start/detective, +/turf/simulated/floor/carpet, +/area/station/security/detective) "xHF" = ( /obj/structure/cable/orange{ d1 = 4; @@ -103225,6 +103211,17 @@ icon_state = "whitepurple" }, /area/station/maintenance/apmaint) +"xTG" = ( +/obj/machinery/requests_console/directional/south, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "grimy" + }, +/area/station/security/detective) "xTL" = ( /turf/simulated/floor/plasteel{ icon_state = "white" @@ -113276,7 +113273,7 @@ rho uSf ygl wzC -fPD +mgq aXn aXn aXn @@ -113533,7 +113530,7 @@ aXn wGX ygl wzC -inP +xCH aXn aXn aXn @@ -114569,7 +114566,7 @@ eHn ohJ gUw xZV -ljz +eTI iuf mkL aXn @@ -115086,7 +115083,7 @@ aXn aXn dLa hwS -ljz +eTI kad uCK aXn @@ -116068,7 +116065,7 @@ eHu aXn aXn aXn -inP +xCH eCI ltk wzC @@ -117857,7 +117854,7 @@ uCK aXn aXn hvI -eTI +dcR pAV pXy dHZ @@ -119904,7 +119901,7 @@ aXn aXn eCI pDl -inP +xCH aXn aXn ock @@ -120138,8 +120135,8 @@ chV evL qwd pPN -fvV -dkb +xHt +xTG emw abW nxA @@ -122777,7 +122774,7 @@ btd btd uql cBs -joS +nsy cBs cBs biB @@ -122980,7 +122977,7 @@ bpf pbY pbY pbY -xCu +gEI abT jSU grv @@ -123034,9 +123031,9 @@ cuk prN mcu pcu -jeu +kAT jKU -nsy +sNb biB hqe btd @@ -123811,7 +123808,7 @@ biB biB xNP biB -kAT +eTe kDy biB etV @@ -124585,7 +124582,7 @@ lJR lJR btd pNE -mgq +htz btd cEM eQC @@ -125346,11 +125343,11 @@ muv lYO riS mcu -uQB -uQB -uQB +aUB +aUB +aUB hpP -tMD +uQB haI lUc xAS @@ -125603,7 +125600,7 @@ baF jUW fPp cxx -htz +lhc xnz wFD rxy diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index cbe1e90d244..f472f6bc374 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -18993,7 +18993,6 @@ }, /area/station/hallway/primary/fore/south) "bhH" = ( -/obj/machinery/smartfridge, /obj/effect/mapping_helpers/airlock/windoor/access/all/service/hydroponics{ dir = 8 }, @@ -19004,6 +19003,7 @@ /obj/effect/mapping_helpers/airlock/windoor/access/any/service/kitchen{ dir = 8 }, +/obj/machinery/smartfridge/food/chef, /turf/simulated/floor/plasteel, /area/station/service/kitchen) "bhI" = ( diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index dd9bf794331..3c8238ba991 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -78964,8 +78964,8 @@ }, /area/station/security/prisonershuttle) "oIR" = ( -/obj/machinery/smartfridge, /obj/machinery/door/firedoor, +/obj/machinery/smartfridge/food/chef, /turf/simulated/floor/plasteel, /area/station/service/hydroponics) "oIU" = ( diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index fe30422ae55..0b026744f94 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -89285,7 +89285,7 @@ /turf/space, /area/space/nearstation) "wPS" = ( -/obj/machinery/smartfridge, +/obj/machinery/smartfridge/food/chef, /obj/machinery/door/window/classic/normal{ name = "Anti-Theft Shield"; dir = 1 diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index deb2af941ef..c1b6dc49b04 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -434,7 +434,10 @@ . = ..() accepted_items_typecache = typecacheof(list( /obj/item/kitchen, - /obj/item/food)) + /obj/item/food, + /obj/item/seeds, + /obj/item/grown, + /obj/item/reagent_containers/condiment)) // Syndicate Druglab Ruin /obj/machinery/smartfridge/food/syndicate_druglab @@ -447,6 +450,88 @@ /obj/item/reagent_containers/drinks/bottle/kahlua = 1, /obj/item/reagent_containers/drinks/bottle/orangejuice = 2) +///The Chefs smartfridge. This smartfridge will spawn with a random condiment, then 3 stacks of 3 plants (or fish meat) to give chef some extra starting variety, or new ideas on what to cook! +/obj/machinery/smartfridge/food/chef + +/obj/machinery/smartfridge/food/chef/Initialize(mapload) + starting_items = generate_starting_items() + . = ..() + +/obj/machinery/smartfridge/food/chef/proc/generate_starting_items() + // These plants are blocked for being inedable, downright toxic, RND plants, botany plants, or wheat. + var/list/static/forbidden_plants = list( + /obj/item/food/grown/wheat, + /obj/item/food/grown/meatwheat, + /obj/item/food/grown/shell/gatfruit, + /obj/item/food/grown/apple/poisoned, + /obj/item/food/grown/cherry_bomb, + /obj/item/food/grown/firelemon, + /obj/item/food/grown/ambrosia/gaia, + /obj/item/food/grown/mushroom/glowshroom, + /obj/item/food/grown/mushroom/glowshroom/glowcap, + /obj/item/food/grown/mushroom/glowshroom/shadowshroom, + /obj/item/food/grown/cannabis, // I don't care about weed pizza, sorry. + /obj/item/food/grown/cannabis/rainbow, + /obj/item/food/grown/cannabis/death, + /obj/item/food/grown/cannabis/white, + /obj/item/food/grown/cannabis/ultimate, + /obj/item/food/grown/tobacco, + /obj/item/food/grown/pumpkin/blumpkin, + /obj/item/food/grown/berries/poison, + /obj/item/food/grown/berries/death, + /obj/item/food/grown/berries/glow, + /obj/item/food/grown/comfrey, + /obj/item/food/grown/aloe, + /obj/item/food/grown/kudzupod, + /obj/item/food/grown/holymelon, // Lets not out vampires or cult by accident thanks + /obj/item/food/grown/mushroom/reishi, // I would block out Amanita but it has 2 recipies, might be funny. + /obj/item/food/grown/mushroom/angel, + /obj/item/food/grown/random, + /obj/item/food/grown/tea, + /obj/item/food/grown/tea/astra, + /obj/item/food/grown/coffee, + /obj/item/food/grown/coffee/robusta, + /obj/item/food/grown/grass, + /obj/item/food/grown/grass/carpet, + /obj/item/food/grown/harebell, + /obj/item/food/grown/poppy, + /obj/item/food/grown/lily, + /obj/item/food/grown/geranium, + /obj/item/food/grown/moonflower, + /obj/item/food/grown/ash_flora/shavings, + /obj/item/food/grown/ash_flora/mushroom_leaf, + /obj/item/food/grown/ash_flora/mushroom_cap, + /obj/item/food/grown/ash_flora/mushroom_stem, + /obj/item/food/grown/ash_flora/cactus_fruit, + /obj/item/food/grown/shell, + /obj/item/food/grown/mushroom/fungus, + /obj/item/food/grown/mushroom, + /obj/item/food/grown/ash_flora, + ) + var/list/output = list() + for(var/I in 1 to 3) + var/obj/item/food/chosen + if(prob(95)) + chosen = pick(subtypesof(/obj/item/food/grown) - forbidden_plants) + else // Fish / sushi stuff, or xenomeat rarely as a treat + chosen = pick(/obj/item/food/catfishmeat, /obj/item/food/carpmeat, /obj/item/food/salmonmeat, /obj/item/food/shrimp, /obj/item/food/monstermeat/xenomeat) + output[chosen] += 3 + // Adds 2 condiment bottles as bonus. No hotsauce or ketchup, as the chef starts with that + for(var/G in 1 to 2) + output += pick( + /obj/item/reagent_containers/condiment/bbqsauce, + /obj/item/reagent_containers/condiment/soysauce, + /obj/item/reagent_containers/condiment/mayonnaise, + /obj/item/reagent_containers/condiment/cherryjelly, + /obj/item/reagent_containers/condiment/peanutbutter, + /obj/item/reagent_containers/condiment/honey, + /obj/item/reagent_containers/condiment/oliveoil, + /obj/item/reagent_containers/condiment/frostoil, + /obj/item/reagent_containers/condiment/wasabi, + /obj/item/reagent_containers/condiment/vinegar, + ) + return output + /** * # Seed Storage *