diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 41acd29526aa..15691a281846 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -21998,7 +21998,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 33eab00e4e14..3003c6545cc6 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -41339,10 +41339,7 @@ }, /area/station/command/vault) "gNy" = ( -/obj/machinery/smartfridge/secure{ - name = "\improper Kitchen Delivery SmartFridge"; - req_one_access_txt = "28;35" - }, +/obj/machinery/smartfridge/food/chef, /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index abcc88356918..f02fde3ad811 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -18969,7 +18969,6 @@ }, /area/station/hallway/primary/fore/south) "bhH" = ( -/obj/machinery/smartfridge, /obj/effect/mapping_helpers/airlock/windoor/access/all/service/hydroponics{ dir = 8 }, @@ -18980,6 +18979,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/metastation.dmm b/_maps/map_files/stations/metastation.dmm index cd6c7a7a701f..ee46ab808063 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -89199,7 +89199,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 deb2af941eff..c04b9c36e7a8 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -447,6 +447,90 @@ /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() + . = ..() + accepted_items_typecache = accepted_items_typecache = typecacheof(list( + /obj/item/food, + /obj/item/seeds, + /obj/item/grown)) + +/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) + for(var/H in 1 to 3) + output += chosen + // 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 *