diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 1f21c804e9b..446cc74ae9b 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -81,14 +81,6 @@ #define MAXCOIL 30 //tablecrafting defines -#define CAT_NONE "" -#define CAT_WEAPONRY "Weaponry" -#define CAT_WEAPON "Weapons" -#define CAT_AMMO "Ammunition" -#define CAT_ROBOT "Robots" -#define CAT_MISC "Misc" -#define CAT_PRIMAL "Tribal" -#define CAT_CLOTHING "Clothing" #define CAT_FOOD "Foods" #define CAT_BREAD "Breads" #define CAT_BURGER "Burgers" @@ -109,9 +101,26 @@ #define CAT_SPAGHETTI "Spaghettis" #define CAT_ICE "Frozen" #define CAT_DRINK "Drinks" + +//crafting defines +#define CAT_WEAPON_RANGED "Weapons Ranged" +#define CAT_WEAPON_MELEE "Weapons Melee" +#define CAT_WEAPON_AMMO "Weapon Ammo" +#define CAT_ROBOT "Robotics" +#define CAT_MISC "Misc" +#define CAT_CLOTHING "Clothing" #define CAT_CHEMISTRY "Chemistry" -#define CAT_ATMOSPHERIC "Atmospheric" +#define CAT_ATMOSPHERIC "Atmospherics" #define CAT_STRUCTURE "Structures" +#define CAT_TILES "Tiles" +#define CAT_WINDOWS "Windows" +#define CAT_DOORS "Doors" +#define CAT_FURNITURE "Furniture" +#define CAT_EQUIPMENT "Equipment" +#define CAT_CONTAINERS "Containers" +#define CAT_ENTERTAINMENT "Entertainment" +#define CAT_TOOLS "Tools" +#define CAT_CULT "Blood Cult" //rcd modes #define RCD_FLOORWALL 0 diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 10f72b07117..59c54d1b231 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -57,15 +57,128 @@ GLOB.emote_list = init_emote_list() - init_crafting_recipes(GLOB.crafting_recipes) + init_crafting_recipes() + init_crafting_recipes_atoms() -/// Inits the crafting recipe list, sorting crafting recipe requirements in the process. +/// Inits crafting recipe lists /proc/init_crafting_recipes(list/crafting_recipes) for(var/path in subtypesof(/datum/crafting_recipe)) + if(ispath(path, /datum/crafting_recipe/stack)) + continue + var/is_cooking = ispath(path, /datum/crafting_recipe/food/) var/datum/crafting_recipe/recipe = new path() recipe.reqs = sort_list(recipe.reqs, GLOBAL_PROC_REF(cmp_crafting_req_priority)) - crafting_recipes += recipe - return crafting_recipes + if(recipe.name != "" && recipe.result) + if(is_cooking) + GLOB.cooking_recipes += recipe + else + GLOB.crafting_recipes += recipe + + var/list/global_stack_recipes = list( + /obj/item/stack/sheet/glass = GLOB.glass_recipes, + /obj/item/stack/sheet/plasmaglass = GLOB.pglass_recipes, + /obj/item/stack/sheet/rglass = GLOB.reinforced_glass_recipes, + /obj/item/stack/sheet/plasmarglass = GLOB.prglass_recipes, + /obj/item/stack/sheet/animalhide/gondola = GLOB.gondola_recipes, + /obj/item/stack/sheet/animalhide/corgi = GLOB.corgi_recipes, + /obj/item/stack/sheet/animalhide/monkey = GLOB.monkey_recipes, + /obj/item/stack/sheet/animalhide/xeno = GLOB.xeno_recipes, + /obj/item/stack/sheet/leather = GLOB.leather_recipes, + /obj/item/stack/sheet/sinew = GLOB.sinew_recipes, + /obj/item/stack/sheet/animalhide/carp = GLOB.carp_recipes, + /obj/item/stack/sheet/mineral/sandstone = GLOB.sandstone_recipes, + /obj/item/stack/sheet/mineral/sandbags = GLOB.sandbag_recipes, + /obj/item/stack/sheet/mineral/diamond = GLOB.diamond_recipes, + /obj/item/stack/sheet/mineral/uranium = GLOB.uranium_recipes, + /obj/item/stack/sheet/mineral/plasma = GLOB.plasma_recipes, + /obj/item/stack/sheet/mineral/gold = GLOB.gold_recipes, + /obj/item/stack/sheet/mineral/silver = GLOB.silver_recipes, + /obj/item/stack/sheet/mineral/bananium = GLOB.bananium_recipes, + /obj/item/stack/sheet/mineral/titanium = GLOB.titanium_recipes, + /obj/item/stack/sheet/mineral/plastitanium = GLOB.plastitanium_recipes, + /obj/item/stack/sheet/mineral/snow = GLOB.snow_recipes, + /obj/item/stack/sheet/mineral/adamantine = GLOB.adamantine_recipes, + /obj/item/stack/sheet/mineral/abductor = GLOB.abductor_recipes, + /obj/item/stack/sheet/iron = GLOB.metal_recipes, + /obj/item/stack/sheet/plasteel = GLOB.plasteel_recipes, + /obj/item/stack/sheet/mineral/wood = GLOB.wood_recipes, + /obj/item/stack/sheet/mineral/bamboo = GLOB.bamboo_recipes, + /obj/item/stack/sheet/cloth = GLOB.cloth_recipes, + /obj/item/stack/sheet/durathread = GLOB.durathread_recipes, + /obj/item/stack/sheet/cardboard = GLOB.cardboard_recipes, + /obj/item/stack/sheet/bronze = GLOB.bronze_recipes, + /obj/item/stack/sheet/plastic = GLOB.plastic_recipes, + /obj/item/stack/ore/glass = GLOB.sand_recipes, + /obj/item/stack/rods = GLOB.rod_recipes, + /obj/item/stack/sheet/runed_metal = GLOB.runed_metal_recipes, + ) + + for(var/stack in global_stack_recipes) + for(var/stack_recipe in global_stack_recipes[stack]) + if(istype(stack_recipe, /datum/stack_recipe_list)) + var/datum/stack_recipe_list/stack_recipe_list = stack_recipe + for(var/nested_recipe in stack_recipe_list.recipes) + if(!nested_recipe) + continue + var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, nested_recipe) + if(recipe.name != "" && recipe.result) + GLOB.crafting_recipes += recipe + else + if(!stack_recipe) + continue + var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(stack, stack_recipe) + if(recipe.name != "" && recipe.result) + GLOB.crafting_recipes += recipe + + var/list/material_stack_recipes = list( + SSmaterials.base_stack_recipes, + SSmaterials.rigid_stack_recipes, + ) + + for(var/list/recipe_list in material_stack_recipes) + for(var/stack_recipe in recipe_list) + var/datum/crafting_recipe/stack/recipe = new/datum/crafting_recipe/stack(/obj/item/stack/sheet/iron, stack_recipe) + recipe.steps = list("Use different materials in hand to make an item of that material") + GLOB.crafting_recipes += recipe + +/// Inits atoms used in crafting recipes +/proc/init_crafting_recipes_atoms() + var/list/recipe_lists = list( + GLOB.crafting_recipes, + GLOB.cooking_recipes + ) + var/list/atom_lists = list( + GLOB.crafting_recipes_atoms, + GLOB.cooking_recipes_atoms + ) + + for(var/recipe_list in recipe_lists) + for(var/datum/crafting_recipe/recipe as anything in recipe_list) + var/list_index = recipe_lists.Find(recipe_list) + // Result + if(!(recipe.result in atom_lists[list_index])) + atom_lists[list_index] += recipe.result + // Ingredients + for(var/atom/req_atom as anything in recipe.reqs) + if(!(req_atom in atom_lists[list_index])) + atom_lists[list_index] += req_atom + // Catalysts + for(var/atom/req_atom as anything in recipe.chem_catalysts) + if(!(req_atom in atom_lists[list_index])) + atom_lists[list_index] += req_atom + // Reaction data - required container + if(recipe.reaction) + var/required_container = initial(recipe.reaction.required_container) + if(required_container && !(required_container in atom_lists[list_index])) + atom_lists[list_index] += required_container + // Tools + for(var/atom/req_atom as anything in recipe.tool_paths) + if(!(req_atom in atom_lists[list_index])) + atom_lists[list_index] += req_atom + // Machinery + for(var/atom/req_atom as anything in recipe.machinery) + if(!(req_atom in atom_lists[list_index])) + atom_lists[list_index] += req_atom //creates every subtype of prototype (excluding prototype) and adds it to list L. //if no list/L is provided, one is created. diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 744cd20fe0f..f59f2052e69 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -26,7 +26,10 @@ GLOBAL_LIST(chemical_reactions_results_lookup_list) //List of all reactions with GLOBAL_LIST(fake_reagent_blacklist) //List of all reagents that are parent types used to define a bunch of children - but aren't used themselves as anything. GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id. GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path. -GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes +GLOBAL_LIST_EMPTY(crafting_recipes) //list of all crafting recipes +GLOBAL_LIST_EMPTY(crafting_recipes_atoms) //list of all atoms occuring in crafting recipes +GLOBAL_LIST_EMPTY(cooking_recipes) //list of all cooking recipes +GLOBAL_LIST_EMPTY(cooking_recipes_atoms) //list of all atoms occuring in cooking recipes GLOBAL_LIST_EMPTY(rcd_list) //list of Rapid Construction Devices. GLOBAL_LIST_EMPTY(intercoms_list) //list of wallmounted intercom radios. GLOBAL_LIST_EMPTY(apcs_list) //list of all Area Power Controller machines, separate from machines for powernet speeeeeeed. diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm index b682b35e1de..fda766e3562 100644 --- a/code/controllers/subsystem/materials.dm +++ b/code/controllers/subsystem/materials.dm @@ -22,15 +22,15 @@ SUBSYSTEM_DEF(materials) var/list/list/material_combos ///List of stackcrafting recipes for materials using base recipes var/list/base_stack_recipes = list( - new /datum/stack_recipe("Chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), - new /datum/stack_recipe("Toilet", /obj/structure/toilet/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), - new /datum/stack_recipe("Sink Frame", /obj/structure/sinkframe, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), - new /datum/stack_recipe("Material floor tile", /obj/item/stack/tile/material, 1, 4, 20, applies_mats = TRUE), - new /datum/stack_recipe("Material airlock assembly", /obj/structure/door_assembly/door_assembly_material, 4, time = 50, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), + new /datum/stack_recipe("Chair", /obj/structure/chair/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("Toilet", /obj/structure/toilet/greyscale, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("Sink Frame", /obj/structure/sinkframe, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("Material floor tile", /obj/item/stack/tile/material, 1, 4, 20, applies_mats = TRUE, category = CAT_TILES), + new /datum/stack_recipe("Material airlock assembly", /obj/structure/door_assembly/door_assembly_material, 4, time = 50, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_DOORS), ) ///List of stackcrafting recipes for materials using rigid recipes var/list/rigid_stack_recipes = list( - new /datum/stack_recipe("Carving block", /obj/structure/carving_block, 5, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), + new /datum/stack_recipe("Carving block", /obj/structure/carving_block, 5, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_STRUCTURE), ) ///Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index 44d6b18b3c6..01cd79d8a45 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -12,47 +12,14 @@ CL.screen += C RegisterSignal(C, COMSIG_CLICK, PROC_REF(component_ui_interact)) +#define COOKING TRUE +#define CRAFTING FALSE + /datum/component/personal_crafting var/busy - var/viewing_category = 1 //typical powergamer starting on the Weapons tab - var/viewing_subcategory = 1 - var/list/categories = list( - CAT_WEAPONRY = list( - CAT_WEAPON, - CAT_AMMO, - ), - CAT_ROBOT = CAT_NONE, - CAT_MISC = CAT_NONE, - CAT_PRIMAL = CAT_NONE, - CAT_FOOD = list( - CAT_BREAD, - CAT_BURGER, - CAT_CAKE, - CAT_EGG, - CAT_LIZARD, - CAT_ICE, - CAT_MEAT, - CAT_SEAFOOD, - CAT_MISCFOOD, - CAT_MOTH, - CAT_PASTRY, - CAT_PIE, - CAT_PIZZA, - CAT_SALAD, - CAT_SANDWICH, - CAT_SOUP, - CAT_SPAGHETTI, - ), - CAT_DRINK = CAT_NONE, - CAT_CLOTHING = CAT_NONE, - CAT_ATMOSPHERIC = CAT_NONE, - CAT_STRUCTURE = CAT_NONE, - ) - - var/cur_category = CAT_NONE - var/cur_subcategory = CAT_NONE + var/mode = CRAFTING var/display_craftable_only = FALSE - var/display_compact = TRUE + var/display_compact = FALSE /* This is what procs do: get_environment - gets a list of things accessable for crafting by user @@ -212,7 +179,11 @@ if(!check_tools(a, R, contents)) return ", missing tool." var/list/parts = del_reqs(R, a) - var/atom/movable/I = new R.result (get_turf(a.loc)) + var/atom/movable/I + if(ispath(R.result, /obj/item/stack)) + I = new R.result (get_turf(a.loc), R.result_amount || 1) + else + I = new R.result (get_turf(a.loc)) I.CheckParts(parts, R) if(send_feedback) SSblackbox.record_feedback("tally", "object_crafted", 1, I.type) @@ -359,6 +330,15 @@ container.emptyStorage() qdel(DL) +/datum/component/personal_crafting/proc/is_recipe_available(datum/crafting_recipe/recipe, mob/user) + if(!recipe.always_available && !(recipe.type in user?.mind?.learned_recipes)) //User doesn't actually know how to make this. + return FALSE + if (ispath(recipe.type, /datum/crafting_recipe/food/) != mode) // Skip if food and mode is crafting / Skip if not food and mode is cooking + return FALSE + if (recipe.category == CAT_CULT && !IS_CULTIST(user)) // Skip blood cult recipes if not cultist + return FALSE + return TRUE + /datum/component/personal_crafting/proc/component_ui_interact(atom/movable/screen/craft/image, location, control, params, user) SIGNAL_HANDLER @@ -372,64 +352,86 @@ /datum/component/personal_crafting/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - cur_category = categories[1] - if(islist(categories[cur_category])) - var/list/subcats = categories[cur_category] - cur_subcategory = subcats[1] - else - cur_subcategory = CAT_NONE - ui = new(user, src, "PersonalCrafting") + ui = new(user, src, "PersonalCrafting", "Crafting") ui.open() /datum/component/personal_crafting/ui_data(mob/user) var/list/data = list() data["busy"] = busy - data["category"] = cur_category - data["subcategory"] = cur_subcategory + data["mode"] = mode data["display_craftable_only"] = display_craftable_only data["display_compact"] = display_compact var/list/surroundings = get_surroundings(user) var/list/craftability = list() - for(var/rec in GLOB.crafting_recipes) - var/datum/crafting_recipe/R = rec - - if(!R.always_available && !(R.type in user?.mind?.learned_recipes)) //User doesn't actually know how to make this. + for(var/datum/crafting_recipe/recipe as anything in (mode ? GLOB.cooking_recipes : GLOB.crafting_recipes)) + if(!is_recipe_available(recipe, user)) continue - - if((R.category != cur_category) || (R.subcategory != cur_subcategory)) - continue - - craftability["[REF(R)]"] = check_contents(user, R, surroundings) + if(check_contents(user, recipe, surroundings) && check_tools(user, recipe, surroundings)) + craftability["[REF(recipe)]"] = TRUE data["craftability"] = craftability return data /datum/component/personal_crafting/ui_static_data(mob/user) var/list/data = list() + var/list/material_occurences = list() - var/list/crafting_recipes = list() - for(var/rec in GLOB.crafting_recipes) - var/datum/crafting_recipe/R = rec + data["recipes"] = list() + data["categories"] = list() + data["foodtypes"] = list() - if(R.name == "") //This is one of the invalid parents that sneaks in + if(user.has_dna()) + var/mob/living/carbon/carbon = user + data["diet"] = carbon.dna.species.get_species_diet() + + for(var/datum/crafting_recipe/recipe as anything in (mode ? GLOB.cooking_recipes : GLOB.crafting_recipes)) + if(!is_recipe_available(recipe, user)) continue - if(!R.always_available && !(R.type in user?.mind?.learned_recipes)) //User doesn't actually know how to make this. - continue + if(recipe.category && !(recipe.category in data["categories"])) + data["categories"] += recipe.category - if(isnull(crafting_recipes[R.category])) - crafting_recipes[R.category] = list() + if(ispath(recipe.result, /obj/item/food)) + var/obj/item/food/item = recipe.result + var/list/foodtypes = bitfield_to_list(initial(item.foodtypes), FOOD_FLAGS) + for(var/type in foodtypes) + if(!(type in data["foodtypes"])) + data["foodtypes"] += type - if(R.subcategory == CAT_NONE) - crafting_recipes[R.category] += list(build_recipe_data(R)) - else - if(isnull(crafting_recipes[R.category][R.subcategory])) - crafting_recipes[R.category][R.subcategory] = list() - crafting_recipes[R.category]["has_subcats"] = TRUE - crafting_recipes[R.category][R.subcategory] += list(build_recipe_data(R)) + // Materials + for(var/req in recipe.reqs) + if(!(req in material_occurences)) + material_occurences[req] = 1 + else + material_occurences[req] += 1 + for(var/req in recipe.chem_catalysts) + if(!(req in material_occurences)) + material_occurences[req] = 1 + else + material_occurences[req] += 1 + + data["recipes"] += list(build_crafting_data(recipe)) + + var/list/atoms = mode ? GLOB.cooking_recipes_atoms : GLOB.crafting_recipes_atoms + + // Prepare atom data + for(var/atom/atom as anything in atoms) + data["atom_data"] += list(list( + "name" = initial(atom.name), + "is_reagent" = ispath(atom, /datum/reagent/) + )) + + // Prepare materials data + for(var/atom/atom as anything in material_occurences) + if(material_occurences[atom] == 1) + continue // Don't include materials that appear only once + var/id = atoms.Find(atom) + data["material_occurences"] += list(list( + "atom_id" = "[id]", + "occurences" = material_occurences[atom] + )) - data["crafting_recipes"] = crafting_recipes return data /datum/component/personal_crafting/ui_act(action, params) @@ -439,7 +441,7 @@ switch(action) if("make") var/mob/user = usr - var/datum/crafting_recipe/crafting_recipe = locate(params["recipe"]) in GLOB.crafting_recipes + var/datum/crafting_recipe/crafting_recipe = locate(params["recipe"]) in (mode ? GLOB.cooking_recipes : GLOB.crafting_recipes) busy = TRUE ui_interact(user) var/atom/movable/result = construct_item(user, crafting_recipe) @@ -460,41 +462,115 @@ if("toggle_compact") display_compact = !display_compact . = TRUE - if("set_category") - cur_category = params["category"] - cur_subcategory = params["subcategory"] || "" + if("toggle_mode") + mode = !mode + var/mob/user = usr + update_static_data(user) . = TRUE -/datum/component/personal_crafting/proc/build_recipe_data(datum/crafting_recipe/R) +/datum/component/personal_crafting/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/crafting), + get_asset_datum(/datum/asset/spritesheet/crafting/cooking), + ) +/// +/datum/component/personal_crafting/proc/build_crafting_data(datum/crafting_recipe/recipe) var/list/data = list() - data["name"] = R.name - data["ref"] = "[REF(R)]" - var/list/req_text = list() - var/list/tool_list = list() - var/list/catalyst_text = list() + var/list/atoms = mode ? GLOB.cooking_recipes_atoms : GLOB.crafting_recipes_atoms - for(var/atom/req_atom as anything in R.reqs) - //We just need the name, so cheat-typecast to /atom for speed (even tho Reagents are /datum they DO have a "name" var) - //Also these are typepaths so sadly we can't just do "[a]" - req_text += "[R.reqs[req_atom]] [initial(req_atom.name)]" - for(var/obj/machinery/content as anything in R.machinery) - req_text += "[R.reqs[content]] [initial(content.name)]" - if(R.additional_req_text) - req_text += R.additional_req_text - data["req_text"] = req_text.Join(", ") + data["ref"] = "[REF(recipe)]" + var/atom/atom = recipe.result + data["result"] = atoms.Find(atom) - for(var/atom/req_catalyst as anything in R.chem_catalysts) - catalyst_text += "[R.chem_catalysts[req_catalyst]] [initial(req_catalyst.name)]" - data["catalyst_text"] = catalyst_text.Join(", ") + if(ispath(recipe.type, /datum/crafting_recipe/food) && ispath(recipe.result, /obj/item/food)) + // Foodtypes + var/obj/item/food/item = recipe.result + var/list/foodtypes = bitfield_to_list(initial(item.foodtypes), FOOD_FLAGS) + for(var/type in foodtypes) + if(!(type in data["foodtypes"])) + data["foodtypes"] += type + data["foodtypes"] = foodtypes + // Nutriments + var/datum/crafting_recipe/food/food_recipe = recipe + data["nutriments"] = food_recipe.total_nutriment_factor - for(var/required_quality in R.tool_behaviors) - tool_list += required_quality - for(var/obj/item/required_path as anything in R.tool_paths) - tool_list += initial(required_path.name) - data["tool_text"] = tool_list.Join(", ") + // Category + data["category"] = recipe.category + + // Name, Description + data["name"] = initial(atom.name) + if(recipe.name) // Override if recipe has a name + data["name"] = recipe.name + + if(ispath(recipe.result, /datum/reagent)) + var/datum/reagent/reagent = recipe.result + if(recipe.result_amount > 1) + data["name"] = "[data["name"]] [recipe.result_amount]u" + data["desc"] = initial(reagent.description) + else if(ispath(recipe.result, /obj/item/pipe)) + var/obj/item/pipe/pipe_obj = recipe.result + var/obj/pipe_real = initial(pipe_obj.pipe_type) + data["desc"] = initial(pipe_real.desc) + else + if(ispath(recipe.result, /obj/item/stack) && recipe.result_amount > 1) + data["name"] = "[data["name"]] [recipe.result_amount]x" + data["desc"] = initial(atom.desc) + + // Crafting + if(recipe.non_craftable) + data["non_craftable"] = recipe.non_craftable + if(recipe.steps) + data["steps"] = recipe.steps + + // Tools + if(recipe.tool_behaviors) + data["tool_behaviors"] = recipe.tool_behaviors + if(recipe.tool_paths) + data["tool_paths"] = list() + for(var/req_atom as anything in recipe.tool_paths) + data["tool_paths"] += atoms.Find(req_atom) + + // Machinery + if(recipe.machinery) + data["machinery"] = list() + for(var/req_atom as anything in recipe.machinery) + data["machinery"] += atoms.Find(req_atom) + + // Ingredients / Materials + if(recipe.reqs.len) + data["reqs"] = list() + for(var/req_atom as anything in recipe.reqs) + var/id = atoms.Find(req_atom) + data["reqs"]["[id]"] = recipe.reqs[req_atom] + + // Catalysts + if(recipe.chem_catalysts.len) + data["chem_catalysts"] = list() + for(var/req_atom as anything in recipe.chem_catalysts) + var/id = atoms.Find(req_atom) + data["chem_catalysts"]["[id]"] = recipe.chem_catalysts[req_atom] + + // Reaction data + if(recipe.reaction) + data["is_reaction"] = TRUE + var/datum/chemical_reaction/reaction = GLOB.chemical_reactions_list[recipe.reaction] + if(!data["steps"]) + data["steps"] = list() + if(!reaction.required_container && (recipe.reqs.len > 1 || reaction.required_catalysts.len)) + data["steps"] += "Mix all ingredients together" + if(reaction.required_temp > T20C) + data["steps"] += "Heat up to [reaction.required_temp]K" + if(reaction.required_container) + var/atom/req_atom = reaction.required_container + var/id = atoms.Find(req_atom) + data["reqs"]["[id]"] = 1 + data["steps"] += "Add all ingredients into the [initial(req_atom.name)]" return data +#undef COOKING +#undef CRAFTING + //Mind helpers /datum/mind/proc/teach_crafting_recipe(R) diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index fbadcb05317..b2c1b70a1c1 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -5,7 +5,7 @@ /datum/crafting_recipe ///in-game display name - var/name = "" + var/name ///type paths of items consumed associated with how many are needed var/list/reqs = list() ///type paths of items explicitly not allowed as an ingredient @@ -23,8 +23,7 @@ ///like tool_behaviors but for reagents var/list/chem_catalysts = list() ///where it shows up in the crafting UI - var/category = CAT_NONE - var/subcategory = CAT_NONE + var/category ///Set to FALSE if it needs to be learned first. var/always_available = TRUE /// Additonal requirements text shown in UI @@ -33,6 +32,14 @@ var/list/machinery ///Should only one object exist on the same turf? var/one_per_turf = FALSE + /// Steps needed to achieve the result + var/list/steps + /// Whether the result can be crafted with a crafting menu button + var/non_craftable + /// Chemical reaction described in the recipe + var/datum/chemical_reaction/reaction + /// Resulting amount (for stacks only) + var/result_amount /datum/crafting_recipe/New() if(!(result in reqs)) @@ -42,6 +49,19 @@ if(tool_paths) tool_paths = string_list(tool_paths) +/datum/crafting_recipe/stack/New(obj/item/stack/material, datum/stack_recipe/stack_recipe) + if(!material || !stack_recipe || !stack_recipe.result_type) + stack_trace("Invalid stack recipe [stack_recipe]") + return + ..() + + src.name = stack_recipe.title + src.time = stack_recipe.time + src.result = stack_recipe.result_type + src.result_amount = stack_recipe.res_amount + src.reqs[material] = stack_recipe.req_amount + src.category = stack_recipe.category || CAT_MISC + /** * Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client * @@ -70,8 +90,7 @@ /obj/item/reagent_containers/cup/soda_cans = 1) parts = list(/obj/item/reagent_containers/cup/soda_cans = 1) time = 1.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_CHEMISTRY /datum/crafting_recipe/strobeshield name = "Strobe Shield" @@ -80,8 +99,7 @@ /obj/item/assembly/flash/handheld = 1, /obj/item/shield/riot = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_EQUIPMENT /datum/crafting_recipe/strobeshield/New() ..() @@ -94,8 +112,7 @@ /obj/item/reagent_containers/cup/glass/bottle = 1) parts = list(/obj/item/reagent_containers/cup/glass/bottle = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_CHEMISTRY /datum/crafting_recipe/stunprod name = "Stunprod" @@ -104,8 +121,7 @@ /obj/item/stack/rods = 1, /obj/item/assembly/igniter = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/teleprod name = "Teleprod" @@ -115,8 +131,7 @@ /obj/item/assembly/igniter = 1, /obj/item/stack/ore/bluespace_crystal = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/bola name = "Bola" @@ -124,8 +139,7 @@ reqs = list(/obj/item/restraints/handcuffs/cable = 1, /obj/item/stack/sheet/iron = 6) time = 2 SECONDS//faster than crafting them by hand! - category= CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/gonbola name = "Gonbola" @@ -134,8 +148,7 @@ /obj/item/stack/sheet/iron = 6, /obj/item/stack/sheet/animalhide/gondola = 1) time = 4 SECONDS - category= CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/tailclub name = "Tail Club" @@ -144,8 +157,7 @@ /obj/item/stack/sheet/iron = 1) blacklist = list(/obj/item/organ/external/tail/lizard/fake) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/tailwhip name = "Liz O' Nine Tails" @@ -154,8 +166,7 @@ /obj/item/stack/cable_coil = 1) blacklist = list(/obj/item/organ/external/tail/lizard/fake) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/catwhip name = "Cat O' Nine Tails" @@ -163,8 +174,7 @@ reqs = list(/obj/item/organ/external/tail/cat = 1, /obj/item/stack/cable_coil = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/reciever name = "Modular Rifle Reciever" @@ -175,8 +185,7 @@ /obj/item/screwdriver = 1, /obj/item/assembly/mousetrap = 1) time = 10 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/riflestock name = "Wooden Rifle Stock" @@ -185,8 +194,7 @@ reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sticky_tape = 1) time = 5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/advancedegun name = "Advanced Energy Gun" @@ -196,8 +204,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/nuclear = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/advancedegun/New() ..() @@ -211,8 +218,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/temperature = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/tempgun/New() ..() @@ -228,8 +234,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/beam_rifle = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/beam_rifle/New() ..() @@ -244,8 +249,7 @@ /obj/item/weaponcrafting/gunkit/ebow = 1, /datum/reagent/uranium/radium = 15) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/xraylaser name = "X-ray Laser Gun" @@ -255,8 +259,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/xray = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/xraylaser/New() ..() @@ -270,8 +273,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/hellgun = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/hellgun/New() ..() @@ -285,8 +287,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/ion = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/ioncarbine/New() ..() @@ -302,8 +303,7 @@ /datum/reagent/baldium = 30, /datum/reagent/toxin/mutagen = 40) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/decloner/New() ..() @@ -317,8 +317,7 @@ /obj/item/stack/cable_coil = 5, /obj/item/weaponcrafting/gunkit/tesla = 1) time = 20 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/ed209 name = "ED209" @@ -462,8 +461,7 @@ /obj/item/stack/package_wrap = 8, /obj/item/pipe/quaternary = 2) time = 5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/flamethrower name = "Flamethrower" @@ -475,8 +473,7 @@ /obj/item/weldingtool = 1) tool_behaviors = list(TOOL_SCREWDRIVER) time = 1 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/meteorslug name = "Meteorslug Shell" @@ -488,8 +485,7 @@ /obj/item/stock_parts/manipulator = 2) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/pulseslug name = "Pulse Slug Shell" @@ -499,8 +495,7 @@ /obj/item/stock_parts/micro_laser/ultra = 1) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/dragonsbreath name = "Dragonsbreath Shell" @@ -508,8 +503,7 @@ reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/frag12 name = "FRAG-12 Shell" @@ -520,8 +514,7 @@ /datum/reagent/toxin/acid/fluacid = 5) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/ionslug name = "Ion Scatter Shell" @@ -531,8 +524,7 @@ /obj/item/stock_parts/subspace/crystal = 1) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/improvisedslug name = "Improvised Shotgun Shell" @@ -542,8 +534,7 @@ /datum/reagent/fuel = 10) tool_behaviors = list(TOOL_SCREWDRIVER) time = 1.2 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/laserslug name = "Scatter Laser Shell" @@ -553,8 +544,7 @@ /obj/item/stock_parts/micro_laser/high = 1) tool_behaviors = list(TOOL_SCREWDRIVER) time = 0.5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/pipegun name = "Pipegun" @@ -565,8 +555,7 @@ /obj/item/stack/sticky_tape = 1) tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/pipegun_prime name = "Regal Pipegun" @@ -580,8 +569,7 @@ tool_behaviors = list(TOOL_SCREWDRIVER) tool_paths = list(/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas, /obj/item/melee/baton/security/cattleprod) time = 30 SECONDS //contemplate for a bit - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/trash_cannon name = "Trash Cannon" @@ -595,8 +583,7 @@ /obj/item/restraints/handcuffs/cable = 1, /obj/item/storage/toolbox = 1, ) - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_RANGED /datum/crafting_recipe/trashball name = "Trashball" @@ -606,8 +593,7 @@ /obj/item/stack/sheet = 5, /datum/reagent/consumable/space_cola = 10, ) - category = CAT_WEAPONRY - subcategory = CAT_AMMO + category = CAT_WEAPON_AMMO /datum/crafting_recipe/chainsaw name = "Chainsaw" @@ -617,8 +603,7 @@ /obj/item/stack/sheet/plasteel = 5) tool_behaviors = list(TOOL_WELDER) time = 5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/spear name = "Spear" @@ -628,8 +613,7 @@ /obj/item/stack/rods = 1) parts = list(/obj/item/shard = 1) time = 4 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/lizardhat name = "Lizard Cloche Hat" @@ -662,7 +646,7 @@ /obj/item/stack/cable_coil = 2, /obj/item/radio = 1) tool_behaviors = list(TOOL_WIRECUTTER) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/radiogloves/New() ..() @@ -675,7 +659,7 @@ reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, /obj/item/organ/internal/heart = 1, /obj/item/stack/sheet/cloth = 3) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/mixedbouquet name = "Mixed bouquet" @@ -683,25 +667,25 @@ reqs = list(/obj/item/food/grown/poppy/lily =2, /obj/item/food/grown/sunflower = 2, /obj/item/food/grown/poppy/geranium = 2) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/sunbouquet name = "Sunflower bouquet" result = /obj/item/bouquet/sunflower reqs = list(/obj/item/food/grown/sunflower = 6) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/poppybouquet name = "Poppy bouquet" result = /obj/item/bouquet/poppy reqs = list (/obj/item/food/grown/poppy = 6) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/rosebouquet name = "Rose bouquet" result = /obj/item/bouquet/rose reqs = list(/obj/item/food/grown/rose = 6) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/spooky_camera name = "Camera Obscura" @@ -710,7 +694,7 @@ reqs = list(/obj/item/camera = 1, /datum/reagent/water/holywater = 10) parts = list(/obj/item/camera = 1) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/skateboard @@ -719,7 +703,7 @@ time = 6 SECONDS reqs = list(/obj/item/stack/sheet/iron = 5, /obj/item/stack/rods = 10) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/scooter name = "Scooter" @@ -727,7 +711,7 @@ time = 6.5 SECONDS reqs = list(/obj/item/stack/sheet/iron = 5, /obj/item/stack/rods = 12) - category = CAT_MISC + category = CAT_ENTERTAINMENT /datum/crafting_recipe/wheelchair name = "Wheelchair" @@ -735,7 +719,7 @@ reqs = list(/obj/item/stack/sheet/iron = 4, /obj/item/stack/rods = 6) time = 10 SECONDS - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/motorized_wheelchair name = "Motorized Wheelchair" @@ -748,7 +732,7 @@ /obj/item/stock_parts/capacitor = 1) tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) time = 20 SECONDS - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/trapdoor_kit name = "Trapdoor Construction Kit" @@ -760,7 +744,7 @@ /obj/item/assembly/signaler = 1) tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER) time = 10 SECONDS - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/trapdoor_remote name = "Trapdoor Remote" @@ -771,7 +755,7 @@ /obj/item/assembly/trapdoor = 1) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) time = 5 SECONDS - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/mousetrap name = "Mouse Trap" @@ -779,14 +763,14 @@ time = 1 SECONDS reqs = list(/obj/item/stack/sheet/cardboard = 1, /obj/item/stack/rods = 1) - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/papersack name = "Paper Sack" result = /obj/item/storage/box/papersack time = 1 SECONDS reqs = list(/obj/item/paper = 5) - category = CAT_MISC + category = CAT_CONTAINERS /datum/crafting_recipe/flashlight_eyes @@ -797,14 +781,14 @@ /obj/item/flashlight = 2, /obj/item/restraints/handcuffs/cable = 1 ) - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/paperframes name = "Paper Frames" result = /obj/item/stack/sheet/paperframes/five time = 1 SECONDS reqs = list(/obj/item/stack/sheet/mineral/wood = 5, /obj/item/paper = 20) - category = CAT_MISC + category = CAT_STRUCTURE /datum/crafting_recipe/naturalpaper name = "Hand-Pressed Paper" @@ -819,43 +803,43 @@ result = /obj/item/reagent_containers/cup/glass/sillycup time = 1 SECONDS reqs = list(/obj/item/paper = 2) - category = CAT_MISC + category = CAT_CONTAINERS /datum/crafting_recipe/toysword name = "Toy Sword" reqs = list(/obj/item/light/bulb = 1, /obj/item/stack/cable_coil = 1, /obj/item/stack/sheet/plastic = 4) result = /obj/item/toy/sword - category = CAT_MISC + category = CAT_WEAPON_MELEE /datum/crafting_recipe/blackcarpet name = "Black Carpet" reqs = list(/obj/item/stack/tile/carpet = 50, /obj/item/toy/crayon/black = 1) result = /obj/item/stack/tile/carpet/black/fifty - category = CAT_MISC + category = CAT_TILES /datum/crafting_recipe/curtain name = "Curtains" reqs = list(/obj/item/stack/sheet/cloth = 4, /obj/item/stack/rods = 1) result = /obj/structure/curtain/cloth - category = CAT_STRUCTURE + category = CAT_FURNITURE /datum/crafting_recipe/showercurtain name = "Shower Curtains" reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) result = /obj/structure/curtain - category = CAT_STRUCTURE + category = CAT_FURNITURE /datum/crafting_recipe/extendohand_r name = "Extendo-Hand (Right Arm)" reqs = list(/obj/item/bodypart/arm/right/robot = 1, /obj/item/clothing/gloves/boxing = 1) result = /obj/item/extendohand - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/extendohand_l name = "Extendo-Hand (Left Arm)" reqs = list(/obj/item/bodypart/arm/left/robot = 1, /obj/item/clothing/gloves/boxing = 1) result = /obj/item/extendohand - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/chemical_payload name = "Chemical Payload (C4)" @@ -867,8 +851,7 @@ ) parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) time = 3 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_CHEMISTRY /datum/crafting_recipe/chemical_payload2 name = "Chemical Payload (Gibtonite)" @@ -880,15 +863,14 @@ ) parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) time = 5 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_CHEMISTRY /datum/crafting_recipe/bonearmor name = "Bone Armor" result = /obj/item/clothing/suit/armor/bone time = 3 SECONDS reqs = list(/obj/item/stack/sheet/bone = 6) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/bonetalisman name = "Bone Talisman" @@ -896,7 +878,7 @@ time = 2 SECONDS reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/bonecodpiece name = "Skull Codpiece" @@ -904,7 +886,7 @@ time = 2 SECONDS reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/skilt name = "Sinew Kilt" @@ -912,7 +894,7 @@ time = 2 SECONDS reqs = list(/obj/item/stack/sheet/bone = 1, /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/bracers name = "Bone Bracers" @@ -920,14 +902,14 @@ time = 2 SECONDS reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/skullhelm name = "Skull Helmet" result = /obj/item/clothing/head/helmet/skull time = 3 SECONDS reqs = list(/obj/item/stack/sheet/bone = 4) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/goliathcloak name = "Goliath Cloak" @@ -936,7 +918,7 @@ reqs = list(/obj/item/stack/sheet/leather = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 2) //it takes 4 goliaths to make 1 cloak if the plates are skinned - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/drakecloak name = "Ash Drake Armour" @@ -945,21 +927,14 @@ reqs = list(/obj/item/stack/sheet/bone = 10, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/animalhide/ashdrake = 5) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/godslayer name = "Godslayer Armour" result = /obj/item/clothing/suit/hooded/cloak/godslayer time = 6 SECONDS reqs = list(/obj/item/ice_energy_crystal = 1, /obj/item/wendigo_skull = 1, /obj/item/clockwork_alloy = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/firebrand - name = "Firebrand" - result = /obj/item/match/firebrand - time = 10 SECONDS //Long construction time. Making fire is hard work. - reqs = list(/obj/item/stack/sheet/mineral/wood = 2) - category = CAT_PRIMAL + category = CAT_CLOTHING /datum/crafting_recipe/gold_horn name = "Golden Bike Horn" @@ -967,14 +942,14 @@ time = 2 SECONDS reqs = list(/obj/item/stack/sheet/mineral/bananium = 5, /obj/item/bikehorn = 1) - category = CAT_MISC + category = CAT_TOOLS /datum/crafting_recipe/bonedagger name = "Bone Dagger" result = /obj/item/knife/combat/bone time = 2 SECONDS reqs = list(/obj/item/stack/sheet/bone = 2) - category = CAT_PRIMAL + category = CAT_WEAPON_MELEE /datum/crafting_recipe/bonespear name = "Bone Spear" @@ -982,7 +957,7 @@ time = 3 SECONDS reqs = list(/obj/item/stack/sheet/bone = 4, /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL + category = CAT_WEAPON_MELEE /datum/crafting_recipe/boneaxe name = "Bone Axe" @@ -990,7 +965,7 @@ time = 5 SECONDS reqs = list(/obj/item/stack/sheet/bone = 6, /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL + category = CAT_WEAPON_MELEE /datum/crafting_recipe/bonfire name = "Bonfire" @@ -999,7 +974,7 @@ parts = list(/obj/item/grown/log = 5) blacklist = list(/obj/item/grown/log/steel) result = /obj/structure/bonfire - category = CAT_PRIMAL + category = CAT_TOOLS /datum/crafting_recipe/skeleton_key name = "Skeleton Key" @@ -1007,21 +982,7 @@ reqs = list(/obj/item/stack/sheet/bone = 5) result = /obj/item/skeleton_key always_available = FALSE - category = CAT_PRIMAL - -/datum/crafting_recipe/rake //Category resorting incoming - name = "Rake" - time = 3 SECONDS - reqs = list(/obj/item/stack/sheet/mineral/wood = 5) - result = /obj/item/cultivator/rake - category = CAT_PRIMAL - -/datum/crafting_recipe/woodbucket - name = "Wooden Bucket" - time = 3 SECONDS - reqs = list(/obj/item/stack/sheet/mineral/wood = 3) - result = /obj/item/reagent_containers/cup/bucket/wooden - category = CAT_PRIMAL + category = CAT_MISC /datum/crafting_recipe/ore_sensor name = "Ore Sensor" @@ -1032,7 +993,7 @@ /obj/item/stack/sheet/sinew = 1, ) result = /obj/item/ore_sensor - category = CAT_PRIMAL + category = CAT_EQUIPMENT /datum/crafting_recipe/headpike name = "Spike Head (Glass Spear)" @@ -1043,7 +1004,7 @@ /obj/item/spear = 1) blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear, /obj/item/spear/bamboospear) result = /obj/structure/headpike - category = CAT_PRIMAL + category = CAT_ENTERTAINMENT /datum/crafting_recipe/headpikebone name = "Spike Head (Bone Spear)" @@ -1053,7 +1014,7 @@ parts = list(/obj/item/bodypart/head = 1, /obj/item/spear/bonespear = 1) result = /obj/structure/headpike/bone - category = CAT_PRIMAL + category = CAT_ENTERTAINMENT /datum/crafting_recipe/headpikebamboo name = "Spike Head (Bamboo Spear)" @@ -1063,7 +1024,7 @@ parts = list(/obj/item/bodypart/head = 1, /obj/item/spear/bamboospear = 1) result = /obj/structure/headpike/bamboo - category = CAT_PRIMAL + category = CAT_ENTERTAINMENT /datum/crafting_recipe/pressureplate name = "Pressure Plate" @@ -1073,7 +1034,7 @@ /obj/item/stack/tile/iron = 1, /obj/item/stack/cable_coil = 2, /obj/item/assembly/igniter = 1) - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/rcl @@ -1082,7 +1043,7 @@ time = 4 SECONDS tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/iron = 15) - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/mummy name = "Mummification Bandages (Mask)" @@ -1122,7 +1083,7 @@ /obj/item/stack/sheet/mineral/wood = 20, /obj/item/stack/cable_coil = 10) tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_STRUCTURE + category = CAT_ENTERTAINMENT /datum/crafting_recipe/aitater name = "intelliTater" @@ -1133,7 +1094,7 @@ /obj/item/food/grown/potato = 1, /obj/item/stack/cable_coil = 5) parts = list(/obj/item/aicard = 1) - category = CAT_MISC + category = CAT_ROBOT /datum/crafting_recipe/aitater/aispook name = "intelliLantern" @@ -1159,7 +1120,7 @@ result = /obj/item/tank/jetpack/improvised time = 30 reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = MAXCOIL) - category = CAT_MISC + category = CAT_EQUIPMENT tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) /datum/crafting_recipe/rib @@ -1170,7 +1131,7 @@ /datum/reagent/fuel/oil = 5, ) result = /obj/structure/statue/bone/rib - category = CAT_PRIMAL + category = CAT_STRUCTURE /datum/crafting_recipe/skull name = "Skull Carving" @@ -1180,7 +1141,7 @@ /datum/reagent/fuel/oil = 5, ) result = /obj/structure/statue/bone/skull - category = CAT_PRIMAL + category = CAT_STRUCTURE /datum/crafting_recipe/halfskull name = "Cracked Skull Carving" @@ -1190,7 +1151,7 @@ /datum/reagent/fuel/oil = 5, ) result = /obj/structure/statue/bone/skull/half - category = CAT_PRIMAL + category = CAT_STRUCTURE /datum/crafting_recipe/boneshovel name = "Serrated Bone Shovel" @@ -1201,7 +1162,7 @@ /obj/item/shovel/spade = 1, ) result = /obj/item/shovel/serrated - category = CAT_PRIMAL + category = CAT_TOOLS /datum/crafting_recipe/lasso name = "Bone Lasso" @@ -1210,7 +1171,7 @@ /obj/item/stack/sheet/sinew = 5, ) result = /obj/item/key/lasso - category = CAT_PRIMAL + category = CAT_TOOLS /datum/crafting_recipe/gripperoffbrand name = "Improvised Gripper Gloves" @@ -1219,7 +1180,7 @@ /obj/item/stack/sticky_tape = 1, ) result = /obj/item/clothing/gloves/tackler/offbrand - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/boh name = "Bag of Holding" @@ -1228,7 +1189,7 @@ /obj/item/assembly/signaler/anomaly/bluespace = 1, ) result = /obj/item/storage/backpack/holding - category = CAT_CLOTHING + category = CAT_CONTAINERS /datum/crafting_recipe/ipickaxe name = "Improvised Pickaxe" @@ -1238,7 +1199,7 @@ /obj/item/stack/sticky_tape = 1, ) result = /obj/item/pickaxe/improvised - category = CAT_MISC + category = CAT_TOOLS /datum/crafting_recipe/underwater_basket name = "Underwater Basket (Bamboo)" @@ -1246,7 +1207,7 @@ /obj/item/stack/sheet/mineral/bamboo = 20 ) result = /obj/item/storage/basket - category = CAT_MISC + category = CAT_CONTAINERS additional_req_text = " being underwater, underwater basketweaving mastery" /datum/crafting_recipe/underwater_basket/check_requirements(mob/user, list/collected_requirements) @@ -1286,7 +1247,7 @@ /obj/item/stack/sheet/glass = 10, /obj/item/stack/cable_coil = 10, ) - category = CAT_STRUCTURE + category = CAT_ATMOSPHERIC /datum/crafting_recipe/shutters name = "Shutters" @@ -1297,7 +1258,7 @@ result = /obj/machinery/door/poddoor/shutters/preopen tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) time = 10 SECONDS - category = CAT_STRUCTURE + category = CAT_DOORS one_per_turf = TRUE /datum/crafting_recipe/blast_doors @@ -1309,7 +1270,7 @@ result = /obj/machinery/door/poddoor/preopen tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) time = 30 SECONDS - category = CAT_STRUCTURE + category = CAT_DOORS one_per_turf = TRUE /datum/crafting_recipe/aquarium @@ -1320,7 +1281,7 @@ /obj/item/stack/sheet/glass = 10, /obj/item/aquarium_kit = 1 ) - category = CAT_STRUCTURE + category = CAT_FURNITURE /datum/crafting_recipe/mod_core_standard name = "MOD core (Standard)" @@ -1332,7 +1293,7 @@ /obj/item/stack/sheet/glass = 1, /obj/item/organ/internal/heart/ethereal = 1, ) - category = CAT_MISC + category = CAT_ROBOT /datum/crafting_recipe/mod_core_ethereal name = "MOD core (Ethereal)" @@ -1345,10 +1306,10 @@ /obj/item/stack/sheet/glass = 1, /obj/item/reagent_containers/syringe = 1, ) - category = CAT_MISC + category = CAT_ROBOT /datum/crafting_recipe/alcohol_burner - name = "Alcohol burner" + name = "Burner (Ethanol)" result = /obj/item/burner time = 5 SECONDS reqs = list(/obj/item/reagent_containers/cup/beaker = 1, @@ -1358,7 +1319,7 @@ category = CAT_CHEMISTRY /datum/crafting_recipe/oil_burner - name = "Oil burner" + name = "Burner (Oil)" result = /obj/item/burner/oil time = 5 SECONDS reqs = list(/obj/item/reagent_containers/cup/beaker = 1, @@ -1368,7 +1329,7 @@ category = CAT_CHEMISTRY /datum/crafting_recipe/fuel_burner - name = "Fuel burner" + name = "Burner (Fuel)" result = /obj/item/burner/fuel time = 5 SECONDS reqs = list(/obj/item/reagent_containers/cup/beaker = 1, @@ -1463,12 +1424,12 @@ reqs = list(/obj/item/inspector/clown = 1, /obj/item/stack/sticky_tape = 3, /obj/item/stack/sheet/mineral/bananium = 5) //the chainsaw of prank tools tool_paths = list(/obj/item/bikehorn) time = 40 SECONDS - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/pipe name = "Smart pipe fitting" tool_behaviors = list(TOOL_WRENCH) - result = /obj/item/pipe/quaternary + result = /obj/item/pipe/quaternary/pipe reqs = list(/obj/item/stack/sheet/iron = 1) time = 0.5 SECONDS category = CAT_ATMOSPHERIC @@ -1484,7 +1445,7 @@ /datum/crafting_recipe/layer_adapter name = "Layer manifold fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/binary + result = /obj/item/pipe/binary/layer_adapter reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1505,7 +1466,7 @@ /datum/crafting_recipe/color_adapter name = "Color adapter fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/binary + result = /obj/item/pipe/binary/color_adapter reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1526,7 +1487,7 @@ /datum/crafting_recipe/he_pipe name = "H/E pipe fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/quaternary + result = /obj/item/pipe/quaternary/he_pipe reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1547,7 +1508,7 @@ /datum/crafting_recipe/he_junction name = "H/E junction fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/he_junction reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1568,7 +1529,7 @@ /datum/crafting_recipe/pressure_pump name = "Pressure pump fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/binary + result = /obj/item/pipe/binary/pressure_pump reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 5, @@ -1590,7 +1551,7 @@ /datum/crafting_recipe/manual_valve name = "Manual valve fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/binary + result = /obj/item/pipe/binary/manual_valve reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1611,7 +1572,7 @@ /datum/crafting_recipe/vent name = "Vent pump fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/vent reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 5, @@ -1633,7 +1594,7 @@ /datum/crafting_recipe/scrubber name = "Scrubber fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/scrubber reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 5, @@ -1655,7 +1616,7 @@ /datum/crafting_recipe/filter name = "Filter fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/trinary/flippable + result = /obj/item/pipe/trinary/flippable/filter reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 5, @@ -1677,7 +1638,7 @@ /datum/crafting_recipe/mixer name = "Mixer fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/trinary/flippable + result = /obj/item/pipe/trinary/flippable/mixer reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 5, @@ -1699,7 +1660,7 @@ /datum/crafting_recipe/connector name = "Portable connector fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/connector reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1720,7 +1681,7 @@ /datum/crafting_recipe/passive_vent name = "Passive vent fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/passive_vent reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1) @@ -1741,7 +1702,7 @@ /datum/crafting_recipe/injector name = "Outlet injector fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/injector reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/iron = 1, @@ -1763,7 +1724,7 @@ /datum/crafting_recipe/he_exchanger name = "Heat exchanger fitting" tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER) - result = /obj/item/pipe/directional + result = /obj/item/pipe/directional/he_exchanger reqs = list( /obj/item/pipe = 1, /obj/item/stack/sheet/plasteel = 1) @@ -1788,7 +1749,7 @@ reqs = list(/obj/item/stack/sheet/iron = 2, /obj/item/stack/tile/iron = 1, /obj/item/stock_parts/water_recycler = 1) - category = CAT_STRUCTURE + category = CAT_ATMOSPHERIC /datum/crafting_recipe/coffee_cartridge name = "Bootleg Coffee Cartridge" @@ -1802,10 +1763,10 @@ /datum/crafting_recipe/toiletbong name = "Toiletbong" - category = CAT_STRUCTURE + category = CAT_ENTERTAINMENT tool_behaviors = list(TOOL_WRENCH) - reqs = list( - /obj/item/flamethrower = 1) + reqs = list(/obj/item/flamethrower = 1) + machinery = list( /obj/structure/toilet) result = /obj/structure/toiletbong time = 5 SECONDS additional_req_text = " plasma tank (on flamethrower), toilet" @@ -1866,8 +1827,7 @@ /obj/item/roulette_wheel_beacon = 1, ) time = 10 SECONDS - category = CAT_WEAPONRY - subcategory = CAT_WEAPON + category = CAT_WEAPON_MELEE /datum/crafting_recipe/punching_bag name = "Punching Bag" @@ -1878,7 +1838,7 @@ /obj/item/stack/rods = 1, /obj/item/pillow = 1, ) - category = CAT_STRUCTURE + category = CAT_ENTERTAINMENT time = 10 SECONDS /datum/crafting_recipe/stacklifter @@ -1890,7 +1850,7 @@ /obj/item/stack/rods = 2, /obj/item/chair = 1, ) - category = CAT_STRUCTURE + category = CAT_ENTERTAINMENT time = 10 SECONDS /datum/crafting_recipe/weightlifter @@ -1902,7 +1862,7 @@ /obj/item/stack/rods = 2, /obj/item/chair = 1, ) - category = CAT_STRUCTURE + category = CAT_ENTERTAINMENT time = 10 SECONDS #undef CRAFTING_MACHINERY_CONSUME diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index a40fa7e40ce..f52db4c894e 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -14,41 +14,13 @@ time = 4 SECONDS category = CAT_CLOTHING -/datum/crafting_recipe/durathread_jumpsuit - name = "Durathread Jumpsuit" - result = /obj/item/clothing/under/misc/durathread - reqs = list(/obj/item/stack/sheet/durathread = 4) - time = 4 SECONDS - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_beret - name = "Durathread Beret" - result = /obj/item/clothing/head/beret/durathread - reqs = list(/obj/item/stack/sheet/durathread = 2) - time = 4 SECONDS - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_beanie - name = "Durathread Beanie" - result = /obj/item/clothing/head/beanie/durathread - reqs = list(/obj/item/stack/sheet/durathread = 2) - time = 4 SECONDS - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_bandana - name = "Durathread Bandana" - result = /obj/item/clothing/mask/bandana/durathread - reqs = list(/obj/item/stack/sheet/durathread = 1) - time = 2.5 SECONDS - category = CAT_CLOTHING - /datum/crafting_recipe/fannypack name = "Fannypack" result = /obj/item/storage/belt/fannypack reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/sheet/leather = 1) time = 2 SECONDS - category = CAT_CLOTHING + category = CAT_CONTAINERS /datum/crafting_recipe/hudsunsec name = "Security HUDsunglasses" @@ -58,7 +30,7 @@ reqs = list(/obj/item/clothing/glasses/hud/security = 1, /obj/item/clothing/glasses/sunglasses = 1, /obj/item/stack/cable_coil = 5) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/hudsunsecremoval name = "Security HUD removal" @@ -66,7 +38,7 @@ time = 2 SECONDS tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/hudsunmed name = "Medical HUDsunglasses" @@ -76,7 +48,7 @@ reqs = list(/obj/item/clothing/glasses/hud/health = 1, /obj/item/clothing/glasses/sunglasses = 1, /obj/item/stack/cable_coil = 5) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/hudsunmedremoval name = "Medical HUD removal" @@ -84,7 +56,7 @@ time = 2 SECONDS tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/hudsundiag name = "Diagnostic HUDsunglasses" @@ -94,7 +66,7 @@ reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, /obj/item/clothing/glasses/sunglasses = 1, /obj/item/stack/cable_coil = 5) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/hudsundiagremoval name = "Diagnostic HUD removal" @@ -102,7 +74,7 @@ time = 2 SECONDS tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/scienceglasses name = "Science Glasses" @@ -112,7 +84,7 @@ reqs = list(/obj/item/clothing/glasses/science = 1, /obj/item/clothing/glasses/sunglasses = 1, /obj/item/stack/cable_coil = 5) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/scienceglassesremoval name = "Chemical Scanner removal" @@ -120,7 +92,7 @@ time = 2 SECONDS tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/sunglasses/chemical = 1) - category = CAT_CLOTHING + category = CAT_EQUIPMENT /datum/crafting_recipe/ghostsheet name = "Ghost Sheet" diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 740f0128b64..f8f976ced30 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -16,6 +16,7 @@ Buildable meters throwforce = 7 icon = 'icons/obj/atmospherics/pipes/pipe_item.dmi' icon_state = "simple" + icon_state_preview = "manifold4w" inhand_icon_state = "buildpipe" w_class = WEIGHT_CLASS_NORMAL ///Piping layer that we are going to be on @@ -31,8 +32,41 @@ Buildable meters /obj/item/pipe/directional RPD_type = PIPE_UNARY +/obj/item/pipe/directional/he_junction + icon_state_preview = "junction" + pipe_type = /obj/machinery/atmospherics/pipe/heat_exchanging/junction +/obj/item/pipe/directional/vent + icon_state_preview = "uvent" + pipe_type = /obj/machinery/atmospherics/components/unary/vent_pump +/obj/item/pipe/directional/scrubber + icon_state_preview = "scrubber" + pipe_type = /obj/machinery/atmospherics/components/unary/vent_scrubber +/obj/item/pipe/directional/connector + icon_state_preview = "connector" + pipe_type = /obj/machinery/atmospherics/components/unary/portables_connector +/obj/item/pipe/directional/passive_vent + icon_state_preview = "pvent" + pipe_type = /obj/machinery/atmospherics/components/unary/passive_vent +/obj/item/pipe/directional/injector + icon_state_preview = "injector" + pipe_type = /obj/machinery/atmospherics/components/unary/outlet_injector +/obj/item/pipe/directional/he_exchanger + icon_state_preview = "heunary" + pipe_type = /obj/machinery/atmospherics/components/unary/heat_exchanger /obj/item/pipe/binary RPD_type = PIPE_STRAIGHT +/obj/item/pipe/binary/layer_adapter + icon_state_preview = "manifoldlayer" + pipe_type = /obj/machinery/atmospherics/pipe/layer_manifold +/obj/item/pipe/binary/color_adapter + icon_state_preview = "adapter_center" + pipe_type = /obj/machinery/atmospherics/pipe/color_adapter +/obj/item/pipe/binary/pressure_pump + icon_state_preview = "pump" + pipe_type = /obj/machinery/atmospherics/components/binary/pump +/obj/item/pipe/binary/manual_valve + icon_state_preview = "mvalve" + pipe_type = /obj/machinery/atmospherics/components/binary/valve /obj/item/pipe/binary/bendable RPD_type = PIPE_BENDABLE /obj/item/pipe/trinary @@ -40,8 +74,20 @@ Buildable meters /obj/item/pipe/trinary/flippable RPD_type = PIPE_TRIN_M var/flipped = FALSE +/obj/item/pipe/trinary/flippable/filter + icon_state_preview = "filter" + pipe_type = /obj/machinery/atmospherics/components/trinary/filter +/obj/item/pipe/trinary/flippable/mixer + icon_state_preview = "mixer" + pipe_type = /obj/machinery/atmospherics/components/trinary/mixer /obj/item/pipe/quaternary RPD_type = PIPE_ONEDIR +/obj/item/pipe/quaternary/pipe + icon_state_preview = "manifold4w" + pipe_type = /obj/machinery/atmospherics/pipe/smart +/obj/item/pipe/quaternary/he_pipe + icon_state_preview = "he_manifold4w" + pipe_type = /obj/machinery/atmospherics/pipe/heat_exchanging/manifold4w /obj/item/pipe/Initialize(mapload, _pipe_type, _dir, obj/machinery/atmospherics/make_from, device_color, device_init_dir = SOUTH) if(make_from) @@ -92,6 +138,7 @@ Buildable meters /obj/item/pipe/proc/update() var/obj/machinery/atmospherics/fakeA = pipe_type name = "[initial(fakeA.name)] fitting" + desc = initial(fakeA.desc) icon_state = initial(fakeA.pipe_state) if(ispath(pipe_type,/obj/machinery/atmospherics/pipe/heat_exchanging)) resistance_flags |= FIRE_PROOF | LAVA_PROOF diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index e71df75abc0..44f4203faad 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -1,6 +1,7 @@ /obj/item/airlock_painter name = "airlock painter" - desc = "An advanced autopainter preprogrammed with several paintjobs for airlocks. Use it on an airlock during or after construction to change the paintjob. Alt-Click to remove the ink cartridge." + desc = "An advanced autopainter preprogrammed with several paintjobs for airlocks. Use it on an airlock during or after construction to change the paintjob." + desc_controls = "Alt-Click to remove the ink cartridge." icon = 'icons/obj/objects.dmi' icon_state = "paint_sprayer" inhand_icon_state = "paint_sprayer" @@ -151,7 +152,8 @@ /obj/item/airlock_painter/decal name = "decal painter" - desc = "An airlock painter, reprogramed to use a different style of paint in order to apply decals for floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed. Alt-Click to remove the ink cartridge." + desc = "An airlock painter, reprogramed to use a different style of paint in order to apply decals for floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed." + desc_controls = "Alt-Click to remove the ink cartridge." icon = 'icons/obj/objects.dmi' icon_state = "decal_sprayer" inhand_icon_state = "decal_sprayer" @@ -374,7 +376,8 @@ /obj/item/airlock_painter/decal/tile name = "tile sprayer" - desc = "An airlock painter, reprogramed to use a different style of paint in order to spray colors on floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed. Alt-Click to change design." + desc = "An airlock painter, reprogramed to use a different style of paint in order to spray colors on floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed." + desc_controls = "Alt-Click to remove the ink cartridge." icon_state = "tile_sprayer" stored_dir = 2 stored_color = "#D4D4D432" diff --git a/code/game/objects/items/botpad_remote.dm b/code/game/objects/items/botpad_remote.dm index ca570c80f50..c8bf34bae9e 100644 --- a/code/game/objects/items/botpad_remote.dm +++ b/code/game/objects/items/botpad_remote.dm @@ -1,6 +1,7 @@ /obj/item/botpad_remote name = "Bot pad controller" - desc = "Use this device to control the connected bot pad. Left-click for launch, right-click for recall." + desc = "Use this device to control the connected bot pad." + desc_controls = "Left-click for launch, right-click for recall." icon = 'icons/obj/device.dmi' icon_state = "botpad_controller" w_class = WEIGHT_CLASS_SMALL diff --git a/code/game/objects/items/devices/pressureplates.dm b/code/game/objects/items/devices/pressureplates.dm index 0d8daff7591..9725b2a2f63 100644 --- a/code/game/objects/items/devices/pressureplates.dm +++ b/code/game/objects/items/devices/pressureplates.dm @@ -1,6 +1,7 @@ /obj/item/pressure_plate name = "pressure plate" - desc = "An electronic device that triggers when stepped on. Ctrl-Click to toggle the pressure plate off and on." + desc = "An electronic device that triggers when stepped on." + desc_controls = "Ctrl-Click to toggle the pressure plate off and on." icon = 'icons/obj/puzzle_small.dmi' inhand_icon_state = "flashtool" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' diff --git a/code/game/objects/items/food/meatdish.dm b/code/game/objects/items/food/meatdish.dm index cb45426ef2b..1d3f1f08808 100644 --- a/code/game/objects/items/food/meatdish.dm +++ b/code/game/objects/items/food/meatdish.dm @@ -575,6 +575,8 @@ name = "chicken nugget" food_reagents = list(/datum/reagent/consumable/nutriment = 2, /datum/reagent/consumable/nutriment/protein = 2, /datum/reagent/consumable/nutriment/vitamin = 1) icon = 'icons/obj/food/meat.dmi' + /// Default nugget icon for recipes that need any nugget + icon_state = "nugget_lump" tastes = list("\"chicken\"" = 1) foodtypes = MEAT food_flags = FOOD_FINGER_FOOD diff --git a/code/game/objects/items/food/moth.dm b/code/game/objects/items/food/moth.dm index ad72cbd6d30..6102d0c9672 100644 --- a/code/game/objects/items/food/moth.dm +++ b/code/game/objects/items/food/moth.dm @@ -123,7 +123,7 @@ icon_state = "raw_green_lasagne" food_reagents = list(/datum/reagent/consumable/nutriment/protein = 6, /datum/reagent/consumable/nutriment/vitamin = 10) tastes = list("cheese" = 1, "pesto" = 1, "pasta" = 1) - foodtypes = VEGETABLES | GRAIN | NUTS + foodtypes = VEGETABLES | GRAIN | NUTS | RAW w_class = WEIGHT_CLASS_NORMAL /obj/item/food/raw_green_lasagne/MakeBakeable() @@ -160,7 +160,7 @@ icon_state = "raw_baked_rice" food_reagents = list(/datum/reagent/consumable/nutriment/protein = 4, /datum/reagent/consumable/nutriment/vitamin = 10) tastes = list("rice" = 1, "potato" = 1, "veggies" = 1) - foodtypes = VEGETABLES | GRAIN + foodtypes = VEGETABLES | GRAIN | RAW w_class = WEIGHT_CLASS_NORMAL /obj/item/food/raw_baked_rice/MakeBakeable() @@ -508,7 +508,7 @@ icon_state = "raw_margherita_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 3) tastes = list("dough" = 1, "tomato" = 1, "cheese" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY + foodtypes = GRAIN | VEGETABLES | DAIRY | RAW /obj/item/food/raw_mothic_margherita/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_margherita, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -539,7 +539,7 @@ icon_state = "raw_firecracker_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/bbqsauce = 6, /datum/reagent/consumable/nutriment/vitamin = 3, /datum/reagent/consumable/capsaicin = 10) tastes = list("dough" = 1, "chili" = 1, "corn" = 1, "cheese" = 1, "bbq sauce" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY + foodtypes = GRAIN | VEGETABLES | DAIRY | RAW /obj/item/food/raw_mothic_firecracker/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_firecracker, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -570,7 +570,7 @@ icon_state = "raw_five_cheese_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 3) tastes = list("dough" = 1, "cheese" = 1, "more cheese" = 1, "excessive amounts of cheese" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY + foodtypes = GRAIN | VEGETABLES | DAIRY | RAW /obj/item/food/raw_mothic_five_cheese/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_five_cheese, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -601,7 +601,7 @@ icon_state = "raw_white_pie_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 3) tastes = list("dough" = 1, "cheese" = 1, "herbs" = 1, "garlic" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY + foodtypes = GRAIN | VEGETABLES | DAIRY | RAW /obj/item/food/raw_mothic_white_pie/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_white_pie, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -632,7 +632,7 @@ icon_state = "raw_pesto_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 3) tastes = list("dough" = 1, "pesto" = 1, "cheese" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY | NUTS + foodtypes = GRAIN | VEGETABLES | DAIRY | NUTS | RAW /obj/item/food/raw_mothic_pesto/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_pesto, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) @@ -644,7 +644,7 @@ icon_state = "pesto_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 25, /datum/reagent/consumable/nutriment/protein = 8, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 5) tastes = list("crust" = 1, "pesto" = 1, "cheese" = 1) - foodtypes = GRAIN | VEGETABLES | DAIRY | NUTS + foodtypes = GRAIN | VEGETABLES | DAIRY | NUTS | RAW slice_type = /obj/item/food/pizzaslice/mothic_pesto boxtag = "Presto Pesto" @@ -663,7 +663,7 @@ icon_state = "raw_garlic_pizza" food_reagents = list(/datum/reagent/consumable/nutriment = 15, /datum/reagent/consumable/nutriment/protein = 5, /datum/reagent/consumable/tomatojuice = 6, /datum/reagent/consumable/nutriment/vitamin = 3) tastes = list("dough" = 1, "garlic" = 1, "butter" = 1) - foodtypes = GRAIN | VEGETABLES + foodtypes = GRAIN | VEGETABLES | RAW /obj/item/food/raw_mothic_garlic/MakeBakeable() AddComponent(/datum/component/bakeable, /obj/item/food/pizza/mothic_garlic, rand(15 SECONDS, 25 SECONDS), TRUE, TRUE) diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 1041ba2a8b0..040c5372561 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -6,6 +6,7 @@ w_class = WEIGHT_CLASS_SMALL icon = 'icons/obj/weapons/grenade.dmi' icon_state = "improvised_grenade" + icon_state_preview = "ied_preview" inhand_icon_state = "flashbang" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 32678381dbb..45aeb93018f 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -518,6 +518,7 @@ name = "bola" desc = "A restraining device designed to be thrown at the target. Upon connecting with said target, it will wrap around their legs, making it difficult for them to move quickly." icon_state = "bola" + icon_state_preview = "bola_preview" inhand_icon_state = "bola" lefthand_file = 'icons/mob/inhands/weapons/thrown_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/thrown_righthand.dmi' @@ -604,6 +605,7 @@ name = "gonbola" desc = "Hey, if you have to be hugged in the legs by anything, it might as well be this little guy." icon_state = "gonbola" + icon_state_preview = "gonbola_preview" inhand_icon_state = "bola_r" breakouttime = 30 SECONDS slowdown = 0 diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 5bd3869f6c9..1c9e6bcbd00 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -1,6 +1,7 @@ /obj/item/melee/baton name = "police baton" - desc = "A wooden truncheon for beating criminal scum. Left click to stun, right click to harm." + desc = "A wooden truncheon for beating criminal scum." + desc_controls = "Left click to stun, right click to harm." icon = 'icons/obj/weapons/items_and_weapons.dmi' icon_state = "classic_baton" inhand_icon_state = "classic_baton" @@ -384,8 +385,8 @@ /obj/item/melee/baton/security name = "stun baton" - desc = "A stun baton for incapacitating people with. Left click to stun, right click to harm." - + desc = "A stun baton for incapacitating people with." + desc_controls = "Left click to stun, right click to harm." icon_state = "stunbaton" inhand_icon_state = "baton" worn_icon_state = "baton" @@ -637,7 +638,8 @@ //Makeshift stun baton. Replacement for stun gloves. /obj/item/melee/baton/security/cattleprod name = "stunprod" - desc = "An improvised stun baton. Left click to stun, right click to harm." + desc = "An improvised stun baton." + desc_controls = "Left click to stun, right click to harm." icon_state = "stunprod" inhand_icon_state = "prod" worn_icon_state = null diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 0c944ef2799..23d8ee44831 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -125,7 +125,7 @@ result = /obj/item/banner/medical/mundane time = 40 reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/medical = 1) + /obj/item/clothing/under/rank/medical/doctor = 1) category = CAT_MISC /obj/item/banner/medical/special_inspiration(mob/living/carbon/human/H) diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 2d16aa3aa51..08fbf8e6199 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -72,4 +72,4 @@ reqs = list(/obj/item/stack/rods = 1, /obj/item/stack/sheet/cardboard = 2) time = 80 - category = CAT_MISC + category = CAT_ENTERTAINMENT diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 06aec0dedc9..655fd0cd915 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -1,14 +1,14 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ - new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = TRUE, on_solid_ground = FALSE), \ - new/datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 10, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("scooter frame", /obj/item/scooter_frame, 10, time = 25, one_per_turf = FALSE), \ - new/datum/stack_recipe("linen bin", /obj/structure/bedsheetbin/empty, 2, time = 5, one_per_turf = FALSE), \ - new/datum/stack_recipe("railing", /obj/structure/railing, 6, time = 3.6 SECONDS, window_checks = TRUE), \ - new/datum/stack_recipe("tank holder", /obj/structure/tank_holder, 2, time = 5, one_per_turf = TRUE, on_solid_ground = FALSE), \ - new/datum/stack_recipe("ladder", /obj/structure/ladder/crafted, 15, time = 150, one_per_turf = TRUE, on_solid_ground = FALSE), \ - new/datum/stack_recipe("catwalk floor tile", /obj/item/stack/tile/catwalk_tile, 1, 4, 20), \ - new/datum/stack_recipe("stairs frame", /obj/structure/stairs_frame, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("white cane", /obj/item/cane/white, 3, time = 10, one_per_turf = FALSE), \ + new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 10, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("scooter frame", /obj/item/scooter_frame, 10, time = 25, one_per_turf = FALSE, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("linen bin", /obj/structure/bedsheetbin/empty, 2, time = 5, one_per_turf = FALSE, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("railing", /obj/structure/railing, 6, time = 3.6 SECONDS, window_checks = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("tank holder", /obj/structure/tank_holder, 2, time = 5, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("ladder", /obj/structure/ladder/crafted, 15, time = 150, one_per_turf = TRUE, on_solid_ground = FALSE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("catwalk floor tile", /obj/item/stack/tile/catwalk_tile, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("stairs frame", /obj/structure/stairs_frame, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("white cane", /obj/item/cane/white, 3, time = 10, one_per_turf = FALSE, category = CAT_TOOLS), \ )) /obj/item/stack/rods diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 209840cc7ee..61e08a54313 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -9,10 +9,10 @@ * Glass sheets */ GLOBAL_LIST_INIT(glass_recipes, list ( \ - new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("glass shard", /obj/item/shard, time = 0, on_solid_ground = TRUE), \ - new/datum/stack_recipe("glass tile", /obj/item/stack/tile/glass, 1, 4, 20) \ + new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("glass shard", /obj/item/shard, time = 0, on_solid_ground = TRUE, category = CAT_MISC), \ + new/datum/stack_recipe("glass tile", /obj/item/stack/tile/glass, 1, 4, 20, category = CAT_TILES) \ )) /obj/item/stack/sheet/glass @@ -83,10 +83,10 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \ return ..() GLOBAL_LIST_INIT(pglass_recipes, list ( \ - new/datum/stack_recipe("directional window", /obj/structure/window/plasma/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("fulltile window", /obj/structure/window/plasma/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("plasma glass shard", /obj/item/shard/plasma, time = 20, on_solid_ground = TRUE), \ - new/datum/stack_recipe("plasma glass tile", /obj/item/stack/tile/glass/plasma, 1, 4, 20) \ + new/datum/stack_recipe("directional window", /obj/structure/window/plasma/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("fulltile window", /obj/structure/window/plasma/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("plasma glass shard", /obj/item/shard/plasma, time = 20, on_solid_ground = TRUE, category = CAT_MISC), \ + new/datum/stack_recipe("plasma glass tile", /obj/item/stack/tile/glass/plasma, 1, 4, 20, category = CAT_TILES) \ )) /obj/item/stack/sheet/plasmaglass @@ -139,12 +139,12 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ * Reinforced glass sheets */ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ - new/datum/stack_recipe("windoor frame", /obj/structure/windoor_assembly, 5, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ + new/datum/stack_recipe("windoor frame", /obj/structure/windoor_assembly, 5, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ null, \ - new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("glass shard", /obj/item/shard, time = 10, on_solid_ground = TRUE), \ - new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/rglass, 1, 4, 20) \ + new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("glass shard", /obj/item/shard, time = 10, on_solid_ground = TRUE, category = CAT_MISC), \ + new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/rglass, 1, 4, 20, category = CAT_TILES) \ )) @@ -203,10 +203,10 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ . += GLOB.reinforced_glass_recipes GLOBAL_LIST_INIT(prglass_recipes, list ( \ - new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/plasma/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/plasma/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("plasma glass shard", /obj/item/shard/plasma, time = 40, on_solid_ground = TRUE), \ - new/datum/stack_recipe("reinforced plasma glass tile", /obj/item/stack/tile/rglass/plasma, 1, 4, 20) \ + new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/plasma/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/plasma/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("plasma glass shard", /obj/item/shard/plasma, time = 40, on_solid_ground = TRUE, category = CAT_MISC), \ + new/datum/stack_recipe("reinforced plasma glass tile", /obj/item/stack/tile/rglass/plasma, 1, 4, 20, category = CAT_TILES) \ )) /obj/item/stack/sheet/plasmarglass @@ -235,8 +235,8 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ . += GLOB.prglass_recipes GLOBAL_LIST_INIT(titaniumglass_recipes, list( - new/datum/stack_recipe("shuttle window", /obj/structure/window/reinforced/shuttle/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("titanium glass shard", /obj/item/shard/titanium, time = 40, on_solid_ground = TRUE) \ + new/datum/stack_recipe("shuttle window", /obj/structure/window/reinforced/shuttle/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("titanium glass shard", /obj/item/shard/titanium, time = 40, on_solid_ground = TRUE, category = CAT_MISC) \ )) /obj/item/stack/sheet/titaniumglass @@ -264,7 +264,7 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( . += GLOB.titaniumglass_recipes GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( - new/datum/stack_recipe("plastitanium window", /obj/structure/window/reinforced/plasma/plastitanium/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE) \ + new/datum/stack_recipe("plastitanium window", /obj/structure/window/reinforced/plasma/plastitanium/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS) \ )) /obj/item/stack/sheet/plastitaniumglass diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 24b7d26c613..b37e1bb1ab4 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -14,8 +14,8 @@ merge_type = /obj/item/stack/sheet/animalhide/human GLOBAL_LIST_INIT(human_recipes, list( \ - new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \ - new/datum/stack_recipe("human skin hat", /obj/item/clothing/head/fedora/human_leather, 1), \ + new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, category = CAT_CLOTHING), \ + new/datum/stack_recipe("human skin hat", /obj/item/clothing/head/fedora/human_leather, 1, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/human/get_main_recipes() @@ -38,8 +38,8 @@ GLOBAL_LIST_INIT(human_recipes, list( \ merge_type = /obj/item/stack/sheet/animalhide/corgi GLOBAL_LIST_INIT(gondola_recipes, list ( \ - new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1), \ - new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \ + new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/mothroach @@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ . += GLOB.gondola_recipes GLOBAL_LIST_INIT(corgi_recipes, list ( \ - new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3), \ + new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/corgi/get_main_recipes() @@ -87,8 +87,8 @@ GLOBAL_LIST_INIT(corgi_recipes, list ( \ merge_type = /obj/item/stack/sheet/animalhide/monkey GLOBAL_LIST_INIT(monkey_recipes, list ( \ - new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1), \ - new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/costume/monkeysuit, 2), \ + new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/costume/monkeysuit, 2, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/monkey/get_main_recipes() @@ -112,8 +112,8 @@ GLOBAL_LIST_INIT(monkey_recipes, list ( \ merge_type = /obj/item/stack/sheet/animalhide/xeno GLOBAL_LIST_INIT(xeno_recipes, list ( \ - new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/costume/xenos, 1), \ - new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/costume/xenos, 2), \ + new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/costume/xenos, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/costume/xenos, 2, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/xeno/get_main_recipes() @@ -186,31 +186,31 @@ GLOBAL_LIST_INIT(xeno_recipes, list ( \ merge_type = /obj/item/stack/sheet/leather GLOBAL_LIST_INIT(leather_recipes, list ( \ - new/datum/stack_recipe("wallet", /obj/item/storage/wallet, 1), \ - new/datum/stack_recipe("muzzle", /obj/item/clothing/mask/muzzle, 2), \ - new/datum/stack_recipe("saddle", /obj/item/saddle, 5), \ - new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/laceup, 2), \ - new/datum/stack_recipe("cowboy boots", /obj/item/clothing/shoes/cowboy, 2), \ - new/datum/stack_recipe("botany gloves", /obj/item/clothing/gloves/botanic_leather, 3), \ - new/datum/stack_recipe("leather satchel", /obj/item/storage/backpack/satchel/leather, 5), \ - new/datum/stack_recipe("sheriff vest", /obj/item/clothing/accessory/vest_sheriff, 4), \ - new/datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7), \ - new/datum/stack_recipe("biker jacket", /obj/item/clothing/suit/jacket/leather/biker, 7), \ + new/datum/stack_recipe("wallet", /obj/item/storage/wallet, 1, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("muzzle", /obj/item/clothing/mask/muzzle, 2, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("saddle", /obj/item/saddle, 5, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/laceup, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("cowboy boots", /obj/item/clothing/shoes/cowboy, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("botany gloves", /obj/item/clothing/gloves/botanic_leather, 3, category = CAT_CLOTHING), \ + new/datum/stack_recipe("leather satchel", /obj/item/storage/backpack/satchel/leather, 5, category = CAT_CLOTHING), \ + new/datum/stack_recipe("sheriff vest", /obj/item/clothing/accessory/vest_sheriff, 4, category = CAT_CLOTHING), \ + new/datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7, category = CAT_CLOTHING), \ + new/datum/stack_recipe("biker jacket", /obj/item/clothing/suit/jacket/leather/biker, 7, category = CAT_CLOTHING), \ new/datum/stack_recipe_list("belts", list( \ - new/datum/stack_recipe("tool belt", /obj/item/storage/belt/utility, 4), \ - new/datum/stack_recipe("botanical belt", /obj/item/storage/belt/plant, 2), \ - new/datum/stack_recipe("janitorial belt", /obj/item/storage/belt/janitor, 2), \ - new/datum/stack_recipe("medical belt", /obj/item/storage/belt/medical, 2), \ - new/datum/stack_recipe("security belt", /obj/item/storage/belt/security, 2), \ - new/datum/stack_recipe("shoulder holster", /obj/item/storage/belt/holster, 3), \ - new/datum/stack_recipe("bandolier", /obj/item/storage/belt/bandolier, 5), \ + new/datum/stack_recipe("tool belt", /obj/item/storage/belt/utility, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("botanical belt", /obj/item/storage/belt/plant, 2, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("janitorial belt", /obj/item/storage/belt/janitor, 2, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("medical belt", /obj/item/storage/belt/medical, 2, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("security belt", /obj/item/storage/belt/security, 2, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("shoulder holster", /obj/item/storage/belt/holster, 3, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("bandolier", /obj/item/storage/belt/bandolier, 5, category = CAT_CONTAINERS), \ )), new/datum/stack_recipe_list("cowboy hats", list( \ - new/datum/stack_recipe("sheriff hat", /obj/item/clothing/head/cowboy/brown, 2), \ - new/datum/stack_recipe("desperado hat", /obj/item/clothing/head/cowboy/black, 2), \ - new/datum/stack_recipe("ten-gallon hat", /obj/item/clothing/head/cowboy/white, 2), \ - new/datum/stack_recipe("deputy hat", /obj/item/clothing/head/cowboy/red, 2), \ - new/datum/stack_recipe("drifter hat", /obj/item/clothing/head/cowboy/grey, 2), \ + new/datum/stack_recipe("sheriff hat", /obj/item/clothing/head/cowboy/brown, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("desperado hat", /obj/item/clothing/head/cowboy/black, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("ten-gallon hat", /obj/item/clothing/head/cowboy/white, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("deputy hat", /obj/item/clothing/head/cowboy/red, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("drifter hat", /obj/item/clothing/head/cowboy/grey, 2, category = CAT_CLOTHING), \ )), )) @@ -236,7 +236,7 @@ GLOBAL_LIST_INIT(leather_recipes, list ( \ merge_type = /obj/item/stack/sheet/sinew/wolf GLOBAL_LIST_INIT(sinew_recipes, list ( \ - new/datum/stack_recipe("sinew restraints", /obj/item/restraints/handcuffs/cable/sinew, 1), \ + new/datum/stack_recipe("sinew restraints", /obj/item/restraints/handcuffs/cable/sinew, 1, category = CAT_EQUIPMENT), \ )) /obj/item/stack/sheet/sinew/get_main_recipes() @@ -320,11 +320,11 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ merge_type = /obj/item/stack/sheet/animalhide/carp GLOBAL_LIST_INIT(carp_recipes, list ( \ - new/datum/stack_recipe("carp costume", /obj/item/clothing/suit/hooded/carp_costume, 4), \ - new/datum/stack_recipe("carp mask", /obj/item/clothing/mask/gas/carp, 1), \ - new/datum/stack_recipe("carpskin chair", /obj/structure/chair/comfy/carp, 2), \ - new/datum/stack_recipe("carpskin suit", /obj/item/clothing/under/suit/carpskin, 3), \ - new/datum/stack_recipe("carpskin fedora", /obj/item/clothing/head/fedora/carpskin, 2), \ + new/datum/stack_recipe("carp costume", /obj/item/clothing/suit/hooded/carp_costume, 4, category = CAT_CLOTHING), \ + new/datum/stack_recipe("carp mask", /obj/item/clothing/mask/gas/carp, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("carpskin chair", /obj/structure/chair/comfy/carp, 2, category = CAT_FURNITURE), \ + new/datum/stack_recipe("carpskin suit", /obj/item/clothing/under/suit/carpskin, 3, category = CAT_CLOTHING), \ + new/datum/stack_recipe("carpskin fedora", /obj/item/clothing/head/fedora/carpskin, 2, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/animalhide/carp/get_main_recipes() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 79636d772f6..6cae7662acf 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -24,9 +24,9 @@ Mineral Sheets */ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ - new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), \ - new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = FALSE, on_solid_ground = TRUE) \ + new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ + new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = FALSE, on_solid_ground = TRUE, category = CAT_MISC) \ )) /obj/item/stack/sheet/mineral/sandstone @@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ merge_type = /obj/item/stack/sheet/mineral/sandbags GLOBAL_LIST_INIT(sandbag_recipes, list ( \ - new/datum/stack_recipe("sandbags", /obj/structure/barricade/sandbags, 1, time = 25, one_per_turf = 1, on_solid_ground = 1), \ + new/datum/stack_recipe("sandbags", /obj/structure/barricade/sandbags, 1, time = 25, one_per_turf = 1, on_solid_ground = 1, category = CAT_STRUCTURE), \ )) /obj/item/stack/sheet/mineral/sandbags/get_main_recipes() @@ -107,8 +107,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ walltype = /turf/closed/wall/mineral/diamond GLOBAL_LIST_INIT(diamond_recipes, list ( \ - new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE), \ - new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \ + new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/diamond/get_main_recipes() @@ -133,8 +133,8 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ walltype = /turf/closed/wall/mineral/uranium GLOBAL_LIST_INIT(uranium_recipes, list ( \ - new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE), \ - new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \ + new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/uranium/get_main_recipes() @@ -167,8 +167,8 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ return TOXLOSS//dont you kids know that stuff is toxic? GLOBAL_LIST_INIT(plasma_recipes, list ( \ - new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE), \ - new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \ + new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/plasma/get_main_recipes() @@ -198,10 +198,10 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ walltype = /turf/closed/wall/mineral/gold GLOBAL_LIST_INIT(gold_recipes, list ( \ - new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE), \ - new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \ - new/datum/stack_recipe("blank plaque", /obj/item/plaque, 1), \ - new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/costume/crown, 5), \ + new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("blank plaque", /obj/item/plaque, 1, category = CAT_FURNITURE), \ + new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/costume/crown, 5, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/mineral/gold/get_main_recipes() @@ -226,8 +226,8 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ walltype = /turf/closed/wall/mineral/silver GLOBAL_LIST_INIT(silver_recipes, list ( \ - new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE), \ - new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \ + new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_solid_ground = 1, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/silver/get_main_recipes() @@ -252,7 +252,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ walltype = /turf/closed/wall/mineral/bananium GLOBAL_LIST_INIT(bananium_recipes, list ( \ - new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \ + new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/bananium/get_main_recipes() @@ -283,8 +283,8 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ walltype = /turf/closed/wall/mineral/titanium GLOBAL_LIST_INIT(titanium_recipes, list ( \ - new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20), \ - new/datum/stack_recipe("shuttle seat", /obj/structure/chair/comfy/shuttle, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("shuttle seat", /obj/structure/chair/comfy/shuttle, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )) /obj/item/stack/sheet/mineral/titanium/get_main_recipes() @@ -316,7 +316,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ walltype = /turf/closed/wall/mineral/plastitanium GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ - new/datum/stack_recipe("plastitanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \ + new/datum/stack_recipe("plastitanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/plastitanium/get_main_recipes() @@ -342,10 +342,10 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list ( \ material_type = /datum/material/snow GLOBAL_LIST_INIT(snow_recipes, list ( \ - new/datum/stack_recipe("snow wall", /turf/closed/wall/mineral/snow, 5, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("snowman", /obj/structure/statue/snow/snowman, 5, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("snowball", /obj/item/toy/snowball, 1), \ - new/datum/stack_recipe("snow tile", /obj/item/stack/tile/mineral/snow, 1, 4, 20), \ + new/datum/stack_recipe("snow wall", /turf/closed/wall/mineral/snow, 5, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("snowman", /obj/structure/statue/snow/snowman, 5, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("snowball", /obj/item/toy/snowball, 1, category = CAT_WEAPON_RANGED), \ + new/datum/stack_recipe("snow tile", /obj/item/stack/tile/mineral/snow, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/snow/get_main_recipes() @@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(snow_recipes, list ( \ GLOBAL_LIST_INIT(adamantine_recipes, list( - new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=1, res_amount=1), + new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=1, res_amount=1, category = CAT_ROBOT), )) /obj/item/stack/sheet/mineral/adamantine @@ -418,12 +418,12 @@ GLOBAL_LIST_INIT(adamantine_recipes, list( walltype = /turf/closed/wall/mineral/abductor GLOBAL_LIST_INIT(abductor_recipes, list ( \ - new/datum/stack_recipe("alien bed", /obj/structure/bed/abductor, 2, one_per_turf = 1, on_solid_ground = 1), \ - new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 2, time = 15, one_per_turf = 1, on_solid_ground = 1), \ - new/datum/stack_recipe("alien table frame", /obj/structure/table_frame/abductor, 1, time = 15, one_per_turf = 1, on_solid_ground = 1), \ - new/datum/stack_recipe("alien airlock assembly", /obj/structure/door_assembly/door_assembly_abductor, 4, time = 20, one_per_turf = 1, on_solid_ground = 1), \ + new/datum/stack_recipe("alien bed", /obj/structure/bed/abductor, 2, one_per_turf = 1, on_solid_ground = 1, category = CAT_FURNITURE), \ + new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 2, time = 15, one_per_turf = 1, on_solid_ground = 1, category = CAT_FURNITURE), \ + new/datum/stack_recipe("alien table frame", /obj/structure/table_frame/abductor, 1, time = 15, one_per_turf = 1, on_solid_ground = 1, category = CAT_FURNITURE), \ + new/datum/stack_recipe("alien airlock assembly", /obj/structure/door_assembly/door_assembly_abductor, 4, time = 20, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ null, \ - new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \ + new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20, category = CAT_TILES), \ )) /obj/item/stack/sheet/mineral/abductor/get_main_recipes() @@ -466,10 +466,10 @@ GLOBAL_LIST_INIT(abductor_recipes, list ( \ //Metal Hydrogen GLOBAL_LIST_INIT(metalhydrogen_recipes, list( - new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=20, res_amount=1), - new /datum/stack_recipe("ancient armor", /obj/item/clothing/suit/armor/elder_atmosian, req_amount = 5, res_amount = 1), - new /datum/stack_recipe("ancient helmet", /obj/item/clothing/head/helmet/elder_atmosian, req_amount = 3, res_amount = 1), - new /datum/stack_recipe("metallic hydrogen axe", /obj/item/fireaxe/metal_h2_axe, req_amount = 15, res_amount = 1), + new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=20, res_amount=1, category = CAT_ROBOT), + new /datum/stack_recipe("ancient armor", /obj/item/clothing/suit/armor/elder_atmosian, req_amount = 5, res_amount = 1, category = CAT_CLOTHING), + new /datum/stack_recipe("ancient helmet", /obj/item/clothing/head/helmet/elder_atmosian, req_amount = 3, res_amount = 1, category = CAT_CLOTHING), + new /datum/stack_recipe("metallic hydrogen axe", /obj/item/fireaxe/metal_h2_axe, req_amount = 15, res_amount = 1, category = CAT_WEAPON_MELEE), )) /obj/item/stack/sheet/mineral/metal_hydrogen diff --git a/code/game/objects/items/stacks/sheets/runed_metal.dm b/code/game/objects/items/stacks/sheets/runed_metal.dm index 2a837d1780a..747e533725c 100644 --- a/code/game/objects/items/stacks/sheets/runed_metal.dm +++ b/code/game/objects/items/stacks/sheets/runed_metal.dm @@ -11,6 +11,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ desc = span_cultbold("Pylon: Heals and regenerates the blood of nearby blood cultists and constructs, and also \ converts nearby floor tiles into engraved flooring, which allows blood cultists to scribe runes faster."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ new /datum/stack_recipe/radial( \ title = "altar", \ @@ -21,6 +22,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ on_solid_ground = TRUE, \ desc = span_cultbold("Altar: Can make Eldritch Whetstones, Construct Shells, and Flasks of Unholy Water."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ new /datum/stack_recipe/radial( \ title = "archives", \ @@ -32,6 +34,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ desc = span_cultbold("Archives: Can make Zealot's Blindfolds, Shuttle Curse Orbs, \ and Veil Walker equipment. Emits Light."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ new /datum/stack_recipe/radial( \ title = "daemon forge", \ @@ -43,6 +46,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ desc = span_cultbold("Daemon Forge: Can make Nar'Sien Hardened Armor, Flagellant's Robes, \ and Eldritch Longswords. Emits Light."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ new /datum/stack_recipe/radial( \ title = "runed door", \ @@ -52,6 +56,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ on_solid_ground = TRUE, \ desc = span_cultbold("Runed Door: A weak door which stuns non-blood cultists who touch it."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ new /datum/stack_recipe/radial( \ title = "runed girder", \ @@ -61,6 +66,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list( \ on_solid_ground = TRUE, \ desc = span_cultbold("Runed Girder: A weak girder that can be instantly destroyed by ritual daggers. Not a recommended usage of runed metal."), \ required_noun = "runed metal sheet", \ + category = CAT_CULT, \ ), \ )) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 268e22c4c16..f7ce21acb17 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -15,115 +15,115 @@ * Iron */ GLOBAL_LIST_INIT(metal_recipes, list ( \ - new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("double bed", /obj/structure/bed/double, 4, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("bed", /obj/structure/bed, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("double bed", /obj/structure/bed/double, 4, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ null, \ new/datum/stack_recipe_list("office chairs", list( \ - new/datum/stack_recipe("dark office chair", /obj/structure/chair/office, 5, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("light office chair", /obj/structure/chair/office/light, 5, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("dark office chair", /obj/structure/chair/office, 5, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("light office chair", /obj/structure/chair/office/light, 5, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )), \ new/datum/stack_recipe_list("comfy chairs", list( \ - new/datum/stack_recipe("beige comfy chair", /obj/structure/chair/comfy/beige, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("black comfy chair", /obj/structure/chair/comfy/black, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("brown comfy chair", /obj/structure/chair/comfy/brown, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("lime comfy chair", /obj/structure/chair/comfy/lime, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("teal comfy chair", /obj/structure/chair/comfy/teal, 2, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("beige comfy chair", /obj/structure/chair/comfy/beige, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("black comfy chair", /obj/structure/chair/comfy/black, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("brown comfy chair", /obj/structure/chair/comfy/brown, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("lime comfy chair", /obj/structure/chair/comfy/lime, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("teal comfy chair", /obj/structure/chair/comfy/teal, 2, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )), \ new/datum/stack_recipe_list("sofas", list( - new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa/middle, 1, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/left, 1, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/right, 1, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corner, 1, one_per_turf = TRUE, on_solid_ground = TRUE) + new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa/middle, 1, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/left, 1, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/right, 1, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corner, 1, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE) )), \ new/datum/stack_recipe_list("corporate sofas", list( \ - new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa/corp, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/corp/left, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/corp/right, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corp/corner, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new /datum/stack_recipe("sofa (middle)", /obj/structure/chair/sofa/corp, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("sofa (left)", /obj/structure/chair/sofa/corp/left, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("sofa (right)", /obj/structure/chair/sofa/corp/right, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("sofa (corner)", /obj/structure/chair/sofa/corp/corner, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )), \ new /datum/stack_recipe_list("benches", list( \ - new /datum/stack_recipe("bench (middle)", /obj/structure/chair/sofa/bench, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("bench (left)", /obj/structure/chair/sofa/bench/left, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("bench (right)", /obj/structure/chair/sofa/bench/right, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("bench (corner)", /obj/structure/chair/sofa/bench/corner, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new /datum/stack_recipe("bench (middle)", /obj/structure/chair/sofa/bench, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("bench (left)", /obj/structure/chair/sofa/bench/left, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("bench (right)", /obj/structure/chair/sofa/bench/right, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new /datum/stack_recipe("bench (corner)", /obj/structure/chair/sofa/bench/corner, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )), \ new /datum/stack_recipe_list("chess pieces", list( \ - new /datum/stack_recipe("White Pawn", /obj/structure/chess/whitepawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("White Rook", /obj/structure/chess/whiterook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("White Knight", /obj/structure/chess/whiteknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("White Bishop", /obj/structure/chess/whitebishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("White Queen", /obj/structure/chess/whitequeen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("White King", /obj/structure/chess/whiteking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black Pawn", /obj/structure/chess/blackpawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black Rook", /obj/structure/chess/blackrook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black Knight", /obj/structure/chess/blackknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black Bishop", /obj/structure/chess/blackbishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black Queen", /obj/structure/chess/blackqueen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new /datum/stack_recipe("Black King", /obj/structure/chess/blackking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new /datum/stack_recipe("White Pawn", /obj/structure/chess/whitepawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("White Rook", /obj/structure/chess/whiterook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("White Knight", /obj/structure/chess/whiteknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("White Bishop", /obj/structure/chess/whitebishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("White Queen", /obj/structure/chess/whitequeen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("White King", /obj/structure/chess/whiteking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black Pawn", /obj/structure/chess/blackpawn, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black Rook", /obj/structure/chess/blackrook, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black Knight", /obj/structure/chess/blackknight, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black Bishop", /obj/structure/chess/blackbishop, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black Queen", /obj/structure/chess/blackqueen, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ + new /datum/stack_recipe("Black King", /obj/structure/chess/blackking, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ )), null, \ - new/datum/stack_recipe("rack parts", /obj/item/rack_parts), \ - new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("rack parts", /obj/item/rack_parts, category = CAT_FURNITURE), \ + new/datum/stack_recipe("closet", /obj/structure/closet, 2, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ null, \ - new/datum/stack_recipe("unfinished canister frame", /obj/structure/canister_frame/machine/unfinished_canister_frame, 5, time = 0.8 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("unfinished canister frame", /obj/structure/canister_frame/machine/unfinished_canister_frame, 5, time = 0.8 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ATMOSPHERIC), \ null, \ - new/datum/stack_recipe("floor tile", /obj/item/stack/tile/iron/base, 1, 4, 20), \ - new/datum/stack_recipe("iron rod", /obj/item/stack/rods, 1, 2, 60), \ + new/datum/stack_recipe("floor tile", /obj/item/stack/tile/iron/base, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("iron rod", /obj/item/stack/rods, 1, 2, 60, category = CAT_MISC), \ null, \ - new/datum/stack_recipe("wall girders (anchored)", /obj/structure/girder, 2, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75), \ + new/datum/stack_recipe("wall girders (anchored)", /obj/structure/girder, 2, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75, category = CAT_STRUCTURE), \ null, \ - new/datum/stack_recipe("tram wall girders (anchored)", /obj/structure/girder/tram, 2, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, on_tram = TRUE, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75), \ + new/datum/stack_recipe("tram wall girders (anchored)", /obj/structure/girder/tram, 2, time = 4 SECONDS, one_per_turf = TRUE, on_solid_ground = FALSE, on_tram = TRUE, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75, category = CAT_STRUCTURE), \ null, \ - new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("modular console", /obj/machinery/modular_computer/console, 10, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("modular console", /obj/machinery/modular_computer/console, 10, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ null, \ new /datum/stack_recipe_list("airlock assemblies", list( \ - new /datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("public airlock assembly", /obj/structure/door_assembly/door_assembly_public, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("hydroponics airlock assembly", /obj/structure/door_assembly/door_assembly_hydro, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("virology airlock assembly", /obj/structure/door_assembly/door_assembly_viro, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("external maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_extmai, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ - new /datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), \ + new /datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("public airlock assembly", /obj/structure/door_assembly/door_assembly_public, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("command airlock assembly", /obj/structure/door_assembly/door_assembly_com, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("security airlock assembly", /obj/structure/door_assembly/door_assembly_sec, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("engineering airlock assembly", /obj/structure/door_assembly/door_assembly_eng, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("mining airlock assembly", /obj/structure/door_assembly/door_assembly_min, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("atmospherics airlock assembly", /obj/structure/door_assembly/door_assembly_atmo, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("research airlock assembly", /obj/structure/door_assembly/door_assembly_research, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("freezer airlock assembly", /obj/structure/door_assembly/door_assembly_fre, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("science airlock assembly", /obj/structure/door_assembly/door_assembly_science, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("medical airlock assembly", /obj/structure/door_assembly/door_assembly_med, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("hydroponics airlock assembly", /obj/structure/door_assembly/door_assembly_hydro, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("virology airlock assembly", /obj/structure/door_assembly/door_assembly_viro, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_mai, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("external airlock assembly", /obj/structure/door_assembly/door_assembly_ext, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("external maintenance airlock assembly", /obj/structure/door_assembly/door_assembly_extmai, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("airtight hatch assembly", /obj/structure/door_assembly/door_assembly_hatch, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ + new /datum/stack_recipe("maintenance hatch assembly", /obj/structure/door_assembly/door_assembly_mhatch, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), \ )), \ null, \ - new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ null, \ - new/datum/stack_recipe("grenade casing", /obj/item/grenade/chem_grenade), \ - new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2), \ - new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1), \ + new/datum/stack_recipe("grenade casing", /obj/item/grenade/chem_grenade, category = CAT_CHEMISTRY), \ + new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1, category = CAT_EQUIPMENT), \ null, \ - new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2), \ - new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2), \ - new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2), \ - new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2), \ - new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1), \ + new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1, category = CAT_EQUIPMENT), \ null, \ - new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE), \ - new/datum/stack_recipe("filing cabinet", /obj/structure/filingcabinet, 2, time = 10 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("desk bell", /obj/structure/desk_bell, 2, time = 3 SECONDS), \ - new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 5 SECONDS), \ - new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 5 SECONDS), \ - new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 5 SECONDS), \ - new/datum/stack_recipe("shower frame", /obj/structure/showerframe, 2, time= 2 SECONDS) + new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_solid_ground = TRUE, applies_mats = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("filing cabinet", /obj/structure/filingcabinet, 2, time = 10 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("desk bell", /obj/structure/desk_bell, 2, time = 3 SECONDS, category = CAT_FURNITURE), \ + new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 5 SECONDS, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 5 SECONDS, category = CAT_CHEMISTRY), \ + new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 5 SECONDS, category = CAT_ROBOT), \ + new/datum/stack_recipe("shower frame", /obj/structure/showerframe, 2, time= 2 SECONDS, category = CAT_FURNITURE) )) /obj/item/stack/sheet/iron @@ -240,13 +240,13 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ * Plasteel */ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ - new/datum/stack_recipe("AI core", /obj/structure/ai_core, 4, time = 5 SECONDS, one_per_turf = TRUE), - new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 5 SECONDS), - new/datum/stack_recipe("Large Gas Tank", /obj/structure/tank_frame, 4, time=1 SECONDS, one_per_turf=TRUE), + new/datum/stack_recipe("AI core", /obj/structure/ai_core, 4, time = 5 SECONDS, one_per_turf = TRUE, category = CAT_ROBOT), + new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 5 SECONDS, category = CAT_CHEMISTRY), + new/datum/stack_recipe("Large Gas Tank", /obj/structure/tank_frame, 4, time=1 SECONDS, one_per_turf=TRUE, category = CAT_ATMOSPHERIC), null, new /datum/stack_recipe_list("airlock assemblies", list( \ - new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), - new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 6, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1), + new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), + new/datum/stack_recipe("vault door assembly", /obj/structure/door_assembly/door_assembly_vault, 6, time = 5 SECONDS, one_per_turf = 1, on_solid_ground = 1, category = CAT_DOORS), )), \ )) @@ -287,43 +287,43 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ * Wood */ GLOBAL_LIST_INIT(wood_recipes, list ( \ - new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \ - new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \ - new/datum/stack_recipe("wood table frame", /obj/structure/table_frame/wood, 2, time = 1 SECONDS), \ - new/datum/stack_recipe("rolling pin", /obj/item/kitchen/rollingpin, 2, time = 3 SECONDS), \ - new/datum/stack_recipe("wooden chair", /obj/structure/chair/wood/, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("winged wooden chair", /obj/structure/chair/wood/wings, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("wooden stairs frame", /obj/structure/stairs_frame/wood, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 1 SECONDS),\ - new/datum/stack_recipe("painting frame", /obj/item/wallframe/painting, 1, time = 1 SECONDS),\ - new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("wooden buckler", /obj/item/shield/buckler, 20, time = 4 SECONDS), \ - new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 5 SECONDS),\ - new/datum/stack_recipe("tiki mask", /obj/item/clothing/mask/gas/tiki_mask, 2), \ - new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 1 SECONDS),\ - new/datum/stack_recipe("wooden bucket", /obj/item/reagent_containers/cup/bucket/wooden, 3, time = 1 SECONDS),\ - new/datum/stack_recipe("rake", /obj/item/cultivator/rake, 5, time = 1 SECONDS),\ - new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE),\ - new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE),\ - new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 1.5 SECONDS),\ - new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("mortar", /obj/item/reagent_containers/cup/mortar, 3), \ - new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 10 SECONDS), \ - new/datum/stack_recipe("bonfire", /obj/structure/bonfire, 10, time = 6 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("easel", /obj/structure/easel, 5, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("wood table frame", /obj/structure/table_frame/wood, 2, time = 1 SECONDS, category = CAT_FURNITURE), \ + new/datum/stack_recipe("rolling pin", /obj/item/kitchen/rollingpin, 2, time = 3 SECONDS, category = CAT_TOOLS), \ + new/datum/stack_recipe("wooden chair", /obj/structure/chair/wood/, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("winged wooden chair", /obj/structure/chair/wood/wings, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("wooden barricade", /obj/structure/barricade/wooden, 5, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("wooden door", /obj/structure/mineral_door/wood, 10, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("wooden stairs frame", /obj/structure/stairs_frame/wood, 10, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("coffin", /obj/structure/closet/crate/coffin, 5, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ + new/datum/stack_recipe("wooden barrel", /obj/structure/fermenting_barrel, 8, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 1 SECONDS, category = CAT_ENTERTAINMENT),\ + new/datum/stack_recipe("painting frame", /obj/item/wallframe/painting, 1, time = 1 SECONDS, category = CAT_ENTERTAINMENT),\ + new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("wooden buckler", /obj/item/shield/buckler, 20, time = 4 SECONDS, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 5 SECONDS, category = CAT_TOOLS),\ + new/datum/stack_recipe("tiki mask", /obj/item/clothing/mask/gas/tiki_mask, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 1 SECONDS, category = CAT_TOOLS),\ + new/datum/stack_recipe("wooden bucket", /obj/item/reagent_containers/cup/bucket/wooden, 3, time = 1 SECONDS, category = CAT_CONTAINERS),\ + new/datum/stack_recipe("rake", /obj/item/cultivator/rake, 5, time = 1 SECONDS, category = CAT_TOOLS),\ + new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_CONTAINERS),\ + new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE),\ + new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 1.5 SECONDS, category = CAT_WEAPON_MELEE),\ + new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 1.5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ + new/datum/stack_recipe("mortar", /obj/item/reagent_containers/cup/mortar, 3, category = CAT_CHEMISTRY), \ + new/datum/stack_recipe("firebrand", /obj/item/match/firebrand, 2, time = 10 SECONDS, category = CAT_TOOLS), \ + new/datum/stack_recipe("bonfire", /obj/structure/bonfire, 10, time = 6 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_TOOLS), \ + new/datum/stack_recipe("easel", /obj/structure/easel, 5, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_ENTERTAINMENT), \ null, \ new/datum/stack_recipe_list("pews", list( - new /datum/stack_recipe("pew (middle)", /obj/structure/chair/pew, 3, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("pew (left)", /obj/structure/chair/pew/left, 3, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("pew (right)", /obj/structure/chair/pew/right, 3, one_per_turf = TRUE, on_solid_ground = TRUE) + new /datum/stack_recipe("pew (middle)", /obj/structure/chair/pew, 3, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("pew (left)", /obj/structure/chair/pew/left, 3, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("pew (right)", /obj/structure/chair/pew/right, 3, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE) )), null, \ )) @@ -361,19 +361,19 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ */ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ - new/datum/stack_recipe("punji sticks trap", /obj/structure/punji_sticks, 5, time = 3 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bamboo spear", /obj/item/spear/bamboospear, 25, time = 9 SECONDS), \ - new/datum/stack_recipe("blow gun", /obj/item/gun/syringe/blowgun, 10, time = 7 SECONDS), \ - new/datum/stack_recipe("crude syringe", /obj/item/reagent_containers/syringe/crude, 5, time = 1 SECONDS), \ - new/datum/stack_recipe("rice hat", /obj/item/clothing/head/costume/rice_hat, 10, time = 7 SECONDS), \ + new/datum/stack_recipe("punji sticks trap", /obj/structure/punji_sticks, 5, time = 3 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("bamboo spear", /obj/item/spear/bamboospear, 25, time = 9 SECONDS, category = CAT_WEAPON_MELEE), \ + new/datum/stack_recipe("blow gun", /obj/item/gun/syringe/blowgun, 10, time = 7 SECONDS, category = CAT_WEAPON_RANGED), \ + new/datum/stack_recipe("crude syringe", /obj/item/reagent_containers/syringe/crude, 5, time = 1 SECONDS, category = CAT_CHEMISTRY), \ + new/datum/stack_recipe("rice hat", /obj/item/clothing/head/costume/rice_hat, 10, time = 7 SECONDS, category = CAT_CLOTHING), \ null, \ - new/datum/stack_recipe("bamboo stool", /obj/structure/chair/stool/bamboo, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bamboo mat piece", /obj/item/stack/tile/bamboo, 1, 4, 20), \ + new/datum/stack_recipe("bamboo stool", /obj/structure/chair/stool/bamboo, 2, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ + new/datum/stack_recipe("bamboo mat piece", /obj/item/stack/tile/bamboo, 1, 4, 20, category = CAT_TILES), \ null, \ new/datum/stack_recipe_list("bamboo benches", list( - new /datum/stack_recipe("bamboo bench (middle)", /obj/structure/chair/sofa/bamboo, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("bamboo bench (left)", /obj/structure/chair/sofa/bamboo/left, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), - new /datum/stack_recipe("bamboo bench (right)", /obj/structure/chair/sofa/bamboo/right, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE) + new /datum/stack_recipe("bamboo bench (middle)", /obj/structure/chair/sofa/bamboo, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("bamboo bench (left)", /obj/structure/chair/sofa/bamboo/left, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), + new /datum/stack_recipe("bamboo bench (right)", /obj/structure/chair/sofa/bamboo/right, 3, time = 1 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE) )), \ )) @@ -408,40 +408,40 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ * Cloth */ GLOBAL_LIST_INIT(cloth_recipes, list ( \ - new/datum/stack_recipe("white jumpskirt", /obj/item/clothing/under/color/jumpskirt/white, 3), /*Ladies first*/ \ - new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3), \ - new/datum/stack_recipe("white shoes", /obj/item/clothing/shoes/sneakers/white, 2), \ - new/datum/stack_recipe("white scarf", /obj/item/clothing/neck/scarf, 1), \ - new/datum/stack_recipe("white bandana", /obj/item/clothing/mask/bandana/white, 2), \ + new/datum/stack_recipe("white jumpskirt", /obj/item/clothing/under/color/jumpskirt/white, 3, category = CAT_CLOTHING), /*Ladies first*/ \ + new/datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white shoes", /obj/item/clothing/shoes/sneakers/white, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white scarf", /obj/item/clothing/neck/scarf, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white bandana", /obj/item/clothing/mask/bandana/white, 2, category = CAT_CLOTHING), \ null, \ - new/datum/stack_recipe("backpack", /obj/item/storage/backpack, 4), \ - new/datum/stack_recipe("duffel bag", /obj/item/storage/backpack/duffelbag, 6), \ + new/datum/stack_recipe("backpack", /obj/item/storage/backpack, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("duffel bag", /obj/item/storage/backpack/duffelbag, 6, category = CAT_CONTAINERS), \ null, \ - new/datum/stack_recipe("plant bag", /obj/item/storage/bag/plants, 4), \ - new/datum/stack_recipe("book bag", /obj/item/storage/bag/books, 4), \ - new/datum/stack_recipe("mining satchel", /obj/item/storage/bag/ore, 4), \ - new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4), \ - new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4), \ - new/datum/stack_recipe("science bag", /obj/item/storage/bag/xeno, 4), \ - new/datum/stack_recipe("construction bag", /obj/item/storage/bag/construction, 4), \ + new/datum/stack_recipe("plant bag", /obj/item/storage/bag/plants, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("book bag", /obj/item/storage/bag/books, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("mining satchel", /obj/item/storage/bag/ore, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("science bag", /obj/item/storage/bag/xeno, 4, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("construction bag", /obj/item/storage/bag/construction, 4, category = CAT_CONTAINERS), \ null, \ - new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6), \ - new/datum/stack_recipe("rag", /obj/item/reagent_containers/cup/rag, 1), \ - new/datum/stack_recipe("bedsheet", /obj/item/bedsheet, 3), \ - new/datum/stack_recipe("double bedsheet", /obj/item/bedsheet/double, 6), \ - new/datum/stack_recipe("empty sandbag", /obj/item/emptysandbag, 4), \ + new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6, category = CAT_TOOLS), \ + new/datum/stack_recipe("rag", /obj/item/reagent_containers/cup/rag, 1, category = CAT_CHEMISTRY), \ + new/datum/stack_recipe("bedsheet", /obj/item/bedsheet, 3, category = CAT_FURNITURE), \ + new/datum/stack_recipe("double bedsheet", /obj/item/bedsheet/double, 6, category = CAT_FURNITURE), \ + new/datum/stack_recipe("empty sandbag", /obj/item/emptysandbag, 4, category = CAT_CONTAINERS), \ null, \ - new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \ - new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 3), \ - new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft/mime, 2), \ - new/datum/stack_recipe("white beanie", /obj/item/clothing/head/beanie, 2), \ + new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 3, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white softcap", /obj/item/clothing/head/soft/mime, 2, category = CAT_CLOTHING), \ + new/datum/stack_recipe("white beanie", /obj/item/clothing/head/beanie, 2, category = CAT_CLOTHING), \ null, \ - new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/blindfold, 2), \ + new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/blindfold, 2, category = CAT_ENTERTAINMENT), \ null, \ - new/datum/stack_recipe("19x19 canvas", /obj/item/canvas/nineteen_nineteen, 3), \ - new/datum/stack_recipe("23x19 canvas", /obj/item/canvas/twentythree_nineteen, 4), \ - new/datum/stack_recipe("23x23 canvas", /obj/item/canvas/twentythree_twentythree, 5), \ - new/datum/stack_recipe("pillow", /obj/item/pillow, 3), \ + new/datum/stack_recipe("19x19 canvas", /obj/item/canvas/nineteen_nineteen, 3, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("23x19 canvas", /obj/item/canvas/twentythree_nineteen, 4, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("23x23 canvas", /obj/item/canvas/twentythree_twentythree, 5, category = CAT_ENTERTAINMENT), \ + new/datum/stack_recipe("pillow", /obj/item/pillow, 3, category = CAT_FURNITURE), \ )) /obj/item/stack/sheet/cloth @@ -472,10 +472,10 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ amount = 5 GLOBAL_LIST_INIT(durathread_recipes, list ( \ - new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/misc/durathread, 4, time = 4 SECONDS), - new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 4 SECONDS), \ - new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 4 SECONDS), \ - new/datum/stack_recipe("durathread bandana", /obj/item/clothing/mask/bandana/durathread, 1, time = 2.5 SECONDS), \ + new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/misc/durathread, 4, time = 4 SECONDS, category = CAT_CLOTHING), + new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 4 SECONDS, category = CAT_CLOTHING), \ + new/datum/stack_recipe("durathread beanie", /obj/item/clothing/head/beanie/durathread, 2, time = 4 SECONDS, category = CAT_CLOTHING), \ + new/datum/stack_recipe("durathread bandana", /obj/item/clothing/mask/bandana/durathread, 1, time = 2.5 SECONDS, category = CAT_CLOTHING), \ )) /obj/item/stack/sheet/durathread @@ -533,60 +533,60 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ * Cardboard */ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ - new/datum/stack_recipe("box", /obj/item/storage/box), \ - new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/costume/cardborg, 3), \ - new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/costume/cardborg), \ - new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \ + new/datum/stack_recipe("box", /obj/item/storage/box, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/costume/cardborg, 3, category = CAT_CLOTHING), \ + new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/costume/cardborg, category = CAT_CLOTHING), \ + new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5, category = CAT_ENTERTAINMENT), \ null, \ - new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \ - new/datum/stack_recipe("folder", /obj/item/folder), \ + new/datum/stack_recipe("pizza box", /obj/item/pizzabox, category = CAT_CONTAINERS), \ + new/datum/stack_recipe("folder", /obj/item/folder, category = CAT_CONTAINERS), \ null, \ //TO-DO: Find a proper way to just change the illustration on the box. Code isn't the issue, input is. new/datum/stack_recipe_list("fancy boxes", list( - new /datum/stack_recipe("donut box", /obj/item/storage/fancy/donut_box), \ - new /datum/stack_recipe("egg box", /obj/item/storage/fancy/egg_box), \ - new /datum/stack_recipe("donk-pockets box", /obj/item/storage/box/donkpockets), \ - new /datum/stack_recipe("donk-pockets spicy box", /obj/item/storage/box/donkpockets/donkpocketspicy), \ - new /datum/stack_recipe("donk-pockets teriyaki box", /obj/item/storage/box/donkpockets/donkpocketteriyaki), \ - new /datum/stack_recipe("donk-pockets pizza box", /obj/item/storage/box/donkpockets/donkpocketpizza), \ - new /datum/stack_recipe("donk-pockets berry box", /obj/item/storage/box/donkpockets/donkpocketberry), \ - new /datum/stack_recipe("donk-pockets honk box", /obj/item/storage/box/donkpockets/donkpockethonk), \ - new /datum/stack_recipe("monkey cube box", /obj/item/storage/box/monkeycubes), - new /datum/stack_recipe("nugget box", /obj/item/storage/fancy/nugget_box), \ + new /datum/stack_recipe("donut box", /obj/item/storage/fancy/donut_box, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("egg box", /obj/item/storage/fancy/egg_box, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets box", /obj/item/storage/box/donkpockets, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets spicy box", /obj/item/storage/box/donkpockets/donkpocketspicy, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets teriyaki box", /obj/item/storage/box/donkpockets/donkpocketteriyaki, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets pizza box", /obj/item/storage/box/donkpockets/donkpocketpizza, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets berry box", /obj/item/storage/box/donkpockets/donkpocketberry, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("donk-pockets honk box", /obj/item/storage/box/donkpockets/donkpockethonk, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("monkey cube box", /obj/item/storage/box/monkeycubes, category = CAT_CONTAINERS), + new /datum/stack_recipe("nugget box", /obj/item/storage/fancy/nugget_box, category = CAT_CONTAINERS), \ null, \ - new /datum/stack_recipe("lethal ammo box", /obj/item/storage/box/lethalshot), \ - new /datum/stack_recipe("rubber shot ammo box", /obj/item/storage/box/rubbershot), \ - new /datum/stack_recipe("bean bag ammo box", /obj/item/storage/box/beanbag), \ - new /datum/stack_recipe("flashbang box", /obj/item/storage/box/flashbangs), \ - new /datum/stack_recipe("flashes box", /obj/item/storage/box/flashes), \ - new /datum/stack_recipe("handcuffs box", /obj/item/storage/box/handcuffs), \ - new /datum/stack_recipe("ID card box", /obj/item/storage/box/ids), \ - new /datum/stack_recipe("PDA box", /obj/item/storage/box/pdas), \ + new /datum/stack_recipe("lethal ammo box", /obj/item/storage/box/lethalshot, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("rubber shot ammo box", /obj/item/storage/box/rubbershot, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("bean bag ammo box", /obj/item/storage/box/beanbag, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("flashbang box", /obj/item/storage/box/flashbangs, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("flashes box", /obj/item/storage/box/flashes, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("handcuffs box", /obj/item/storage/box/handcuffs, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("ID card box", /obj/item/storage/box/ids, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("PDA box", /obj/item/storage/box/pdas, category = CAT_CONTAINERS), \ null, \ - new /datum/stack_recipe("pillbottle box", /obj/item/storage/box/pillbottles), \ - new /datum/stack_recipe("beaker box", /obj/item/storage/box/beakers), \ - new /datum/stack_recipe("syringe box", /obj/item/storage/box/syringes), \ - new /datum/stack_recipe("latex gloves box", /obj/item/storage/box/gloves), \ - new /datum/stack_recipe("sterile masks box", /obj/item/storage/box/masks), \ - new /datum/stack_recipe("body bag box", /obj/item/storage/box/bodybags), \ - new /datum/stack_recipe("perscription glasses box", /obj/item/storage/box/rxglasses), \ - new /datum/stack_recipe("medipen box", /obj/item/storage/box/medipens), \ - new /datum/stack_recipe("oxygen tank box", /obj/item/storage/box/emergencytank), \ - new /datum/stack_recipe("extended oxygen tank box", /obj/item/storage/box/engitank), \ + new /datum/stack_recipe("pillbottle box", /obj/item/storage/box/pillbottles, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("beaker box", /obj/item/storage/box/beakers, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("syringe box", /obj/item/storage/box/syringes, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("latex gloves box", /obj/item/storage/box/gloves, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("sterile masks box", /obj/item/storage/box/masks, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("body bag box", /obj/item/storage/box/bodybags, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("perscription glasses box", /obj/item/storage/box/rxglasses, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("medipen box", /obj/item/storage/box/medipens, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("oxygen tank box", /obj/item/storage/box/emergencytank, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("extended oxygen tank box", /obj/item/storage/box/engitank, category = CAT_CONTAINERS), \ null, \ - new /datum/stack_recipe("survival box", /obj/item/storage/box/survival/crafted), \ - new /datum/stack_recipe("extended tank survival box", /obj/item/storage/box/survival/engineer/crafted), \ - new /datum/stack_recipe("disk box", /obj/item/storage/box/disks), \ - new /datum/stack_recipe("light tubes box", /obj/item/storage/box/lights/tubes), \ - new /datum/stack_recipe("light bulbs box", /obj/item/storage/box/lights/bulbs), \ - new /datum/stack_recipe("mixed lights box", /obj/item/storage/box/lights/mixed), \ - new /datum/stack_recipe("mouse traps box", /obj/item/storage/box/mousetraps), \ - new /datum/stack_recipe("candle box", /obj/item/storage/fancy/candle_box) + new /datum/stack_recipe("survival box", /obj/item/storage/box/survival/crafted, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("extended tank survival box", /obj/item/storage/box/survival/engineer/crafted, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("disk box", /obj/item/storage/box/disks, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("light tubes box", /obj/item/storage/box/lights/tubes, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("light bulbs box", /obj/item/storage/box/lights/bulbs, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("mixed lights box", /obj/item/storage/box/lights/mixed, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("mouse traps box", /obj/item/storage/box/mousetraps, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("candle box", /obj/item/storage/fancy/candle_box, category = CAT_CONTAINERS) )), null, \ @@ -642,18 +642,18 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ */ GLOBAL_LIST_INIT(bronze_recipes, list ( \ - new/datum/stack_recipe("wall gear", /obj/structure/girder/bronze, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("wall gear", /obj/structure/girder/bronze, 2, time = 2 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_STRUCTURE), \ null, - new/datum/stack_recipe("directional bronze window", /obj/structure/window/bronze/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("fulltile bronze window", /obj/structure/window/bronze/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe("pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bronze pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze/seethru, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE), \ - new/datum/stack_recipe("bronze floor tile", /obj/item/stack/tile/bronze, 1, 4, 20), \ - new/datum/stack_recipe("bronze hat", /obj/item/clothing/head/costume/bronze), \ - new/datum/stack_recipe("bronze suit", /obj/item/clothing/suit/costume/bronze), \ - new/datum/stack_recipe("bronze boots", /obj/item/clothing/shoes/bronze), \ + new/datum/stack_recipe("directional bronze window", /obj/structure/window/bronze/unanchored, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("fulltile bronze window", /obj/structure/window/bronze/fulltile/unanchored, 2, time = 0, on_solid_ground = TRUE, window_checks = TRUE, category = CAT_WINDOWS), \ + new/datum/stack_recipe("pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("bronze pinion airlock assembly", /obj/structure/door_assembly/door_assembly_bronze/seethru, 4, time = 5 SECONDS, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_DOORS), \ + new/datum/stack_recipe("bronze floor tile", /obj/item/stack/tile/bronze, 1, 4, 20, category = CAT_TILES), \ + new/datum/stack_recipe("bronze hat", /obj/item/clothing/head/costume/bronze, category = CAT_CLOTHING), \ + new/datum/stack_recipe("bronze suit", /obj/item/clothing/suit/costume/bronze, category = CAT_CLOTHING), \ + new/datum/stack_recipe("bronze boots", /obj/item/clothing/shoes/bronze, category = CAT_CLOTHING), \ null, - new/datum/stack_recipe("bronze chair", /obj/structure/chair/bronze, 1, time = 0, one_per_turf = TRUE, on_solid_ground = TRUE), \ + new/datum/stack_recipe("bronze chair", /obj/structure/chair/bronze, 1, time = 0, one_per_turf = TRUE, on_solid_ground = TRUE, category = CAT_FURNITURE), \ )) /obj/item/stack/sheet/bronze @@ -739,15 +739,15 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ material_type = /datum/material/bone GLOBAL_LIST_INIT(plastic_recipes, list( - new /datum/stack_recipe("plastic floor tile", /obj/item/stack/tile/plastic, 1, 4, 20), \ - new /datum/stack_recipe("folding plastic chair", /obj/structure/chair/plastic, 2), \ - new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = TRUE, on_solid_ground = TRUE, time = 4 SECONDS), \ - new /datum/stack_recipe("water bottle", /obj/item/reagent_containers/cup/glass/waterbottle/empty), \ - new /datum/stack_recipe("large water bottle", /obj/item/reagent_containers/cup/glass/waterbottle/large/empty, 3), \ - new /datum/stack_recipe("colo cups", /obj/item/reagent_containers/cup/glass/colocup, 1), \ - new /datum/stack_recipe("wet floor sign", /obj/item/clothing/suit/caution, 2), \ - new /datum/stack_recipe("warning cone", /obj/item/clothing/head/cone, 2), \ - new /datum/stack_recipe("blank wall sign", /obj/item/sign, 1))) + new /datum/stack_recipe("plastic floor tile", /obj/item/stack/tile/plastic, 1, 4, 20, category = CAT_TILES), \ + new /datum/stack_recipe("folding plastic chair", /obj/structure/chair/plastic, 2, category = CAT_FURNITURE), \ + new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = TRUE, on_solid_ground = TRUE, time = 4 SECONDS, category = CAT_FURNITURE), \ + new /datum/stack_recipe("water bottle", /obj/item/reagent_containers/cup/glass/waterbottle/empty, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("large water bottle", /obj/item/reagent_containers/cup/glass/waterbottle/large/empty, 3, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("colo cups", /obj/item/reagent_containers/cup/glass/colocup, 1, category = CAT_CONTAINERS), \ + new /datum/stack_recipe("wet floor sign", /obj/item/clothing/suit/caution, 2, category = CAT_EQUIPMENT), \ + new /datum/stack_recipe("warning cone", /obj/item/clothing/head/cone, 2, category = CAT_EQUIPMENT), \ + new /datum/stack_recipe("blank wall sign", /obj/item/sign, 1, category = CAT_FURNITURE))) /obj/item/stack/sheet/plastic name = "plastic" diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index c26ddaeedfe..2d6ab81b64f 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -2,6 +2,7 @@ name = "sheet" lefthand_file = 'icons/mob/inhands/items/sheets_lefthand.dmi' righthand_file = 'icons/mob/inhands/items/sheets_righthand.dmi' + icon_state = "sheet-metal_3" full_w_class = WEIGHT_CLASS_NORMAL force = 5 throwforce = 5 diff --git a/code/game/objects/items/stacks/stack_recipe.dm b/code/game/objects/items/stacks/stack_recipe.dm index c562202dc6c..49d35934cbc 100644 --- a/code/game/objects/items/stacks/stack_recipe.dm +++ b/code/game/objects/items/stacks/stack_recipe.dm @@ -29,6 +29,8 @@ var/trait_booster /// How much the trait above, if supplied, boosts the construct speed of this item var/trait_modifier = 1 + /// Category for general crafting menu + var/category /datum/stack_recipe/New( title, @@ -45,6 +47,7 @@ applies_mats = FALSE, trait_booster, trait_modifier = 1, + category, ) src.title = title @@ -60,6 +63,7 @@ src.applies_mats = applies_mats src.trait_booster = trait_booster src.trait_modifier = trait_modifier + src.category = src.category || category || CAT_MISC /datum/stack_recipe/radial /// Optional info to be shown on the radial option for this item @@ -82,8 +86,10 @@ trait_modifier = 1, desc, required_noun, + category, ) - + if(category) + src.category = category if(desc) src.desc = desc if(required_noun) diff --git a/code/game/objects/items/storage/boxes/food_boxes.dm b/code/game/objects/items/storage/boxes/food_boxes.dm index ef619e27045..9b313c81ae4 100644 --- a/code/game/objects/items/storage/boxes/food_boxes.dm +++ b/code/game/objects/items/storage/boxes/food_boxes.dm @@ -2,7 +2,7 @@ /obj/item/storage/box/donkpockets name = "box of donk-pockets" - desc = "Instructions: Heat in microwave. Product will stay perpetually warmed with cutting edge Donk Co. technology." + desc = "Instructions: Heat in microwave. Product will stay perpetually warmed with cutting edge Donk Co. technology." icon_state = "donkpocketbox" illustration = null /// What type of donk pocket are we gonna cram into this box? diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 45afa748d78..e6a4f8ceab7 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -4,6 +4,13 @@ speech_span = SPAN_ROBOT var/obj_flags = CAN_BE_HIT + /// Extra examine line to describe controls, such as right-clicking, left-clicking, etc. + var/desc_controls + + /// Icon to use as a 32x32 preview in crafting menus and such + var/icon_preview + var/icon_state_preview + var/damtype = BRUTE var/force = 0 @@ -271,6 +278,8 @@ GLOBAL_LIST_EMPTY(objects_by_id_tag) /obj/examine(mob/user) . = ..() + if(desc_controls) + . += span_notice(desc_controls) if(obj_flags & UNIQUE_RENAME) . += span_notice("Use a pen on it to rename it or change its description.") if(unique_reskin && (!current_skin || infinite_reskin)) diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index e648fce8d95..01ec4763f04 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -25,6 +25,8 @@ desc = "A large structure used to remove the heads of traitors and treasonists." icon = 'icons/obj/guillotine.dmi' icon_state = "guillotine_raised" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "guilliotine" can_buckle = TRUE anchored = TRUE density = TRUE diff --git a/code/modules/asset_cache/assets/crafting.dm b/code/modules/asset_cache/assets/crafting.dm new file mode 100644 index 00000000000..8f38cd19bfa --- /dev/null +++ b/code/modules/asset_cache/assets/crafting.dm @@ -0,0 +1,60 @@ +///Representative icons for the contents of each crafting recipe +/datum/asset/spritesheet/crafting + name = "crafting" + +/datum/asset/spritesheet/crafting/cooking + name = "cooking" + +/datum/asset/spritesheet/crafting/create_spritesheets() + var/id = 1 + for(var/atom in GLOB.crafting_recipes_atoms) + add_atom_icon(atom, id++) + add_tool_icons() + +/datum/asset/spritesheet/crafting/cooking/create_spritesheets() + var/id = 1 + for(var/atom in GLOB.cooking_recipes_atoms) + add_atom_icon(atom, id++) + +///Adds the atom icon to the spritesheet with given ID +/datum/asset/spritesheet/crafting/proc/add_atom_icon(atom, id) + var/obj/obj = initial(atom) + if(ispath(atom, /datum/reagent)) + var/datum/reagent/reagent = atom + obj = initial(reagent.default_container) + var/icon_file = initial(obj.icon_preview) || initial(obj.icon) + var/icon_state = initial(obj.icon_state_preview) || initial(obj.icon_state) + #ifdef UNIT_TESTS + if(!(icon_state in icon_states(icon_file))) + stack_trace("Atom [atom] with icon '[icon_file]' missing state '[icon_state]'") + return + #endif + Insert("a[id]", icon(icon_file, icon_state, SOUTH)) + +///Adds tool icons to the spritesheet +/datum/asset/spritesheet/crafting/proc/add_tool_icons() + var/list/tool_icons = list( + TOOL_CROWBAR = icon('icons/obj/tools.dmi', "crowbar"), + TOOL_MULTITOOL = icon('icons/obj/device.dmi', "multitool"), + TOOL_SCREWDRIVER = icon('icons/obj/tools.dmi', "screwdriver_map"), + TOOL_WIRECUTTER = icon('icons/obj/tools.dmi', "cutters_map"), + TOOL_WRENCH = icon('icons/obj/tools.dmi', "wrench"), + TOOL_WELDER = icon('icons/obj/tools.dmi', "welder"), + TOOL_ANALYZER = icon('icons/obj/device.dmi', "analyzer"), + TOOL_MINING = icon('icons/obj/mining.dmi', "minipick"), + TOOL_SHOVEL = icon('icons/obj/mining.dmi', "spade"), + TOOL_RETRACTOR = icon('icons/obj/medical/surgery_tools.dmi', "retractor"), + TOOL_HEMOSTAT = icon('icons/obj/medical/surgery_tools.dmi', "hemostat"), + TOOL_CAUTERY = icon('icons/obj/medical/surgery_tools.dmi', "cautery"), + TOOL_DRILL = icon('icons/obj/medical/surgery_tools.dmi', "drill"), + TOOL_SCALPEL = icon('icons/obj/medical/surgery_tools.dmi', "scalpel"), + TOOL_SAW = icon('icons/obj/medical/surgery_tools.dmi', "saw"), + TOOL_BONESET = icon('icons/obj/medical/surgery_tools.dmi', "bonesetter"), + TOOL_KNIFE = icon('icons/obj/kitchen.dmi', "knife"), + TOOL_BLOODFILTER = icon('icons/obj/medical/surgery_tools.dmi', "bloodfilter"), + TOOL_ROLLINGPIN = icon('icons/obj/kitchen.dmi', "rolling_pin"), + TOOL_RUSTSCRAPER = icon('icons/obj/tools.dmi', "wirebrush"), + ) + + for(var/tool in tool_icons) + Insert(tool, tool_icons[tool]) diff --git a/code/modules/cargo/markets/market_uplink.dm b/code/modules/cargo/markets/market_uplink.dm index 64b0c660865..9644cfeaf0e 100644 --- a/code/modules/cargo/markets/market_uplink.dm +++ b/code/modules/cargo/markets/market_uplink.dm @@ -163,7 +163,7 @@ /obj/item/radio = 1, /obj/item/analyzer = 1 ) - category = CAT_MISC + category = CAT_EQUIPMENT /datum/crafting_recipe/blackmarket_uplink/New() ..() diff --git a/code/modules/cargo/supplypod_beacon.dm b/code/modules/cargo/supplypod_beacon.dm index 660b813f1c8..36fb2717714 100644 --- a/code/modules/cargo/supplypod_beacon.dm +++ b/code/modules/cargo/supplypod_beacon.dm @@ -1,6 +1,7 @@ /obj/item/supplypod_beacon name = "Supply Pod Beacon" - desc = "A device that can be linked to an Express Supply Console for precision supply pod deliveries. Alt-click to remove link." + desc = "A device that can be linked to an Express Supply Console for precision supply pod deliveries." + desc_controls = "Alt-click to remove link." icon = 'icons/obj/device.dmi' icon_state = "supplypod_beacon" inhand_icon_state = "radio" diff --git a/code/modules/clothing/glasses/_glasses.dm b/code/modules/clothing/glasses/_glasses.dm index e599ebe9422..4c269ccb570 100644 --- a/code/modules/clothing/glasses/_glasses.dm +++ b/code/modules/clothing/glasses/_glasses.dm @@ -600,7 +600,8 @@ /obj/item/clothing/glasses/debug name = "debug glasses" - desc = "Medical, security and diagnostic hud. Alt click to toggle xray." + desc = "Medical, security and diagnostic hud." + desc_controls = "Alt click to toggle xray." icon_state = "nvgmeson" inhand_icon_state = "nvgmeson" flags_cover = GLASSESCOVERSEYES diff --git a/code/modules/clothing/head/beanie.dm b/code/modules/clothing/head/beanie.dm index dde01d98d20..5a97e308454 100644 --- a/code/modules/clothing/head/beanie.dm +++ b/code/modules/clothing/head/beanie.dm @@ -9,6 +9,8 @@ icon = 'icons/obj/clothing/head/beanie.dmi' worn_icon = 'icons/mob/clothing/head/beanie.dmi' icon_state = "beanie" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "beanie_cloth" custom_price = PAYCHECK_CREW * 1.2 greyscale_colors = "#EEEEEE#EEEEEE" greyscale_config = /datum/greyscale_config/beanie @@ -42,6 +44,8 @@ /obj/item/clothing/head/beanie/durathread name = "durathread beanie" desc = "A beanie made from durathread, its resilient fibres provide some protection to the wearer." + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "beanie_durathread" greyscale_colors = "#8291A1#8291A1" armor_type = /datum/armor/beanie_durathread diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index f083e0da00e..6d979f77530 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -433,6 +433,8 @@ name = "durathread beret" desc = "A beret made from durathread, its resilient fibers provide some protection to the wearer." icon_state = "beret_badge" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "beret_durathread" greyscale_config = /datum/greyscale_config/beret_badge greyscale_config_worn = /datum/greyscale_config/beret_badge/worn greyscale_colors = "#C5D4F3#ECF1F8" diff --git a/code/modules/clothing/masks/bandana.dm b/code/modules/clothing/masks/bandana.dm index 1488711749f..0bda988d827 100644 --- a/code/modules/clothing/masks/bandana.dm +++ b/code/modules/clothing/masks/bandana.dm @@ -12,6 +12,7 @@ name = "bandana" desc = "A fine bandana with nanotech lining." icon_state = "bandana" + icon_state_preview = "bandana_cloth" inhand_icon_state = "greyscale_bandana" worn_icon_state = "bandana_worn" greyscale_config = /datum/greyscale_config/bandana @@ -111,12 +112,15 @@ desc = "A fine white bandana with nanotech lining." greyscale_colors = "#DCDCDC" flags_1 = NONE + icon_state_preview = "bandana_cloth" /obj/item/clothing/mask/bandana/durathread name = "durathread bandana" desc = "A bandana made from durathread, you wish it would provide some protection to its wearer, but it's far too thin..." greyscale_colors = "#5c6d80" flags_1 = NONE + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "bandana_durathread" /obj/item/clothing/mask/bandana/striped name = "striped bandana" diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 132e6adf928..295a3b61326 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -211,6 +211,8 @@ /obj/item/clothing/neck/scarf name = "scarf" icon_state = "scarf" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "scarf_cloth" desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." w_class = WEIGHT_CLASS_TINY custom_price = PAYCHECK_CREW diff --git a/code/modules/clothing/shoes/sneakers.dm b/code/modules/clothing/shoes/sneakers.dm index f2a159f9ba6..8173a783d54 100644 --- a/code/modules/clothing/shoes/sneakers.dm +++ b/code/modules/clothing/shoes/sneakers.dm @@ -54,6 +54,8 @@ /obj/item/clothing/shoes/sneakers/white name = "white shoes" greyscale_colors = "#ffffff#ffffff" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "shoes_cloth" armor_type = /datum/armor/sneakers_white /datum/armor/sneakers_white @@ -74,6 +76,8 @@ /obj/item/clothing/shoes/sneakers/orange name = "orange shoes" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "prisonshoes" greyscale_colors = "#d15b1b#ffffff" greyscale_config = /datum/greyscale_config/sneakers_orange greyscale_config_worn = /datum/greyscale_config/sneakers_orange_worn diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index df38b55020c..84c59549dec 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -380,6 +380,8 @@ name = "prison jumpsuit" desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "jumpsuit" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "prisonsuit" inhand_icon_state = "jumpsuit" greyscale_colors = "#ff8300" greyscale_config = /datum/greyscale_config/jumpsuit_prison @@ -401,6 +403,8 @@ name = "prison jumpskirt" desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." icon_state = "jumpskirt" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "prisonskirt" greyscale_colors = "#ff8300" greyscale_config = /datum/greyscale_config/jumpsuit_prison greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_prison_inhand_left diff --git a/code/modules/events/holiday/easter.dm b/code/modules/events/holiday/easter.dm index 01cdd004797..4f90c610d83 100644 --- a/code/modules/events/holiday/easter.dm +++ b/code/modules/events/holiday/easter.dm @@ -149,7 +149,7 @@ ) result = /obj/item/food/hotcrossbun - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/briochecake name = "Brioche cake" @@ -158,7 +158,7 @@ /datum/reagent/consumable/sugar = 2 ) result = /obj/item/food/cake/brioche - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /obj/item/food/scotchegg name = "scotch egg" @@ -177,7 +177,7 @@ /obj/item/food/meatball = 1 ) result = /obj/item/food/scotchegg - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/mammi name = "Mammi" @@ -187,7 +187,7 @@ /datum/reagent/consumable/milk = 5 ) result = /obj/item/food/soup/mammi - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /obj/item/food/chocolatebunny name = "chocolate bunny" @@ -202,4 +202,4 @@ /obj/item/food/chocolatebar = 1 ) result = /obj/item/food/chocolatebunny - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD diff --git a/code/modules/fishing/fishing_equipment.dm b/code/modules/fishing/fishing_equipment.dm index 7711281a945..a5c06197921 100644 --- a/code/modules/fishing/fishing_equipment.dm +++ b/code/modules/fishing/fishing_equipment.dm @@ -48,7 +48,7 @@ result = /obj/item/fishing_line/sinew reqs = list(/obj/item/stack/sheet/sinew = 2) time = 2 SECONDS - category = CAT_PRIMAL + category = CAT_TOOLS // Hooks @@ -158,7 +158,7 @@ result = /obj/item/fishing_hook/bone reqs = list(/obj/item/stack/sheet/bone = 1) time = 2 SECONDS - category = CAT_PRIMAL + category = CAT_TOOLS /obj/item/storage/toolbox/fishing name = "fishing toolbox" diff --git a/code/modules/fishing/fishing_rod.dm b/code/modules/fishing/fishing_rod.dm index 09e9cb31ff1..6efb3bb202b 100644 --- a/code/modules/fishing/fishing_rod.dm +++ b/code/modules/fishing/fishing_rod.dm @@ -406,7 +406,7 @@ reqs = list(/obj/item/stack/sheet/leather = 1, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 2) - category = CAT_PRIMAL + category = CAT_TOOLS /obj/item/fishing_rod/master name = "master fishing rod" diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index eea99fed87b..fc3ad1330da 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -1,11 +1,15 @@ /datum/crafting_recipe/food var/real_parts - category = CAT_FOOD + var/total_nutriment_factor /datum/crafting_recipe/food/on_craft_completion(mob/user, atom/result) ADD_TRAIT(result, TRAIT_FOOD_CHEF_MADE, REF(user)) /datum/crafting_recipe/food/New() + if(ispath(result, /obj/item/food)) + var/obj/item/food/result_food = new result + for(var/datum/reagent/consumable/nutriment as anything in result_food.food_reagents) + total_nutriment_factor += initial(nutriment.nutriment_factor) * result_food.food_reagents[nutriment] real_parts = parts.Copy() parts |= reqs 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 688eee0bfb7..0157e44bef5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm @@ -11,7 +11,7 @@ /obj/item/food/cheese/wedge = 3 ) result = /obj/item/food/bread/meat - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/xenomeatbread name = "Xenomeat bread" @@ -21,7 +21,7 @@ /obj/item/food/cheese/wedge = 3 ) result = /obj/item/food/bread/xenomeat - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/spidermeatbread name = "Spidermeat bread" @@ -31,7 +31,7 @@ /obj/item/food/cheese/wedge = 3 ) result = /obj/item/food/bread/spidermeat - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/sausagebread name = "Sausage bread" @@ -40,7 +40,7 @@ /obj/item/food/sausage = 2, ) result = /obj/item/food/bread/sausage - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/banananutbread name = "Banana nut bread" @@ -51,7 +51,7 @@ /obj/item/food/grown/banana = 1 ) result = /obj/item/food/bread/banana - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/tofubread name = "Tofu bread" @@ -61,7 +61,7 @@ /obj/item/food/cheese/wedge = 3 ) result = /obj/item/food/bread/tofu - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/creamcheesebread name = "Cream cheese bread" @@ -71,7 +71,7 @@ /obj/item/food/cheese/wedge = 2 ) result = /obj/item/food/bread/creamcheese - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/mimanabread name = "Mimana bread" @@ -82,7 +82,7 @@ /obj/item/food/grown/banana/mime = 1 ) result = /obj/item/food/bread/mimana - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/garlicbread name = "Garlic Bread" @@ -92,7 +92,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/garlicbread - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/butterbiscuit name = "Butter Biscuit" @@ -101,7 +101,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/butterbiscuit - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/butterdog name = "Butterdog" @@ -110,7 +110,7 @@ /obj/item/food/butter = 3, ) result = /obj/item/food/butterdog - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/baguette name = "Baguette" @@ -120,7 +120,7 @@ /obj/item/food/pastrybase = 2 ) result = /obj/item/food/baguette - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/raw_breadstick name = "Raw breadstick" @@ -130,20 +130,20 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/raw_breadstick - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/breaddog name = "Living dog/bread hybrid" reqs = list( /obj/item/organ/internal/brain = 1, /obj/item/organ/internal/heart = 1, - /obj/item/food/bread = 2, + /obj/item/food/bread/plain = 2, /obj/item/food/meat/slab = 3, /datum/reagent/blood = 30, /datum/reagent/teslium = 1 //To shock the whole thing into life ) result = /mob/living/basic/pet/dog/breaddog - subcategory = CAT_BREAD + category = CAT_BREAD ////////////////////////////////////////////////TOAST//////////////////////////////////////////////// @@ -154,7 +154,7 @@ /obj/item/food/breadslice/plain = 1 ) result = /obj/item/food/jelliedtoast/slime - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/jelliedyoast name = "Jellied toast" @@ -163,7 +163,7 @@ /obj/item/food/breadslice/plain = 1 ) result = /obj/item/food/jelliedtoast/cherry - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/butteredtoast name = "Buttered Toast" @@ -172,7 +172,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/butteredtoast - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/twobread name = "Two bread" @@ -181,7 +181,7 @@ /obj/item/food/breadslice/plain = 2 ) result = /obj/item/food/twobread - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/moldybread // why would you make this? name = "Moldy Bread" @@ -190,7 +190,7 @@ /obj/item/food/grown/mushroom/amanita = 1 ) result = /obj/item/food/breadslice/moldy - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/breadcat name = "Bread cat/bread hybrid" @@ -203,7 +203,7 @@ /datum/reagent/medicine/strange_reagent = 5 ) result = /mob/living/simple_animal/pet/cat/breadcat - subcategory = CAT_BREAD + category = CAT_BREAD /datum/crafting_recipe/food/frenchtoast name = "Raw french toast" @@ -213,4 +213,4 @@ /datum/reagent/consumable/milk = 5 ) result = /obj/item/food/raw_frenchtoast - subcategory = CAT_BREAD + category = CAT_BREAD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm index 097df84b343..16075d970ca 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm @@ -14,7 +14,7 @@ /obj/item/food/patty = 1 ) result = /obj/item/food/burger/human - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/burger name = "Plain Burger" @@ -24,7 +24,7 @@ ) result = /obj/item/food/burger/plain - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/corgiburger name = "Corgi burger" @@ -34,7 +34,7 @@ ) result = /obj/item/food/burger/corgi - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/appendixburger name = "Appendix burger" @@ -43,7 +43,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/appendix - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/brainburger name = "Brain burger" @@ -52,7 +52,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/brain - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/xenoburger name = "Xeno burger" @@ -61,7 +61,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/xeno - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/bearger name = "Bearger" @@ -70,7 +70,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/bearger - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/fishburger name = "Fish burger" @@ -80,7 +80,7 @@ /obj/item/food/cheese/wedge = 1 ) result = /obj/item/food/burger/fish - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/tofuburger name = "Tofu burger" @@ -89,7 +89,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/tofu - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/ghostburger name = "Ghost burger" @@ -99,7 +99,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/ghost - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/clownburger name = "Clown burger" @@ -108,7 +108,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/clown - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/mimeburger name = "Mime burger" @@ -117,7 +117,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/mime - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/redburger name = "Red burger" @@ -127,7 +127,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/red - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/orangeburger name = "Orange burger" @@ -137,7 +137,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/orange - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/yellowburger name = "Yellow burger" @@ -147,7 +147,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/yellow - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/greenburger name = "Green burger" @@ -157,7 +157,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/green - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/blueburger name = "Blue burger" @@ -167,7 +167,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/blue - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/purpleburger name = "Purple burger" @@ -177,7 +177,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/purple - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/blackburger name = "Black burger" @@ -187,7 +187,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/black - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/whiteburger name = "White burger" @@ -197,7 +197,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/white - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/spellburger name = "Spell burger" @@ -206,7 +206,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/spell - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/spellburger2 name = "Spell burger" @@ -215,7 +215,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/spell - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/bigbiteburger name = "Big bite burger" @@ -225,7 +225,7 @@ /obj/item/food/cheese/wedge = 2 ) result = /obj/item/food/burger/bigbite - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/superbiteburger name = "Super bite burger" @@ -242,7 +242,7 @@ ) result = /obj/item/food/burger/superbite - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/slimeburger name = "Jelly burger" @@ -251,7 +251,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/jelly/slime - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/jellyburger name = "Jelly burger" @@ -260,7 +260,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/jelly/cherry - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/fivealarmburger name = "Five alarm burger" @@ -270,7 +270,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/fivealarm - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/ratburger name = "Rat burger" @@ -279,7 +279,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/rat - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/baseballburger name = "Home run baseball burger" @@ -288,7 +288,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/baseball - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/baconburger name = "Bacon Burger" @@ -298,7 +298,7 @@ ) result = /obj/item/food/burger/baconburger - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/empoweredburger name = "Empowered Burger" @@ -308,7 +308,7 @@ ) result = /obj/item/food/burger/empoweredburger - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/catburger name = "Cat burger" @@ -319,7 +319,7 @@ /obj/item/organ/external/tail/cat = 1, ) result = /obj/item/food/burger/catburger - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/crabburger name = "Crab Burger" @@ -329,7 +329,7 @@ ) result = /obj/item/food/burger/crab - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/cheeseburger name = "Cheese Burger" @@ -339,7 +339,7 @@ /obj/item/food/cheese/wedge = 1, ) result = /obj/item/food/burger/cheese - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/soylentburger name = "Soylent Burger" @@ -349,7 +349,7 @@ /obj/item/food/cheese/wedge = 2, ) result = /obj/item/food/burger/soylent - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/ribburger name = "McRib" @@ -359,7 +359,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/rib - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/mcguffin name = "McGuffin" @@ -369,7 +369,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/mcguffin - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/chickenburger name = "Chicken Sandwich" @@ -379,7 +379,7 @@ /obj/item/food/bun = 1 ) result = /obj/item/food/burger/chicken - subcategory = CAT_BURGER + category = CAT_BURGER /datum/crafting_recipe/food/crazyhamburger name = "Crazy hamburger" @@ -394,4 +394,4 @@ /datum/reagent/consumable/cooking_oil = 15 ) result = /obj/item/food/burger/crazy - subcategory = CAT_BURGER + category = CAT_BURGER 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 c967e50f959..46ca289512e 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm @@ -10,7 +10,7 @@ /obj/item/food/grown/carrot = 2 ) result = /obj/item/food/cake/carrot - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/cheesecake name = "Cheese cake" @@ -19,7 +19,7 @@ /obj/item/food/cheese/wedge = 2 ) result = /obj/item/food/cake/cheese - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/applecake name = "Apple cake" @@ -28,7 +28,7 @@ /obj/item/food/grown/apple = 2 ) result = /obj/item/food/cake/apple - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/orangecake name = "Orange cake" @@ -37,7 +37,7 @@ /obj/item/food/grown/citrus/orange = 2 ) result = /obj/item/food/cake/orange - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/limecake name = "Lime cake" @@ -46,7 +46,7 @@ /obj/item/food/grown/citrus/lime = 2 ) result = /obj/item/food/cake/lime - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/lemoncake name = "Lemon cake" @@ -55,7 +55,7 @@ /obj/item/food/grown/citrus/lemon = 2 ) result = /obj/item/food/cake/lemon - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/chocolatecake name = "Chocolate cake" @@ -64,7 +64,7 @@ /obj/item/food/chocolatebar = 2 ) result = /obj/item/food/cake/chocolate - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/birthdaycake name = "Birthday cake" @@ -75,7 +75,7 @@ /datum/reagent/consumable/caramel = 2 ) result = /obj/item/food/cake/birthday - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/energycake name = "Energy cake" @@ -85,7 +85,7 @@ ) blacklist = list(/obj/item/food/cake/birthday/energy) result = /obj/item/food/cake/birthday/energy - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/braincake name = "Brain cake" @@ -94,7 +94,7 @@ /obj/item/food/cake/plain = 1 ) result = /obj/item/food/cake/brain - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/slimecake name = "Slime cake" @@ -103,7 +103,7 @@ /obj/item/food/cake/plain = 1 ) result = /obj/item/food/cake/slimecake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" @@ -112,7 +112,7 @@ /obj/item/food/grown/pumpkin = 2 ) result = /obj/item/food/cake/pumpkinspice - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/holycake name = "Angel food cake" @@ -121,7 +121,7 @@ /obj/item/food/cake/plain = 1 ) result = /obj/item/food/cake/holy_cake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/poundcake name = "Pound cake" @@ -129,7 +129,7 @@ /obj/item/food/cake/plain = 4 ) result = /obj/item/food/cake/pound_cake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/hardwarecake name = "Hardware cake" @@ -139,7 +139,7 @@ /datum/reagent/toxin/acid = 5 ) result = /obj/item/food/cake/hardware_cake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/bscccake name = "blackberry and strawberry chocolate cake" @@ -149,7 +149,7 @@ /obj/item/food/grown/berries = 5 ) result = /obj/item/food/cake/bscc - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/pavlovacream name = "Pavlova with cream" @@ -160,7 +160,7 @@ /obj/item/food/grown/berries = 5 ) result = /obj/item/food/cake/pavlova - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/pavlovakorta name = "Pavlova with korta cream" @@ -171,7 +171,7 @@ /obj/item/food/grown/berries = 5 ) result = /obj/item/food/cake/pavlova/nuts - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/bscvcake name = "blackberry and strawberry vanilla cake" @@ -180,7 +180,7 @@ /obj/item/food/grown/berries = 5 ) result = /obj/item/food/cake/bsvc - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/clowncake name = "clown cake" @@ -191,7 +191,7 @@ /obj/item/food/grown/banana = 5 ) result = /obj/item/food/cake/clown_cake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/vanillacake name = "vanilla cake" @@ -201,7 +201,7 @@ /obj/item/food/grown/vanillapod = 2 ) result = /obj/item/food/cake/vanilla_cake - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/trumpetcake name = "Spaceman's Cake" @@ -212,7 +212,7 @@ /datum/reagent/consumable/berryjuice = 5 ) result = /obj/item/food/cake/trumpet - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/cak @@ -227,7 +227,7 @@ /datum/reagent/teslium = 1 //To shock the whole thing into life ) result = /mob/living/simple_animal/pet/cat/cak - subcategory = CAT_CAKE //Cat! Haha, get it? CAT? GET IT? We get it - Love Felines + category = CAT_CAKE //Cat! Haha, get it? CAT? GET IT? We get it - Love Felines /datum/crafting_recipe/food/fruitcake name = "english fruitcake" @@ -238,7 +238,7 @@ /datum/reagent/consumable/ethanol/rum = 5 ) result = /obj/item/food/cake/fruit - subcategory = CAT_CAKE + category = CAT_CAKE /datum/crafting_recipe/food/plumcake name = "Plum cake" @@ -247,4 +247,4 @@ /obj/item/food/grown/plum = 2 ) result = /obj/item/food/cake/plum - subcategory = CAT_CAKE + category = CAT_CAKE 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 3a6974a9a71..b1a6e918f59 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm @@ -114,7 +114,7 @@ result = /obj/item/reagent_containers/cup/glass/sillycup/smallcarton time = 10 reqs = list(/obj/item/stack/sheet/cardboard = 1) - category = CAT_DRINK + category = CAT_CONTAINERS /datum/crafting_recipe/candycornliquor name = "candy corn liquor" 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 7398779c147..ec8eda8d3cf 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm @@ -10,7 +10,7 @@ /obj/item/food/friedegg = 1, ) result = /obj/item/food/eggsausage - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/omelette name = "Omelette" @@ -19,7 +19,7 @@ /obj/item/food/cheese/wedge = 2 ) result = /obj/item/food/omelette - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/chocolateegg name = "Chocolate egg" @@ -28,7 +28,7 @@ /obj/item/food/chocolatebar = 1 ) result = /obj/item/food/chocolateegg - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/eggsbenedict name = "Eggs benedict" @@ -38,7 +38,7 @@ /obj/item/food/breadslice/plain = 1, ) result = /obj/item/food/benedict - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/eggbowl name = "Egg bowl" @@ -50,7 +50,7 @@ /obj/item/food/grown/corn = 1 ) result = /obj/item/food/salad/eggbowl - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/wrap name = "Egg Wrap" @@ -59,7 +59,7 @@ /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/eggwrap - subcategory = CAT_EGG + category = CAT_EGG /datum/crafting_recipe/food/chawanmushi name = "Chawanmushi" @@ -70,5 +70,5 @@ /obj/item/food/grown/mushroom/chanterelle = 1 ) result = /obj/item/food/chawanmushi - subcategory = CAT_EGG + category = CAT_EGG diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm index cd84b805418..c260f5b4d1b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm @@ -11,7 +11,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/icecreamsandwich - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/strawberryicecreamsandwich name = "Strawberry ice cream sandwich" @@ -22,7 +22,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/strawberryicecreamsandwich - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/spacefreezy name ="Space freezy" @@ -32,7 +32,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/spacefreezy - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/sundae name ="Sundae" @@ -43,7 +43,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/sundae - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/honkdae name ="Honkdae" @@ -55,7 +55,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/honkdae - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/cornuto name = "Cornuto" @@ -67,7 +67,7 @@ /obj/item/food/icecream = 1 ) result = /obj/item/food/cornuto - subcategory = CAT_ICE + category = CAT_ICE //////////////////////////SNOW CONES/////////////////////// @@ -78,7 +78,7 @@ /datum/reagent/consumable/ice = 15 ) result = /obj/item/food/snowcones - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/pineapple_sc name = "Pineapple snowcone" @@ -88,7 +88,7 @@ /datum/reagent/consumable/pineapplejuice = 5 ) result = /obj/item/food/snowcones/pineapple - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/lime_sc name = "Lime snowcone" @@ -98,7 +98,7 @@ /datum/reagent/consumable/limejuice = 5 ) result = /obj/item/food/snowcones/lime - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/lemon_sc name = "Lemon snowcone" @@ -108,7 +108,7 @@ /datum/reagent/consumable/lemonjuice = 5 ) result = /obj/item/food/snowcones/lemon - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/apple_sc name = "Apple snowcone" @@ -118,7 +118,7 @@ /datum/reagent/consumable/applejuice = 5 ) result = /obj/item/food/snowcones/apple - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/grape_sc name = "Grape snowcone" @@ -128,7 +128,7 @@ /datum/reagent/consumable/grapejuice = 5 ) result = /obj/item/food/snowcones/grape - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/orange_sc name = "Orange snowcone" @@ -138,7 +138,7 @@ /datum/reagent/consumable/orangejuice = 5 ) result = /obj/item/food/snowcones/orange - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/blue_sc name = "Bluecherry snowcone" @@ -148,7 +148,7 @@ /datum/reagent/consumable/bluecherryjelly= 5 ) result = /obj/item/food/snowcones/blue - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/red_sc name = "Cherry snowcone" @@ -158,7 +158,7 @@ /datum/reagent/consumable/cherryjelly= 5 ) result = /obj/item/food/snowcones/red - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/berry_sc name = "Berry snowcone" @@ -168,7 +168,7 @@ /datum/reagent/consumable/berryjuice = 5 ) result = /obj/item/food/snowcones/berry - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/fruitsalad_sc name = "Fruit Salad snowcone" @@ -181,7 +181,7 @@ /datum/reagent/consumable/lemonjuice = 5 ) result = /obj/item/food/snowcones/fruitsalad - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/mime_sc name = "Mime snowcone" @@ -191,7 +191,7 @@ /datum/reagent/consumable/nothing = 5 ) result = /obj/item/food/snowcones/mime - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/clown_sc name = "Clown snowcone" @@ -201,7 +201,7 @@ /datum/reagent/consumable/laughter = 5 ) result = /obj/item/food/snowcones/clown - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/soda_sc name = "Space Cola snowcone" @@ -211,7 +211,7 @@ /datum/reagent/consumable/space_cola = 5 ) result = /obj/item/food/snowcones/soda - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/spacemountainwind_sc name = "Space Mountain Wind snowcone" @@ -221,7 +221,7 @@ /datum/reagent/consumable/spacemountainwind = 5 ) result = /obj/item/food/snowcones/spacemountainwind - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/pwrgame_sc name = "Pwrgame snowcone" @@ -231,7 +231,7 @@ /datum/reagent/consumable/pwr_game = 15 ) result = /obj/item/food/snowcones/pwrgame - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/honey_sc name = "Honey snowcone" @@ -241,7 +241,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/snowcones/honey - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/rainbow_sc name = "Rainbow snowcone" @@ -251,7 +251,7 @@ /datum/reagent/colorful_reagent = 1 //Harder to make ) result = /obj/item/food/snowcones/rainbow - subcategory = CAT_ICE + category = CAT_ICE //////////////////////////POPSICLES/////////////////////// @@ -269,7 +269,7 @@ /datum/reagent/consumable/sugar = 2 ) result = /obj/item/food/popsicle/creamsicle_orange - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/berry_popsicle name = "Berry popsicle" @@ -282,7 +282,7 @@ /datum/reagent/consumable/sugar = 2 ) result = /obj/item/food/popsicle/creamsicle_berry - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/jumbo name = "Jumbo icecream" @@ -295,7 +295,7 @@ /datum/reagent/consumable/sugar = 2 ) result = /obj/item/food/popsicle/jumbo - subcategory = CAT_ICE + category = CAT_ICE /datum/crafting_recipe/food/licorice_creamsicle name = "Licorice popsicle" @@ -309,4 +309,4 @@ /datum/reagent/consumable/sugar = 2 ) result = /obj/item/food/popsicle/licorice_creamsicle - subcategory = CAT_ICE + category = CAT_ICE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm new file mode 100644 index 00000000000..cb2e846ace2 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_guide.dm @@ -0,0 +1,794 @@ +// Recipes that provide crafting instructions and don't yield any result + +// Crafting recipes + +/datum/crafting_recipe/shiv + reqs = list( + /obj/item/shard = 1, + /obj/item/stack/sheet/cloth = 1, + ) + result = /obj/item/knife/shiv + category = CAT_WEAPON_MELEE + steps = list("Use cloth on a glass shard of any type") + +/datum/crafting_recipe/restraints + reqs = list(/obj/item/stack/cable_coil = 15) + result = /obj/item/restraints/handcuffs/cable + category = CAT_TOOLS + +/datum/crafting_recipe/runed_metal + reqs = list(/obj/item/stack/sheet/plasteel = 1) + result = /obj/item/stack/sheet/runed_metal + category = CAT_CULT + non_craftable = TRUE + steps = list("Use Twisted Construction on plasteel") + +/datum/crafting_recipe/constructshell + reqs = list(/obj/item/stack/sheet/iron = 50) + result = /obj/structure/constructshell + category = CAT_CULT + non_craftable = TRUE + steps = list("Use Twisted Construction on iron") + +// Food reactions + +/datum/crafting_recipe/food/reaction + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/reaction/New() + ..() + if(!reaction) + return + var/datum/chemical_reaction/chemical_reaction = new reaction // This could use GLOB.chemical_reactions_list if it was initialized by now + reqs = chemical_reaction.required_reagents + chem_catalysts = chemical_reaction.required_catalysts + if (chemical_reaction.results.len) + result = chemical_reaction.results[1] + result_amount = chemical_reaction.results[result] + +/datum/crafting_recipe/food/reaction/candle + reaction = /datum/chemical_reaction/candlefication + result = /obj/item/candle + category = CAT_CAKE + +/datum/crafting_recipe/food/reaction/tofu + reaction = /datum/chemical_reaction/food/tofu + result = /obj/item/food/tofu + +/datum/crafting_recipe/food/reaction/candycorn + reaction = /datum/chemical_reaction/food/candycorn + result = /obj/item/food/candy_corn + category = CAT_PASTRY + +/datum/crafting_recipe/food/reaction/chocolatepudding + reaction = /datum/chemical_reaction/food/chocolatepudding + category = CAT_PASTRY + +/datum/crafting_recipe/food/reaction/vanillapudding + reaction = /datum/chemical_reaction/food/vanillapudding + category = CAT_PASTRY + +/datum/crafting_recipe/food/reaction/chocolatebar + name = "Chocolate bar" + reaction = /datum/chemical_reaction/food/chocolate_bar3 + result = /obj/item/food/chocolatebar + category = CAT_PASTRY + +/datum/crafting_recipe/food/reaction/chocolatebar/chocomilk + name = "Chocolate bar (choco milk)" + reaction = /datum/chemical_reaction/food/chocolate_bar2 + +/datum/crafting_recipe/food/reaction/chocolatebar/vegan + name = "Chocolate bar (vegan)" + reaction = /datum/chemical_reaction/food/chocolate_bar + +/datum/crafting_recipe/food/reaction/soysauce + reaction = /datum/chemical_reaction/food/soysauce + +/datum/crafting_recipe/food/reaction/corn_syrup + reaction = /datum/chemical_reaction/food/corn_syrup + +/datum/crafting_recipe/food/reaction/caramel + reaction = /datum/chemical_reaction/food/caramel + category = CAT_PASTRY + +/datum/crafting_recipe/food/reaction/cheesewheel + reaction = /datum/chemical_reaction/food/cheesewheel + result = /obj/item/food/cheese/wheel + +/datum/crafting_recipe/food/reaction/synthmeat + reaction = /datum/chemical_reaction/food/synthmeat + result = /obj/item/food/meat/slab/synthmeat + category = CAT_MEAT + +/datum/crafting_recipe/food/reaction/imitationcarpmeat + reaction = /datum/chemical_reaction/food/imitationcarpmeat + result = /obj/item/food/fishmeat/carp/imitation + category = CAT_SEAFOOD + +/datum/crafting_recipe/food/reaction/dough + reaction = /datum/chemical_reaction/food/dough + result = /obj/item/food/dough + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/cakebatter + name = "Cake batter" + reaction = /datum/chemical_reaction/food/cakebatter + result = /obj/item/food/cakebatter + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/cakebatter/vegan + name = "Cake batter (vegan)" + reaction = /datum/chemical_reaction/food/cakebatter/vegan + +/datum/crafting_recipe/food/reaction/pancakebatter + result = /datum/reagent/consumable/pancakebatter + reaction = /datum/chemical_reaction/food/pancakebatter + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/uncooked_rice + result = /obj/item/food/uncooked_rice + reaction = /datum/chemical_reaction/food/uncooked_rice + category = CAT_SALAD + +/datum/crafting_recipe/food/reaction/bbqsauce + result = /datum/reagent/consumable/bbqsauce + reaction = /datum/chemical_reaction/food/bbqsauce + +/datum/crafting_recipe/food/reaction/gravy + result = /datum/reagent/consumable/gravy + reaction = /datum/chemical_reaction/food/gravy + +/datum/crafting_recipe/food/reaction/mothic_pizza_dough + result = /obj/item/food/mothic_pizza_dough + reaction = /datum/chemical_reaction/food/mothic_pizza_dough + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/curd_cheese + result = /obj/item/food/cheese/curd_cheese + reaction = /datum/chemical_reaction/food/curd_cheese + +/datum/crafting_recipe/food/reaction/mozzarella + result = /obj/item/food/cheese/mozzarella + reaction = /datum/chemical_reaction/food/mozzarella + +/datum/crafting_recipe/food/reaction/cornmeal_batter + result = /datum/reagent/consumable/cornmeal_batter + reaction = /datum/chemical_reaction/food/cornmeal_batter + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/cornbread + result = /obj/item/food/bread/corn + reaction = /datum/chemical_reaction/food/cornbread + category = CAT_BREAD + +/datum/crafting_recipe/food/reaction/yoghurt + result = /datum/reagent/consumable/yoghurt + reaction = /datum/chemical_reaction/food/yoghurt + +/datum/crafting_recipe/food/reaction/quality_oil + result = /datum/reagent/consumable/quality_oil + reaction = /datum/chemical_reaction/food/quality_oil + +/datum/crafting_recipe/food/reaction/quality_oil/upconvert + reaction = /datum/chemical_reaction/food/quality_oil_upconvert + +/datum/crafting_recipe/food/reaction/moonshine + reaction = /datum/chemical_reaction/drink/moonshine + +// Tools: Rolling pin + +/datum/crafting_recipe/food/rollingpin + tool_behaviors = list(TOOL_ROLLINGPIN) + steps = list("Flatten with a rolling pin") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/rollingpin/flatdough + reqs = list(/obj/item/food/dough = 1) + result = /obj/item/food/flatdough + category = CAT_BREAD + +/datum/crafting_recipe/food/rollingpin/flatrootdough + reqs = list(/obj/item/food/rootdough = 1) + result = /obj/item/food/flatrootdough + category = CAT_BREAD + +/datum/crafting_recipe/food/rollingpin/piedough + reqs = list(/obj/item/food/cakebatter = 1) + result = /obj/item/food/piedough + category = CAT_BREAD + +/datum/crafting_recipe/food/rollingpin/raw_patty + reqs = list(/obj/item/food/raw_meatball = 1) + result = /obj/item/food/raw_patty + category = CAT_MEAT + +/datum/crafting_recipe/food/rollingpin/pizza_sheet + reqs = list(/obj/item/food/pizzaslice/margherita = 1) + result = /obj/item/stack/sheet/pizza + +// Tools: Knife + +/datum/crafting_recipe/food/knife + tool_behaviors = list(TOOL_KNIFE) + steps = list("Slice with a knife") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/knife/breadslice + reqs = list(/obj/item/food/bread/plain = 1) + result = /obj/item/food/breadslice/plain + category = CAT_BREAD + +/datum/crafting_recipe/food/knife/breadslice/root + reqs = list(/obj/item/food/bread/root = 1) + result = /obj/item/food/breadslice/root + +/datum/crafting_recipe/food/knife/cakeslice + reqs = list(/obj/item/food/cake/plain = 1) + result = /obj/item/food/cakeslice/plain + category = CAT_PASTRY + +/datum/crafting_recipe/food/knife/pizzaslice + reqs = list(/obj/item/food/pizza/margherita = 1) + result = /obj/item/food/pizzaslice/margherita + category = CAT_PIZZA + +/datum/crafting_recipe/food/knife/doughslice + reqs = list(/obj/item/food/flatdough = 1) + result = /obj/item/food/doughslice + category = CAT_BREAD + +/datum/crafting_recipe/food/knife/rootdoughslice + reqs = list(/obj/item/food/flatrootdough = 1) + result = /obj/item/food/rootdoughslice + category = CAT_BREAD + +/datum/crafting_recipe/food/knife/pastrybase + reqs = list(/obj/item/food/piedough = 1) + result = /obj/item/food/pastrybase + category = CAT_BREAD + +/datum/crafting_recipe/food/knife/doughball + reqs = list(/obj/item/food/doughslice = 1) + result = /obj/item/food/bait/doughball + category = CAT_BREAD + +/datum/crafting_recipe/food/knife/nizaya + reqs = list(/obj/item/food/rootdoughslice = 1) + result = /obj/item/food/spaghetti/nizaya + category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/knife/rawcutlet + reqs = list(/obj/item/food/meat/slab = 1) + result = /obj/item/food/meat/rawcutlet + category = CAT_MEAT + +/datum/crafting_recipe/food/knife/headcheese_slice + reqs = list(/obj/item/food/headcheese = 1) + result = /obj/item/food/headcheese_slice + category = CAT_MEAT + +/datum/crafting_recipe/food/knife/potatowedge + reqs = list(/obj/item/food/grown/potato = 1) + result = /obj/item/food/grown/potato/wedges + +/datum/crafting_recipe/food/knife/pineappleslice + reqs = list(/obj/item/food/grown/pineapple = 1) + result = /obj/item/food/pineappleslice + +/datum/crafting_recipe/food/knife/onionslice + reqs = list(/obj/item/food/grown/onion = 1) + result = /obj/item/food/onion_slice + +/datum/crafting_recipe/food/knife/cheesewedge + reqs = list(/obj/item/food/cheese/wheel = 1) + result = /obj/item/food/cheese/wedge + +/datum/crafting_recipe/food/knife/firm_cheese_slice + reqs = list(/obj/item/food/cheese/firm_cheese = 1) + result = /obj/item/food/cheese/firm_cheese_slice + +/datum/crafting_recipe/food/knife/salami + reqs = list(/obj/item/food/sausage = 1) + result = /obj/item/food/salami + category = CAT_MEAT + +/datum/crafting_recipe/food/knife/american_sausage + reqs = list(/obj/item/food/sausage = 1) + result = /obj/item/food/sausage/american + category = CAT_MEAT + +/datum/crafting_recipe/food/knife/tempehslice + reqs = list(/obj/item/food/tempeh = 1) + result = /obj/item/food/tempehslice + +/datum/crafting_recipe/food/knife/brownie + reqs = list(/obj/item/food/brownie_sheet = 1) + result = /obj/item/food/brownie + category = CAT_PASTRY + +/datum/crafting_recipe/food/knife/spicyfiletsushislice + reqs = list(/obj/item/food/spicyfiletsushiroll = 1) + result = /obj/item/food/spicyfiletsushislice + category = CAT_SEAFOOD + +/datum/crafting_recipe/food/knife/vegetariansushislice + reqs = list(/obj/item/food/vegetariansushiroll = 1) + result = /obj/item/food/vegetariansushislice + category = CAT_SEAFOOD + +/datum/crafting_recipe/food/knife/beef_wellington_slice + reqs = list(/obj/item/food/beef_wellington = 1) + result = /obj/item/food/beef_wellington_slice + category = CAT_MEAT + +/datum/crafting_recipe/food/knife/green_lasagne_slice + reqs = list(/obj/item/food/green_lasagne = 1) + result = /obj/item/food/green_lasagne_slice + category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/knife/lil_baked_rice + reqs = list(/obj/item/food/big_baked_rice = 1) + result = /obj/item/food/lil_baked_rice + category = CAT_SALAD + +/datum/crafting_recipe/food/knife/watermelonslice + reqs = list(/obj/item/food/grown/watermelon = 1) + result = /obj/item/food/watermelonslice + category = CAT_SALAD + +// Machinery: Grill + +/datum/crafting_recipe/food/grill + machinery = list(/obj/machinery/griddle) + steps = list("Grill until ready") + category = CAT_MEAT + non_craftable = TRUE + +/datum/crafting_recipe/food/grill/meatball + reqs = list(/obj/item/food/raw_meatball = 1) + result = /obj/item/food/meatball + +/datum/crafting_recipe/food/grill/patty + reqs = list(/obj/item/food/raw_patty = 1) + result = /obj/item/food/patty + +/datum/crafting_recipe/food/grill/cutlet + reqs = list(/obj/item/food/meat/rawcutlet = 1) + result = /obj/item/food/meat/cutlet + +/datum/crafting_recipe/food/grill/steak + reqs = list(/obj/item/food/meat/slab = 1) + result = /obj/item/food/meat/steak + +/datum/crafting_recipe/food/grill/steak/chicken + reqs = list(/obj/item/food/meat/slab/chicken = 1) + result = /obj/item/food/meat/steak/chicken + +/datum/crafting_recipe/food/grill/crab + reqs = list(/obj/item/food/meat/slab/rawcrab = 1) + result = /obj/item/food/meat/crab + +/datum/crafting_recipe/food/grill/bacon + reqs = list(/obj/item/food/meat/rawbacon = 1) + result = /obj/item/food/meat/bacon + +/datum/crafting_recipe/food/grill/sausage + reqs = list(/obj/item/food/raw_sausage = 1) + result = /obj/item/food/sausage + +/datum/crafting_recipe/food/grill/moonfish + reqs = list(/obj/item/food/fishmeat/moonfish = 1) + result = /obj/item/food/grilled_moonfish + category = CAT_SEAFOOD + +/datum/crafting_recipe/food/grill/rootflatbread + reqs = list(/obj/item/food/flatrootdough = 1) + result = /obj/item/food/root_flatbread + category = CAT_BREAD + +/datum/crafting_recipe/food/grill/griddle_toast + reqs = list(/obj/item/food/breadslice/plain = 1) + result = /obj/item/food/griddle_toast + category = CAT_BREAD + +/datum/crafting_recipe/food/grill/frenchtoast + reqs = list(/obj/item/food/raw_frenchtoast = 1) + result = /obj/item/food/frenchtoast + category = CAT_BREAD + +/datum/crafting_recipe/food/grill/khinkali + reqs = list(/obj/item/food/rawkhinkali = 1) + result = /obj/item/food/khinkali + category = CAT_BREAD + +/datum/crafting_recipe/food/grill/grilled_cheese_sandwich + reqs = list(/obj/item/food/cheese_sandwich = 1) + result = /obj/item/food/grilled_cheese_sandwich + category = CAT_BREAD + +/datum/crafting_recipe/food/grill/moonfish + reqs = list(/obj/item/food/cheese/firm_cheese_slice = 1) + result = /obj/item/food/grilled_cheese + category = CAT_MISCFOOD + +/datum/crafting_recipe/food/grill/friedegg + reqs = list(/obj/item/food/egg = 1) + result = /obj/item/food/friedegg + category = CAT_EGG + steps = list( + "Break the egg onto a griddle", + "Fry until ready" + ) + +/datum/crafting_recipe/food/grill/pancake + reqs = list(/datum/reagent/consumable/pancakebatter = 5) + result = /obj/item/food/pancakes + category = CAT_BREAD + steps = list( + "Pour batter onto a griddle", + "Bake until ready" + ) + +/datum/crafting_recipe/food/grill/pancake/blueberry + reqs = list( + /datum/reagent/consumable/pancakebatter = 5, + /obj/item/food/grown/berries = 1 + ) + result = /obj/item/food/pancakes/blueberry + steps = list( + "Pour batter onto a griddle", + "Add berries", + "Bake until ready" + ) + +/datum/crafting_recipe/food/grill/pancake/choco + reqs = list( + /datum/reagent/consumable/pancakebatter = 5, + /obj/item/food/chocolatebar = 1 + ) + result = /obj/item/food/pancakes/chocolatechip + steps = list( + "Pour batter onto a griddle", + "Add chocolate", + "Bake until ready" + ) + +// Machinery: Grinder +/datum/crafting_recipe/food/grinder + machinery = list(/obj/machinery/reagentgrinder) + steps = list("Put into grinder and grind") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/grinder/capsaicin + reqs = list(/obj/item/food/grown/chili = 1) + result = /datum/reagent/consumable/capsaicin + +/datum/crafting_recipe/food/grinder/frostoil + reqs = list(/obj/item/food/grown/icepepper = 1) + result = /datum/reagent/consumable/frostoil + +/datum/crafting_recipe/food/grinder/ketchup + reqs = list(/obj/item/food/grown/tomato = 1) + result = /datum/reagent/consumable/ketchup + +/datum/crafting_recipe/food/grinder/kortaflour + reqs = list(/obj/item/food/grown/korta_nut = 1) + result = /datum/reagent/consumable/korta_flour + +/datum/crafting_recipe/food/grinder/kortamilk + reqs = list(/obj/item/food/grown/korta_nut = 1) + result = /datum/reagent/consumable/korta_milk + steps = list("Put into grinder and juice") + +/datum/crafting_recipe/food/grinder/kortanectar + reqs = list(/obj/item/food/grown/korta_nut/sweet = 1) + result = /datum/reagent/consumable/korta_nectar + steps = list("Put into grinder and juice") + +/datum/crafting_recipe/food/grinder/mushroom_powder + reqs = list(/obj/item/food/grown/ash_flora/seraka = 1) + result = /datum/reagent/toxin/mushroom_powder + +/datum/crafting_recipe/food/grinder/flour + reqs = list(/obj/item/food/grown/wheat = 1) + result = /datum/reagent/consumable/flour + +/datum/crafting_recipe/food/grinder/flour/oat + reqs = list(/obj/item/food/grown/oat = 1) + result = /datum/reagent/consumable/flour + +/datum/crafting_recipe/food/grinder/butter + reqs = list(/datum/reagent/consumable/milk = 15) + result = /obj/item/food/butter + steps = list("Put into grinder and mix") + +/datum/crafting_recipe/food/grinder/mayonnaise + reqs = list(/datum/reagent/consumable/eggyolk = 1) + result = /datum/reagent/consumable/mayonnaise + steps = list("Put into grinder and mix") + +/datum/crafting_recipe/food/grinder/sugar + reqs = list(/obj/item/food/grown/sugarcane = 1) + result = /datum/reagent/consumable/sugar + +/datum/crafting_recipe/food/grinder/sugar/beet + reqs = list(/obj/item/food/grown/whitebeet = 1) + result = /datum/reagent/consumable/sugar + +/datum/crafting_recipe/food/grinder/cornstarch + reqs = list(/obj/item/food/grown/corn = 1) + result = /datum/reagent/consumable/corn_starch + steps = list("Put into grinder and juice") + +/datum/crafting_recipe/food/grinder/sprinkles + reqs = list(/obj/item/food/donut/plain = 1) + result = /datum/reagent/consumable/sprinkles + +/datum/crafting_recipe/food/grinder/cherryjelly + reqs = list(/obj/item/food/grown/cherries = 1) + result = /datum/reagent/consumable/cherryjelly + +/datum/crafting_recipe/food/grinder/bluecherryjelly + reqs = list(/obj/item/food/grown/bluecherries = 1) + result = /datum/reagent/consumable/bluecherryjelly + +/datum/crafting_recipe/food/grinder/olivepaste + reqs = list(/obj/item/food/grown/olive = 1) + result = /datum/reagent/consumable/olivepaste + +/datum/crafting_recipe/food/grinder/peanutbutter + reqs = list(/obj/item/food/grown/peanut = 1) + result = /datum/reagent/consumable/peanut_butter + +// Machinery: Processor +/datum/crafting_recipe/food/processor + machinery = list(/obj/machinery/processor) + steps = list("Put into processor and activate") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/processor/rawbacon + reqs = list(/obj/item/food/meat/rawcutlet = 1) + result = /obj/item/food/meat/rawbacon + category = CAT_MEAT + +/datum/crafting_recipe/food/processor/rawmeatball + reqs = list(/obj/item/food/meat/slab = 1) + result = /obj/item/food/raw_meatball + category = CAT_MEAT + +/datum/crafting_recipe/food/processor/tatortot + reqs = list(/obj/item/food/grown/potato = 1) + result = /obj/item/food/tatortot + +/datum/crafting_recipe/food/processor/fries + reqs = list(/obj/item/food/grown/potato/wedges = 1) + result = /obj/item/food/fries + +/datum/crafting_recipe/food/processor/carrotfries + reqs = list(/obj/item/food/grown/carrot = 1) + result = /obj/item/food/carrotfries + +/datum/crafting_recipe/food/processor/roastparsnip + reqs = list(/obj/item/food/grown/parsnip = 1) + result = /obj/item/food/roastparsnip + +/datum/crafting_recipe/food/processor/soydope + reqs = list(/obj/item/food/grown/soybeans = 1) + result = /obj/item/food/soydope + +/datum/crafting_recipe/food/processor/spaghetti + reqs = list(/obj/item/food/doughslice = 1) + result = /obj/item/food/spaghetti/raw + category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/processor/tortilla + reqs = list(/obj/item/food/grown/corn = 1) + result = /obj/item/food/tortilla + category = CAT_BREAD + +/datum/crafting_recipe/food/processor/tempeh + reqs = list(/obj/item/food/tempehstarter = 1) + result = /obj/item/food/tempeh + +/datum/crafting_recipe/food/processor/yakiimo + reqs = list(/obj/item/food/grown/potato/sweet = 1) + result = /obj/item/food/yakiimo + +/datum/crafting_recipe/food/processor/popsicle_stick + reqs = list(/obj/item/grown/log = 1) + result = /obj/item/popsicle_stick + +/datum/crafting_recipe/food/processor/spidereggs + reqs = list(/obj/item/food/spidereggs = 1) + result = /obj/item/food/spidereggs/processed + +// Machinery: Microwave +/datum/crafting_recipe/food/microwave + machinery = list(/obj/machinery/microwave) + steps = list("Microwave until ready") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/microwave/boiledegg + reqs = list(/obj/item/food/egg = 1) + result = /obj/item/food/boiledegg + category = CAT_EGG + +/datum/crafting_recipe/food/microwave/boiledrice + reqs = list(/obj/item/food/uncooked_rice = 1) + result = /obj/item/food/boiledrice + category = CAT_SALAD + +/datum/crafting_recipe/food/microwave/boiledspaghetti + reqs = list(/obj/item/food/spaghetti/raw = 1) + result = /obj/item/food/spaghetti/boiledspaghetti + category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/microwave/khinkali + reqs = list(/obj/item/food/rawkhinkali = 1) + result = /obj/item/food/khinkali + category = CAT_BREAD + +/datum/crafting_recipe/food/microwave/onionrings + reqs = list(/obj/item/food/onion_slice = 1) + result = /obj/item/food/onionrings + category = CAT_SALAD + +/datum/crafting_recipe/food/microwave/popcorn + reqs = list(/obj/item/food/grown/corn = 1) + result = /obj/item/food/popcorn + +/datum/crafting_recipe/food/microwave/cakehat + reqs = list(/obj/item/food/cake/birthday = 1) + result = /obj/item/clothing/head/utility/hardhat/cakehat + category = CAT_CAKE + +/datum/crafting_recipe/food/microwave/cakehat/energycake + reqs = list(/obj/item/food/cake/birthday/energy = 1) + result = /obj/item/clothing/head/utility/hardhat/cakehat/energycake + category = CAT_CAKE + +/datum/crafting_recipe/food/microwave/cheese_curds + reqs = list(/obj/item/food/cheese/curd_cheese = 1) + result = /obj/item/food/cheese/cheese_curds + +// Machinery: Oven +/datum/crafting_recipe/food/oven + machinery = list(/obj/machinery/oven) + steps = list("Bake in the oven until ready") + category = CAT_BREAD + non_craftable = TRUE + +/datum/crafting_recipe/food/oven/bread + reqs = list(/obj/item/food/dough = 1) + result = /obj/item/food/bread/plain + +/datum/crafting_recipe/food/oven/rootbread + reqs = list(/obj/item/food/rootdough = 1) + result = /obj/item/food/bread/root + +/datum/crafting_recipe/food/oven/bun + reqs = list(/obj/item/food/doughslice = 1) + result = /obj/item/food/bun + +/datum/crafting_recipe/food/oven/rootroll + reqs = list(/obj/item/food/rootdoughslice = 1) + result = /obj/item/food/rootroll + +/datum/crafting_recipe/food/oven/pastrybase + reqs = list(/obj/item/food/rawpastrybase = 1) + result = /obj/item/food/pastrybase + category = CAT_PASTRY + +/datum/crafting_recipe/food/oven/pizzabread + reqs = list(/obj/item/food/flatdough = 1) + result = /obj/item/food/pizzabread + category = CAT_PIZZA + +/datum/crafting_recipe/food/oven/pizza + reqs = list(/obj/item/food/pizza/margherita/raw = 1) + result = /obj/item/food/pizza/margherita + category = CAT_PIZZA + +/datum/crafting_recipe/food/oven/rootflatbread + reqs = list(/obj/item/food/flatrootdough = 1) + result = /obj/item/food/root_flatbread + +/datum/crafting_recipe/food/oven/pie + reqs = list(/obj/item/food/piedough = 1) + result = /obj/item/food/pie/plain + category = CAT_PASTRY + +/datum/crafting_recipe/food/oven/cake + reqs = list(/obj/item/food/cakebatter = 1) + result = /obj/item/food/cake/plain + category = CAT_PASTRY + +/datum/crafting_recipe/food/oven/breadstick + reqs = list(/obj/item/food/raw_breadstick = 1) + result = /obj/item/food/breadstick + +/datum/crafting_recipe/food/oven/baked_cheese + reqs = list(/obj/item/food/cheese/wheel = 1) + result = /obj/item/food/baked_cheese + category = CAT_MISCFOOD + +/datum/crafting_recipe/food/oven/browniesheet + reqs = list(/obj/item/food/raw_brownie_batter = 1) + result = /obj/item/food/brownie_sheet + category = CAT_PASTRY + +/datum/crafting_recipe/food/oven/green_lasagne + reqs = list(/obj/item/food/raw_green_lasagne = 1) + result = /obj/item/food/green_lasagne + category = CAT_SPAGHETTI + +/datum/crafting_recipe/food/oven/big_baked_rice + reqs = list(/obj/item/food/raw_baked_rice = 1) + result = /obj/item/food/big_baked_rice + category = CAT_SALAD + +/datum/crafting_recipe/food/oven/ratatouille + reqs = list(/obj/item/food/raw_ratatouille = 1) + result = /obj/item/food/ratatouille + category = CAT_SALAD + +/datum/crafting_recipe/food/oven/stuffed_peppers + reqs = list(/obj/item/food/raw_stuffed_peppers = 1) + result = /obj/item/food/stuffed_peppers + category = CAT_SALAD + +/datum/crafting_recipe/food/oven/roasted_bell_pepper + reqs = list(/obj/item/food/grown/bell_pepper = 1) + result = /obj/item/food/roasted_bell_pepper + category = CAT_SALAD + +/datum/crafting_recipe/food/oven/oven_baked_corn + reqs = list(/obj/item/food/grown/corn = 1) + result = /obj/item/food/oven_baked_corn + category = CAT_SALAD + +/datum/crafting_recipe/food/oven/yakiimo + reqs = list(/obj/item/food/grown/potato/sweet = 1) + result = /obj/item/food/yakiimo + category = CAT_SALAD + +// Machinery: Drying rack +/datum/crafting_recipe/food/drying + machinery = list(/obj/machinery/smartfridge/drying_rack) + steps = list("Put into the rack and dry") + category = CAT_MISCFOOD + non_craftable = TRUE + +/datum/crafting_recipe/food/drying/firm_cheese + reqs = list(/obj/item/food/cheese/cheese_curds = 1) + result = /obj/item/food/cheese/firm_cheese + +/datum/crafting_recipe/food/drying/headcheese + reqs = list(/obj/item/food/raw_headcheese = 1) + result = /obj/item/food/headcheese + category = CAT_MEAT + +/datum/crafting_recipe/food/drying/tiziran_sausage + reqs = list(/obj/item/food/raw_tiziran_sausage = 1) + result = /obj/item/food/tiziran_sausage + category = CAT_MEAT + +/datum/crafting_recipe/food/drying/sosjerky + reqs = list(/obj/item/food/meat/slab = 1) + result = /obj/item/food/sosjerky/healthy + category = CAT_MEAT + +/datum/crafting_recipe/food/drying/no_raisin/healthy + reqs = list(/obj/item/food/grown/grapes = 1) + result = /obj/item/food/no_raisin/healthy + +/datum/crafting_recipe/food/drying/semki + reqs = list(/obj/item/food/grown/sunflower = 1) + result = /obj/item/food/semki/healthy diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm index 6f1383c9fbd..2c1e0ff52f4 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_lizard.dm @@ -7,7 +7,7 @@ /datum/reagent/consumable/salt = 2 ) result = /obj/item/food/raw_tiziran_sausage - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/headcheese name = "Raw headcheese" @@ -17,7 +17,7 @@ /datum/reagent/consumable/blackpepper = 5 ) result = /obj/item/food/raw_headcheese - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/shredded_lungs name = "Crispy shredded lung stirfry" @@ -28,7 +28,7 @@ /obj/item/food/grown/chili = 1 ) result = /obj/item/food/shredded_lungs - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/tsatsikh name = "Tsatsikh" @@ -41,7 +41,7 @@ /datum/reagent/consumable/blackpepper = 2 ) result = /obj/item/food/tsatsikh - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/liver_pate name = "Liver pate" @@ -51,7 +51,7 @@ /obj/item/food/grown/onion = 1 ) result = /obj/item/food/liver_pate - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/moonfish_caviar name = "Moonfish caviar paste" @@ -60,7 +60,7 @@ /datum/reagent/consumable/salt = 2 ) result = /obj/item/food/moonfish_caviar - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/lizard_escargot name = "Desert snail cocleas" @@ -72,7 +72,7 @@ /datum/reagent/consumable/quality_oil = 3 ) result = /obj/item/food/lizard_escargot - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/fried_blood_sausage name = "Fried blood sausage" @@ -82,7 +82,7 @@ /datum/reagent/water = 5 ) result = /obj/item/food/fried_blood_sausage - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/lizard_fries name = "Loaded poms-franzisks" @@ -92,7 +92,7 @@ /datum/reagent/consumable/bbqsauce = 5 ) result = /obj/item/food/lizard_fries - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/brain_pate name = "Eyeball-and-brain pate" @@ -103,7 +103,7 @@ /datum/reagent/consumable/salt = 3 ) result = /obj/item/food/brain_pate - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/crispy_headcheese name = "Crispy breaded headcheese" @@ -112,7 +112,7 @@ /obj/item/food/breadslice/root = 1 ) result = /obj/item/food/crispy_headcheese - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/picoss_skewers name = "Picoss skewers" @@ -124,7 +124,7 @@ /datum/reagent/consumable/vinegar = 5 ) result = /obj/item/food/kebab/picoss_skewers - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/nectar_larvae name = "Nectar larvae" @@ -135,7 +135,7 @@ /datum/reagent/consumable/korta_nectar = 5 ) result = /obj/item/food/nectar_larvae - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/mushroomy_stirfry name = "Mushroomy Stirfry" @@ -146,7 +146,7 @@ /datum/reagent/consumable/quality_oil = 5 ) result = /obj/item/food/mushroomy_stirfry - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/moonfish_demiglace name = "Moonfish demiglace" @@ -158,7 +158,7 @@ /datum/reagent/consumable/ethanol/wine = 5 ) result = /obj/item/food/moonfish_demiglace - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/lizard_surf_n_turf name = "Zagosk surf n turf smorgasbord" @@ -169,7 +169,7 @@ /obj/item/food/bbqribs = 1 ) result = /obj/item/food/lizard_surf_n_turf - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/rootdough name = "Rootdough" @@ -180,7 +180,7 @@ /datum/reagent/water = 10 ) result = /obj/item/food/rootdough - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/snail_nizaya name = "Desert snail nizaya" @@ -191,7 +191,7 @@ /datum/reagent/consumable/ethanol/wine = 5 ) result = /obj/item/food/spaghetti/snail_nizaya - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/garlic_nizaya name = "Garlic nizaya" @@ -202,7 +202,7 @@ /datum/reagent/consumable/quality_oil = 5 ) result = /obj/item/food/spaghetti/garlic_nizaya - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/demit_nizaya name = "Demit nizaya" @@ -215,7 +215,7 @@ /datum/reagent/consumable/korta_nectar = 5 ) result = /obj/item/food/spaghetti/demit_nizaya - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/mushroom_nizaya name = "Mushroom nizaya" @@ -226,7 +226,7 @@ /datum/reagent/consumable/quality_oil = 5 ) result = /obj/item/food/spaghetti/mushroom_nizaya - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/rustic_flatbread name = "Rustic flatbread" @@ -237,7 +237,7 @@ /datum/reagent/consumable/quality_oil = 3 ) result = /obj/item/food/pizza/flatbread/rustic - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/italic_flatbread name = "Italic flatbread" @@ -249,7 +249,7 @@ /datum/reagent/consumable/quality_oil = 3 ) result = /obj/item/food/pizza/flatbread/italic - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/imperial_flatbread name = "Imperial flatbread" @@ -260,7 +260,7 @@ /obj/item/food/headcheese = 1 ) result = /obj/item/food/pizza/flatbread/imperial - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/rawmeat_flatbread name = "Meatlovers flatbread" @@ -269,7 +269,7 @@ /obj/item/food/meat/slab = 1 ) result = /obj/item/food/pizza/flatbread/rawmeat - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/stinging_flatbread name = "Stinging flatbread" @@ -279,7 +279,7 @@ /obj/item/food/canned_jellyfish = 1 ) result = /obj/item/food/pizza/flatbread/stinging - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/zmorgast_flatbread name = "Zmorgast flatbread" @@ -290,7 +290,7 @@ /obj/item/organ/internal/liver = 1 ) result = /obj/item/food/pizza/flatbread/zmorgast - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/fish_flatbread name = "BBQ fish flatbread" @@ -300,7 +300,7 @@ /datum/reagent/consumable/bbqsauce = 5 ) result = /obj/item/food/pizza/flatbread/fish - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/mushroom_flatbread name = "Mushroom and tomato flatbread" @@ -311,7 +311,7 @@ /datum/reagent/consumable/quality_oil = 3 ) result = /obj/item/food/pizza/flatbread/mushroom - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/nutty_flatbread name = "Nut paste flatbread" @@ -321,7 +321,7 @@ /datum/reagent/consumable/korta_milk = 5 ) result = /obj/item/food/pizza/flatbread/nutty - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/emperor_roll name = "Emperor roll" @@ -332,7 +332,7 @@ /obj/item/food/moonfish_caviar = 1 ) result = /obj/item/food/emperor_roll - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/honey_sweetroll name = "Honey sweetroll" @@ -343,7 +343,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/honey_roll - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/atrakor_dumplings name = "Atrakor dumpling soup" @@ -356,7 +356,7 @@ /datum/reagent/consumable/soysauce = 5 ) result = /obj/item/food/soup/atrakor_dumplings - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/meatball_noodles name = "Meatball noodle soup" @@ -370,7 +370,7 @@ /obj/item/food/grown/peanut = 1 ) result = /obj/item/food/soup/meatball_noodles - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/black_broth name = "Tiziran black broth" @@ -383,7 +383,7 @@ /datum/reagent/consumable/ice = 2 ) result = /obj/item/food/soup/black_broth - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/jellyfish_stew name = "Jellyfish stew" @@ -395,7 +395,7 @@ /obj/item/food/grown/potato = 1 ) result = /obj/item/food/soup/jellyfish - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/rootbread_soup name = "Rootbread soup" @@ -407,7 +407,7 @@ /obj/item/food/egg = 1 ) result = /obj/item/food/soup/rootbread_soup - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/black_eggs name = "Black scrambled eggs" @@ -417,7 +417,7 @@ /datum/reagent/consumable/vinegar = 2 ) result = /obj/item/food/black_eggs - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/patzikula name = "Patzikula" @@ -428,7 +428,7 @@ /obj/item/food/egg = 2 ) result = /obj/item/food/patzikula - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/korta_brittle name = "Korta brittle slab" @@ -440,7 +440,7 @@ /datum/reagent/consumable/salt = 2 ) result = /obj/item/food/cake/korta_brittle - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/korta_ice name = "Korta ice" @@ -451,7 +451,7 @@ /obj/item/food/grown/berries = 1 ) result = /obj/item/food/snowcones/korta_ice - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/candied_mushrooms name = "Candied mushrooms" @@ -462,7 +462,7 @@ /datum/reagent/consumable/salt = 1 ) result = /obj/item/food/kebab/candied_mushrooms - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/sauerkraut name = "Sauerkraut" @@ -471,7 +471,7 @@ /datum/reagent/consumable/salt = 10 ) result = /obj/item/food/sauerkraut - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/lizard_dumplings name = "Tiziran dumplings" @@ -480,7 +480,7 @@ /datum/reagent/consumable/korta_flour = 5 ) result = /obj/item/food/lizard_dumplings - subcategory = CAT_LIZARD + category = CAT_LIZARD /datum/crafting_recipe/food/steeped_mushrooms name = "Steeped mushrooms" @@ -489,4 +489,4 @@ /datum/reagent/lye = 5 ) result = /obj/item/food/steeped_mushrooms - subcategory = CAT_LIZARD + category = CAT_LIZARD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index 7b3f64bb163..5f77d5afbd4 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -9,7 +9,7 @@ /obj/item/food/meat/steak/plain/human = 2 ) result = /obj/item/food/kebab/human - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/kebab name = "Kebab" @@ -18,7 +18,7 @@ /obj/item/food/meat/steak = 2 ) result = /obj/item/food/kebab/monkey - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/tofukebab name = "Tofu kebab" @@ -27,7 +27,7 @@ /obj/item/food/tofu = 2 ) result = /obj/item/food/kebab/tofu - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/tailkebab name = "Lizard tail kebab" @@ -36,7 +36,7 @@ /obj/item/organ/external/tail/lizard = 1 ) result = /obj/item/food/kebab/tail - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/fiestaskewer name = "Fiesta Skewer" @@ -48,7 +48,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/kebab/fiesta - subcategory = CAT_MEAT + category = CAT_MEAT ////////////////////////////////////////////////MR SPIDER//////////////////////////////////////////////// @@ -60,7 +60,7 @@ /obj/item/food/meat/cutlet/spider = 2 ) result = /obj/item/food/spidereggsham - subcategory = CAT_MEAT + category = CAT_MEAT ////////////////////////////////////////////////MISC RECIPE's//////////////////////////////////////////////// @@ -71,7 +71,7 @@ /obj/item/seeds/plump = 1 ) result = /obj/item/food/tempehstarter - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/cornedbeef name = "Corned beef" @@ -81,7 +81,7 @@ /obj/item/food/grown/cabbage = 2 ) result = /obj/item/food/cornedbeef - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/bearsteak name = "Filet migrawr" @@ -91,7 +91,7 @@ ) tool_paths = list(/obj/item/lighter) result = /obj/item/food/bearsteak - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/stewedsoymeat name = "Stewed soymeat" @@ -101,7 +101,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/stewedsoymeat - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/sausage name = "Raw sausage" @@ -110,7 +110,7 @@ /obj/item/food/meat/rawcutlet = 2 ) result = /obj/item/food/raw_sausage - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/nugget name = "Chicken nugget" @@ -118,7 +118,7 @@ /obj/item/food/meat/cutlet = 1 ) result = /obj/item/food/nugget - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/rawkhinkali name = "Raw Khinkali" @@ -128,7 +128,7 @@ /obj/item/food/meatball = 1 ) result = /obj/item/food/rawkhinkali - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/meatbun name = "Meat bun" @@ -139,7 +139,7 @@ /obj/item/food/grown/cabbage = 1 ) result = /obj/item/food/meatbun - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/pigblanket name = "Pig in a Blanket" @@ -149,7 +149,7 @@ /obj/item/food/meat/cutlet = 1 ) result = /obj/item/food/pigblanket - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/ratkebab name = "Rat Kebab" @@ -158,7 +158,7 @@ /obj/item/food/deadmouse = 1 ) result = /obj/item/food/kebab/rat - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/doubleratkebab name = "Double Rat Kebab" @@ -167,7 +167,7 @@ /obj/item/food/deadmouse = 2 ) result = /obj/item/food/kebab/rat/double - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/ricepork name = "Rice and Pork" @@ -177,7 +177,7 @@ /obj/item/food/meat/cutlet = 2 ) result = /obj/item/food/salad/ricepork - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/ribs name = "BBQ Ribs" @@ -187,7 +187,7 @@ /obj/item/stack/rods = 2 ) result = /obj/item/food/bbqribs - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/meatclown name = "Meat Clown" @@ -196,7 +196,7 @@ /obj/item/food/grown/banana = 1 ) result = /obj/item/food/meatclown - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/lasagna name = "Lasagna" @@ -207,7 +207,7 @@ /obj/item/food/spaghetti/raw = 1 ) result = /obj/item/food/lasagna - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/gumbo name = "Black eyed gumbo" @@ -219,7 +219,7 @@ /obj/item/food/meat/cutlet = 1 ) result = /obj/item/food/salad/gumbo - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/fried_chicken @@ -230,7 +230,7 @@ /datum/reagent/consumable/corn_starch = 5, ) result = /obj/item/food/fried_chicken - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/beef_stroganoff name = "Beef Stroganoff" @@ -245,7 +245,7 @@ /obj/item/food/meat/steak = 1, ) result = /obj/item/food/beef_stroganoff - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/beef_wellington name = "Beef Wellington" @@ -260,7 +260,7 @@ /datum/reagent/consumable/blackpepper = 2 ) result = /obj/item/food/beef_wellington - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/full_english name = "Full English Breakfast" @@ -274,7 +274,7 @@ /obj/item/food/butteredtoast = 1 ) result = /obj/item/food/full_english - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/envirochow name = "Envirochow" @@ -283,7 +283,7 @@ /datum/reagent/consumable/nutriment/vitamin = 5, ) result = /obj/item/food/canned/envirochow - subcategory = CAT_MEAT + category = CAT_MEAT /datum/crafting_recipe/food/meatloaf name = "Meatloaf" @@ -294,4 +294,4 @@ /datum/reagent/consumable/ketchup = 10, ) result = /obj/item/food/raw_meatloaf - subcategory = CAT_MEAT + category = CAT_MEAT diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm index 4f648a10619..267cdea69b3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm @@ -10,7 +10,7 @@ /obj/item/food/grown/soybeans = 2 ) result = /obj/item/food/burrito - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/cheesyburrito name ="Cheesy burrito" @@ -20,7 +20,7 @@ /obj/item/food/grown/soybeans = 1 ) result = /obj/item/food/cheesyburrito - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/carneburrito name ="Carne de asada burrito" @@ -30,7 +30,7 @@ /obj/item/food/grown/soybeans = 1 ) result = /obj/item/food/carneburrito - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/fuegoburrito name ="Fuego plasma burrito" @@ -40,7 +40,7 @@ /obj/item/food/grown/soybeans = 1 ) result = /obj/item/food/fuegoburrito - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/nachos name ="Nachos" @@ -49,7 +49,7 @@ /obj/item/food/tortilla = 1 ) result = /obj/item/food/nachos - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/cheesynachos name ="Cheesy nachos" @@ -59,7 +59,7 @@ /obj/item/food/tortilla = 1 ) result = /obj/item/food/cheesynachos - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/cubannachos name ="Cuban nachos" @@ -69,7 +69,7 @@ /obj/item/food/tortilla = 1 ) result = /obj/item/food/cubannachos - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/taco name ="Classic Taco" @@ -80,7 +80,7 @@ /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/taco - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/tacoplain name ="Plain Taco" @@ -90,7 +90,7 @@ /obj/item/food/meat/cutlet = 1, ) result = /obj/item/food/taco/plain - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/enchiladas name = "Enchiladas" @@ -100,7 +100,7 @@ /obj/item/food/tortilla = 2 ) result = /obj/item/food/enchiladas - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/stuffedlegion name = "Stuffed legion" @@ -112,7 +112,7 @@ /datum/reagent/consumable/capsaicin = 2 ) result = /obj/item/food/stuffedlegion - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/chipsandsalsa name = "Chips and salsa" @@ -123,7 +123,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/chipsandsalsa - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/classic_chimichanga name = "Classic Chimichanga" @@ -134,7 +134,7 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/classic_chimichanga - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/vegetarian_chimichanga name = "Vegetarian Chimichanga" @@ -145,7 +145,7 @@ /obj/item/food/grown/chili = 1, ) result = /obj/item/food/vegetarian_chimichanga - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/classic_hard_shell_taco name = "Classic Hard-Shell Taco" @@ -157,7 +157,7 @@ /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/classic_hard_shell_taco - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/plain_hard_shell_taco name = "Plain Hard-Shell Taco" @@ -166,7 +166,7 @@ /obj/item/food/meat/cutlet = 1, ) result = /obj/item/food/plain_hard_shell_taco - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/refried_beans name = "Refried Beans" @@ -177,7 +177,7 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/refried_beans - subcategory = CAT_MEXICAN + category = CAT_MEXICAN /datum/crafting_recipe/food/spanish_rice name = "Spanish Rice" @@ -189,4 +189,4 @@ /datum/reagent/consumable/blackpepper = 1, ) result = /obj/item/food/spanish_rice - subcategory = CAT_MEXICAN + category = CAT_MEXICAN 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 9b75466da13..43025a0c581 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm @@ -10,7 +10,7 @@ /obj/item/food/grown/apple = 1 ) result = /obj/item/food/candiedapple - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/spiderlollipop name = "Spider Lollipop" @@ -20,7 +20,7 @@ /obj/item/food/spiderling = 1 ) result = /obj/item/food/spiderlollipop - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/chococoin name = "Choco coin" @@ -29,7 +29,7 @@ /obj/item/food/chocolatebar = 1, ) result = /obj/item/food/chococoin - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/fudgedice name = "Fudge dice" @@ -38,7 +38,7 @@ /obj/item/food/chocolatebar = 1, ) result = /obj/item/food/fudgedice - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/chocoorange name = "Choco orange" @@ -47,7 +47,7 @@ /obj/item/food/chocolatebar = 1, ) result = /obj/item/food/chocoorange - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/cheesyfries name = "Cheesy fries" @@ -56,7 +56,7 @@ /obj/item/food/cheese/wedge = 1 ) result = /obj/item/food/cheesyfries - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/poutine name = "Poutine" @@ -66,7 +66,7 @@ /datum/reagent/consumable/gravy = 3 ) result = /obj/item/food/poutine - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/beans name = "Beans" @@ -75,7 +75,7 @@ /obj/item/food/grown/soybeans = 2 ) result = /obj/item/food/canned/beans - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/eggplantparm name ="Eggplant parmigiana" @@ -84,7 +84,7 @@ /obj/item/food/grown/eggplant = 1 ) result = /obj/item/food/eggplantparm - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/melonkeg name ="Melon keg" @@ -95,7 +95,7 @@ ) parts = list(/obj/item/reagent_containers/cup/glass/bottle/vodka = 1) result = /obj/item/food/melonkeg - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/honeybar name = "Honey nut bar" @@ -104,7 +104,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/honeybar - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/powercrepe name = "Powercrepe" @@ -117,7 +117,7 @@ /obj/item/melee/sabre = 1 ) result = /obj/item/food/powercrepe - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/branrequests name = "Bran Requests Cereal" @@ -126,7 +126,7 @@ /obj/item/food/no_raisin = 1, ) result = /obj/item/food/branrequests - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/ricepudding name = "Rice pudding" @@ -137,7 +137,7 @@ /obj/item/food/boiledrice = 1 ) result = /obj/item/food/salad/ricepudding - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/risotto name = "Risotto" @@ -149,7 +149,7 @@ /obj/item/food/grown/mushroom/chanterelle = 1 ) result = /obj/item/food/salad/risotto - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/butterbear //ITS ALIVEEEEEE! name = "Living bear/butter hybrid" @@ -162,7 +162,7 @@ /datum/reagent/teslium = 1 //To shock the whole thing into life ) result = /mob/living/simple_animal/hostile/bear/butter - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/crab_rangoon name = "Crab Rangoon" @@ -173,7 +173,7 @@ /obj/item/food/meat/slab/rawcrab = 1 ) result = /obj/item/food/crab_rangoon - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/royalcheese name = "Royal Cheese" @@ -184,7 +184,7 @@ /datum/reagent/toxin/mutagen = 5 ) result = /obj/item/food/cheese/royal - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/ant_candy name = "Ant Candy" @@ -194,7 +194,7 @@ /datum/reagent/ants = 10 ) result = /obj/item/food/ant_candy - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/pesto name = "Pesto" @@ -207,7 +207,7 @@ /obj/item/food/canned/pine_nuts = 1 ) result = /obj/item/food/pesto - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/tomato_sauce name = "Tomato sauce" @@ -218,7 +218,7 @@ /datum/reagent/consumable/quality_oil = 5 ) result = /obj/item/food/tomato_sauce - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/bechamel_sauce name = "Bechamel sauce" @@ -228,7 +228,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/bechamel_sauce - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/pierogi name = "Pierogi" @@ -238,7 +238,7 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/pierogi - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/stuffed_cabbage name = "Stuffed cabbage" @@ -249,7 +249,7 @@ /obj/item/food/grown/tomato = 1, ) result = /obj/item/food/stuffed_cabbage - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/granola_bar name = "Granola bar" @@ -261,7 +261,7 @@ /datum/reagent/consumable/sugar = 2, ) result = /obj/item/food/granola_bar - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/onigiri name = "Onigiri" @@ -270,7 +270,7 @@ /obj/item/food/seaweedsheet = 1, ) result = /obj/item/food/onigiri - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/mashed_potatoes name = "Mashed potatoes" @@ -280,7 +280,7 @@ /obj/item/food/butter = 1, ) result = /obj/item/food/mashed_potatoes - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/pacoca name = "Pacoca" @@ -290,9 +290,9 @@ /datum/reagent/consumable/salt = 2, ) result = /obj/item/food/pacoca - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD -/datum/crafting_recipe/pickles_jar +/datum/crafting_recipe/food/pickles_jar name = "Jar of pickles" reqs = list( /obj/item/reagent_containers/cup/beaker/large = 1, @@ -301,8 +301,7 @@ /datum/reagent/consumable/salt = 10, ) result = /obj/item/storage/fancy/pickles_jar - category = CAT_FOOD - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/springroll name = "Spring roll" @@ -314,7 +313,7 @@ /datum/reagent/water = 10, ) result = /obj/item/food/springroll - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/caramel_popcorn name = "Caramel popcorn" @@ -323,7 +322,7 @@ /datum/reagent/consumable/caramel = 3, ) result = /obj/item/food/popcorn/caramel - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/salty_popcorn name = "Salty popcorn" @@ -332,7 +331,7 @@ /datum/reagent/consumable/salt = 3, ) result = /obj/item/food/popcorn/salty - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/buttered_baked_potato name = "Buttered baked potato" @@ -341,7 +340,7 @@ /obj/item/food/butter = 1, ) result = /obj/item/food/buttered_baked_potato - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/loaded_baked_potato name = "Loaded baked potato" @@ -352,7 +351,7 @@ /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/loaded_baked_potato - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/cheese_pierogi name = "Cheese pierogi" @@ -362,7 +361,7 @@ /obj/item/food/cheese/wedge = 1, ) result = /obj/item/food/cheese_pierogi - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/meat_pierogi name = "Meat pierogi" @@ -372,7 +371,7 @@ /obj/item/food/meat/cutlet = 1, ) result = /obj/item/food/meat_pierogi - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/raw_meat_calzone name = "Meat calzone" @@ -383,7 +382,7 @@ /obj/item/food/grown/tomato = 1, ) result = /obj/item/food/raw_meat_calzone - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/raw_vegetarian_calzone name = "Vegetarian calzone" @@ -394,7 +393,7 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/raw_vegetarian_calzone - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/caramel_truffle name = "Caramel truffle" @@ -403,7 +402,7 @@ /datum/reagent/consumable/caramel = 5, ) result = /obj/item/food/caramel_truffle - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/chocolate_truffle name = "Chocolate truffle" @@ -412,7 +411,7 @@ /datum/reagent/consumable/sugar = 5, ) result = /obj/item/food/chocolate_truffle - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/peanut_truffle name = "Peanut truffle" @@ -421,7 +420,7 @@ /obj/item/food/grown/peanut = 1, ) result = /obj/item/food/peanut_truffle - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD /datum/crafting_recipe/food/peanut_butter_cup name = "Peanut butter cup" @@ -430,4 +429,4 @@ /datum/reagent/consumable/peanut_butter = 5, ) result = /obj/item/food/peanut_butter_cup - subcategory = CAT_MISCFOOD + category = CAT_MISCFOOD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm index dce5191e901..51b0311fc06 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_moth.dm @@ -5,7 +5,7 @@ /obj/item/food/grown/herbs = 4 ) result = /obj/item/food/herby_cheese - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/mothic_salad name = "Mothic salad" @@ -15,7 +15,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/mothic_salad - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/toasted_seeds name = "Toasted seeds" @@ -26,7 +26,7 @@ /datum/reagent/consumable/quality_oil = 2 ) result = /obj/item/food/toasted_seeds - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/engine_fodder name = "Engine fodder" @@ -38,7 +38,7 @@ /obj/item/food/chips = 1 ) result = /obj/item/food/engine_fodder - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/squeaking_stir_fry name = "Skeklitmischtpoppl (Squeaking stir fry)" @@ -52,7 +52,7 @@ /obj/item/food/onion_slice = 1 ) result = /obj/item/food/squeaking_stir_fry - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/sweet_chili_cabbage_wrap name = "Sweet chili cabbage wrap" @@ -64,7 +64,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/sweet_chili_cabbage_wrap - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/loaded_curds name = "Ozlsettitæloskekllön ede pommes (Loaded curds and fries)" @@ -76,7 +76,7 @@ /obj/item/food/fries = 1 ) result = /obj/item/food/loaded_curds - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/baked_cheese_platter name = "Stanntkraktælo (Baked cheese platter)" @@ -85,10 +85,9 @@ /obj/item/food/griddle_toast = 3 ) result = /obj/item/food/baked_cheese_platter - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/raw_green_lasagne - name = "Green lasagne al forno" reqs = list( /obj/item/food/pesto = 1, /obj/item/food/spaghetti/boiledspaghetti = 2, @@ -96,10 +95,9 @@ /obj/item/food/cheese/firm_cheese_slice = 1 ) result = /obj/item/food/raw_green_lasagne - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/raw_baked_rice - name = "Big baked rice" reqs = list( /obj/item/food/boiledrice = 2, /obj/item/food/soup/vegetable = 1, @@ -108,7 +106,7 @@ /obj/item/food/grown/herbs = 1 ) result = /obj/item/food/raw_baked_rice - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/buttered_baked_corn name = "Buttered baked corn" @@ -117,7 +115,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/buttered_baked_corn - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/fiesta_corn_skillet name = "Fiesta corn skillet" @@ -130,10 +128,9 @@ /obj/item/food/cheese/wedge = 1 ) result = /obj/item/food/fiesta_corn_skillet - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/ratatouille - name = "Ratatouille" reqs = list( /obj/item/food/grown/tomato = 1, /obj/item/food/grown/onion/red = 1, @@ -141,7 +138,7 @@ /obj/item/food/roasted_bell_pepper = 1 ) result = /obj/item/food/raw_ratatouille - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/mozzarella_sticks name = "Mozzarella sticks" @@ -151,7 +148,7 @@ /obj/item/food/tomato_sauce = 1 ) result = /obj/item/food/mozzarella_sticks - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/raw_stuffed_peppers name = "Voltölpapriken (Stuffed peppers)" @@ -161,7 +158,7 @@ /obj/item/food/onion_slice = 2 ) result = /obj/item/food/raw_stuffed_peppers - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/fueljacks_lunch name = "Fueljack's lunch" @@ -173,7 +170,7 @@ /obj/item/food/cheese/firm_cheese_slice = 1 ) result = /obj/item/food/fueljacks_lunch - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/mac_balls name = "Macheronirölen (Mac balls)" @@ -183,7 +180,7 @@ /datum/reagent/consumable/cornmeal_batter = 5 ) result = /obj/item/food/mac_balls - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_cotton_soup name = "Flöfrölenmæsch (Cottonball soup)" @@ -197,7 +194,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_cotton_soup - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_cheese_soup name = "Ælosterrmæsch (Cheese soup)" @@ -210,7 +207,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_cheese_soup - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_seed_soup name = "Misklmæsch (Seed soup)" @@ -223,7 +220,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_seed_soup - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_bean_stew name = "Prickeldröndolhaskl (Spicy bean stew)" @@ -238,7 +235,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_bean_stew - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_oat_stew name = "Häfmisklhaskl (Oat stew)" @@ -251,7 +248,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_oat_stew - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_fire_soup name = "Tömpröttkrakklmæsch (Heartburn soup)" @@ -263,7 +260,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/moth_fire_soup - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/rice_porridge name = "Rice porridge" @@ -274,7 +271,7 @@ /datum/reagent/consumable/salt = 2 ) result = /obj/item/food/soup/rice_porridge - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/hua_mulan_congee name = "Hua Mulan congee" @@ -284,7 +281,7 @@ /obj/item/food/friedegg = 2 ) result = /obj/item/food/soup/hua_mulan_congee - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/toechtauese_rice_porridge name = "Töchtaüse rice porridge" @@ -294,7 +291,7 @@ /datum/reagent/consumable/toechtauese_syrup = 5 ) result = /obj/item/food/soup/toechtauese_rice_porridge - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/cornmeal_porridge name = "Cornmeal porridge" @@ -304,7 +301,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/cornmeal_porridge - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/cheesy_porridge name = "Cheesy porridge" @@ -316,7 +313,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/soup/cheesy_porridge - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/fried_eggplant_polenta name = "Fried eggplant and polenta" @@ -328,7 +325,7 @@ /obj/item/food/cheese/mozzarella = 1 ) result = /obj/item/food/soup/fried_eggplant_polenta - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/caprese_salad name = "Caprese salad" @@ -340,7 +337,7 @@ /datum/reagent/consumable/vinegar = 2 ) result = /obj/item/food/caprese_salad - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/fleet_salad name = "Lörtonknusksolt (Fleet salad)" @@ -353,7 +350,7 @@ /datum/reagent/consumable/vinegar = 2 ) result = /obj/item/food/salad/fleet_salad - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/cotton_salad name = "Flöfrölenknusksolt (Cotton salad)" @@ -365,7 +362,7 @@ /datum/reagent/consumable/vinegar = 2 ) result = /obj/item/food/salad/fleet_salad - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moth_kachumbari name = "Kæniatknusksolt (Kenyan salad)" @@ -378,10 +375,9 @@ /datum/reagent/consumable/limejuice = 2 ) result = /obj/item/food/salad/moth_kachumbari - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/raw_mothic_margherita - name = "Mothic margherita pizza" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /obj/item/food/tomato_sauce = 1, @@ -390,10 +386,9 @@ /obj/item/food/grown/herbs = 1 ) result = /obj/item/food/raw_mothic_margherita - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/raw_mothic_firecracker - name = "Mothic firecracker pizza" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /datum/reagent/consumable/bbqsauce = 10, @@ -402,10 +397,9 @@ /obj/item/food/grown/ghost_chili = 1 ) result = /obj/item/food/raw_mothic_firecracker - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/raw_mothic_five_cheese - name = "Mothic five cheese pizza" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /obj/item/food/tomato_sauce = 1, @@ -416,10 +410,9 @@ /obj/item/food/cheese/cheese_curds = 1 ) result = /obj/item/food/raw_mothic_five_cheese - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/raw_mothic_white_pie - name = "Mothic white pie pizza" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /obj/item/food/bechamel_sauce = 1, @@ -429,10 +422,9 @@ /obj/item/food/grown/herbs = 1 ) result = /obj/item/food/raw_mothic_white_pie - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/raw_mothic_pesto - name = "Mothic pesto pizza" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /obj/item/food/pesto = 1, @@ -440,10 +432,9 @@ /obj/item/food/cheese/mozzarella = 1 ) result = /obj/item/food/raw_mothic_pesto - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/raw_mothic_garlic - name = "Mothic garlic pizzabread" reqs = list( /obj/item/food/mothic_pizza_dough = 1, /obj/item/food/butter = 1, @@ -451,7 +442,7 @@ /obj/item/food/grown/herbs = 1 ) result = /obj/item/food/raw_mothic_garlic - subcategory = CAT_MOTH + category = CAT_PIZZA /datum/crafting_recipe/food/moth_cheese_cakes name = "Ælorölen (Cheesecake balls)" @@ -463,7 +454,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/moth_cheese_cakes - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/mothmallow name = "Mothmallows" @@ -474,7 +465,7 @@ /datum/reagent/consumable/ethanol/rum = 5 ) result = /obj/item/food/cake/mothmallow - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/red_porridge name = "Eltsløsk ül a priktæolk (Red Porridge and Yoghurt)" @@ -485,7 +476,7 @@ /datum/reagent/consumable/sugar = 5 ) result = /obj/item/food/soup/red_porridge - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/chili_sin_carne name = "Chili sin carne (vegetarian chili)" @@ -497,7 +488,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/soup/vegetarian_chili - subcategory = CAT_MOTH + category = CAT_MOTH /datum/crafting_recipe/food/moffin name = "Moffin" @@ -507,4 +498,4 @@ /obj/item/stack/sheet/cloth = 1, ) result = /obj/item/food/muffin/moffin - subcategory = CAT_MOTH + category = CAT_MOTH 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 e0c3b71b175..ecc38887db4 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -11,7 +11,7 @@ /obj/item/food/pastrybase = 1 ) result = /obj/item/food/donut/plain - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donut/chaos @@ -281,7 +281,7 @@ /obj/item/food/pastrybase = 2 ) result = /obj/item/food/waffles - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/soylenviridians @@ -291,7 +291,7 @@ /obj/item/food/grown/soybeans = 1 ) result = /obj/item/food/soylenviridians - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/soylentgreen name = "Soylent green" @@ -300,7 +300,7 @@ /obj/item/food/meat/slab/human = 2 ) result = /obj/item/food/soylentgreen - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/rofflewaffles @@ -310,7 +310,7 @@ /obj/item/food/pastrybase = 2 ) result = /obj/item/food/rofflewaffles - subcategory = CAT_PASTRY + category = CAT_PASTRY ////////////////////////////////////////////////DONKPOCCKETS//////////////////////////////////////////////// @@ -322,7 +322,7 @@ /obj/item/food/meatball = 1 ) result = /obj/item/food/donkpocket - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/dankpocket time = 15 @@ -332,7 +332,7 @@ /obj/item/food/grown/cannabis = 1 ) result = /obj/item/food/dankpocket - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/spicy time = 15 @@ -343,7 +343,7 @@ /obj/item/food/grown/chili = 1 ) result = /obj/item/food/donkpocket/spicy - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/teriyaki time = 15 @@ -354,7 +354,7 @@ /datum/reagent/consumable/soysauce = 3 ) result = /obj/item/food/donkpocket/teriyaki - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/pizza time = 15 @@ -365,7 +365,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/donkpocket/pizza - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/honk time = 15 @@ -376,7 +376,7 @@ /datum/reagent/consumable/sugar = 3 ) result = /obj/item/food/donkpocket/honk - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/berry time = 15 @@ -386,7 +386,7 @@ /obj/item/food/grown/berries = 1 ) result = /obj/item/food/donkpocket/berry - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/gondola time = 15 @@ -397,7 +397,7 @@ /datum/reagent/gondola_mutation_toxin = 5 ) result = /obj/item/food/donkpocket/gondola - subcategory = CAT_PASTRY + category = CAT_PASTRY ////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// @@ -409,7 +409,7 @@ /obj/item/food/pastrybase = 1 ) result = /obj/item/food/muffin - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/berrymuffin name = "Berry muffin" @@ -419,7 +419,7 @@ /obj/item/food/grown/berries = 1 ) result = /obj/item/food/muffin/berry - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/booberrymuffin name = "Booberry muffin" @@ -430,7 +430,7 @@ /obj/item/ectoplasm = 1 ) result = /obj/item/food/muffin/booberry - subcategory = CAT_PASTRY + category = CAT_PASTRY ////////////////////////////////////////////OTHER//////////////////////////////////////////// @@ -444,7 +444,7 @@ /obj/item/food/bread/plain = 1 ) result = /obj/item/food/khachapuri - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/sugarcookie time = 15 @@ -454,7 +454,7 @@ /obj/item/food/pastrybase = 1 ) result = /obj/item/food/cookie/sugar - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/spookyskull time = 15 @@ -465,7 +465,7 @@ /datum/reagent/consumable/milk = 5 ) result = /obj/item/food/cookie/sugar/spookyskull - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/spookycoffin time = 15 @@ -476,7 +476,7 @@ /datum/reagent/consumable/coffee = 5 ) result = /obj/item/food/cookie/sugar/spookycoffin - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/fortunecookie time = 15 @@ -489,7 +489,7 @@ /obj/item/paper = 1 ) result = /obj/item/food/fortunecookie - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/poppypretzel time = 15 @@ -499,7 +499,7 @@ /obj/item/food/pastrybase = 1 ) result = /obj/item/food/poppypretzel - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/plumphelmetbiscuit time = 15 @@ -509,7 +509,7 @@ /obj/item/food/grown/mushroom/plumphelmet = 1 ) result = /obj/item/food/plumphelmetbiscuit - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/cracker time = 15 @@ -519,7 +519,7 @@ /obj/item/food/pastrybase = 1, ) result = /obj/item/food/cracker - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/chococornet name = "Choco cornet" @@ -529,7 +529,7 @@ /obj/item/food/chocolatebar = 1 ) result = /obj/item/food/chococornet - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/oatmealcookie name = "Oatmeal cookie" @@ -538,7 +538,7 @@ /obj/item/food/grown/oat = 1 ) result = /obj/item/food/cookie/oatmeal - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/raisincookie name = "Raisin cookie" @@ -548,7 +548,7 @@ /obj/item/food/grown/oat = 1 ) result = /obj/item/food/cookie/raisin - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/cherrycupcake name = "Cherry cupcake" @@ -557,7 +557,7 @@ /obj/item/food/grown/cherries = 1 ) result = /obj/item/food/cherrycupcake - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/bluecherrycupcake name = "Blue cherry cupcake" @@ -566,7 +566,7 @@ /obj/item/food/grown/bluecherries = 1 ) result = /obj/item/food/cherrycupcake/blue - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/honeybun name = "Honey bun" @@ -575,7 +575,7 @@ /datum/reagent/consumable/honey = 5 ) result = /obj/item/food/honeybun - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/cannoli name = "Cannoli" @@ -585,7 +585,7 @@ /datum/reagent/consumable/sugar = 3 ) result = /obj/item/food/cannoli - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/peanut_butter_cookie name = "Peanut butter cookie" @@ -594,7 +594,7 @@ /obj/item/food/pastrybase = 1 ) result = /obj/item/food/cookie/peanut_butter - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/raw_brownie_batter name = "Raw brownie batter" @@ -606,7 +606,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/raw_brownie_batter - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/peanut_butter_brownie_batter name = "Raw peanut butter brownie batter" @@ -619,7 +619,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/peanut_butter_brownie_batter - subcategory = CAT_PASTRY + category = CAT_PASTRY /datum/crafting_recipe/food/crunchy_peanut_butter_tart name = "Crunchy peanut butter tart" @@ -630,4 +630,4 @@ /datum/reagent/consumable/cream = 5, ) result = /obj/item/food/crunchy_peanut_butter_tart - subcategory = CAT_PASTRY + category = CAT_PASTRY diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm index d0ae7e3829d..f8df621e959 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm @@ -11,7 +11,7 @@ /obj/item/food/grown/banana = 1 ) result = /obj/item/food/pie/cream - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/meatpie name = "Meat pie" @@ -22,7 +22,7 @@ /obj/item/food/meat/steak/plain = 1 ) result = /obj/item/food/pie/meatpie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/tofupie name = "Tofu pie" @@ -31,7 +31,7 @@ /obj/item/food/tofu = 1 ) result = /obj/item/food/pie/tofupie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/xenopie name = "Xeno pie" @@ -40,7 +40,7 @@ /obj/item/food/meat/cutlet/xeno = 1 ) result = /obj/item/food/pie/xemeatpie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/cherrypie name = "Cherry pie" @@ -49,7 +49,7 @@ /obj/item/food/grown/cherries = 1 ) result = /obj/item/food/pie/cherrypie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/berryclafoutis name = "Berry clafoutis" @@ -58,7 +58,7 @@ /obj/item/food/grown/berries = 1 ) result = /obj/item/food/pie/berryclafoutis - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/bearypie name = "Beary Pie" @@ -68,7 +68,7 @@ /obj/item/food/meat/steak/bear = 1 ) result = /obj/item/food/pie/bearypie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/amanitapie name = "Amanita pie" @@ -77,7 +77,7 @@ /obj/item/food/grown/mushroom/amanita = 1 ) result = /obj/item/food/pie/amanita_pie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/plumppie name = "Plump pie" @@ -86,7 +86,7 @@ /obj/item/food/grown/mushroom/plumphelmet = 1 ) result = /obj/item/food/pie/plump_pie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/applepie name = "Apple pie" @@ -95,7 +95,7 @@ /obj/item/food/grown/apple = 1 ) result = /obj/item/food/pie/applepie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/pumpkinpie name = "Pumpkin pie" @@ -106,7 +106,7 @@ /obj/item/food/grown/pumpkin = 1 ) result = /obj/item/food/pie/pumpkinpie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/goldenappletart name = "Golden apple tart" @@ -117,7 +117,7 @@ /obj/item/food/grown/apple/gold = 1 ) result = /obj/item/food/pie/appletart - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/grapetart name = "Grape tart" @@ -128,7 +128,7 @@ /obj/item/food/grown/grapes = 3 ) result = /obj/item/food/pie/grapetart - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/mimetart name = "Mime tart" @@ -140,7 +140,7 @@ /datum/reagent/consumable/nothing = 5 ) result = /obj/item/food/pie/mimetart - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/berrytart name = "Berry tart" @@ -152,7 +152,7 @@ /obj/item/food/grown/berries = 3 ) result = /obj/item/food/pie/berrytart - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/cocolavatart name = "Chocolate Lava tart" @@ -165,7 +165,7 @@ /obj/item/slime_extract = 1 //The reason you dont know how to make it! ) result = /obj/item/food/pie/cocolavatart - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/blumpkinpie name = "Blumpkin pie" @@ -176,7 +176,7 @@ /obj/item/food/grown/pumpkin/blumpkin = 1 ) result = /obj/item/food/pie/blumpkinpie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/dulcedebatata name = "Dulce de batata" @@ -186,7 +186,7 @@ /obj/item/food/grown/potato/sweet = 2 ) result = /obj/item/food/pie/dulcedebatata - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/frostypie name = "Frosty pie" @@ -195,7 +195,7 @@ /obj/item/food/grown/bluecherries = 1 ) result = /obj/item/food/pie/frostypie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/baklava name = "Baklava pie" @@ -205,7 +205,7 @@ /obj/item/seeds/wheat/oat = 4 ) result = /obj/item/food/pie/baklava - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/frenchsilkpie name = "French silk pie" @@ -215,7 +215,7 @@ /obj/item/food/chocolatebar = 2, ) result = /obj/item/food/pie/frenchsilkpie - subcategory = CAT_PIE + category = CAT_PIE /datum/crafting_recipe/food/shepherds_pie name = "Shepherds pie" @@ -228,4 +228,4 @@ /obj/item/food/grown/garlic = 1, ) result = /obj/item/food/pie/shepherds_pie - subcategory = CAT_PIE + category = CAT_PIE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm index 6aa2aa56879..bc07628bb9b 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm @@ -4,17 +4,15 @@ ////////////////////////////////////////////////PIZZA!!!//////////////////////////////////////////////// /datum/crafting_recipe/food/margheritapizza - name = "Margherita pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/cheese/wedge = 4, /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/margherita/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/meatpizza - name = "Meat pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/meat/rawcutlet = 4, @@ -22,10 +20,9 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/meat/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/arnold - name = "Arnold pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/meat/rawcutlet = 3, @@ -34,19 +31,17 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/arnold/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/mushroompizza - name = "Mushroom pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/grown/mushroom = 5 ) result = /obj/item/food/pizza/mushroom/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/vegetablepizza - name = "Vegetable pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/grown/eggplant = 1, @@ -55,10 +50,9 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/vegetable/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/donkpocketpizza - name = "Donkpocket pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/donkpocket = 3, @@ -66,10 +60,9 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/donkpocket/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/dankpizza - name = "Dank pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/grown/ambrosia/vulgaris = 3, @@ -77,10 +70,9 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/dank/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/sassysagepizza - name = "Sassysage pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/raw_meatball = 3, @@ -88,10 +80,9 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/sassysage/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/pineapplepizza - name = "Hawaiian pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/food/meat/rawcutlet = 2, @@ -100,22 +91,20 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/pizza/pineapple/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/antspizza - name = "Ant Party pizza slice" reqs = list( /obj/item/food/pizzaslice/margherita = 1, /datum/reagent/ants = 4 ) result = /obj/item/food/pizzaslice/ants - subcategory = CAT_PIZZA + category = CAT_PIZZA /datum/crafting_recipe/food/energypizza - name = "Energy pizza" reqs = list( /obj/item/food/flatdough = 1, /obj/item/stock_parts/cell = 2, ) result = /obj/item/food/pizza/energy/raw - subcategory = CAT_PIZZA + category = CAT_PIZZA diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm index f1bd4551f09..9d9f9d30632 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm @@ -11,7 +11,7 @@ /obj/item/food/grown/apple = 1 ) result = /obj/item/food/salad/herbsalad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/aesirsalad name = "Aesir salad" @@ -21,7 +21,7 @@ /obj/item/food/grown/apple/gold = 1 ) result = /obj/item/food/salad/aesirsalad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/validsalad name = "Valid salad" @@ -32,7 +32,7 @@ /obj/item/food/meatball = 1 ) result = /obj/item/food/salad/validsalad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/monkeysdelight name = "Monkeys delight" @@ -45,7 +45,7 @@ /obj/item/food/grown/banana = 1 ) result = /obj/item/food/soup/monkeysdelight - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/melonfruitbowl name ="Melon fruit bowl" @@ -58,7 +58,7 @@ /obj/item/food/grown/ambrosia = 1 ) result = /obj/item/food/melonfruitbowl - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/fruitsalad name = "Fruit salad" @@ -71,7 +71,7 @@ ) result = /obj/item/food/salad/fruit - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/junglesalad name = "Jungle salad" @@ -83,7 +83,7 @@ ) result = /obj/item/food/salad/jungle - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/citrusdelight name = "Citrus delight" @@ -95,7 +95,7 @@ ) result = /obj/item/food/salad/citrusdelight - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/edensalad name = "Salad of Eden" @@ -107,7 +107,7 @@ /obj/item/food/grown/peace = 1 ) result = /obj/item/food/salad/edensalad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/kale_salad name = "Kale salad" @@ -119,7 +119,7 @@ /datum/reagent/consumable/quality_oil = 2, ) result = /obj/item/food/salad/kale_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/greek_salad name = "Greek salad" @@ -133,7 +133,7 @@ /obj/item/food/grown/cucumber = 1, ) result = /obj/item/food/salad/greek_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/caesar_salad name = "Caesar salad" @@ -146,7 +146,7 @@ /obj/item/food/breadslice/plain = 1, ) result = /obj/item/food/salad/caesar_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/spring_salad name = "Spring salad" @@ -158,7 +158,7 @@ /datum/reagent/consumable/quality_oil = 5, ) result = /obj/item/food/salad/spring_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/potato_salad name = "Potato salad" @@ -170,7 +170,7 @@ /datum/reagent/consumable/mayonnaise = 5, ) result = /obj/item/food/salad/potato_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/spinach_fruit_salad name = "Spinach fruit salad" @@ -182,7 +182,7 @@ /datum/reagent/consumable/quality_oil = 2, ) result = /obj/item/food/salad/spinach_fruit_salad - subcategory = CAT_SALAD + category = CAT_SALAD /datum/crafting_recipe/food/antipasto_salad name = "Antipasto salad" @@ -195,4 +195,4 @@ /obj/item/food/cheese/mozzarella = 1, ) result = /obj/item/food/salad/antipasto_salad - subcategory = CAT_SALAD + category = CAT_SALAD 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 9b45a3e1a24..bcb4cbb7e97 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm @@ -14,7 +14,7 @@ /obj/item/food/cheese/wedge = 1 ) result = /obj/item/food/sandwich - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/cheese_sandwich name = "Cheese sandwich" @@ -23,7 +23,7 @@ /obj/item/food/cheese/wedge = 2 ) result = /obj/item/food/cheese_sandwich - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/slimesandwich name = "Jelly sandwich" @@ -32,7 +32,7 @@ /obj/item/food/breadslice/plain = 2, ) result = /obj/item/food/jellysandwich/slime - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/cherrysandwich name = "Jelly sandwich" @@ -41,7 +41,7 @@ /obj/item/food/breadslice/plain = 2, ) result = /obj/item/food/jellysandwich/cherry - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/notasandwich name = "Not a sandwich" @@ -50,7 +50,7 @@ /obj/item/clothing/mask/fakemoustache = 1 ) result = /obj/item/food/notasandwich - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/hotdog name = "Hot dog" @@ -60,7 +60,7 @@ /obj/item/food/sausage = 1 ) result = /obj/item/food/hotdog - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/danish_hotdog name = "Danish hot dog" @@ -72,7 +72,7 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/danish_hotdog - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/blt name = "BLT" @@ -83,7 +83,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/blt - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/peanut_butter_jelly_sandwich name = "Peanut butter and jelly sandwich" @@ -93,7 +93,7 @@ /datum/reagent/consumable/cherryjelly = 5 ) result = /obj/item/food/peanut_butter_jelly_sandwich - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/peanut_butter_banana_sandwich name = "Peanut butter and banana sandwich" @@ -103,7 +103,7 @@ /obj/item/food/grown/banana = 1 ) result = /obj/item/food/peanut_butter_banana_sandwich - subcategory = CAT_SANDWICH + category = CAT_SANDWICH /datum/crafting_recipe/food/philly_cheesesteak name = "Philly Cheesesteak" @@ -114,4 +114,4 @@ /obj/item/food/grown/onion = 1, ) result = /obj/item/food/philly_cheesesteak - subcategory = CAT_SANDWICH + category = CAT_SANDWICH diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm index 2fe315fd286..ff8b095d7f5 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm @@ -6,7 +6,7 @@ /obj/item/food/fishmeat/carp = 1 ) result = /obj/item/food/cubancarp - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/fishandchips name = "Fish and chips" @@ -15,7 +15,7 @@ /obj/item/food/fishmeat = 1 ) result = /obj/item/food/fishandchips - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/fishfingers name = "Fish fingers" @@ -25,7 +25,7 @@ /obj/item/food/fishmeat = 1 ) result = /obj/item/food/fishfingers - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/fishfry name = "Fish fry" @@ -35,7 +35,7 @@ /obj/item/food/fishmeat = 1 ) result = /obj/item/food/fishfry - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/sashimi name = "Sashimi" @@ -45,7 +45,7 @@ /obj/item/food/fishmeat = 1 ) result = /obj/item/food/sashimi - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/fishtaco name ="Fish taco" @@ -56,7 +56,7 @@ /obj/item/food/grown/cabbage = 1 ) result = /obj/item/food/fishtaco - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/vegetariansushiroll name ="Vegetarian sushi roll" @@ -67,7 +67,7 @@ /obj/item/food/grown/potato = 1 ) result = /obj/item/food/vegetariansushiroll - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/spicyfiletroll name ="Spicy filet sushi roll" @@ -79,7 +79,7 @@ /obj/item/food/grown/onion = 1 ) result = /obj/item/food/spicyfiletsushiroll - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/nigiri_sushi name ="Nigiri sushi" @@ -90,7 +90,7 @@ /datum/reagent/consumable/soysauce = 2 ) result = /obj/item/food/nigiri_sushi - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/meat_poke name ="Meat poke" @@ -105,7 +105,7 @@ /obj/item/food/grown/cucumber = 1, ) result = /obj/item/food/meat_poke - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD /datum/crafting_recipe/food/fish_poke name ="Fish poke" @@ -120,4 +120,4 @@ /obj/item/food/grown/cucumber = 1, ) result = /obj/item/food/fish_poke - subcategory = CAT_SEAFOOD + category = CAT_SEAFOOD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm index e6c138ac15b..f9993277061 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm @@ -13,7 +13,7 @@ /obj/item/food/grown/potato = 1 ) result = /obj/item/food/soup/meatball - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/vegetablesoup name = "Vegetable soup" @@ -26,7 +26,7 @@ /obj/item/food/grown/potato = 1 ) result = /obj/item/food/soup/vegetable - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/nettlesoup name = "Nettle soup" @@ -38,7 +38,7 @@ /obj/item/food/boiledegg = 1 ) result = /obj/item/food/soup/nettle - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/wingfangchu name = "Wingfangchu" @@ -48,7 +48,7 @@ /obj/item/food/meat/cutlet/xeno = 2 ) result = /obj/item/food/soup/wingfangchu - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/wishsoup name = "Wish soup" @@ -57,7 +57,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result= /obj/item/food/soup/wish - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/hotchili name = "Hot chili" @@ -68,7 +68,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/soup/hotchili - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/coldchili name = "Cold chili" @@ -79,7 +79,7 @@ /obj/item/food/grown/tomato = 1 ) result = /obj/item/food/soup/coldchili - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/clownchili name = "Chili con carnival" @@ -91,7 +91,7 @@ /obj/item/clothing/shoes/clown_shoes = 1 ) result = /obj/item/food/soup/clownchili - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/tomatosoup name = "Tomato soup" @@ -101,7 +101,7 @@ /obj/item/food/grown/tomato = 2 ) result = /obj/item/food/soup/tomato - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/eyeballsoup name = "Eyeball soup" @@ -112,7 +112,7 @@ /obj/item/organ/internal/eyes = 1 ) result = /obj/item/food/soup/tomato/eyeball - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/misosoup @@ -124,7 +124,7 @@ /obj/item/food/tofu = 2 ) result = /obj/item/food/soup/miso - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/bloodsoup name = "Blood soup" @@ -134,7 +134,7 @@ /obj/item/food/grown/tomato/blood = 2 ) result = /obj/item/food/soup/blood - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/slimesoup name = "Slime soup" @@ -144,7 +144,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/slime - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/clownstears name = "Clowns tears" @@ -155,7 +155,7 @@ /obj/item/stack/sheet/mineral/bananium = 1 ) result = /obj/item/food/soup/clownstears - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/mysterysoup name = "Mystery soup" @@ -168,7 +168,7 @@ /obj/item/food/cheese/wedge = 1, ) result = /obj/item/food/soup/mystery - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/mushroomsoup name = "Mushroom soup" @@ -179,7 +179,7 @@ /obj/item/food/grown/mushroom/chanterelle = 1 ) result = /obj/item/food/soup/mushroom - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/beetsoup name = "Beet soup" @@ -190,7 +190,7 @@ /obj/item/food/grown/cabbage = 1, ) result = /obj/item/food/soup/beet - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/stew name = "Stew" @@ -205,7 +205,7 @@ /obj/item/food/grown/mushroom = 1 ) result = /obj/item/food/soup/stew - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/spacylibertyduff name = "Spacy liberty duff" @@ -215,7 +215,7 @@ /obj/item/food/grown/mushroom/libertycap = 3 ) result = /obj/item/food/soup/spacylibertyduff - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/amanitajelly name = "Amanita jelly" @@ -225,7 +225,7 @@ /obj/item/food/grown/mushroom/amanita = 3 ) result = /obj/item/food/soup/amanitajelly - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/sweetpotatosoup name = "Sweet potato soup" @@ -236,7 +236,7 @@ /obj/item/food/grown/potato/sweet = 2 ) result = /obj/item/food/soup/sweetpotato - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/redbeetsoup name = "Red beet soup" @@ -247,7 +247,7 @@ /obj/item/food/grown/cabbage = 1 ) result = /obj/item/food/soup/beet/red - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/onionsoup name = "French onion soup" @@ -258,7 +258,7 @@ /obj/item/food/cheese/wedge = 1, ) result = /obj/item/food/soup/onion - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/bisque name = "Bisque" @@ -269,7 +269,7 @@ /obj/item/food/boiledrice = 1 ) result = /obj/item/food/soup/bisque - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/bungocurry name = "Bungo Curry" @@ -281,7 +281,7 @@ /obj/item/food/grown/bungofruit = 1 ) result = /obj/item/food/soup/bungocurry - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/electron name = "Electron Soup" @@ -292,7 +292,7 @@ /obj/item/food/grown/mushroom/jupitercup = 1 ) result = /obj/item/food/soup/electron - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/peasoup name = "Pea soup" @@ -304,7 +304,7 @@ /obj/item/reagent_containers/cup/bowl = 1 ) result = /obj/item/food/soup/peasoup - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/indian_curry name = "Indian Chicken Curry" @@ -319,7 +319,7 @@ /datum/reagent/consumable/cream = 5 ) result = /obj/item/food/soup/indian_curry - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/oatmeal name = "Oatmeal" @@ -329,7 +329,7 @@ /obj/item/food/grown/oat = 1 ) result = /obj/item/food/soup/oatmeal - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/zurek name = "Zurek" @@ -343,7 +343,7 @@ /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/soup/zurek - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/cullen_skink name = "Cullen Skink" @@ -356,7 +356,7 @@ /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/soup/cullen_skink - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/chicken_noodle_soup name = "Chicken Noodle Soup" @@ -368,7 +368,7 @@ /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/soup/chicken_noodle_soup - subcategory = CAT_SOUP + category = CAT_SOUP /datum/crafting_recipe/food/corn_chowder name = "Corn Chowder" @@ -381,4 +381,4 @@ /obj/item/reagent_containers/cup/bowl = 1, ) result = /obj/item/food/soup/corn_chowder - subcategory = CAT_SOUP + category = CAT_SOUP 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 0357374b9a4..297f761bab3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm @@ -10,7 +10,7 @@ /obj/item/food/grown/tomato = 2 ) result = /obj/item/food/spaghetti/pastatomato - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/copypasta name = "Copypasta" @@ -18,7 +18,7 @@ /obj/item/food/spaghetti/pastatomato = 2 ) result = /obj/item/food/spaghetti/copypasta - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/spaghettimeatball name = "Spaghetti meatball" @@ -27,7 +27,7 @@ /obj/item/food/meatball = 2 ) result = /obj/item/food/spaghetti/meatballspaghetti - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/spesslaw name = "Spesslaw" @@ -36,7 +36,7 @@ /obj/item/food/meatball = 4 ) result = /obj/item/food/spaghetti/spesslaw - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" @@ -47,7 +47,7 @@ /obj/item/food/grown/cabbage = 1 ) result = /obj/item/food/spaghetti/beefnoodle - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/chowmein name = "Chowmein" @@ -58,7 +58,7 @@ /obj/item/food/grown/carrot = 1 ) result = /obj/item/food/spaghetti/chowmein - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/butternoodles name = "Butter Noodles" @@ -67,7 +67,7 @@ /obj/item/food/butter = 1 ) result = /obj/item/food/spaghetti/butternoodles - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI /datum/crafting_recipe/food/mac_n_cheese name = "Mac n' cheese" @@ -79,4 +79,4 @@ /datum/reagent/consumable/blackpepper = 2 ) result = /obj/item/food/spaghetti/mac_n_cheese - subcategory = CAT_SPAGHETTI + category = CAT_SPAGHETTI diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index 426b044540c..ded97e4218f 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -135,13 +135,6 @@ /obj/structure/fermenting_barrel/process(delta_time) process_fermentation() -/datum/crafting_recipe/fermenting_barrel - name = "Wooden Barrel" - result = /obj/structure/fermenting_barrel - reqs = list(/obj/item/stack/sheet/mineral/wood = 8) - time = 50 - category = CAT_PRIMAL - /// Lil gunpowder barrel fer pirates since it's a nice reagent holder /obj/structure/fermenting_barrel/gunpowder name = "gunpowder barrel" diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 5f0887efd57..9e193a7be09 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -12,6 +12,7 @@ // Base type. Subtypes are found in /grown dir. Lavaland-based subtypes can be found in mining/ash_flora.dm /obj/item/food/grown icon = 'icons/obj/hydroponics/harvest.dmi' + icon_state = "berrypile" worn_icon = 'icons/mob/clothing/head/hydroponics.dmi' name = "fresh produce" // so recipe text doesn't say 'snack' max_volume = PLANT_REAGENT_VOLUME diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 388cb4c086e..4be031db792 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -3,6 +3,8 @@ bite_consumption_mod = 3 foodtypes = VEGETABLES wine_power = 40 + /// Default mushroom icon for recipes that need any mushroom + icon_state = "plumphelmet" // Reishi /obj/item/seeds/reishi diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 48c7a443d11..0de9f0cf592 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -557,7 +557,8 @@ /obj/item/secateurs name = "secateurs" - desc = "It's a tool for cutting grafts off plants. Right-click to stylize podperson hair or other plant features!" + desc = "It's a tool for cutting grafts off plants or changing podperson looks." + desc_controls = "Right-click to stylize podperson hair or other plant features!" icon = 'icons/obj/hydroponics/equipment.dmi' icon_state = "secateurs" inhand_icon_state = null diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm index a9958537901..6a12c5c0030 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm @@ -20,6 +20,8 @@ custom_materials = list(/datum/material/bone=MINERAL_MATERIAL_AMOUNT*4) icon = 'icons/obj/art/statuelarge.dmi' icon_state = "rib" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "rib" /obj/structure/statue/bone/skull name = "colossal skull" @@ -27,12 +29,16 @@ custom_materials = list(/datum/material/bone=MINERAL_MATERIAL_AMOUNT*12) icon = 'icons/obj/art/statuelarge.dmi' icon_state = "skull" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "skull" /obj/structure/statue/bone/skull/half desc = "The gaping maw of a dead, titanic monster. This one is cracked in half." custom_materials = list(/datum/material/bone=MINERAL_MATERIAL_AMOUNT*6) icon = 'icons/obj/art/statuelarge.dmi' icon_state = "skull-half" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "halfskull" //***Wasteland floor and rock turfs here. /turf/open/misc/asteroid/basalt/wasteland //Like a more fun version of living in Arizona. diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 1a0bb4d7e57..641e01e943a 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -360,7 +360,7 @@ result = /obj/item/reagent_containers/cup/bowl/mushroom_bowl reqs = list(/obj/item/food/grown/ash_flora/shavings = 5) time = 30 - category = CAT_PRIMAL + category = CAT_CONTAINERS /obj/item/reagent_containers/cup/bowl/mushroom_bowl name = "mushroom bowl" diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index f744682a367..7b4e3d0871b 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -107,8 +107,8 @@ merge_type = /obj/item/stack/ore/glass GLOBAL_LIST_INIT(sand_recipes, list(\ - new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50),\ - new /datum/stack_recipe("aesthetic volcanic floor tile", /obj/item/stack/tile/basalt, 2, 1, 50)\ + new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50, category = CAT_MISC),\ + new /datum/stack_recipe("aesthetic volcanic floor tile", /obj/item/stack/tile/basalt, 2, 1, 50, category = CAT_TILES)\ )) /obj/item/stack/ore/glass/get_main_recipes() diff --git a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm index 23d765e63a1..1e2d42761b9 100644 --- a/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm +++ b/code/modules/mob/living/basic/lavaland/bileworm/bileworm_instrument.dm @@ -15,4 +15,4 @@ /obj/item/crusher_trophy/bileworm_spewlet = 1, ) result = /obj/item/instrument/bilehorn - category = CAT_PRIMAL + category = CAT_ENTERTAINMENT diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index c34e24174dc..82a10b14639 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -8,7 +8,7 @@ name = "\improper Firebot" desc = "A little fire extinguishing bot. He looks rather anxious." icon = 'icons/mob/silicon/aibots.dmi' - icon_state = "firebot" + icon_state = "firebot1" density = FALSE anchored = FALSE health = 25 diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.dm b/code/modules/mob/living/simple_animal/bot/vibebot.dm index 4a83803157b..5519a9ea3b3 100644 --- a/code/modules/mob/living/simple_animal/bot/vibebot.dm +++ b/code/modules/mob/living/simple_animal/bot/vibebot.dm @@ -2,7 +2,7 @@ name = "\improper Vibebot" desc = "A little robot. It's just vibing, doing its thing." icon = 'icons/mob/silicon/aibots.dmi' - icon_state = "vibebot" + icon_state = "vibebot1" density = FALSE anchored = FALSE health = 25 diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm index 07200061ecd..bb354d15ea4 100644 --- a/code/modules/ninja/energy_katana.dm +++ b/code/modules/ninja/energy_katana.dm @@ -11,7 +11,8 @@ */ /obj/item/energy_katana name = "energy katana" - desc = "A katana infused with strong energy. Right-click to dash." + desc = "A katana infused with strong energy." + desc_controls = "Right-click to dash." icon_state = "energy_katana" inhand_icon_state = "energy_katana" worn_icon_state = "energy_katana" diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index a82077e0ba8..5efc8a35820 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -197,7 +197,7 @@ /obj/item/paper_bin/bundlenatural name = "natural paper bundle" desc = "A bundle of paper created using traditional methods." - icon_state = null + icon_state = "paper_stack" papertype = /obj/item/paper/natural resistance_flags = FLAMMABLE bin_overlay_string = "paper_bundle_overlay" diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 098799b5437..e649f2448ba 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -100,7 +100,7 @@ result = /obj/item/pen/charcoal reqs = list(/obj/item/stack/sheet/mineral/wood = 1, /datum/reagent/ash = 30) time = 3 SECONDS - category = CAT_PRIMAL + category = CAT_TOOLS /obj/item/pen/fountain/captain name = "captain's fountain pen" diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index dd5d08cdac6..272840eec07 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -144,7 +144,8 @@ /obj/item/gun/ballistic/automatic/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 fired using right click." + desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher." + desc_controls = "Right-click to use grenade launcher." icon_state = "m90" w_class = WEIGHT_CLASS_BULKY inhand_icon_state = "m90" diff --git a/code/modules/projectiles/guns/energy/beam_rifle.dm b/code/modules/projectiles/guns/energy/beam_rifle.dm index daa110e95c3..1487e4a8b56 100644 --- a/code/modules/projectiles/guns/energy/beam_rifle.dm +++ b/code/modules/projectiles/guns/energy/beam_rifle.dm @@ -10,9 +10,8 @@ /obj/item/gun/energy/beam_rifle name = "particle acceleration rifle" - desc = "An energy-based anti material marksman rifle that uses highly charged particle beams moving at extreme velocities to decimate whatever is unfortunate enough to be targeted by one. \ - Hold down left click while scoped to aim, when weapon is fully aimed (Tracer goes from red to green as it charges), release to fire. Moving while aiming or \ - changing where you're pointing at while aiming will delay the aiming process depending on how much you changed." + desc = "An energy-based anti material marksman rifle that uses highly charged particle beams moving at extreme velocities to decimate whatever is unfortunate enough to be targeted by one." + desc_controls = "Hold down left click while scoped to aim, when weapon is fully aimed (Tracer goes from red to green as it charges), release to fire. Moving while aiming or changing where you're pointing at while aiming will delay the aiming process depending on how much you changed." icon = 'icons/obj/weapons/guns/energy.dmi' icon_state = "esniper" inhand_icon_state = null diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm index f7d90e4cc9b..61128b64d4f 100644 --- a/code/modules/reagents/chemistry/items.dm +++ b/code/modules/reagents/chemistry/items.dm @@ -137,7 +137,7 @@ desc = "An electrode attached to a small circuit box that will display details of a solution. Can be toggled to provide a description of each of the reagents. The screen currently displays detected vol: [round(cont.volume, 0.01)] detected pH:[round(cont.reagents.ph, 0.1)]." /obj/item/burner - name = "Alcohol burner" + name = "burner" desc = "A small table size burner used for heating up beakers." icon = 'icons/obj/medical/chemical.dmi' icon_state = "burner" @@ -265,12 +265,10 @@ return lit * heat /obj/item/burner/oil - name = "Oil burner" reagent_type = /datum/reagent/fuel/oil grind_results = list(/datum/reagent/fuel/oil = 5, /datum/reagent/silicon = 10) /obj/item/burner/fuel - name = "Fuel burner" reagent_type = /datum/reagent/fuel grind_results = list(/datum/reagent/fuel = 5, /datum/reagent/silicon = 10) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index cb5eddbf31f..f729f920a4c 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -95,6 +95,10 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) // Used for restaurants. ///The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!) var/glass_price + + ///The default reagent container for the reagent + var/obj/item/reagent_containers/default_container = /obj/item/reagent_containers/cup/bottle + /// Icon for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum. var/fallback_icon /// Icon state for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum. diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 59595694b58..93c63e359f2 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -12,6 +12,7 @@ ph = 7.33 burning_temperature = 2193//ethanol burns at 1970C (at it's peak) burning_volume = 0.1 + default_container = /obj/item/reagent_containers/cup/glass/bottle/beer fallback_icon = 'icons/obj/drinks/bottles.dmi' fallback_icon_state = "beer" /** @@ -324,6 +325,7 @@ taste_description = "grain alcohol" ph = 8.1 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_CLEANS //Very high proof + default_container = /obj/item/reagent_containers/cup/glass/bottle/vodka /datum/glass_style/shot_glass/vodka required_drink_type = /datum/reagent/consumable/ethanol/vodka @@ -400,6 +402,7 @@ boozepwr = 60 taste_description = "spiked butterscotch" ph = 6.5 + default_container = /obj/item/reagent_containers/cup/glass/bottle/rum /datum/glass_style/shot_glass/rum required_drink_type = /datum/reagent/consumable/ethanol/rum @@ -459,6 +462,7 @@ ph = 3.45 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK + default_container = /obj/item/reagent_containers/cup/glass/bottle/wine /datum/glass_style/shot_glass/wine required_drink_type = /datum/reagent/consumable/ethanol/wine diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index a6aaf5dab07..3d8afa2b643 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -11,6 +11,7 @@ taste_description = "oranges" ph = 3.3 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice /datum/glass_style/drinking_glass/orangejuice required_drink_type = /datum/reagent/consumable/orangejuice @@ -37,6 +38,7 @@ color = "#731008" // rgb: 115, 16, 8 taste_description = "tomatoes" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/tomatojuice /datum/glass_style/drinking_glass/tomatojuice required_drink_type = /datum/reagent/consumable/tomatojuice @@ -57,6 +59,7 @@ taste_description = "unbearable sourness" ph = 2.2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/limejuice /datum/glass_style/drinking_glass/limejuice required_drink_type = /datum/reagent/consumable/limejuice @@ -288,6 +291,7 @@ taste_description = "milk" ph = 6.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/milk /datum/glass_style/drinking_glass/milk required_drink_type = /datum/reagent/consumable/milk @@ -324,6 +328,7 @@ color = "#DFDFC7" // rgb: 223, 223, 199 taste_description = "soy milk" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/soymilk /datum/glass_style/drinking_glass/soymilk required_drink_type = /datum/reagent/consumable/soymilk @@ -343,6 +348,7 @@ color = "#DFD7AF" // rgb: 223, 215, 175 taste_description = "creamy milk" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/cream /datum/glass_style/drinking_glass/cream required_drink_type = /datum/reagent/consumable/cream @@ -395,6 +401,7 @@ taste_description = "tart black tea" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED glass_price = DRINK_PRICE_STOCK + default_container = /obj/item/reagent_containers/cup/glass/mug/tea /datum/glass_style/drinking_glass/tea required_drink_type = /datum/reagent/consumable/tea @@ -874,6 +881,7 @@ color = "#619494" // rgb: 97, 148, 148 taste_description = "ice" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/ice /datum/glass_style/drinking_glass/ice required_drink_type = /datum/reagent/consumable/ice @@ -1244,6 +1252,7 @@ color = "#80AF9C" taste_description = "mint" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/menthol /datum/glass_style/drinking_glass/menthol required_drink_type = /datum/reagent/consumable/menthol @@ -1284,6 +1293,7 @@ color = "#F7D435" taste_description = "pineapple" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/bottle/juice/pineapplejuice /datum/glass_style/drinking_glass/pineapplejuice required_drink_type = /datum/reagent/consumable/pineapplejuice diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 44858cf8fed..e08686a3ced 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -165,6 +165,7 @@ penetrates_skin = NONE var/fry_temperature = 450 //Around ~350 F (117 C) which deep fryers operate around in the real world chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/quality_oil /datum/reagent/consumable/cooking_oil/expose_obj(obj/exposed_obj, reac_volume) . = ..() @@ -223,6 +224,7 @@ overdose_threshold = 200 // Hyperglycaemic shock taste_description = "sweetness" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/sugar // Plants should not have sugar, they can't use it and it prevents them getting water/ nutients, it is good for mold though... /datum/reagent/consumable/sugar/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) @@ -262,6 +264,7 @@ color = "#792300" // rgb: 121, 35, 0 taste_description = "umami" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/soysauce /datum/reagent/consumable/ketchup name = "Ketchup" @@ -270,7 +273,7 @@ color = "#731008" // rgb: 115, 16, 8 taste_description = "ketchup" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - + default_container = /obj/item/reagent_containers/condiment/pack/ketchup /datum/reagent/consumable/capsaicin name = "Capsaicin Oil" @@ -313,6 +316,7 @@ chemical_flags = REAGENT_CAN_BE_SYNTHESIZED ///40 joules per unit. specific_heat = 40 + default_container = /obj/item/reagent_containers/cup/bottle/frostoil /datum/reagent/consumable/frostoil/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/cooling = 0 @@ -365,6 +369,7 @@ penetrates_skin = NONE ph = 7.4 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/bottle/capsaicin /datum/reagent/consumable/condensedcapsaicin/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume) . = ..() @@ -413,6 +418,7 @@ taste_description = "salt" penetrates_skin = NONE chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/saltshaker /datum/reagent/consumable/salt/expose_turf(turf/exposed_turf, reac_volume) //Creates an umbra-blocking salt pile . = ..() @@ -428,6 +434,7 @@ // no color (ie, black) taste_description = "pepper" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/peppermill /datum/reagent/consumable/coco name = "Coco Powder" @@ -529,6 +536,7 @@ color = "#365E30" // rgb: 54, 94, 48 taste_description = "sweetness" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/enzyme /datum/reagent/consumable/dry_ramen name = "Dry Ramen" @@ -537,6 +545,7 @@ color = "#302000" // rgb: 48, 32, 0 taste_description = "dry and cheap noodles" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/dry_ramen /datum/reagent/consumable/hot_ramen name = "Hot Ramen" @@ -545,6 +554,7 @@ color = "#302000" // rgb: 48, 32, 0 taste_description = "wet and cheap noodles" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/cup/glass/dry_ramen /datum/reagent/consumable/nutraslop name = "Nutraslop" @@ -577,6 +587,7 @@ color = "#FFFFFF" // rgb: 0, 0, 0 taste_description = "chalky wheat" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/flour /datum/reagent/consumable/flour/expose_turf(turf/exposed_turf, reac_volume) . = ..() @@ -595,6 +606,7 @@ color = "#801E28" // rgb: 128, 30, 40 taste_description = "cherry" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/cherryjelly /datum/reagent/consumable/bluecherryjelly name = "Blue Cherry Jelly" @@ -610,6 +622,7 @@ color = "#FFFFFF" // rgb: 0, 0, 0 taste_description = "rice" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/rice /datum/reagent/consumable/vanilla name = "Vanilla Powder" @@ -662,6 +675,7 @@ metabolization_rate = 1 * REAGENTS_METABOLISM taste_description = "sweetness" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/honey // On the other hand, honey has been known to carry pollen with it rarely. Can be used to take in a lot of plant qualities all at once, or harm the plant. /datum/reagent/consumable/honey/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) @@ -697,6 +711,7 @@ color = "#DFDFDF" taste_description = "mayonnaise" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/mayonnaise /datum/reagent/consumable/mold // yeah, ok, togopal, I guess you could call that a condiment name = "Mold" @@ -914,6 +929,7 @@ taste_mult = 2.5 //sugar's 1.5, capsacin's 1.5, so a good middle ground. taste_description = "smokey sweetness" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/bbqsauce /datum/reagent/consumable/chocolatepudding name = "Chocolate Pudding" @@ -1011,6 +1027,7 @@ color = "#D9A066" nutriment_factor = 15 * REAGENTS_METABOLISM chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/peanut_butter /datum/reagent/consumable/peanut_butter/on_mob_life(mob/living/carbon/M, delta_time, times_fired) //ET loves peanut butter if(isabductor(M)) @@ -1024,6 +1041,7 @@ taste_description = "acid" color = "#661F1E" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/vinegar //A better oil, representing choices like olive oil, argan oil, avocado oil, etc. /datum/reagent/consumable/quality_oil @@ -1032,6 +1050,7 @@ taste_description = "olive oil" color = "#DBCF5C" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/quality_oil /datum/reagent/consumable/cornmeal name = "Cornmeal" @@ -1039,6 +1058,7 @@ taste_description = "raw cornmeal" color = "#ebca85" chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/cornmeal /datum/reagent/consumable/yoghurt name = "Yoghurt" @@ -1047,6 +1067,7 @@ color = "#efeff0" nutriment_factor = 2 * REAGENTS_METABOLISM chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/yoghurt /datum/reagent/consumable/cornmeal_batter name = "Cornmeal Batter" @@ -1069,3 +1090,4 @@ color = "#efeff0" nutriment_factor = 1.5 * REAGENTS_METABOLISM chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/item/reagent_containers/condiment/creamer diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index c2bc50ccdaa..c99cf98f50c 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -7,6 +7,7 @@ taste_mult = 1.3 penetrates_skin = NONE ph = 7.4 + default_container = /obj/item/reagent_containers/blood /datum/glass_style/shot_glass/blood required_drink_type = /datum/reagent/blood @@ -173,6 +174,7 @@ taste_description = "water" var/cooling_temperature = 2 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_CLEANS + default_container = /obj/item/reagent_containers/cup/glass/waterbottle /datum/glass_style/shot_glass/water required_drink_type = /datum/reagent/water @@ -265,6 +267,7 @@ self_consuming = TRUE //divine intervention won't be limited by the lack of a liver ph = 7.5 //God is alkaline chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_CLEANS + default_container = /obj/item/reagent_containers/cup/glass/bottle/holywater /datum/glass_style/drinking_glass/holywater required_drink_type = /datum/reagent/water/holywater @@ -1079,6 +1082,7 @@ ph = 4 material = /datum/material/uranium chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/effect/decal/cleanable/greenglow /datum/reagent/uranium/on_mob_life(mob/living/carbon/affected_mob, delta_time, times_fired) affected_mob.adjustToxLoss(tox_damage * delta_time * REM) @@ -1689,6 +1693,7 @@ burning_volume = 0.05 //but has a lot of hydrocarbons chemical_flags = REAGENT_CAN_BE_SYNTHESIZED addiction_types = null + default_container = /obj/effect/decal/cleanable/oil /datum/reagent/stable_plasma name = "Stable Plasma" @@ -1991,6 +1996,7 @@ taste_description = "ash" ph = 6.5 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + default_container = /obj/effect/decal/cleanable/ash // Ash is also used IRL in gardening, as a fertilizer enhancer and weed killer /datum/reagent/ash/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) diff --git a/code/modules/reagents/reagent_containers/condiment.dm b/code/modules/reagents/reagent_containers/condiment.dm index e71dbb1dcfb..92cbac59935 100644 --- a/code/modules/reagents/reagent_containers/condiment.dm +++ b/code/modules/reagents/reagent_containers/condiment.dm @@ -299,6 +299,13 @@ list_reagents = list(/datum/reagent/consumable/cherryjelly = 50) fill_icon_thresholds = null +/obj/item/reagent_containers/condiment/honey + name = "honey" + desc = "A jar of sweet and viscous honey." + icon_state = "honey" + list_reagents = list(/datum/reagent/consumable/honey = 50) + fill_icon_thresholds = null + //technically condiment packs but they are non transparent /obj/item/reagent_containers/condiment/creamer diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm index 1dd0489c04a..58624e23a05 100644 --- a/code/modules/reagents/reagent_containers/cups/_cup.dm +++ b/code/modules/reagents/reagent_containers/cups/_cup.dm @@ -434,7 +434,8 @@ /obj/item/reagent_containers/cup/mortar name = "mortar" - desc = "A specially formed bowl of ancient design. It is possible to crush or juice items placed in it using a pestle; however the process, unlike modern methods, is slow and physically exhausting. Alt click to eject the item." + desc = "A specially formed bowl of ancient design. It is possible to crush or juice items placed in it using a pestle; however the process, unlike modern methods, is slow and physically exhausting." + desc_controls = "Alt click to eject the item." icon_state = "mortar" amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5, 10, 15, 20, 25, 30, 50, 100) diff --git a/code/modules/reagents/reagent_containers/cups/soda.dm b/code/modules/reagents/reagent_containers/cups/soda.dm index e927b023b68..ed94cb030d7 100644 --- a/code/modules/reagents/reagent_containers/cups/soda.dm +++ b/code/modules/reagents/reagent_containers/cups/soda.dm @@ -9,6 +9,7 @@ /obj/item/reagent_containers/cup/soda_cans name = "soda can" icon = 'icons/obj/drinks/soda.dmi' + icon_state_preview = "cola" reagent_flags = NONE spillable = FALSE custom_price = PAYCHECK_CREW * 0.9 diff --git a/code/modules/research/xenobiology/vatgrowing/microscope.dm b/code/modules/research/xenobiology/vatgrowing/microscope.dm index 6ab9abc6e8d..e22c881a021 100644 --- a/code/modules/research/xenobiology/vatgrowing/microscope.dm +++ b/code/modules/research/xenobiology/vatgrowing/microscope.dm @@ -88,7 +88,7 @@ reqs = list( /obj/item/stack/sheet/glass = 1, /obj/item/stack/sheet/plastic = 1, - /datum/stock_part/scanning_module = 1, + /obj/item/stock_parts/scanning_module = 1, /obj/item/flashlight = 1, ) category = CAT_CHEMISTRY diff --git a/code/modules/vehicles/lavaboat.dm b/code/modules/vehicles/lavaboat.dm index db62dc5fa70..ee26db06aa8 100644 --- a/code/modules/vehicles/lavaboat.dm +++ b/code/modules/vehicles/lavaboat.dm @@ -4,8 +4,10 @@ /obj/vehicle/ridden/lavaboat name = "lava boat" desc = "A boat used for traversing lava." - icon_state = "goliath_boat" icon = 'icons/obj/lavaland/dragonboat.dmi' + icon_state = "goliath_boat" + icon_preview = 'icons/obj/previews.dmi' + icon_state_preview = "boat" resistance_flags = LAVA_PROOF | FIRE_PROOF can_buckle = TRUE key_type = /obj/item/oar @@ -32,20 +34,20 @@ result = /obj/item/oar reqs = list(/obj/item/stack/sheet/bone = 2) time = 15 - category = CAT_PRIMAL + category = CAT_TOOLS /datum/crafting_recipe/boat name = "Goliath Hide Boat" result = /obj/vehicle/ridden/lavaboat reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) time = 50 - category = CAT_PRIMAL + category = CAT_TOOLS /obj/vehicle/ridden/lavaboat/plasma name = "plasma boat" desc = "A boat used for traversing the streams of plasma without turning into an icecube." - icon_state = "goliath_boat" icon = 'icons/obj/lavaland/dragonboat.dmi' + icon_state = "goliath_boat" resistance_flags = FREEZE_PROOF can_buckle = TRUE diff --git a/code/modules/wiremod/shell/controller.dm b/code/modules/wiremod/shell/controller.dm index 546de578327..4b3beb233c5 100644 --- a/code/modules/wiremod/shell/controller.dm +++ b/code/modules/wiremod/shell/controller.dm @@ -23,8 +23,8 @@ /obj/item/circuit_component/controller display_name = "Controller" - desc = "Used to receive inputs from the controller shell. Use the shell in hand to trigger the output signal. Alt-click for the alternate signal. Right click for the extra signal." - + desc = "Used to receive inputs from the controller shell. Use the shell in hand to trigger the output signal." + desc_controls = "Alt-click for the alternate signal. Right click for the extra signal." /// The three separate buttons that are called in attack_hand on the shell. var/datum/port/output/signal var/datum/port/output/alt diff --git a/icons/hud/screen_clockwork.dmi b/icons/hud/screen_clockwork.dmi index 78960e9ca5f..aa815e957e4 100644 Binary files a/icons/hud/screen_clockwork.dmi and b/icons/hud/screen_clockwork.dmi differ diff --git a/icons/hud/screen_glass.dmi b/icons/hud/screen_glass.dmi index 345cb0bd41c..29f8cb47bfd 100644 Binary files a/icons/hud/screen_glass.dmi and b/icons/hud/screen_glass.dmi differ diff --git a/icons/hud/screen_midnight.dmi b/icons/hud/screen_midnight.dmi index a27dcc94ed8..9cfe8db9727 100644 Binary files a/icons/hud/screen_midnight.dmi and b/icons/hud/screen_midnight.dmi differ diff --git a/icons/hud/screen_operative.dmi b/icons/hud/screen_operative.dmi index 0a01ad2255b..b4b38782fe1 100644 Binary files a/icons/hud/screen_operative.dmi and b/icons/hud/screen_operative.dmi differ diff --git a/icons/hud/screen_plasmafire.dmi b/icons/hud/screen_plasmafire.dmi index 115aa1f2c9d..8225adbda60 100644 Binary files a/icons/hud/screen_plasmafire.dmi and b/icons/hud/screen_plasmafire.dmi differ diff --git a/icons/hud/screen_retro.dmi b/icons/hud/screen_retro.dmi index 5af574a8213..a00d16cac5e 100644 Binary files a/icons/hud/screen_retro.dmi and b/icons/hud/screen_retro.dmi differ diff --git a/icons/hud/screen_slimecore.dmi b/icons/hud/screen_slimecore.dmi index 9ae20f6a425..b7e3a87e07a 100644 Binary files a/icons/hud/screen_slimecore.dmi and b/icons/hud/screen_slimecore.dmi differ diff --git a/icons/hud/screen_trasenknox.dmi b/icons/hud/screen_trasenknox.dmi index 8956250a4c0..58c28d83e4b 100644 Binary files a/icons/hud/screen_trasenknox.dmi and b/icons/hud/screen_trasenknox.dmi differ diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index 5ccc67d4357..c8dbd309c87 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index afb4931b186..3489068f4cb 100644 Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 41566341b2b..5294992cf9c 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/food/food_ingredients.dmi b/icons/obj/food/food_ingredients.dmi index a4d04bfedd0..30825da0243 100644 Binary files a/icons/obj/food/food_ingredients.dmi and b/icons/obj/food/food_ingredients.dmi differ diff --git a/icons/obj/food/meat.dmi b/icons/obj/food/meat.dmi index 108986e2ea3..9264bd3836f 100644 Binary files a/icons/obj/food/meat.dmi and b/icons/obj/food/meat.dmi differ diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index 3070ac25087..34cf23fc27d 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index c5c50a726e2..d6e70af1a42 100644 Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ diff --git a/icons/obj/previews.dmi b/icons/obj/previews.dmi new file mode 100644 index 00000000000..c62b055f71e Binary files /dev/null and b/icons/obj/previews.dmi differ diff --git a/icons/obj/restraints.dmi b/icons/obj/restraints.dmi index 7523e78bd2c..f2d8c7a8320 100644 Binary files a/icons/obj/restraints.dmi and b/icons/obj/restraints.dmi differ diff --git a/icons/obj/weapons/grenade.dmi b/icons/obj/weapons/grenade.dmi index ff9ebc442b9..656ad8c2d62 100644 Binary files a/icons/obj/weapons/grenade.dmi and b/icons/obj/weapons/grenade.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 8af4b4f3c05..2ef27ad45c2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2559,6 +2559,7 @@ #include "code\modules\asset_cache\assets\common.dm" #include "code\modules\asset_cache\assets\condiments.dm" #include "code\modules\asset_cache\assets\contracts.dm" +#include "code\modules\asset_cache\assets\crafting.dm" #include "code\modules\asset_cache\assets\emojipedia.dm" #include "code\modules\asset_cache\assets\fish.dm" #include "code\modules\asset_cache\assets\fontawesome.dm" @@ -3186,6 +3187,7 @@ #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_drink.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm" +#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_guide.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_lizard.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm" #include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm" diff --git a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx index 90638ffb02b..3df24e84a64 100644 --- a/tgui/packages/tgui/interfaces/PersonalCrafting.tsx +++ b/tgui/packages/tgui/interfaces/PersonalCrafting.tsx @@ -1,311 +1,896 @@ -import { filter, sortBy } from 'common/collections'; -import { flow } from 'common/fp'; import { BooleanLike, classes } from 'common/react'; -import { useBackend } from '../backend'; -import { Button, Dimmer, Icon, Section, Stack, Table } from '../components'; +import { createSearch } from 'common/string'; +import { flow } from 'common/fp'; +import { filter, sortBy } from 'common/collections'; +import { useBackend, useLocalState } from '../backend'; +import { Divider, Button, Section, Tabs, Stack, Box, Input, Icon, Tooltip, NoticeBox } from '../components'; import { Window } from '../layouts'; +import { Food } from './PreferencesMenu/data'; -type RawRecipe = { +const TYPE_ICONS = { + 'Can Make': 'utensils', + [Food.Alcohol]: 'wine-glass', + [Food.Breakfast]: 'sun', + [Food.Bugs]: 'bug', + [Food.Cloth]: 'tshirt', + [Food.Dairy]: 'cheese', + [Food.Fried]: 'fire', + [Food.Fruit]: 'apple-alt', + [Food.Gore]: 'skull', + [Food.Grain]: 'wheat-awn', + [Food.Gross]: 'trash', + [Food.Junkfood]: 'pizza-slice', + [Food.Meat]: 'bacon', + [Food.Nuts]: 'seedling', + [Food.Oranges]: 'apple-alt', + [Food.Pineapple]: 'apple-alt', + [Food.Raw]: 'drumstick-bite', + [Food.Seafood]: 'fish', + [Food.Sugar]: 'candy-cane', + [Food.Toxic]: 'biohazard', + [Food.Vegetables]: 'carrot', +} as const; + +const CATEGORY_ICONS_CRAFTING = { + 'Can Make': 'hammer', + 'Weapons Melee': 'hand-fist', + 'Weapons Ranged': 'gun', + 'Weapon Ammo': 'box', + 'Robotics': 'robot', + 'Misc': 'shapes', + 'Tribal': 'campground', + 'Clothing': 'shirt', + 'Drinks': 'wine-bottle', + 'Chemistry': 'microscope', + 'Atmospherics': 'fan', + 'Structures': 'cube', + 'Tiles': 'border-all', + 'Windows': 'person-through-window', + 'Doors': 'door-open', + 'Furniture': 'chair', + 'Equipment': 'calculator', + 'Containers': 'briefcase', + 'Tools': 'screwdriver-wrench', + 'Entertainment': 'masks-theater', + 'Blood Cult': 'users', +} as const; + +const CATEGORY_ICONS_COOKING = { + 'Can Make': 'utensils', + 'Breads': 'bread-slice', + 'Burgers': 'burger', + 'Cakes': 'cake-candles', + 'Egg-Based Food': 'egg', + 'Frozen': 'ice-cream', + 'Lizard Food': 'dragon', + 'Meats': 'bacon', + 'Mexican Food': 'pepper-hot', + 'Misc. Food': 'shapes', + 'Mothic Food': 'shirt', + 'Pastries': 'cookie', + 'Pies': 'chart-pie', + 'Pizzas': 'pizza-slice', + 'Salads': 'leaf', + 'Sandwiches': 'hotdog', + 'Seafood': 'fish', + 'Soups': 'mug-hot', + 'Spaghettis': 'wheat-awn', +} as const; + +enum MODE { + crafting, + cooking, +} + +enum TABS { + category, + material, + foodtype, +} + +type AtomData = { name: string; + is_reagent: BooleanLike; +}; + +type Atoms = { + [key: number]: number; +}; + +type Material = { + atom_id: string; + occurences: number; +}; + +type Recipe = { ref: string; - req_text: string; - catalyst_text: string; - tool_text: string; -}; - -type RawData = { - // Dynamic data - busy: BooleanLike | null; + result: number; + name: string; + desc: string; category: string; - subcategory: string; - display_craftable_only: BooleanLike; + non_craftable: BooleanLike; + is_reaction: BooleanLike; + reqs: Atoms; + chem_catalysts: Atoms; + tool_behaviors: string[]; + tool_paths: string[]; + machinery: string[]; + steps: string[]; + foodtypes: string[]; +}; + +type Diet = { + liked_food: string[]; + disliked_food: string[]; + toxic_food: string[]; +}; + +type Data = { + // Dynamic + busy: BooleanLike; + mode: BooleanLike; display_compact: BooleanLike; + display_craftable_only: BooleanLike; craftability: Record; - // Static data - crafting_recipes: Record< - string, - // That's the weirdest piece of type I had to write in my life. - // Yes, that's how subcategories are sent here. - RawRecipe[] | (Record & { has_subcats: 1 }) - >; -}; - -type Recipe = RawRecipe & { - craftable: boolean; - dm_category: string; - dm_subcategory?: string; -}; - -type Category = { - name: string; - dm_category: string; - dm_subcategory?: string; -}; - -type Group = { - name: string; - categories: Category[]; -}; - -type Data = RawData & { - dm_category: string; - dm_subcategory: string; + // Static + diet: Diet; + atom_data: AtomData[]; recipes: Recipe[]; - groups: Group[]; + categories: string[]; + material_occurences: Material[]; + foodtypes: string[]; + nutriments: number; }; -const GENERAL_GROUP = 'General'; - -const remapData = (rawData: RawData): Data => { - const craftability_by_ref = rawData.craftability; - const dm_categories = rawData.crafting_recipes || {}; - - const recipes: Recipe[] = []; - const generalGroup: Group = { - name: GENERAL_GROUP, - categories: [], - }; - const groups: Group[] = [generalGroup]; - - for (const dm_category of Object.keys(dm_categories)) { - const dm_categories_item = dm_categories[dm_category]; - - // This is a nested part of the tree containing subcategories - if ('has_subcats' in dm_categories_item) { - // Create a new group for these categories - const group: Group = { - name: dm_category, - categories: [], - }; - groups.push(group); - for (const dm_subcategory of Object.keys(dm_categories_item)) { - // Skip even more nested subcats, they shouldn't exist - if (dm_subcategory === 'has_subcats') { - continue; - } - // Push category - group.categories.push({ - name: dm_subcategory, - dm_category, - dm_subcategory, - }); - // Push recipes - const dm_recipes = dm_categories_item[dm_subcategory]; - for (const dm_recipe of dm_recipes) { - recipes.push({ - ...dm_recipe, - dm_category, - dm_subcategory, - craftable: Boolean(craftability_by_ref[dm_recipe.ref]), - }); - } - } - continue; - } - - // This is a flat part of the tree where simple categories are located. - // We group these categories under the "General" group. - if (Array.isArray(dm_categories_item)) { - // Push category - generalGroup.categories.push({ - name: dm_category, - dm_category, - }); - // Push recipes - for (const dm_recipe of dm_categories_item) { - recipes.push({ - ...dm_recipe, - dm_category, - craftable: Boolean(craftability_by_ref[dm_recipe.ref]), - }); - } - continue; - } - - throw new Error( - `Invalid entry in 'crafting_recipes', neither '{ has_subcats: 1 }' nor 'Recipe[]'` - ); - } - - return { - ...rawData, - dm_category: rawData.category, - dm_subcategory: rawData.subcategory, - recipes, - groups, - }; -}; - -const isCategorySelected = (data: Data, item: Category | Recipe) => - data.dm_category === item.dm_category && - (!data.dm_subcategory || data.dm_subcategory === item.dm_subcategory); - export const PersonalCrafting = (props, context) => { - const { act, data: rawData } = useBackend(context); - const data = remapData(rawData); - - const { busy, display_craftable_only, display_compact, recipes, groups } = - data; - - const shownRecipes = flow([ + const { act, data } = useBackend(context); + const { + mode, + busy, + display_compact, + display_craftable_only, + craftability, + diet, + } = data; + const [searchText, setSearchText] = useLocalState(context, 'searchText', ''); + const [pages, setPages] = useLocalState(context, 'pages', 1); + const DEFAULT_CAT_CRAFTING = Object.keys(CATEGORY_ICONS_CRAFTING)[1]; + const DEFAULT_CAT_COOKING = Object.keys(CATEGORY_ICONS_COOKING)[1]; + const [activeCategory, setCategory] = useLocalState( + context, + 'category', + Object.keys(craftability).length + ? 'Can Make' + : mode === MODE.cooking + ? DEFAULT_CAT_COOKING + : DEFAULT_CAT_CRAFTING + ); + const [activeType, setFoodType] = useLocalState( + context, + 'foodtype', + Object.keys(craftability).length ? 'Can Make' : data.foodtypes[0] + ); + const material_occurences = flow([ + sortBy((material) => -material.occurences), + ])(data.material_occurences); + const [activeMaterial, setMaterial] = useLocalState( + context, + 'material', + material_occurences[0].atom_id + ); + const [tabMode, setTabMode] = useLocalState(context, 'tabMode', 0); + const searchName = createSearch(searchText, (item: Recipe) => item.name); + let recipes = flow([ filter( (recipe) => - // Show selected category only - isCategorySelected(data, recipe) && // If craftable only is selected, then filter by craftability - (!display_craftable_only || recipe.craftable) + (!display_craftable_only || Boolean(craftability[recipe.ref])) && + // Ignore categories and types when searching + (searchText.length > 0 || + // Is foodtype mode and the active type matches + (tabMode === TABS.foodtype && + mode === MODE.cooking && + ((activeType === 'Can Make' && Boolean(craftability[recipe.ref])) || + recipe.foodtypes?.includes(activeType))) || + // Is material mode and the active material or catalysts match + (tabMode === TABS.material && + Object.keys(recipe.reqs).includes(activeMaterial)) || + // Is category mode and the active categroy matches + (tabMode === TABS.category && + ((activeCategory === 'Can Make' && + Boolean(craftability[recipe.ref])) || + recipe.category === activeCategory))) ), - sortBy((recipe) => [-recipe.craftable, recipe.name]), - ])(recipes); - + sortBy((recipe) => [ + -Number(craftability[recipe.ref]), + recipe.name.toLowerCase(), + ]), + ])(data.recipes); + if (searchText.length > 0) { + recipes = recipes.filter(searchName); + } + const canMake = ['Can Make']; + const categories = canMake + .concat(data.categories.sort()) + .filter((i) => (i === 'Weaponry' ? true : i)); + const foodtypes = canMake.concat(data.foodtypes.sort()); + const pageSize = + searchText.length > 0 + ? display_compact + ? 20 + : 10 + : display_compact + ? 60 + : 30; + const displayLimit = pageSize * pages; + const content = document.getElementById('content'); + const CATEGORY_ICONS = + mode === MODE.cooking ? CATEGORY_ICONS_COOKING : CATEGORY_ICONS_CRAFTING; return ( - + - -
- {groups.map((group) => ( -
- {group.categories.map((category) => ( - - ))} -
- ))} -
-
- -
+ +
+ + + { + setPages(1); + setSearchText(value); + }} + fluid + /> + + + + { + if (tabMode === TABS.category) { + return; + } + setTabMode(TABS.category); + setPages(1); + setCategory( + Object.keys(craftability).length + ? 'Can Make' + : data.categories[0] + ); + }}> + Category + + {mode === MODE.cooking && ( + { + if (tabMode === TABS.foodtype) { + return; + } + setTabMode(TABS.foodtype); + setPages(1); + setFoodType( + Object.keys(craftability).length + ? 'Can Make' + : data.foodtypes[0] + ); + }}> + Type + + )} + { + if (tabMode === TABS.material) { + return; + } + setTabMode(TABS.material); + setPages(1); + setMaterial(material_occurences[0].atom_id); + }}> + {mode === MODE.cooking ? 'Ingredient' : 'Material'} + + + + + + + {tabMode === TABS.foodtype && + mode === MODE.cooking && + foodtypes.map((foodtype) => ( + { + setFoodType(foodtype); + setPages(1); + if (content) { + content.scrollTop = 0; + } + if (searchText.length > 0) { + setSearchText(''); + } + }}> + + + ))} + {tabMode === TABS.material && + material_occurences.map((material) => ( + { + setMaterial(material.atom_id); + setPages(1); + if (content) { + content.scrollTop = 0; + } + if (searchText.length > 0) { + setSearchText(''); + } + }}> + + + ))} + {tabMode === TABS.category && + categories.map((category) => ( + { + setCategory(category); + setPages(1); + if (content) { + content.scrollTop = 0; + } + if (searchText.length > 0) { + setSearchText(''); + } + }}> + + + + + + {category} + + {category === 'Can Make' && ( + + {Object.keys(craftability).length} + + )} + + + ))} + + + + + { + act('toggle_recipes'); + }} + /> + act('toggle_compact')} /> - act('toggle_recipes')} - /> - - }> -
- {busy ? ( - - - {' Crafting...'} - - ) : ( - - )} -
+
+ + + + { + if (mode === MODE.crafting) { + return; + } + setTabMode(TABS.category); + setCategory(DEFAULT_CAT_CRAFTING); + act('toggle_mode'); + }} + /> + + + { + if (mode === MODE.cooking) { + return; + } + setTabMode(TABS.category); + setCategory(DEFAULT_CAT_COOKING); + act('toggle_mode'); + }} + /> + + + +
+ + + {recipes.length > 0 ? ( + recipes + .slice(0, displayLimit) + .map((item) => + display_compact ? ( + + ) : ( + + ) + ) + ) : ( + + No recipes found. + + )} + {recipes.length > displayLimit && ( +
setPages(pages + 1)}> + Load {Math.min(pageSize, recipes.length - displayLimit)}{' '} + more... +
+ )} +
+
); }; -type CraftingListProps = { - recipes: Recipe[]; - // eslint-disable-next-line react/no-unused-prop-types - compact?: boolean; -}; - -const CraftingList = (props: CraftingListProps, context) => { - const { recipes = [], compact } = props; - const { act } = useBackend(context); - - if (compact) { - return ; - } - - return recipes.map((recipe) => ( -
{ - if (recipe.craftable) { - act('make', { - recipe: recipe.ref, - }); - } - }}> -
-
{recipe.name}
- {!!recipe.req_text && - recipe.req_text.split(', ').map((req, i) => ( -
- {req} -
- ))} - {!!recipe.catalyst_text && ( -
- Catalyst: {recipe.catalyst_text} -
- )} - {!!recipe.tool_text && ( -
- Tools: {recipe.tool_text} -
- )} -
- {recipe.craftable ? 'Craft' : 'Uncraftable'} -
-
-
- )) as any; -}; - -const CompactCraftingList = (props: CraftingListProps, context) => { - const { recipes = [] } = props; - const { act } = useBackend(context); - +const MaterialContent = (props, context) => { + const { atom_id, occurences } = props; + const { data } = useBackend(context); + const name = data.atom_data[atom_id - 1].name; + const mode = data.mode; return ( - - {recipes.map((recipe) => ( - - - {recipe.name} - - {recipe.req_text} - - - ))} -
+ + + + + + {name} + + + {occurences} + + + ) as any; +}; + +const FoodtypeContent = (props) => { + const { type, diet, craftableCount } = props; + return ( + + + + + + {type.toLowerCase()} + + + {type === 'Can Make' ? ( + craftableCount + ) : diet.liked_food.includes(type) ? ( + + ) : diet.disliked_food.includes(type) ? ( + + ) : ( + diet.toxic_food.includes(type) && ( + + ) + )} + + ); }; + +const RecipeContentCompact = ({ item, craftable, busy, mode }, context) => { + const { act, data } = useBackend(context); + return ( +
+ + + + + + + + + {item.name} + + + {Array.from( + Object.keys(item.reqs).map((atom_id) => { + const name = data.atom_data[(atom_id as any) - 1]?.name; + const is_reagent = + data.atom_data[(atom_id as any) - 1]?.is_reagent; + const amount = item.reqs[atom_id]; + return is_reagent + ? `${name}\xa0${amount}u` + : amount > 1 + ? `${name}\xa0${amount}x` + : name; + }) + ).join(', ')} + + {item.chem_catalysts && + ', ' + + Object.keys(item.chem_catalysts) + .map((atom_id) => { + const name = data.atom_data[(atom_id as any) - 1]?.name; + const is_reagent = + data.atom_data[(atom_id as any) - 1]?.is_reagent; + const amount = item.chem_catalysts[atom_id]; + return is_reagent + ? `${name}\xa0${amount}u` + : amount > 1 + ? `${name}\xa0${amount}x` + : name; + }) + .join(', ')} + + {item.tool_paths && + ', ' + + item.tool_paths + .map((item) => data.atom_data[(item as any) - 1]?.name) + .join(', ')} + {item.machinery && + ', ' + + item.machinery + .map((item) => data.atom_data[(item as any) - 1]?.name) + .join(', ')} + + + + {!item.non_craftable ? ( + + {!!item.tool_behaviors && ( + + + + )} +
+ ); +}; + +const RecipeContent = ({ item, craftable, busy, mode, diet }, context) => { + const { act } = useBackend(context); + return ( +
+ + + + + + + + + + + {item.name} + + {item.desc && {item.desc}} + + {item.reqs && ( + + + {Object.keys(item.reqs).map((atom_id) => ( + + ))} + + )} + {item.chem_catalysts && ( + + + {Object.keys(item.chem_catalysts).map((atom_id) => ( + + ))} + + )} + {(item.tool_paths || item.tool_behaviors) && ( + + + {item.tool_paths && + item.tool_paths.map((tool) => ( + + ))} + {item.tool_behaviors && + item.tool_behaviors.map((tool) => ( + + ))} + + )} + {item.machinery && ( + + + {item.machinery.map((atom_id) => ( + + ))} + + )} + + {!!item.steps?.length && ( + + +
    + {item.steps.map((step) => ( +
  • {step}
  • + ))} +
+
+ )} +
+ + {!item.non_craftable && ( +
+ ); +}; + +const AtomContent = ({ atom_id, amount }, context) => { + const { data } = useBackend(context); + const name = data.atom_data[atom_id - 1]?.name; + const is_reagent = data.atom_data[atom_id - 1]?.is_reagent; + const mode = data.mode; + return ( + + + + {name} + {is_reagent ? `\xa0${amount}u` : amount > 1 && `\xa0${amount}x`} + + + ) as any; +}; + +const ToolContent = ({ tool }) => { + return ( + + + + {tool} + + + ) as any; +}; + +const GroupTitle = ({ title }) => { + return ( + + + + + {title} + + + + + ) as any; +}; diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/data.ts b/tgui/packages/tgui/interfaces/PreferencesMenu/data.ts index 2cdedcc4c41..94b555b4ce9 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/data.ts +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/data.ts @@ -16,6 +16,7 @@ export enum Food { Junkfood = 'JUNKFOOD', Meat = 'MEAT', Nuts = 'NUTS', + Oranges = 'ORANGES', Pineapple = 'PINEAPPLE', Raw = 'RAW', Seafood = 'SEAFOOD',