diff --git a/beestation.dme b/beestation.dme index a65cde70d91f8..7922be1d72385 100644 --- a/beestation.dme +++ b/beestation.dme @@ -65,6 +65,7 @@ #include "code\__DEFINES\construction.dm" #include "code\__DEFINES\contracts.dm" #include "code\__DEFINES\cooldowns.dm" +#include "code\__DEFINES\crafting.dm" #include "code\__DEFINES\cult.dm" #include "code\__DEFINES\database.dm" #include "code\__DEFINES\departments.dm" @@ -719,10 +720,35 @@ #include "code\datums\components\waddling.dm" #include "code\datums\components\wearertargeting.dm" #include "code\datums\components\wet_floor.dm" +#include "code\datums\components\crafting\_recipes.dm" #include "code\datums\components\crafting\crafting.dm" #include "code\datums\components\crafting\guncrafting.dm" -#include "code\datums\components\crafting\recipes.dm" -#include "code\datums\components\crafting\tailoring.dm" +#include "code\datums\components\crafting\crafting_lists\drinks.dm" +#include "code\datums\components\crafting\crafting_lists\misc.dm" +#include "code\datums\components\crafting\crafting_lists\primal.dm" +#include "code\datums\components\crafting\crafting_lists\robots.dm" +#include "code\datums\components\crafting\crafting_lists\structures.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\_recipes.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_bread.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_burger.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_cake.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_egg.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_frozen.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_meat.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_mexican.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_misc.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_pastry.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_pie.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_pizza.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_salad.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_sandwich.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_seafood.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_soup.dm" +#include "code\datums\components\crafting\crafting_lists\foodstuffs\recipes_spaghetti.dm" +#include "code\datums\components\crafting\crafting_lists\tailoring\clothing.dm" +#include "code\datums\components\crafting\crafting_lists\tailoring\eyewear.dm" +#include "code\datums\components\crafting\crafting_lists\weaponry\ammunitions.dm" +#include "code\datums\components\crafting\crafting_lists\weaponry\weapons.dm" #include "code\datums\components\food\edible.dm" #include "code\datums\components\food\food_storage.dm" #include "code\datums\components\plumbing\_plumbing.dm" @@ -2681,23 +2707,6 @@ #include "code\modules\food_and_drinks\recipes\drinks_recipes.dm" #include "code\modules\food_and_drinks\recipes\food_mixtures.dm" #include "code\modules\food_and_drinks\recipes\processor_recipes.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm" -#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_meat.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pie.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm" -#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm" #include "code\modules\games\cas.dm" #include "code\modules\games\tarot.dm" #include "code\modules\games\unum.dm" diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 4d22480a84140..a8f6a84cded44 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -77,46 +77,16 @@ /// maximum amount of cable in a coil #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_EYEWEAR "Eyewear" -#define CAT_FOOD "Foods" -#define CAT_BREAD "Breads" -#define CAT_BURGER "Burgers" -#define CAT_CAKE "Cakes" -#define CAT_EGG "Egg-Based Food" -#define CAT_MEAT "Meats" -#define CAT_MISCFOOD "Misc. Food" -#define CAT_MEXICAN "Mexican Food" -#define CAT_PASTRY "Pastries" -#define CAT_PIE "Pies" -#define CAT_PIZZA "Pizzas" -#define CAT_SALAD "Salads" -#define CAT_SANDWICH "Sandwiches" -#define CAT_SEAFOOD "Seafood" -#define CAT_SOUP "Soups" -#define CAT_SPAGHETTI "Spaghettis" -#define CAT_ICE "Frozen" -#define CAT_DRINK "Drinks" -#define CAT_STRUCTURE "Structures" - - -//rcd modes -#define RCD_FLOORWALL 0 -#define RCD_AIRLOCK 1 -#define RCD_DECONSTRUCT 2 -#define RCD_WINDOWGRILLE 3 -#define RCD_MACHINE 4 -#define RCD_COMPUTER 5 -#define RCD_FURNISHING 6 -#define RCD_LADDER 7 +// rcd buildtype defines +// these aren't even used as bitflags so who even knows why they are treated like them +#define RCD_FLOORWALL (1<<0) +#define RCD_AIRLOCK (1<<1) +#define RCD_DECONSTRUCT (1<<2) +#define RCD_WINDOWGRILLE (1<<3) +#define RCD_MACHINE (1<<4) +#define RCD_COMPUTER (1<<5) +#define RCD_FURNISHING (1<<6) +#define RCD_LADDER (1<<7) #define RCD_UPGRADE_FRAMES (1<<0) #define RCD_UPGRADE_SIMPLE_CIRCUITS (1<<1) diff --git a/code/__DEFINES/crafting.dm b/code/__DEFINES/crafting.dm new file mode 100644 index 0000000000000..cbcda324daf7b --- /dev/null +++ b/code/__DEFINES/crafting.dm @@ -0,0 +1,32 @@ +// 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 "Primal" +#define CAT_TAILORING "tailoring" +#define CAT_CLOTHING "Clothing" +#define CAT_EYEWEAR "Eyewear" +#define CAT_STRUCTURE "Structures" + +// foodstuffs & drinks +#define CAT_FOOD "Foods" +#define CAT_BREAD "Breads" +#define CAT_BURGER "Burgers" +#define CAT_CAKE "Cakes" +#define CAT_EGG "Egg-Based Food" +#define CAT_MEAT "Meats" +#define CAT_MISCFOOD "Misc. Food" +#define CAT_MEXICAN "Mexican Food" +#define CAT_PASTRY "Pastries" +#define CAT_PIE "Pies" +#define CAT_PIZZA "Pizzas" +#define CAT_SALAD "Salads" +#define CAT_SEAFOOD "Seafood" +#define CAT_SANDWICH "Sandwiches" +#define CAT_SOUP "Soups" +#define CAT_SPAGHETTI "Spaghettis" +#define CAT_ICE "Frozen" +#define CAT_DRINK "Drinks" diff --git a/code/__DEFINES/time.dm b/code/__DEFINES/time.dm index e0beecbd2b4b6..be4328a02d2cf 100644 --- a/code/__DEFINES/time.dm +++ b/code/__DEFINES/time.dm @@ -34,7 +34,7 @@ When using time2text(), please use "DDD" to find the weekday. Refrain from using */ #define MONDAY "Mon" -#define TUESDAY "Tue" +#define TUESDAY "Tue" #define WEDNESDAY "Wed" #define THURSDAY "Thu" #define FRIDAY "Fri" diff --git a/code/datums/components/crafting/_recipes.dm b/code/datums/components/crafting/_recipes.dm new file mode 100644 index 0000000000000..6abf3118728d2 --- /dev/null +++ b/code/datums/components/crafting/_recipes.dm @@ -0,0 +1,40 @@ + +/datum/crafting_recipe + ///in-game display name - Optional, if not set uses result 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 + var/list/blacklist[] = list() + //type path of item resulting from this craft + var/result + //type paths of items needed but not consumed + var/list/tools[] = list() + //time in Seconds + var/time = 3 SECONDS + //type paths of items that will be placed in the result + var/list/parts[] = list() + //type paths of reagents that will be placed in the result + var/list/chem_catalysts[] = list() + //where it shows up in the crafting UI, as well it's subcategory + var/category = CAT_NONE + var/subcategory = CAT_NONE + //Set to FALSE if it needs to be learned first. + var/always_available = TRUE + ///Should only one object exist on the same turf? + var/one_per_turf = FALSE + /// Should admins be notified about this getting created by a non-antagonist? + var/dangerous_craft = FALSE + +/datum/crafting_recipe/New() + if(!(result in reqs)) + blacklist += result + +/** + * Run custom pre-craft checks for this recipe + * + * user: the /mob that initiated the crafting + * collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path. + */ +/datum/crafting_recipe/proc/check_requirements(mob/user, list/collected_requirements) + return TRUE diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index 64514d2d33831..b401e93ffd7e5 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -3,6 +3,7 @@ RegisterSignal(parent, COMSIG_MOB_CLIENT_LOGIN, PROC_REF(create_mob_button)) /datum/component/personal_crafting/proc/create_mob_button(mob/user, client/CL) + SIGNAL_HANDLER var/datum/hud/H = user.hud_used var/atom/movable/screen/craft/C = new() C.icon = H.ui_style @@ -12,16 +13,15 @@ /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_TAILORING = list( + CAT_CLOTHING, + CAT_EYEWEAR, + ), CAT_FOOD = list( CAT_BREAD, CAT_BURGER, @@ -38,16 +38,19 @@ CAT_SEAFOOD, CAT_SOUP, CAT_SPAGHETTI, + CAT_MEXICAN, ), + CAT_ROBOT = CAT_NONE, + CAT_MISC = CAT_NONE, + CAT_PRIMAL = CAT_NONE, + CAT_STRUCTURE = CAT_NONE, CAT_DRINK = CAT_NONE, - CAT_CLOTHING = CAT_NONE, ) - var/cur_category = CAT_NONE var/cur_subcategory = CAT_NONE - var/datum/action/innate/crafting/button var/display_craftable_only = FALSE var/display_compact = TRUE + var/datum/action/innate/crafting/button /* This is what procs do: get_environment - gets a list of things accessable for crafting by user diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm b/code/datums/components/crafting/crafting_lists/drinks.dm similarity index 87% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm rename to code/datums/components/crafting/crafting_lists/drinks.dm index e2b13d4b0f2bc..b29a16082f3d3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm +++ b/code/datums/components/crafting/crafting_lists/drinks.dm @@ -1,117 +1,117 @@ -// This is the home of drink related tablecrafting recipes, I have opted to only let players bottle fancy boozes to reduce the number of entries. - -///////////////// Booze & Bottles /////////////////// +/// Booze and bottles crafting +/// This is the home of drink related tablecrafting recipes, I have opted to only let players bottle fancy boozes to reduce the number of entries. /datum/crafting_recipe/lizardwine name = "Lizard Wine" - time = 40 + result = /obj/item/reagent_containers/food/drinks/bottle/lizardwine + time = 4 SECONDS reqs = list( /obj/item/organ/tail/lizard = 1, /datum/reagent/consumable/ethanol = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/lizardwine category = CAT_DRINK /datum/crafting_recipe/moonshinejug name = "Moonshine Jug" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/moonshine + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/ethanol/moonshine = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/moonshine category = CAT_DRINK /datum/crafting_recipe/hoochbottle name = "Hooch Bottle" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/hooch + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /obj/item/storage/box/papersack = 1, /datum/reagent/consumable/ethanol/hooch = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/hooch category = CAT_DRINK /datum/crafting_recipe/blazaambottle name = "Blazaam Bottle" - time = 20 + result = /obj/item/reagent_containers/food/drinks/bottle/blazaam + time = 2 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/ethanol/blazaam = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/blazaam category = CAT_DRINK /datum/crafting_recipe/champagnebottle name = "Champagne Bottle" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/champagne + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/ethanol/champagne = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/champagne category = CAT_DRINK /datum/crafting_recipe/trappistbottle name = "Trappist Bottle" - time = 15 + result = /obj/item/reagent_containers/food/drinks/bottle/trappist + time = 1.5 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank/small = 1, /datum/reagent/consumable/ethanol/trappist = 50 ) - result = /obj/item/reagent_containers/food/drinks/bottle/trappist category = CAT_DRINK /datum/crafting_recipe/goldschlagerbottle name = "Goldschlager Bottle" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/goldschlager + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/ethanol/goldschlager = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/goldschlager category = CAT_DRINK /datum/crafting_recipe/patronbottle name = "Patron Bottle" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/patron + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/ethanol/patron = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/patron category = CAT_DRINK ////////////////////// Non-alcoholic recipes /////////////////// /datum/crafting_recipe/holybottle name = "Holy Water Flask" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/holywater + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/water/holywater = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/holywater category = CAT_DRINK //flask of unholy water is a beaker for some reason, I will try making it a bottle and add it here once the antag freeze is over. t. kryson +//lazy lazy devs not doing their job and letting the code debt getting bigger and bigger IT'S BEEN 7 YEARS FFS /datum/crafting_recipe/nothingbottle name = "Nothing Bottle" - time = 30 + result = /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing + time = 3 SECONDS reqs = list( /obj/item/reagent_containers/food/drinks/bottle/blank = 1, /datum/reagent/consumable/nothing = 100 ) - result = /obj/item/reagent_containers/food/drinks/bottle/bottleofnothing category = CAT_DRINK /datum/crafting_recipe/smallcarton name = "Small Carton" result = /obj/item/reagent_containers/food/drinks/sillycup/smallcarton - time = 10 + time = 1 SECONDS reqs = list(/obj/item/stack/sheet/cardboard = 1) category = CAT_DRINK @@ -119,7 +119,7 @@ name = "Honeycomb" result = /obj/item/reagent_containers/food/drinks/honeycomb always_available = FALSE - time = 30 + time = 3 SECONDS reqs = list(/datum/reagent/consumable/sugar = 50) category = CAT_DRINK diff --git a/code/datums/components/crafting/crafting_lists/foodstuffs/_recipes.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/_recipes.dm new file mode 100644 index 0000000000000..cb9d37ebdfb83 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/_recipes.dm @@ -0,0 +1,9 @@ +///Ok foodstuffs act kinda in a funky way, as their category is pre-defined in here as you can see, sononly the subcategory needs to be defined! + +/datum/crafting_recipe/food + var/real_parts + category = CAT_FOOD + +/datum/crafting_recipe/food/New() + real_parts = parts.Copy() + parts |= reqs diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_bread.dm similarity index 92% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_bread.dm index bbc7500a17297..5bce825143af0 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_bread.dm @@ -1,160 +1,160 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////BREAD//////////////////////////////////////////////// +/// Bread stuff crafting /datum/crafting_recipe/food/meatbread name = "Meat bread" + result = /obj/item/food/bread/meat reqs = list( /obj/item/food/bread/plain = 1, /obj/item/food/meat/cutlet/plain = 3, /obj/item/food/cheese/wedge = 3 - ) - result = /obj/item/food/bread/meat + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/xenomeatbread name = "Xenomeat bread" + result = /obj/item/food/bread/xenomeat reqs = list( /obj/item/food/bread/plain = 1, /obj/item/food/meat/cutlet/xeno = 3, /obj/item/food/cheese/wedge = 3 - ) - result = /obj/item/food/bread/xenomeat + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/spidermeatbread name = "Spidermeat bread" + result = /obj/item/food/bread/spidermeat reqs = list( /obj/item/food/bread/plain = 1, /obj/item/food/meat/cutlet/spider = 3, /obj/item/food/cheese/wedge = 3 - ) - result = /obj/item/food/bread/spidermeat + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/banananutbread name = "Banana nut bread" + result = /obj/item/food/bread/banana reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/bread/plain = 1, /obj/item/food/boiledegg = 3, /obj/item/food/grown/banana = 1 - ) - result = /obj/item/food/bread/banana + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/tofubread name = "Tofu bread" + result = /obj/item/food/bread/tofu reqs = list( /obj/item/food/bread/plain = 1, /obj/item/food/tofu = 3, /obj/item/food/cheese/wedge = 3 - ) - result = /obj/item/food/bread/tofu + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/creamcheesebread name = "Cream cheese bread" + result = /obj/item/food/bread/creamcheese reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/bread/plain = 1, /obj/item/food/cheese/wedge = 2 - ) - result = /obj/item/food/bread/creamcheese + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/mimanabread name = "Mimana bread" + result = /obj/item/food/bread/mimana reqs = list( /datum/reagent/consumable/soymilk = 5, /obj/item/food/bread/plain = 1, /obj/item/food/tofu = 3, /obj/item/food/grown/banana/mime = 1 - ) - result = /obj/item/food/bread/mimana + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/garlicbread name = "Garlic Bread" - time = 40 - reqs = list(/obj/item/food/grown/garlic = 1, - /obj/item/food/breadslice/plain = 1, - /obj/item/food/butter = 1 - ) + time = 4 SECONDS result = /obj/item/food/garlicbread + reqs = list( + /obj/item/food/grown/garlic = 1, + /obj/item/food/breadslice/plain = 1, + /obj/item/food/butter = 1 + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/butterbiscuit name = "Butter Biscuit" + result = /obj/item/food/butterbiscuit reqs = list( /obj/item/food/bun = 1, /obj/item/food/butter = 1 - ) - result = /obj/item/food/butterbiscuit + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/butterdog name = "Butterdog" + result = /obj/item/food/butterdog reqs = list( /obj/item/food/bun = 1, - /obj/item/food/butter = 3, + /obj/item/food/butter = 3 ) - result = /obj/item/food/butterdog subcategory = CAT_BREAD /datum/crafting_recipe/food/baguette name = "Baguette" - time = 40 + time = 2 SECONDS + result = /obj/item/food/baguette reqs = list(/datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/blackpepper = 1, /obj/item/food/pastrybase = 2 - ) - result = /obj/item/food/baguette + ) subcategory = CAT_BREAD ////////////////////////////////////////////////TOAST//////////////////////////////////////////////// /datum/crafting_recipe/food/slimetoast name = "Slime toast" + result = /obj/item/food/jelliedtoast/slime reqs = list( /datum/reagent/toxin/slimejelly = 5, /obj/item/food/breadslice/plain = 1 - ) - result = /obj/item/food/jelliedtoast/slime + ) subcategory = CAT_BREAD /datum/crafting_recipe/food/jelliedyoast name = "Jellied toast" + result = /obj/item/food/jelliedtoast/cherry reqs = list( /datum/reagent/consumable/cherryjelly = 5, /obj/item/food/breadslice/plain = 1 ) - result = /obj/item/food/jelliedtoast/cherry subcategory = CAT_BREAD /datum/crafting_recipe/food/butteredtoast name = "Buttered Toast" + result = /obj/item/food/butteredtoast reqs = list( /obj/item/food/breadslice/plain = 1, /obj/item/food/butter = 1 ) - result = /obj/item/food/butteredtoast subcategory = CAT_BREAD /datum/crafting_recipe/food/twobread name = "Two bread" + result = /obj/item/food/twobread reqs = list( /datum/reagent/consumable/ethanol/wine = 5, /obj/item/food/breadslice/plain = 2 ) - result = /obj/item/food/twobread subcategory = CAT_BREAD ////////////////////////////////////////////////WEIRD//////////////////////////////////////////////// /datum/crafting_recipe/food/breadcat name = "Bread cat/bread hybrid" + result = /mob/living/simple_animal/pet/cat/breadcat reqs = list( /obj/item/food/bread/plain = 1, /obj/item/organ/ears/cat = 1, @@ -163,5 +163,4 @@ /datum/reagent/blood = 50, /datum/reagent/medicine/strange_reagent = 5 ) - result = /mob/living/simple_animal/pet/cat/breadcat subcategory = CAT_BREAD diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_burger.dm similarity index 81% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_burger.dm index 24bc4b08519b5..ae720b3a7a88f 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_burger.dm @@ -1,225 +1,219 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////BURGERS//////////////////////////////////////////////// - +/// Burgers crafting /datum/crafting_recipe/food/humanburger name = "Human burger" + result = /obj/item/food/burger/human reqs = list( /obj/item/food/bun = 1, /obj/item/food/patty/human = 1 ) - parts = list( - /obj/item/food/patty = 1 - ) - result = /obj/item/food/burger/human + parts = list(/obj/item/food/patty = 1) subcategory = CAT_BURGER /datum/crafting_recipe/food/burger name = "Burger" + result = /obj/item/food/burger/plain reqs = list( - /obj/item/food/patty/plain = 1, - /obj/item/food/bun = 1 + /obj/item/food/patty/plain = 1, + /obj/item/food/bun = 1 ) - - result = /obj/item/food/burger/plain subcategory = CAT_BURGER /datum/crafting_recipe/food/corgiburger name = "Corgi burger" + result = /obj/item/food/burger/corgi reqs = list( - /obj/item/food/patty/corgi = 1, - /obj/item/food/bun = 1 + /obj/item/food/patty/corgi = 1, + /obj/item/food/bun = 1 ) - - result = /obj/item/food/burger/corgi subcategory = CAT_BURGER /datum/crafting_recipe/food/appendixburger name = "Appendix burger" + result = /obj/item/food/burger/appendix reqs = list( /obj/item/organ/appendix = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/appendix subcategory = CAT_BURGER /datum/crafting_recipe/food/brainburger name = "Brain burger" + result = /obj/item/food/burger/brain reqs = list( /obj/item/organ/brain = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/brain subcategory = CAT_BURGER /datum/crafting_recipe/food/xenoburger name = "Xeno burger" + result = /obj/item/food/burger/xeno reqs = list( /obj/item/food/patty/xeno = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/xeno subcategory = CAT_BURGER /datum/crafting_recipe/food/bearger name = "Bearger" + result = /obj/item/food/burger/bearger reqs = list( /obj/item/food/patty/bear = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/bearger subcategory = CAT_BURGER /datum/crafting_recipe/food/fishburger name = "Fish burger" + result = /obj/item/food/burger/fish reqs = list( /obj/item/food/fishmeat/carp = 1, /obj/item/food/cheese/wedge = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/fish subcategory = CAT_BURGER /datum/crafting_recipe/food/tofuburger name = "Tofu burger" + result = /obj/item/food/burger/tofu reqs = list( /obj/item/food/tofu = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/tofu subcategory = CAT_BURGER /datum/crafting_recipe/food/ghostburger name = "Ghost burger" + result = /obj/item/food/burger/ghost reqs = list( /obj/item/ectoplasm = 1, /datum/reagent/consumable/sodiumchloride = 2, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/ghost subcategory = CAT_BURGER /datum/crafting_recipe/food/clownburger name = "Clown burger" + result = /obj/item/food/burger/clown reqs = list( /obj/item/clothing/mask/gas/clown_hat = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/clown subcategory = CAT_BURGER /datum/crafting_recipe/food/mimeburger name = "Mime burger" + result = /obj/item/food/burger/mime reqs = list( /obj/item/clothing/mask/gas/mime = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/mime subcategory = CAT_BURGER /datum/crafting_recipe/food/redburger name = "Red burger" + result = /obj/item/food/burger/red reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/red = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/red subcategory = CAT_BURGER /datum/crafting_recipe/food/orangeburger name = "Orange burger" + result = /obj/item/food/burger/orange reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/orange = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/orange subcategory = CAT_BURGER /datum/crafting_recipe/food/yellowburger name = "Yellow burger" + result = /obj/item/food/burger/yellow reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/yellow = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/yellow subcategory = CAT_BURGER /datum/crafting_recipe/food/greenburger name = "Green burger" + result = /obj/item/food/burger/green reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/green = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/green subcategory = CAT_BURGER /datum/crafting_recipe/food/blueburger name = "Blue burger" + result = /obj/item/food/burger/blue reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/blue = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/blue subcategory = CAT_BURGER /datum/crafting_recipe/food/purpleburger name = "Purple burger" + result = /obj/item/food/burger/purple reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/purple = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/purple subcategory = CAT_BURGER /datum/crafting_recipe/food/blackburger name = "Black burger" + result = /obj/item/food/burger/black reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/black = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/black subcategory = CAT_BURGER /datum/crafting_recipe/food/whiteburger name = "White burger" + result = /obj/item/food/burger/white reqs = list( /obj/item/food/patty/plain = 1, /obj/item/toy/crayon/white = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/white subcategory = CAT_BURGER /datum/crafting_recipe/food/spellburger name = "Spell burger" + result = /obj/item/food/burger/spell reqs = list( /obj/item/clothing/head/wizard = 1, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/spell subcategory = CAT_BURGER /datum/crafting_recipe/food/bigbiteburger name = "Big bite burger" + result = /obj/item/food/burger/bigbite reqs = list( /obj/item/food/patty/plain = 3, /obj/item/food/cheese/wedge = 2, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/bigbite subcategory = CAT_BURGER /datum/crafting_recipe/food/superbiteburger name = "Super bite burger" + result = /obj/item/food/burger/superbite reqs = list( /datum/reagent/consumable/sodiumchloride = 5, /datum/reagent/consumable/blackpepper = 5, @@ -229,147 +223,142 @@ /obj/item/food/boiledegg = 1, /obj/item/food/meat/bacon = 1, /obj/item/food/bun = 1 - ) - result = /obj/item/food/burger/superbite subcategory = CAT_BURGER /datum/crafting_recipe/food/slimeburger name = "Jelly burger" + result = /obj/item/food/burger/jelly/slime reqs = list( /datum/reagent/toxin/slimejelly = 5, /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/jelly/slime subcategory = CAT_BURGER /datum/crafting_recipe/food/jellyburger name = "Jelly burger" + result = /obj/item/food/burger/jelly/cherry reqs = list( - /datum/reagent/consumable/cherryjelly = 5, - /obj/item/food/bun = 1 + /datum/reagent/consumable/cherryjelly = 5, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/jelly/cherry subcategory = CAT_BURGER /datum/crafting_recipe/food/fivealarmburger name = "Five alarm burger" + result = /obj/item/food/burger/fivealarm reqs = list( - /obj/item/food/patty/plain = 1, - /obj/item/food/grown/ghost_chili = 2, - /obj/item/food/bun = 1 + /obj/item/food/patty/plain = 1, + /obj/item/food/grown/ghost_chili = 2, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/fivealarm subcategory = CAT_BURGER /datum/crafting_recipe/food/ratburger name = "Rat burger" + result = /obj/item/food/burger/rat reqs = list( - /obj/item/food/deadmouse = 1, - /obj/item/food/bun = 1 + /obj/item/food/deadmouse = 1, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/rat subcategory = CAT_BURGER /datum/crafting_recipe/food/baseballburger name = "Home run baseball burger" + result = /obj/item/food/burger/baseball reqs = list( - /obj/item/melee/baseball_bat = 1, - /obj/item/food/bun = 1 + /obj/item/melee/baseball_bat = 1, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/baseball subcategory = CAT_BURGER /datum/crafting_recipe/food/baconburger name = "Bacon Burger" + result = /obj/item/food/burger/baconburger reqs = list( - /obj/item/food/meat/bacon = 3, - /obj/item/food/bun = 1 + /obj/item/food/meat/bacon = 3, + /obj/item/food/bun = 1 ) - - result = /obj/item/food/burger/baconburger subcategory = CAT_BURGER /datum/crafting_recipe/food/empoweredburger name = "Empowered Burger" + result = /obj/item/food/burger/empoweredburger reqs = list( - /obj/item/stack/sheet/mineral/plasma = 2, - /obj/item/food/bun = 1 + /obj/item/stack/sheet/mineral/plasma = 2, + /obj/item/food/bun = 1 ) - - result = /obj/item/food/burger/empoweredburger subcategory = CAT_BURGER /datum/crafting_recipe/food/crabburger name = "Crab Burger" + result = /obj/item/food/burger/crab reqs = list( - /obj/item/food/meat/crab = 2, - /obj/item/food/bun = 1 + /obj/item/food/meat/crab = 2, + /obj/item/food/bun = 1 ) - - result = /obj/item/food/burger/crab subcategory = CAT_BURGER /datum/crafting_recipe/food/cheeseburger name = "Cheese Burger" + result = /obj/item/food/burger/cheese reqs = list( - /obj/item/food/patty/plain = 1, - /obj/item/food/cheese/wedge = 1, - /obj/item/food/bun = 1 + /obj/item/food/patty/plain = 1, + /obj/item/food/cheese/wedge = 1, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/cheese subcategory = CAT_BURGER /datum/crafting_recipe/food/soylentburger name = "Soylent Burger" + result = /obj/item/food/burger/soylent reqs = list( - /obj/item/food/soylentgreen = 1, //two full meats worth. - /obj/item/food/cheese/wedge = 2, - /obj/item/food/bun = 1 + /obj/item/food/soylentgreen = 1, //two full meats worth. + /obj/item/food/cheese/wedge = 2, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/soylent subcategory = CAT_BURGER /datum/crafting_recipe/food/ribburger name = "McRib" + result = /obj/item/food/burger/rib reqs = list( - /obj/item/food/bbqribs = 1, //The sauce is already included in the ribs - /obj/item/food/onion_slice = 1, //feel free to remove if too burdensome. - /obj/item/food/bun = 1 + /obj/item/food/bbqribs = 1, //The sauce is already included in the ribs + /obj/item/food/onion_slice = 1, //feel free to remove if too burdensome. + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/rib subcategory = CAT_BURGER /datum/crafting_recipe/food/mcguffin name = "McGuffin" + result = /obj/item/food/burger/mcguffin reqs = list( - /obj/item/food/friedegg = 1, - /obj/item/food/meat/bacon = 2, - /obj/item/food/bun = 1 + /obj/item/food/friedegg = 1, + /obj/item/food/meat/bacon = 2, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/mcguffin subcategory = CAT_BURGER /datum/crafting_recipe/food/chickenburger name = "Chicken Sandwich" + result = /obj/item/food/burger/chicken reqs = list( - /obj/item/food/patty/chicken = 1, - /datum/reagent/consumable/mayonnaise = 5, - /obj/item/food/bun = 1 + /obj/item/food/patty/chicken = 1, + /datum/reagent/consumable/mayonnaise = 5, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/chicken subcategory = CAT_BURGER /datum/crafting_recipe/food/crazyhamburger name = "Crazy Hamburger" + result = /obj/item/food/burger/crazy reqs = list( - /obj/item/food/patty/plain = 1, // we have no horse meat sadly - /obj/item/food/grown/chili = 2, - /datum/reagent/consumable/cooking_oil = 20, - /obj/item/food/grown/nettle/death = 2, // closest thing to "grass of death" - /obj/item/food/cheese/wedge = 4, - /obj/item/food/bun = 1 + /obj/item/food/patty/plain = 1, // we have no horse meat sadly + /obj/item/food/grown/chili = 2, + /datum/reagent/consumable/cooking_oil = 20, + /obj/item/food/grown/nettle/death = 2, // closest thing to "grass of death" + /obj/item/food/cheese/wedge = 4, + /obj/item/food/bun = 1 ) - result = /obj/item/food/burger/crazy subcategory = CAT_BURGER diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_cake.dm similarity index 94% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_cake.dm index 8864c55d32a05..576985051f392 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_cake.dm @@ -1,200 +1,198 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////CAKE//////////////////////////////////////////////// +/// Cakes crafting /datum/crafting_recipe/food/carrotcake name = "Carrot cake" + result = /obj/item/food/cake/carrot reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/carrot = 2 ) - result = /obj/item/food/cake/carrot subcategory = CAT_CAKE /datum/crafting_recipe/food/cheesecake name = "Cheese cake" + result = /obj/item/food/cake/cheese reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/cheese/wedge = 2 ) - result = /obj/item/food/cake/cheese subcategory = CAT_CAKE /datum/crafting_recipe/food/applecake name = "Apple cake" + result = /obj/item/food/cake/apple reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/apple = 2 ) - result = /obj/item/food/cake/apple subcategory = CAT_CAKE /datum/crafting_recipe/food/orangecake name = "Orange cake" + result = /obj/item/food/cake/orange reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/citrus/orange = 2 ) - result = /obj/item/food/cake/orange subcategory = CAT_CAKE /datum/crafting_recipe/food/limecake name = "Lime cake" + result = /obj/item/food/cake/lime reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/citrus/lime = 2 ) - result = /obj/item/food/cake/lime subcategory = CAT_CAKE /datum/crafting_recipe/food/lemoncake name = "Lemon cake" + result = /obj/item/food/cake/lemon reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/citrus/lemon = 2 ) - result = /obj/item/food/cake/lemon subcategory = CAT_CAKE /datum/crafting_recipe/food/chocolatecake name = "Chocolate cake" + result = /obj/item/food/cake/chocolate reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/chocolatebar = 2 ) - result = /obj/item/food/cake/chocolate subcategory = CAT_CAKE /datum/crafting_recipe/food/birthdaycake name = "Birthday cake" + result = /obj/item/food/cake/birthday reqs = list( /obj/item/food/cake/plain = 1, /obj/item/candle = 1, /datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/caramel = 2 ) - result = /obj/item/food/cake/birthday subcategory = CAT_CAKE /datum/crafting_recipe/food/energycake name = "Energy cake" + blacklist = list(/obj/item/food/cake/birthday/energy) reqs = list( /obj/item/food/cake/birthday = 1, /obj/item/melee/transforming/energy/sword = 1, ) - blacklist = list(/obj/item/food/cake/birthday/energy) result = /obj/item/food/cake/birthday/energy subcategory = CAT_CAKE /datum/crafting_recipe/food/braincake name = "Brain cake" + result = /obj/item/food/cake/brain reqs = list( /obj/item/organ/brain = 1, /obj/item/food/cake/plain = 1 ) - result = /obj/item/food/cake/brain subcategory = CAT_CAKE /datum/crafting_recipe/food/slimecake name = "Slime cake" + result = /obj/item/food/cake/slimecake reqs = list( /obj/item/slime_extract = 1, /obj/item/food/cake/plain = 1 ) - result = /obj/item/food/cake/slimecake subcategory = CAT_CAKE /datum/crafting_recipe/food/pumpkinspicecake name = "Pumpkin spice cake" + result = /obj/item/food/cake/pumpkinspice reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/pumpkin = 2 ) - result = /obj/item/food/cake/pumpkinspice subcategory = CAT_CAKE /datum/crafting_recipe/food/holycake name = "Angel food cake" + result = /obj/item/food/cake/holy_cake reqs = list( /datum/reagent/water/holywater = 15, /obj/item/food/cake/plain = 1 ) - result = /obj/item/food/cake/holy_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/poundcake name = "Pound cake" + result = /obj/item/food/cake/pound_cake reqs = list( /obj/item/food/cake/plain = 4 ) - result = /obj/item/food/cake/pound_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/hardwarecake name = "Hardware cake" + result = /obj/item/food/cake/hardware_cake reqs = list( /obj/item/food/cake/plain = 1, /obj/item/circuitboard = 2, - /datum/reagent/toxin/acid = 5 + /datum/reagent/toxin/acid = 5 //ironic that circuitmaking no longer need acids, but a cake that's a circuit still do ) - result = /obj/item/food/cake/hardware_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/bscccake name = "blackberry and strawberry chocolate cake" + result = /obj/item/food/cake/bscc reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/chocolatebar = 2, /obj/item/food/grown/berries = 5 ) - result = /obj/item/food/cake/bscc subcategory = CAT_CAKE /datum/crafting_recipe/food/bscvcake name = "blackberry and strawberry vanilla cake" + result = /obj/item/food/cake/bsvc reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/berries = 5 ) - result = /obj/item/food/cake/bsvc subcategory = CAT_CAKE /datum/crafting_recipe/food/clowncake name = "clown cake" always_available = FALSE + result = /obj/item/food/cake/clown_cake reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/sundae = 2, /obj/item/food/grown/banana = 5 ) - result = /obj/item/food/cake/clown_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/vanillacake name = "vanilla cake" always_available = FALSE + result = /obj/item/food/cake/vanilla_cake reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/vanillapod = 2 ) - result = /obj/item/food/cake/vanilla_cake subcategory = CAT_CAKE /datum/crafting_recipe/food/trumpetcake name = "Spaceman's Cake" + result = /obj/item/food/cake/trumpet reqs = list( /obj/item/food/cake/plain = 1, /obj/item/food/grown/flower/trumpet = 2, /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/food/cake/trumpet subcategory = CAT_CAKE - /datum/crafting_recipe/food/cak name = "Living cat/cake hybrid" + result = /mob/living/simple_animal/pet/cat/cak reqs = list( /obj/item/organ/brain = 1, /obj/item/organ/heart = 1, @@ -204,16 +202,15 @@ /datum/reagent/consumable/sprinkles = 5, /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 /datum/crafting_recipe/food/popup_cake name = "Towering pile of cakes" + result = /obj/structure/popout_cake reqs = list( - /obj/item/food/cake/plain = 3, - /datum/reagent/consumable/sugar = 10, - /datum/reagent/consumable/cream = 5, - /obj/item/bikehorn/airhorn = 1 + /obj/item/food/cake/plain = 3, + /datum/reagent/consumable/sugar = 10, + /datum/reagent/consumable/cream = 5, + /obj/item/bikehorn/airhorn = 1 ) - result = /obj/structure/popout_cake subcategory = CAT_CAKE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_egg.dm similarity index 89% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_egg.dm index c444f4ee5388b..08a504aad342f 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_egg.dm @@ -1,48 +1,47 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////EGG RECIPE's//////////////////////////////////////////////// +/// Egg stuff crafting /datum/crafting_recipe/food/friedegg name = "Fried egg" + result = /obj/item/food/friedegg reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /datum/reagent/consumable/blackpepper = 1, /obj/item/food/egg = 1 ) - result = /obj/item/food/friedegg subcategory = CAT_EGG /datum/crafting_recipe/food/omelette name = "Omelette" + result = /obj/item/food/omelette reqs = list( /obj/item/food/egg = 2, /obj/item/food/cheese/wedge = 2 ) - result = /obj/item/food/omelette subcategory = CAT_EGG /datum/crafting_recipe/food/chocolateegg name = "Chocolate egg" + result = /obj/item/food/chocolateegg reqs = list( /obj/item/food/boiledegg = 1, /obj/item/food/chocolatebar = 1 ) - result = /obj/item/food/chocolateegg subcategory = CAT_EGG /datum/crafting_recipe/food/eggsbenedict name = "Eggs benedict" + result = /obj/item/food/benedict reqs = list( /obj/item/food/friedegg = 1, /obj/item/food/meat/steak = 1, /obj/item/food/breadslice/plain = 1, ) - result = /obj/item/food/benedict subcategory = CAT_EGG /datum/crafting_recipe/food/eggbowl name = "Egg bowl" + result = /obj/item/food/salad/eggbowl reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/boiledrice = 1, @@ -50,25 +49,24 @@ /obj/item/food/grown/carrot = 1, /obj/item/food/grown/corn = 1 ) - result = /obj/item/food/salad/eggbowl subcategory = CAT_EGG /datum/crafting_recipe/food/wrap name = "Wrap" + result = /obj/item/food/eggwrap reqs = list(/datum/reagent/consumable/soysauce = 10, /obj/item/food/friedegg = 1, /obj/item/food/grown/cabbage = 1, ) - result = /obj/item/food/eggwrap - category = CAT_EGG + subcategory = CAT_EGG /datum/crafting_recipe/food/chawanmushi name = "Chawanmushi" + result = /obj/item/food/chawanmushi reqs = list( /datum/reagent/water = 5, /datum/reagent/consumable/soysauce = 5, /obj/item/food/boiledegg = 2, /obj/item/food/grown/mushroom/chanterelle = 1 ) - result = /obj/item/food/chawanmushi - category = CAT_EGG + subcategory = CAT_EGG diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_frozen.dm similarity index 99% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_frozen.dm index 113e3f3a01588..1d79c9f3e02e3 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_frozen.dm @@ -1,51 +1,50 @@ -///////////////// -//Misc. Frozen.// -///////////////// +/// Misc. foodstuff crafting /datum/crafting_recipe/food/icecreamsandwich name = "Icecream sandwich" + result = /obj/item/food/icecreamsandwich reqs = list( /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/ice = 5, /obj/item/food/icecream = 1 ) - result = /obj/item/food/icecreamsandwich subcategory = CAT_ICE /datum/crafting_recipe/food/strawberryicecreamsandwich name = "Strawberry ice cream sandwich" + result = /obj/item/food/strawberryicecreamsandwich reqs = list( /datum/reagent/consumable/cream = 5, /datum/reagent/consumable/ice = 5, /obj/item/food/grown/berries = 2, ) - result = /obj/item/food/strawberryicecreamsandwich subcategory = CAT_ICE /datum/crafting_recipe/food/spacefreezy name ="Space freezy" + result = /obj/item/food/spacefreezy reqs = list( /datum/reagent/consumable/bluecherryjelly = 5, /datum/reagent/consumable/spacemountainwind = 15, /obj/item/food/icecream = 1 ) - result = /obj/item/food/spacefreezy subcategory = CAT_ICE /datum/crafting_recipe/food/sundae name ="Sundae" + result = /obj/item/food/sundae reqs = list( /datum/reagent/consumable/cream = 5, /obj/item/food/grown/cherries = 1, /obj/item/food/grown/banana = 1, /obj/item/food/icecream = 1 ) - result = /obj/item/food/sundae subcategory = CAT_ICE /datum/crafting_recipe/food/honkdae name ="Honkdae" + result = /obj/item/food/honkdae reqs = list( /datum/reagent/consumable/cream = 5, /obj/item/clothing/mask/gas/clown_hat = 1, @@ -53,112 +52,112 @@ /obj/item/food/grown/banana = 2, /obj/item/food/icecream = 1 ) - result = /obj/item/food/honkdae subcategory = CAT_ICE //////////////////////////SNOW CONES/////////////////////// /datum/crafting_recipe/food/flavorless_sc name = "Flavorless snowcone" + result = /obj/item/food/snowcones reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15 ) - result = /obj/item/food/snowcones subcategory = CAT_ICE /datum/crafting_recipe/food/pineapple_sc name = "Pineapple snowcone" + result = /obj/item/food/snowcones/pineapple reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/pineapplejuice = 5 ) - result = /obj/item/food/snowcones/pineapple subcategory = CAT_ICE /datum/crafting_recipe/food/lime_sc name = "Lime snowcone" + result = /obj/item/food/snowcones/lime reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/limejuice = 5 ) - result = /obj/item/food/snowcones/lime subcategory = CAT_ICE /datum/crafting_recipe/food/lemon_sc name = "Lemon snowcone" + result = /obj/item/food/snowcones/lemon reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/lemonjuice = 5 ) - result = /obj/item/food/snowcones/lemon subcategory = CAT_ICE /datum/crafting_recipe/food/apple_sc name = "Apple snowcone" + result = /obj/item/food/snowcones/apple reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/applejuice = 5 ) - result = /obj/item/food/snowcones/apple subcategory = CAT_ICE /datum/crafting_recipe/food/grape_sc name = "Grape snowcone" + result = /obj/item/food/snowcones/grape reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/food/snowcones/grape subcategory = CAT_ICE /datum/crafting_recipe/food/orange_sc name = "Orange snowcone" + result = /obj/item/food/snowcones/orange reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/orangejuice = 5 ) - result = /obj/item/food/snowcones/orange subcategory = CAT_ICE /datum/crafting_recipe/food/blue_sc name = "Bluecherry snowcone" + result = /obj/item/food/snowcones/blue reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/bluecherryjelly= 5 ) - result = /obj/item/food/snowcones/blue subcategory = CAT_ICE /datum/crafting_recipe/food/red_sc name = "Cherry snowcone" + result = /obj/item/food/snowcones/red reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/cherryjelly= 5 ) - result = /obj/item/food/snowcones/red subcategory = CAT_ICE /datum/crafting_recipe/food/berry_sc name = "Berry snowcone" + result = /obj/item/food/snowcones/berry reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/berryjuice = 5 ) - result = /obj/item/food/snowcones/berry subcategory = CAT_ICE /datum/crafting_recipe/food/fruitsalad_sc name = "Fruit Salad snowcone" + result = /obj/item/food/snowcones/fruitsalad reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/water = 5, @@ -167,75 +166,74 @@ /datum/reagent/consumable/limejuice = 5, /datum/reagent/consumable/lemonjuice = 5 ) - result = /obj/item/food/snowcones/fruitsalad subcategory = CAT_ICE /datum/crafting_recipe/food/mime_sc name = "Mime snowcone" + result = /obj/item/food/snowcones/mime reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/nothing = 5 ) - result = /obj/item/food/snowcones/mime subcategory = CAT_ICE /datum/crafting_recipe/food/clown_sc name = "Clown snowcone" + result = /obj/item/food/snowcones/clown reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/laughter = 5 ) - result = /obj/item/food/snowcones/clown subcategory = CAT_ICE /datum/crafting_recipe/food/soda_sc name = "Space Cola snowcone" + result = /obj/item/food/snowcones/soda reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/space_cola = 5 ) - result = /obj/item/food/snowcones/soda subcategory = CAT_ICE /datum/crafting_recipe/food/spacemountainwind_sc name = "Space Mountain Wind snowcone" + result = /obj/item/food/snowcones/spacemountainwind reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/spacemountainwind = 5 ) - result = /obj/item/food/snowcones/spacemountainwind subcategory = CAT_ICE /datum/crafting_recipe/food/pwrgame_sc name = "Pwrgame snowcone" + result = /obj/item/food/snowcones/pwrgame reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/pwr_game = 15 ) - result = /obj/item/food/snowcones/pwrgame subcategory = CAT_ICE /datum/crafting_recipe/food/honey_sc name = "Honey snowcone" + result = /obj/item/food/snowcones/honey reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/consumable/honey = 5 ) - result = /obj/item/food/snowcones/honey subcategory = CAT_ICE /datum/crafting_recipe/food/rainbow_sc name = "Rainbow snowcone" + result = /obj/item/food/snowcones/rainbow reqs = list( /obj/item/reagent_containers/food/drinks/sillycup = 1, /datum/reagent/consumable/ice = 15, /datum/reagent/colorful_reagent = 1 //Harder to make ) - result = /obj/item/food/snowcones/rainbow subcategory = CAT_ICE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_meat.dm similarity index 95% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_meat.dm index 35bff8f48e67b..d379c06cb1953 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_meat.dm @@ -1,45 +1,45 @@ -// see code/module/crafting/table.dm -////////////////////////////////////////////////KEBABS//////////////////////////////////////////////// +/// Meat stuff crafting /datum/crafting_recipe/food/humankebab name = "Human kebab" + result = /obj/item/food/kebab/human reqs = list( /obj/item/stack/rods = 1, /obj/item/food/meat/steak/plain/human = 2 ) - result = /obj/item/food/kebab/human subcategory = CAT_MEAT /datum/crafting_recipe/food/kebab name = "Kebab" + result = /obj/item/food/kebab/monkey reqs = list( /obj/item/stack/rods = 1, /obj/item/food/meat/steak = 2 ) - result = /obj/item/food/kebab/monkey subcategory = CAT_MEAT /datum/crafting_recipe/food/tofukebab name = "Tofu kebab" + result = /obj/item/food/kebab/tofu reqs = list( /obj/item/stack/rods = 1, /obj/item/food/tofu = 2 ) - result = /obj/item/food/kebab/tofu subcategory = CAT_MEAT /datum/crafting_recipe/food/tailkebab name = "Lizard tail kebab" + result = /obj/item/food/kebab/tail reqs = list( /obj/item/stack/rods = 1, /obj/item/organ/tail/lizard = 1 ) - result = /obj/item/food/kebab/tail subcategory = CAT_MEAT /datum/crafting_recipe/food/fiestaskewer name = "Fiesta Skewer" + result = /obj/item/food/kebab/fiesta reqs = list( /obj/item/stack/rods = 1, /obj/item/food/grown/chili = 1, @@ -47,167 +47,166 @@ /obj/item/food/grown/corn = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/kebab/fiesta subcategory = CAT_MEAT ////////////////////////////////////////////////MR SPIDER//////////////////////////////////////////////// +/// Misc. Meats crafting + /datum/crafting_recipe/food/spidereggsham name = "Spider eggs ham" + result = /obj/item/food/spidereggsham reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/spidereggs = 1, /obj/item/food/meat/cutlet/spider = 2 ) - result = /obj/item/food/spidereggsham subcategory = CAT_MEAT -////////////////////////////////////////////////MISC RECIPE's//////////////////////////////////////////////// - /datum/crafting_recipe/food/cornedbeef name = "Corned beef" + result = /obj/item/food/cornedbeef reqs = list( /datum/reagent/consumable/sodiumchloride = 5, /obj/item/food/meat/steak = 1, /obj/item/food/grown/cabbage = 2 ) - result = /obj/item/food/cornedbeef subcategory = CAT_MEAT /datum/crafting_recipe/food/bearsteak name = "Filet migrawr" + result = /obj/item/food/bearsteak + tools = list(/obj/item/lighter) reqs = list( /datum/reagent/consumable/ethanol/manly_dorf = 5, /obj/item/food/meat/steak/bear = 1, ) - tools = list(/obj/item/lighter) - result = /obj/item/food/bearsteak subcategory = CAT_MEAT /datum/crafting_recipe/food/stewedsoymeat name = "Stewed soymeat" + result = /obj/item/food/stewedsoymeat reqs = list( /obj/item/food/soydope = 2, /obj/item/food/grown/carrot = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/stewedsoymeat subcategory = CAT_MEAT /datum/crafting_recipe/food/sausage name = "Sausage" + result = /obj/item/food/raw_sausage reqs = list( /obj/item/food/meatball = 1, /obj/item/food/meat/cutlet = 2 ) - result = /obj/item/food/raw_sausage subcategory = CAT_MEAT /datum/crafting_recipe/food/nugget name = "Chicken nugget" + result = /obj/item/food/nugget reqs = list( /obj/item/food/meat/cutlet = 1 ) - result = /obj/item/food/nugget subcategory = CAT_MEAT /datum/crafting_recipe/food/rawkhinkali name = "Raw Khinkali" + result = /obj/item/food/rawkhinkali reqs = list( /obj/item/food/doughslice = 1, /obj/item/food/grown/garlic = 1, /obj/item/food/meatball = 1 ) - result = /obj/item/food/rawkhinkali subcategory = CAT_MEAT /datum/crafting_recipe/food/meatbun name = "Meat bun" + result = /obj/item/food/meatbun reqs = list( /datum/reagent/consumable/soysauce = 5, /obj/item/food/bun = 1, /obj/item/food/meatball = 1, /obj/item/food/grown/cabbage = 1 ) - result = /obj/item/food/meatbun subcategory = CAT_MEAT /datum/crafting_recipe/food/pigblanket name = "Pig in a Blanket" + result = /obj/item/food/pigblanket reqs = list( /obj/item/food/bun = 1, /obj/item/food/butter = 1, /obj/item/food/meat/cutlet = 1 ) - result = /obj/item/food/pigblanket subcategory = CAT_MEAT /datum/crafting_recipe/food/meatbun name = "Meat bun" + result = /obj/item/food/meatbun reqs = list( /datum/reagent/consumable/soysauce = 5, /obj/item/food/bun = 1, /obj/item/food/meatball = 1, /obj/item/food/grown/cabbage = 1 ) - result = /obj/item/food/meatbun subcategory = CAT_MEAT /datum/crafting_recipe/food/ratkebab name = "Rat Kebab" + result = /obj/item/food/kebab/rat reqs = list( /obj/item/stack/rods = 1, /obj/item/food/deadmouse = 1 ) - result = /obj/item/food/kebab/rat subcategory = CAT_MEAT /datum/crafting_recipe/food/doubleratkebab name = "Double Rat Kebab" + result = /obj/item/food/kebab/rat/double reqs = list( /obj/item/stack/rods = 1, /obj/item/food/deadmouse = 2 ) - result = /obj/item/food/kebab/rat/double subcategory = CAT_MEAT /datum/crafting_recipe/food/ricepork name = "Rice and Pork" + result = /obj/item/food/salad/ricepork reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/boiledrice = 1, /obj/item/food/meat/cutlet = 2 ) - result = /obj/item/food/salad/ricepork subcategory = CAT_MEAT /datum/crafting_recipe/food/ashsteak name = "Ashflaked Steak" + result = /obj/item/food/meat/steak/ashflake reqs = list( /obj/item/food/meat/steak/goliath = 1, /obj/item/food/grown/ash_flora/cactus_fruit = 1, /obj/item/food/grown/ash_flora/mushroom_leaf = 1 ) - result = /obj/item/food/meat/steak/ashflake subcategory = CAT_MEAT /datum/crafting_recipe/food/ribs name = "BBQ Ribs" + result = /obj/item/food/bbqribs reqs = list( /datum/reagent/consumable/bbqsauce = 5, /obj/item/food/meat/steak/plain = 2, /obj/item/stack/rods = 2 ) - result = /obj/item/food/bbqribs subcategory = CAT_MEAT /datum/crafting_recipe/food/meatclown name = "Meat Clown" + result = /obj/item/food/meatclown reqs = list( /obj/item/food/meat/steak/plain = 1, /obj/item/food/grown/banana = 1 ) - result = /obj/item/food/meatclown subcategory = CAT_MEAT diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_mexican.dm similarity index 97% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_mexican.dm index 0e6ea744e793f..02d3ae6819f10 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_mexican.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_mexican.dm @@ -1,114 +1,113 @@ -// see code/module/crafting/table.dm -// MEXICAN +/// Mexican Foodstuff crafting /datum/crafting_recipe/food/burrito name ="Burrito" + result = /obj/item/food/burrito reqs = list( /obj/item/food/tortilla = 1, /obj/item/food/grown/soybeans = 2 ) - result = /obj/item/food/burrito subcategory = CAT_MEXICAN /datum/crafting_recipe/food/cheesyburrito name ="Cheesy burrito" + result = /obj/item/food/cheesyburrito reqs = list( /obj/item/food/cheese/wedge = 2, /obj/item/food/tortilla = 1, /obj/item/food/grown/soybeans = 1 ) - result = /obj/item/food/cheesyburrito subcategory = CAT_MEXICAN /datum/crafting_recipe/food/carneburrito name ="Carne de asada burrito" + result = /obj/item/food/carneburrito reqs = list( /obj/item/food/tortilla = 1, /obj/item/food/meat/cutlet = 2, /obj/item/food/grown/soybeans = 1 ) - result = /obj/item/food/carneburrito subcategory = CAT_MEXICAN /datum/crafting_recipe/food/fuegoburrito name ="Fuego plasma burrito" + result = /obj/item/food/fuegoburrito reqs = list( /obj/item/food/tortilla = 1, /obj/item/food/grown/ghost_chili = 2, /obj/item/food/grown/soybeans = 1 ) - result = /obj/item/food/fuegoburrito subcategory = CAT_MEXICAN /datum/crafting_recipe/food/nachos name ="Nachos" + result = /obj/item/food/nachos reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/tortilla = 1 ) - result = /obj/item/food/nachos subcategory = CAT_MEXICAN /datum/crafting_recipe/food/cheesynachos name ="Cheesy nachos" + result = /obj/item/food/cheesynachos reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/cheese/wedge = 1, /obj/item/food/tortilla = 1 ) - result = /obj/item/food/cheesynachos subcategory = CAT_MEXICAN /datum/crafting_recipe/food/cubannachos name ="Cuban nachos" + result = /obj/item/food/cubannachos reqs = list( /datum/reagent/consumable/ketchup = 5, /obj/item/food/grown/chili = 2, /obj/item/food/tortilla = 1 ) - result = /obj/item/food/cubannachos subcategory = CAT_MEXICAN /datum/crafting_recipe/food/taco name ="Classic Taco" + result = /obj/item/food/taco reqs = list( /obj/item/food/tortilla = 1, /obj/item/food/cheese/wedge = 1, /obj/item/food/meat/cutlet = 1, /obj/item/food/grown/cabbage = 1, ) - result = /obj/item/food/taco subcategory = CAT_MEXICAN /datum/crafting_recipe/food/tacoplain name ="Plain Taco" + result = /obj/item/food/taco/plain reqs = list( /obj/item/food/tortilla = 1, /obj/item/food/cheese/wedge = 1, /obj/item/food/meat/cutlet = 1, ) - result = /obj/item/food/taco/plain subcategory = CAT_MEXICAN /datum/crafting_recipe/food/enchiladas name = "Enchiladas" + result = /obj/item/food/enchiladas reqs = list( /obj/item/food/meat/cutlet = 2, /obj/item/food/grown/chili = 2, /obj/item/food/tortilla = 2 ) - result = /obj/item/food/enchiladas subcategory = CAT_MEAT /datum/crafting_recipe/food/stuffedlegion name = "Stuffed legion" - time = 40 + time = 4 SECONDS + result = /obj/item/food/stuffedlegion reqs = list( /obj/item/food/meat/steak/goliath = 1, /obj/item/organ/regenerative_core/legion = 1, /datum/reagent/consumable/ketchup = 2, /datum/reagent/consumable/capsaicin = 2 ) - result = /obj/item/food/stuffedlegion subcategory = CAT_MEXICAN diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_misc.dm similarity index 78% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_misc.dm index 65ee50cfaaaf6..5953785747886 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_misc.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_misc.dm @@ -1,115 +1,114 @@ -// see code/module/crafting/table.dm - -// MISC +/// Misc. Foodstuff crafting /datum/crafting_recipe/food/candiedapple name = "Candied apple" + result = /obj/item/food/candiedapple reqs = list( /datum/reagent/consumable/caramel = 5, /obj/item/food/grown/apple = 1 ) - result = /obj/item/food/candiedapple subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/spiderlollipop name = "Spider Lollipop" + result = /obj/item/food/spiderlollipop reqs = list(/obj/item/stack/rods = 1, /datum/reagent/consumable/sugar = 5, /datum/reagent/water = 5, /obj/item/food/spiderling = 1 ) - result = /obj/item/food/spiderlollipop subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/chococoin name = "Choco coin" + result = /obj/item/food/chococoin reqs = list( /obj/item/coin = 1, /obj/item/food/chocolatebar = 1, ) - result = /obj/item/food/chococoin subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/fudgedice name = "Fudge dice" + result = /obj/item/food/fudgedice reqs = list( /obj/item/dice = 1, /obj/item/food/chocolatebar = 1, ) - result = /obj/item/food/fudgedice subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/chocoorange name = "Choco orange" + result = /obj/item/food/chocoorange reqs = list( /obj/item/food/grown/citrus/orange = 1, /obj/item/food/chocolatebar = 1, ) - result = /obj/item/food/chocoorange subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/loaded_baked_potato name = "Loaded baked potato" + result = /obj/item/food/loaded_baked_potato reqs = list( /obj/item/food/grown/potato = 1, /obj/item/food/cheese/wedge = 1, /obj/item/food/meat/bacon = 1, /obj/item/food/grown/cabbage = 1, ) - result = /obj/item/food/loaded_baked_potato - category = CAT_MISCFOOD + subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/cheesyfries name = "Cheesy fries" + result = /obj/item/food/cheesyfries reqs = list( /obj/item/food/fries = 1, /obj/item/food/cheese/wedge = 1 ) - result = /obj/item/food/cheesyfries subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/beans name = "Beans" - time = 40 + result = /obj/item/food/canned/beans + time = 4 SECONDS reqs = list(/datum/reagent/consumable/ketchup = 5, /obj/item/food/grown/soybeans = 2 ) - result = /obj/item/food/canned/beans subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/eggplantparm name ="Eggplant parmigiana" + result = /obj/item/food/eggplantparm reqs = list( /obj/item/food/cheese/wedge = 2, /obj/item/food/grown/eggplant = 1 ) - result = /obj/item/food/eggplantparm subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/melonkeg name ="Melon keg" + result = /obj/item/food/melonkeg reqs = list( /datum/reagent/consumable/ethanol/vodka = 25, /obj/item/food/grown/holymelon = 1, /obj/item/reagent_containers/food/drinks/bottle/vodka = 1 ) parts = list(/obj/item/reagent_containers/food/drinks/bottle/vodka = 1) - result = /obj/item/food/melonkeg subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/honeybar name = "Honey nut bar" + result = /obj/item/food/honeybar reqs = list( /obj/item/food/grown/oat = 1, /datum/reagent/consumable/honey = 5 ) - result = /obj/item/food/honeybar subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/powercrepe name = "Powercrepe" - time = 40 + result = /obj/item/food/powercrepe + time = 4 SECONDS reqs = list( /obj/item/food/flatdough = 1, /datum/reagent/consumable/milk = 1, @@ -117,31 +116,31 @@ /obj/item/stock_parts/cell/super =1, /obj/item/melee/sabre = 1 ) - result = /obj/item/food/powercrepe subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/branrequests name = "Bran Requests Cereal" + result = /obj/item/food/branrequests reqs = list( /obj/item/food/grown/wheat = 1, /obj/item/food/no_raisin = 1, ) - result = /obj/item/food/branrequests subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/ricepudding name = "Rice pudding" + result = /obj/item/food/salad/ricepudding reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /datum/reagent/consumable/milk = 5, /datum/reagent/consumable/sugar = 5, /obj/item/food/boiledrice = 1 ) - result = /obj/item/food/salad/ricepudding subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/butterbear //ITS ALIVEEEEEE! name = "Living bear/butter hybrid" + result = /mob/living/simple_animal/hostile/bear/butter reqs = list( /obj/item/organ/brain = 1, /obj/item/organ/heart = 1, @@ -150,39 +149,88 @@ /datum/reagent/blood = 50, /datum/reagent/teslium = 1 //To shock the whole thing into life ) - result = /mob/living/simple_animal/hostile/bear/butter subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/crab_rangoon name = "Crab Rangoon" + result = /obj/item/food/crab_rangoon reqs = list( /obj/item/food/doughslice = 1, /datum/reagent/consumable/cream = 5, /obj/item/food/cheese/wedge = 1, /obj/item/food/meat/rawcrab = 1 ) - result = /obj/item/food/crab_rangoon subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/pingles name = "Pingles" + result = /obj/item/food/pingles reqs = list( /obj/item/c_tube = 1, /obj/item/food/grown/potato/wedges = 1, /obj/item/food/onion_slice = 1, /datum/reagent/consumable/cream = 10 ) - result = /obj/item/food/pingles subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/swirl_lollipop name = "swirl lollipop" + result = /obj/item/food/swirl_lollipop reqs = list( /datum/reagent/consumable/sugar = 5, /datum/reagent/consumable/caramel = 5, /datum/reagent/drug/happiness = 5, ) - result = /obj/item/food/swirl_lollipop + subcategory = CAT_MISCFOOD + +///Easter foods crafting + +/datum/crafting_recipe/food/hotcrossbun + name = "Hot-Cross Bun" + result = /obj/item/food/hotcrossbun + reqs = list( + /obj/item/food/bread/plain = 1, + /datum/reagent/consumable/sugar = 1 + ) + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/briochecake + name = "Brioche cake" + result = /obj/item/food/cake/brioche + reqs = list( + /obj/item/food/cake/plain = 1, + /datum/reagent/consumable/sugar = 2 + ) + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/scotchegg + name = "Scotch egg" + result = /obj/item/food/scotchegg + reqs = list( + /datum/reagent/consumable/sodiumchloride = 1, + /datum/reagent/consumable/blackpepper = 1, + /obj/item/food/boiledegg = 1, + /obj/item/food/meatball = 1 + ) + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/mammi + name = "Mammi" + result = /obj/item/food/soup/mammi + reqs = list( + /obj/item/food/bread/plain = 1, + /obj/item/food/chocolatebar = 1, + /datum/reagent/consumable/milk = 5 + ) + subcategory = CAT_MISCFOOD + +/datum/crafting_recipe/food/chocolatebunny + name = "Chocolate bunny" + result = /obj/item/food/chocolatebunny + reqs = list( + /datum/reagent/consumable/sugar = 2, + /obj/item/food/chocolatebar = 1 + ) subcategory = CAT_MISCFOOD /datum/crafting_recipe/food/onigiri diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pastry.dm similarity index 91% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pastry.dm index b5ef9cec55b4c..86c088cd2225d 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pastry.dm @@ -1,574 +1,547 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////DONUTS//////////////////////////////////////////////// - +/// Pastry crafting +/// Donuts Crafting /datum/crafting_recipe/food/donut - time = 15 name = "Donut" + result = /obj/item/food/donut/plain + time = 1.5 SECONDS reqs = list( /datum/reagent/consumable/sugar = 1, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/donut/plain subcategory = CAT_PASTRY - /datum/crafting_recipe/food/donut/chaos name = "Chaos donut" + result = /obj/item/food/donut/chaos reqs = list( /datum/reagent/consumable/frostoil = 5, /datum/reagent/consumable/capsaicin = 5, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/donut/chaos /datum/crafting_recipe/food/donut/meat - time = 15 name = "Meat donut" + result = /obj/item/food/donut/meat reqs = list( /obj/item/food/meat/rawcutlet = 1, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/donut/meat /datum/crafting_recipe/food/donut/jelly name = "Jelly donut" + result = /obj/item/food/donut/jelly/plain reqs = list( /datum/reagent/consumable/berryjuice = 5, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/donut/jelly/plain /datum/crafting_recipe/food/donut/slimejelly name = "Slime jelly donut" + result = /obj/item/food/donut/jelly/slimejelly/plain reqs = list( /datum/reagent/toxin/slimejelly = 5, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/plain /datum/crafting_recipe/food/donut/berry name = "Berry Donut" + result = /obj/item/food/donut/berry reqs = list( /datum/reagent/consumable/berryjuice = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/berry /datum/crafting_recipe/food/donut/trumpet name = "Spaceman's Donut" + result = /obj/item/food/donut/trumpet reqs = list( /datum/reagent/medicine/polypyr = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/trumpet - /datum/crafting_recipe/food/donut/apple name = "Apple Donut" + result = /obj/item/food/donut/apple reqs = list( /datum/reagent/consumable/applejuice = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/apple /datum/crafting_recipe/food/donut/caramel name = "Caramel Donut" + result = /obj/item/food/donut/caramel reqs = list( /datum/reagent/consumable/caramel = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/caramel /datum/crafting_recipe/food/donut/choco name = "Chocolate Donut" + result = /obj/item/food/donut/choco reqs = list( /obj/item/food/chocolatebar = 1, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/choco /datum/crafting_recipe/food/donut/blumpkin name = "Blumpkin Donut" + result = /obj/item/food/donut/blumpkin reqs = list( /datum/reagent/consumable/blumpkinjuice = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/blumpkin /datum/crafting_recipe/food/donut/bungo name = "Bungo Donut" + result = /obj/item/food/donut/bungo reqs = list( /datum/reagent/consumable/bungojuice = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/bungo /datum/crafting_recipe/food/donut/matcha name = "Matcha Donut" + result = /obj/item/food/donut/matcha reqs = list( /datum/reagent/toxin/teapowder = 3, /obj/item/food/donut/plain = 1 ) - result = /obj/item/food/donut/matcha -////////////////////////////////////////////////////JELLY DONUTS/////////////////////////////////////////////////////// + ///Jelly Donuts Crafting /datum/crafting_recipe/food/donut/jelly/berry name = "Berry Jelly Donut" + result = /obj/item/food/donut/jelly/berry reqs = list( /datum/reagent/consumable/berryjuice = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/berry /datum/crafting_recipe/food/donut/jelly/trumpet name = "Spaceman's Jelly Donut" + result = /obj/item/food/donut/jelly/trumpet reqs = list( /datum/reagent/medicine/polypyr = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/trumpet - /datum/crafting_recipe/food/donut/jelly/apple name = "Apple Jelly Donut" + result = /obj/item/food/donut/jelly/apple reqs = list( /datum/reagent/consumable/applejuice = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/apple /datum/crafting_recipe/food/donut/jelly/caramel name = "Caramel Jelly Donut" + result = /obj/item/food/donut/jelly/caramel reqs = list( /datum/reagent/consumable/caramel = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/caramel /datum/crafting_recipe/food/donut/jelly/choco name = "Chocolate Jelly Donut" + result = /obj/item/food/donut/jelly/choco reqs = list( /obj/item/food/chocolatebar = 1, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/choco /datum/crafting_recipe/food/donut/jelly/blumpkin name = "Blumpkin Jelly Donut" + result = /obj/item/food/donut/jelly/blumpkin reqs = list( /datum/reagent/consumable/blumpkinjuice = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/blumpkin /datum/crafting_recipe/food/donut/jelly/bungo name = "Bungo Jelly Donut" + result = /obj/item/food/donut/jelly/bungo reqs = list( /datum/reagent/consumable/bungojuice = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/bungo /datum/crafting_recipe/food/donut/jelly/matcha name = "Matcha Jelly Donut" + result = /obj/item/food/donut/jelly/matcha reqs = list( /datum/reagent/toxin/teapowder = 3, /obj/item/food/donut/jelly/plain = 1 ) - result = /obj/item/food/donut/jelly/matcha -////////////////////////////////////////////////////SLIME DONUTS/////////////////////////////////////////////////////// +///Slime Donuts Crafting /datum/crafting_recipe/food/donut/slimejelly/berry name = "Berry Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/berry reqs = list( /datum/reagent/consumable/berryjuice = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/berry /datum/crafting_recipe/food/donut/slimejelly/trumpet name = "Spaceman's Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/trumpet reqs = list( /datum/reagent/medicine/polypyr = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/trumpet - /datum/crafting_recipe/food/donut/slimejelly/apple name = "Apple Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/apple reqs = list( /datum/reagent/consumable/applejuice = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/apple /datum/crafting_recipe/food/donut/slimejelly/caramel name = "Caramel Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/caramel reqs = list( /datum/reagent/consumable/caramel = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/caramel /datum/crafting_recipe/food/donut/slimejelly/choco name = "Chocolate Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/choco reqs = list( /obj/item/food/chocolatebar = 1, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/choco /datum/crafting_recipe/food/donut/slimejelly/blumpkin name = "Blumpkin Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/blumpkin reqs = list( /datum/reagent/consumable/blumpkinjuice = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/blumpkin /datum/crafting_recipe/food/donut/slimejelly/bungo name = "Bungo Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/bungo reqs = list( /datum/reagent/consumable/bungojuice = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/bungo /datum/crafting_recipe/food/donut/slimejelly/matcha name = "Matcha Slime Donut" + result = /obj/item/food/donut/jelly/slimejelly/matcha reqs = list( /datum/reagent/toxin/teapowder = 3, /obj/item/food/donut/jelly/slimejelly/plain = 1 ) - result = /obj/item/food/donut/jelly/slimejelly/matcha - -////////////////////////////////////////////////WAFFLES AND PANCAKES//////////////////////////////////////////////// /datum/crafting_recipe/food/waffles - time = 15 name = "Waffles" + result = /obj/item/food/waffles + time = 1.5 SECONDS reqs = list( /obj/item/food/pastrybase = 2 ) - result = /obj/item/food/waffles subcategory = CAT_PASTRY - /datum/crafting_recipe/food/soylenviridians name = "Soylent viridians" + result = /obj/item/food/soylenviridians reqs = list( /obj/item/food/pastrybase = 2, /obj/item/food/grown/soybeans = 1 ) - result = /obj/item/food/soylenviridians subcategory = CAT_PASTRY /datum/crafting_recipe/food/soylentgreen name = "Soylent green" + result = /obj/item/food/soylentgreen reqs = list( /obj/item/food/pastrybase = 2, /obj/item/food/meat/slab/human = 2 ) - result = /obj/item/food/soylentgreen subcategory = CAT_PASTRY - /datum/crafting_recipe/food/rofflewaffles name = "Roffle waffles" + result = /obj/item/food/rofflewaffles reqs = list( /datum/reagent/drug/mushroomhallucinogen = 5, /obj/item/food/pastrybase = 2 ) - result = /obj/item/food/rofflewaffles subcategory = CAT_PASTRY /datum/crafting_recipe/food/pancakes name = "Pancake" + result = /obj/item/food/pancakes reqs = list( /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/pancakes subcategory = CAT_PASTRY /datum/crafting_recipe/food/bbpancakes name = "Blueberry pancake" + result = /obj/item/food/pancakes/blueberry reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/berries = 1 ) - result = /obj/item/food/pancakes/blueberry subcategory = CAT_PASTRY /datum/crafting_recipe/food/ccpancakes name = "Chocolate chip pancake" + result = /obj/item/food/pancakes/chocolatechip reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/chocolatebar = 1 ) - result = /obj/item/food/pancakes/chocolatechip subcategory = CAT_PASTRY - -////////////////////////////////////////////////DONKPOCCKETS//////////////////////////////////////////////// - /datum/crafting_recipe/food/donkpocket - time = 15 name = "Donk-pocket" + result = /obj/item/food/donkpocket + time = 1.5 SECONDS reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/meatball = 1 ) - result = /obj/item/food/donkpocket subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/dankpocket - time = 15 name = "Dank-pocket" + result = /obj/item/food/donkpocket/dankpocket reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/cannabis = 1 ) - result = /obj/item/food/donkpocket/dankpocket subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/spicy - time = 15 name = "Spicy-pocket" + result = /obj/item/food/donkpocket/spicy reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/chili = 1 ) - result = /obj/item/food/donkpocket/spicy subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/teriyaki - time = 15 name = "Teriyaki-pocket" + result = /obj/item/food/donkpocket/teriyaki reqs = list( /obj/item/food/pastrybase = 1, /datum/reagent/consumable/soysauce = 3 ) - result = /obj/item/food/donkpocket/teriyaki subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/pizza - time = 15 name = "Pizza-pocket" + result = /obj/item/food/donkpocket/pizza reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/donkpocket/pizza subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/honk - time = 15 name = "Honk-Pocket" + result = /obj/item/food/donkpocket/honk reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/banana = 1, /datum/reagent/consumable/sugar = 3 ) - result = /obj/item/food/donkpocket/honk subcategory = CAT_PASTRY /datum/crafting_recipe/food/donkpocket/berry - time = 15 name = "Berry-pocket" + result = /obj/item/food/donkpocket/berry reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/berries = 1 ) - result = /obj/item/food/donkpocket/berry subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donkpocket/gondola - time = 15 +/datum/crafting_recipe/food/donkpocket/gondola //PERKELE :DDD name = "Gondola-pocket" + result = /obj/item/food/donkpocket/gondola reqs = list( /obj/item/food/pastrybase = 1, /datum/reagent/tranquility = 5 ) - result = /obj/item/food/donkpocket/gondola subcategory = CAT_PASTRY -////////////////////////////////////////////////MUFFINS//////////////////////////////////////////////// - /datum/crafting_recipe/food/muffin - time = 15 name = "Muffin" + result = /obj/item/food/muffin + time = 1.5 SECONDS reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/muffin subcategory = CAT_PASTRY -/datum/crafting_recipe/food/berrymuffin +/datum/crafting_recipe/food/muffin/berrymuffin name = "Berry muffin" + result = /obj/item/food/muffin/berry reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pastrybase = 1, /obj/item/food/grown/berries = 1 ) - result = /obj/item/food/muffin/berry subcategory = CAT_PASTRY -/datum/crafting_recipe/food/booberrymuffin +/datum/crafting_recipe/food/muffin/booberrymuffin name = "Booberry muffin" + result = /obj/item/food/muffin/booberry reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pastrybase = 1, /obj/item/food/grown/berries = 1, /obj/item/ectoplasm = 1 ) - result = /obj/item/food/muffin/booberry subcategory = CAT_PASTRY -/datum/crafting_recipe/food/moffin +/datum/crafting_recipe/food/muffin/moffin name = "Moffin" + result = /obj/item/food/muffin/moffin reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pastrybase = 1, /obj/item/stack/sheet/cotton/cloth = 1, ) - result = /obj/item/food/muffin/moffin subcategory = CAT_PASTRY -////////////////////////////////////////////OTHER//////////////////////////////////////////// - /datum/crafting_recipe/food/khachapuri name = "Khachapuri" + result = /obj/item/food/khachapuri reqs = list( /datum/reagent/consumable/eggyolk = 5, /obj/item/food/cheese/wedge = 1, /obj/item/food/bread/plain = 1 ) - result = /obj/item/food/khachapuri subcategory = CAT_PASTRY /datum/crafting_recipe/food/sugarcookie - time = 15 name = "Sugar cookie" + result = /obj/item/food/cookie/sugar + time = 1.5 SECONDS reqs = list( /datum/reagent/consumable/sugar = 5, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/cookie/sugar subcategory = CAT_PASTRY /datum/crafting_recipe/food/fortunecookie - time = 15 name = "Fortune cookie" + result = /obj/item/food/fortunecookie + time = 1.5 SECONDS reqs = list( /obj/item/food/pastrybase = 1, /obj/item/paper = 1 ) - parts = list( - /obj/item/paper = 1 - ) - result = /obj/item/food/fortunecookie + parts = list(/obj/item/paper = 1) subcategory = CAT_PASTRY /datum/crafting_recipe/food/poppypretzel - time = 15 name = "Poppy pretzel" + result = /obj/item/food/poppypretzel + time = 1.5 SECONDS reqs = list( /obj/item/seeds/flower/poppy = 1, /obj/item/food/pastrybase = 1 ) - result = /obj/item/food/poppypretzel subcategory = CAT_PASTRY /datum/crafting_recipe/food/plumphelmetbiscuit - time = 15 name = "Plumphelmet biscuit" + result = /obj/item/food/plumphelmetbiscuit + time = 1.5 SECONDS reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/mushroom/plumphelmet = 1 ) - result = /obj/item/food/plumphelmetbiscuit subcategory = CAT_PASTRY /datum/crafting_recipe/food/cracker - time = 15 name = "Cracker" + result = /obj/item/food/cracker + time = 1.5 SECONDS reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/pastrybase = 1, ) - result = /obj/item/food/cracker subcategory = CAT_PASTRY /datum/crafting_recipe/food/chococornet name = "Choco cornet" + result = /obj/item/food/chococornet reqs = list( /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/pastrybase = 1, /obj/item/food/chocolatebar = 1 ) - result = /obj/item/food/chococornet subcategory = CAT_PASTRY /datum/crafting_recipe/food/oatmealcookie name = "Oatmeal cookie" + result = /obj/item/food/cookie/oatmeal reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/oat = 1 ) - result = /obj/item/food/cookie/oatmeal subcategory = CAT_PASTRY /datum/crafting_recipe/food/raisincookie name = "Raisin cookie" + result = /obj/item/food/cookie/raisin reqs = list( /obj/item/food/no_raisin = 1, /obj/item/food/pastrybase = 1, /obj/item/food/grown/oat = 1 ) - result = /obj/item/food/cookie/raisin subcategory = CAT_PASTRY /datum/crafting_recipe/food/cherrycupcake name = "Cherry cupcake" + result = /obj/item/food/cherrycupcake reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/cherries = 1 ) - result = /obj/item/food/cherrycupcake subcategory = CAT_PASTRY /datum/crafting_recipe/food/bluecherrycupcake name = "Blue cherry cupcake" + result = /obj/item/food/cherrycupcake/blue reqs = list( /obj/item/food/pastrybase = 1, /obj/item/food/grown/bluecherries = 1 ) - result = /obj/item/food/cherrycupcake/blue subcategory = CAT_PASTRY /datum/crafting_recipe/food/honeybun name = "Honey bun" + result = /obj/item/food/honeybun reqs = list( /obj/item/food/pastrybase = 1, /datum/reagent/consumable/honey = 5 ) - result = /obj/item/food/honeybun subcategory = CAT_PASTRY /datum/crafting_recipe/food/ravtart name = "Rav'tart" + result = /obj/item/food/ravtart reqs = list( /obj/item/food/pastrybase = 1, /obj/item/stack/sheet/bronze = 1, /obj/item/food/grown/berries = 2, /obj/item/food/grown/citrus/orange = 1 ) - result = /obj/item/food/ravtart subcategory = CAT_PASTRY diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pie.dm similarity index 86% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pie.dm index 9209b9736ac36..43ee641468f47 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pie.dm @@ -1,122 +1,120 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////PIES//////////////////////////////////////////////// +/// Pies Crafting /datum/crafting_recipe/food/bananacreampie name = "Banana cream pie" + result = /obj/item/food/pie/cream reqs = list( /datum/reagent/consumable/milk = 5, /obj/item/food/pie/plain = 1, /obj/item/food/grown/banana = 1 ) - result = /obj/item/food/pie/cream subcategory = CAT_PIE /datum/crafting_recipe/food/meatpie name = "Meat pie" + result = /obj/item/food/pie/meatpie reqs = list( /datum/reagent/consumable/blackpepper = 1, /datum/reagent/consumable/sodiumchloride = 1, /obj/item/food/pie/plain = 1, /obj/item/food/meat/steak/plain = 1 ) - result = /obj/item/food/pie/meatpie subcategory = CAT_PIE /datum/crafting_recipe/food/tofupie name = "Tofu pie" + result = /obj/item/food/pie/tofupie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/tofu = 1 ) - result = /obj/item/food/pie/tofupie subcategory = CAT_PIE /datum/crafting_recipe/food/xenopie name = "Xeno pie" + result = /obj/item/food/pie/xemeatpie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/meat/cutlet/xeno = 1 ) - result = /obj/item/food/pie/xemeatpie subcategory = CAT_PIE /datum/crafting_recipe/food/cherrypie name = "Cherry pie" + result = /obj/item/food/pie/cherrypie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/cherries = 1 ) - result = /obj/item/food/pie/cherrypie subcategory = CAT_PIE /datum/crafting_recipe/food/berryclafoutis name = "Berry clafoutis" + result = /obj/item/food/pie/berryclafoutis reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/berries = 1 ) - result = /obj/item/food/pie/berryclafoutis subcategory = CAT_PIE /datum/crafting_recipe/food/bearypie name = "Beary Pie" + result = /obj/item/food/pie/bearypie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/berries = 1, /obj/item/food/meat/steak/bear = 1 ) - result = /obj/item/food/pie/bearypie subcategory = CAT_PIE /datum/crafting_recipe/food/amanitapie name = "Amanita pie" + result = /obj/item/food/pie/amanita_pie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/mushroom/amanita = 1 ) - result = /obj/item/food/pie/amanita_pie subcategory = CAT_PIE /datum/crafting_recipe/food/plumppie name = "Plump pie" + result = /obj/item/food/pie/plump_pie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/mushroom/plumphelmet = 1 ) - result = /obj/item/food/pie/plump_pie subcategory = CAT_PIE /datum/crafting_recipe/food/applepie name = "Apple pie" + result = /obj/item/food/pie/applepie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/apple = 1 ) - result = /obj/item/food/pie/applepie subcategory = CAT_PIE /datum/crafting_recipe/food/pumpkinpie name = "Pumpkin pie" + result = /obj/item/food/pie/pumpkinpie reqs = list( /datum/reagent/consumable/milk = 5, /datum/reagent/consumable/sugar = 5, /obj/item/food/pie/plain = 1, /obj/item/food/grown/pumpkin = 1 ) - result = /obj/item/food/pie/pumpkinpie subcategory = CAT_PIE /datum/crafting_recipe/food/goldenappletart name = "Golden apple tart" + result = /obj/item/food/pie/appletart reqs = list( /datum/reagent/consumable/milk = 5, /datum/reagent/consumable/sugar = 5, /obj/item/food/pie/plain = 1, /obj/item/food/grown/apple/gold = 1 ) - result = /obj/item/food/pie/appletart subcategory = CAT_PIE /datum/crafting_recipe/food/grapetart @@ -128,6 +126,12 @@ /obj/item/food/grown/grapes = 3 ) result = /obj/item/food/pie/grapetart + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/grown/grapes = 3 + ) subcategory = CAT_PIE /datum/crafting_recipe/food/mimetart @@ -140,7 +144,14 @@ /datum/reagent/consumable/nothing = 5 ) result = /obj/item/food/pie/mimetart + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /datum/reagent/consumable/nothing = 5 + ) subcategory = CAT_PIE + always_available = FALSE /datum/crafting_recipe/food/berrytart name = "Berry tart" @@ -152,7 +163,14 @@ /obj/item/food/grown/berries = 3 ) result = /obj/item/food/pie/berrytart + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/grown/berries = 3 + ) subcategory = CAT_PIE + always_available = FALSE /datum/crafting_recipe/food/cocoalavatart name = "Chocolate Lava tart" @@ -165,44 +183,52 @@ /obj/item/slime_extract = 1 //The reason you dont know how to make it! ) result = /obj/item/food/pie/cocoalavatart + reqs = list( + /datum/reagent/consumable/milk = 5, + /datum/reagent/consumable/sugar = 5, + /obj/item/food/pie/plain = 1, + /obj/item/food/chocolatebar = 3, + /obj/item/slime_extract = 1 //The reason you dont know how to make it! + ) subcategory = CAT_PIE + always_available = FALSE /datum/crafting_recipe/food/blumpkinpie name = "Blumpkin pie" + result = /obj/item/food/pie/blumpkinpie reqs = list( /datum/reagent/consumable/milk = 5, /datum/reagent/consumable/sugar = 5, /obj/item/food/pie/plain = 1, /obj/item/food/grown/blumpkin = 1 ) - result = /obj/item/food/pie/blumpkinpie subcategory = CAT_PIE /datum/crafting_recipe/food/dulcedebatata name = "Dulce de batata" + result = /obj/item/food/pie/dulcedebatata reqs = list( /datum/reagent/consumable/vanilla = 5, /datum/reagent/water = 5, /obj/item/food/grown/potato/sweet = 2 ) - result = /obj/item/food/pie/dulcedebatata subcategory = CAT_PIE /datum/crafting_recipe/food/frostypie name = "Frosty pie" + result = /obj/item/food/pie/frostypie reqs = list( /obj/item/food/pie/plain = 1, /obj/item/food/grown/bluecherries = 1 ) - result = /obj/item/food/pie/frostypie subcategory = CAT_PIE /datum/crafting_recipe/food/baklava name = "Baklava pie" + result = /obj/item/food/pie/baklava reqs = list( /obj/item/food/butter = 2, /obj/item/food/tortilla = 4, //Layers /obj/item/seeds/wheat/oat = 4 ) - result = /obj/item/food/pie/baklava subcategory = CAT_PIE diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pizza.dm similarity index 93% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pizza.dm index 00b2242b3d1c1..778d9bbde8ce7 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_pizza.dm @@ -1,31 +1,30 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////PIZZA!!!//////////////////////////////////////////////// +/// Pizza Crafting /datum/crafting_recipe/food/margheritapizza name = "Margherita pizza" + result = /obj/item/food/pizza/margherita reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/cheese/wedge = 4, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/margherita subcategory = CAT_PIZZA /datum/crafting_recipe/food/meatpizza name = "Meat pizza" + result = /obj/item/food/pizza/meat reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/meat/cutlet = 4, /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/meat subcategory = CAT_PIZZA /datum/crafting_recipe/food/arnold name = "Arnold pizza" + result = /obj/item/food/pizza/arnold reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/meat/cutlet = 3, @@ -33,20 +32,20 @@ /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/arnold subcategory = CAT_PIZZA /datum/crafting_recipe/food/mushroompizza name = "Mushroom pizza" + result = /obj/item/food/pizza/mushroom reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/grown/mushroom = 5 ) - result = /obj/item/food/pizza/mushroom subcategory = CAT_PIZZA /datum/crafting_recipe/food/vegetablepizza name = "Vegetable pizza" + result = /obj/item/food/pizza/vegetable reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/grown/eggplant = 1, @@ -54,44 +53,44 @@ /obj/item/food/grown/corn = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/vegetable subcategory = CAT_PIZZA /datum/crafting_recipe/food/donkpocketpizza name = "Donkpocket pizza" + result = /obj/item/food/pizza/donkpocket reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/donkpocket/warm = 3, /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/donkpocket subcategory = CAT_PIZZA /datum/crafting_recipe/food/dankpizza name = "Dank pizza" + result = /obj/item/food/pizza/dank reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/grown/ambrosia/vulgaris = 3, /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/dank subcategory = CAT_PIZZA /datum/crafting_recipe/food/sassysagepizza name = "Sassysage pizza" + result = /obj/item/food/pizza/sassysage reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/meatball = 3, /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/sassysage subcategory = CAT_PIZZA -/datum/crafting_recipe/food/pineapplepizza +/datum/crafting_recipe/food/pineapplepizza ///AGAINST my will, i say that this recipe is missing ham to be the prime of the culinary horrors from canada... name = "Hawaiian pizza" + result = /obj/item/food/pizza/pineapple reqs = list( /obj/item/food/pizzabread = 1, /obj/item/food/meat/cutlet = 2, @@ -99,5 +98,4 @@ /obj/item/food/cheese/wedge = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/pizza/pineapple subcategory = CAT_PIZZA diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_salad.dm similarity index 94% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_salad.dm index 9aaa86ce1529a..ab12f7d7725ae 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_salad.dm @@ -1,41 +1,40 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////SALADS//////////////////////////////////////////////// +/// Salad Crafting /datum/crafting_recipe/food/herbsalad name = "Herb salad" + result = /obj/item/food/salad/herbsalad reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/ambrosia/vulgaris = 3, /obj/item/food/grown/apple = 1 ) - result = /obj/item/food/salad/herbsalad subcategory = CAT_SALAD /datum/crafting_recipe/food/aesirsalad name = "Aesir salad" + result = /obj/item/food/salad/aesirsalad reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/ambrosia/deus = 3, /obj/item/food/grown/apple/gold = 1 ) - result = /obj/item/food/salad/aesirsalad subcategory = CAT_SALAD /datum/crafting_recipe/food/validsalad name = "Valid salad" + result = /obj/item/food/salad/validsalad reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/ambrosia/vulgaris = 3, /obj/item/food/grown/potato = 1, /obj/item/food/meatball = 1 ) - result = /obj/item/food/salad/validsalad subcategory = CAT_SALAD /datum/crafting_recipe/food/monkeysdelight name = "Monkeys delight" + result = /obj/item/food/soup/monkeysdelight reqs = list( /datum/reagent/consumable/flour = 5, /datum/reagent/consumable/sodiumchloride = 1, @@ -44,11 +43,11 @@ /obj/item/food/monkeycube = 1, /obj/item/food/grown/banana = 1 ) - result = /obj/item/food/soup/monkeysdelight subcategory = CAT_SALAD /datum/crafting_recipe/food/melonfruitbowl name ="Melon fruit bowl" + result = /obj/item/food/melonfruitbowl reqs = list( /obj/item/food/grown/watermelon = 1, /obj/item/food/grown/apple = 1, @@ -57,11 +56,11 @@ /obj/item/food/grown/banana = 1, /obj/item/food/grown/ambrosia = 1 ) - result = /obj/item/food/melonfruitbowl subcategory = CAT_SALAD /datum/crafting_recipe/food/fruitsalad name = "Fruit salad" + result = /obj/item/food/salad/fruit reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/apple = 1, @@ -70,32 +69,31 @@ /obj/item/food/watermelonslice = 2 ) - result = /obj/item/food/salad/fruit subcategory = CAT_SALAD /datum/crafting_recipe/food/junglesalad name = "Jungle salad" + result = /obj/item/food/salad/jungle reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/apple = 1, /obj/item/food/grown/grapes = 1, /obj/item/food/grown/banana = 2, /obj/item/food/watermelonslice = 2 - ) - result = /obj/item/food/salad/jungle subcategory = CAT_SALAD /datum/crafting_recipe/food/citrusdelight name = "Citrus delight" + result = /obj/item/food/salad/citrusdelight reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/citrus/lime = 1, /obj/item/food/grown/citrus/lemon = 1, /obj/item/food/grown/citrus/orange = 1 - ) - result = /obj/item/food/salad/citrusdelight subcategory = CAT_SALAD //Peace go here + +//unfortuately, there's no peace. diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_sandwich.dm similarity index 86% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_sandwich.dm index 88301a9d199bf..aab860ff8f695 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_sandwich.dm @@ -1,63 +1,58 @@ -// see code/datums/recipe.dm - - -// see code/module/crafting/table.dm - -////////////////////////////////////////////////SANDWICHES//////////////////////////////////////////////// +/// Sandwiches Crafting /datum/crafting_recipe/food/sandwich name = "Sandwich" + result = /obj/item/food/sandwich reqs = list( /obj/item/food/breadslice/plain = 2, - /obj/item/food/meat/steak = 1, + /obj/item/food/meat/steak = 1, //that's one hell of a sandwich if it needs a whole steak /obj/item/food/cheese/wedge = 1 ) - result = /obj/item/food/sandwich subcategory = CAT_SANDWICH /datum/crafting_recipe/food/cheese_sandwich name = "Cheese sandwich" + result = /obj/item/food/cheese_sandwich reqs = list( /obj/item/food/breadslice/plain = 2, /obj/item/food/cheese/wedge = 2 ) - result = /obj/item/food/cheese_sandwich subcategory = CAT_SANDWICH /datum/crafting_recipe/food/slimesandwich name = "Jelly sandwich" + result = /obj/item/food/jellysandwich/slime reqs = list( /datum/reagent/toxin/slimejelly = 5, /obj/item/food/breadslice/plain = 2, ) - result = /obj/item/food/jellysandwich/slime subcategory = CAT_SANDWICH /datum/crafting_recipe/food/cherrysandwich name = "Jelly sandwich" + result = /obj/item/food/jellysandwich/cherry reqs = list( /datum/reagent/consumable/cherryjelly = 5, /obj/item/food/breadslice/plain = 2, ) - result = /obj/item/food/jellysandwich/cherry subcategory = CAT_SANDWICH /datum/crafting_recipe/food/notasandwich name = "Not a sandwich" + result = /obj/item/food/notasandwich reqs = list( /obj/item/food/breadslice/plain = 2, /obj/item/clothing/mask/fakemoustache = 1 ) - result = /obj/item/food/notasandwich subcategory = CAT_SANDWICH /datum/crafting_recipe/food/hotdog name = "Hot dog" + result = /obj/item/food/hotdog reqs = list( /datum/reagent/consumable/ketchup = 5, /obj/item/food/bun = 1, /obj/item/food/sausage = 1 ) - result = /obj/item/food/hotdog subcategory = CAT_SANDWICH diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_seafood.dm similarity index 100% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_seafood.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_seafood.dm diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_soup.dm similarity index 96% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_soup.dm index abb4e3fdc3ac6..b3007f054d364 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_soup.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_soup.dm @@ -1,20 +1,19 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////SOUP//////////////////////////////////////////////// +/// Soups Crafting /datum/crafting_recipe/food/oatmeal name = "Oatmeal" + result = /obj/item/food/soup/oatmeal reqs = list( /datum/reagent/consumable/milk = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/oat = 1 ) - result = /obj/item/food/soup/oatmeal subcategory = CAT_SOUP /datum/crafting_recipe/food/meatballsoup name = "Meatball soup" + result = /obj/item/food/soup/meatball reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, @@ -22,11 +21,11 @@ /obj/item/food/grown/carrot = 1, /obj/item/food/grown/potato = 1 ) - result = /obj/item/food/soup/meatball subcategory = CAT_SOUP /datum/crafting_recipe/food/vegetablesoup name = "Vegetable soup" + result = /obj/item/food/soup/vegetable reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, @@ -35,11 +34,11 @@ /obj/item/food/grown/eggplant = 1, /obj/item/food/grown/potato = 1 ) - result = /obj/item/food/soup/vegetable subcategory = CAT_SOUP /datum/crafting_recipe/food/nettlesoup name = "Nettle soup" + result = /obj/item/food/soup/nettle reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, @@ -47,116 +46,115 @@ /obj/item/food/grown/potato = 1, /obj/item/food/boiledegg = 1 ) - result = /obj/item/food/soup/nettle subcategory = CAT_SOUP /datum/crafting_recipe/food/wingfangchu name = "Wingfangchu" + result = /obj/item/food/soup/wingfangchu reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /datum/reagent/consumable/soysauce = 5, /obj/item/food/meat/cutlet/xeno = 2 ) - result = /obj/item/food/soup/wingfangchu subcategory = CAT_SOUP /datum/crafting_recipe/food/wishsoup name = "Wish soup" + result= /obj/item/food/soup/wish reqs = list( /datum/reagent/water = 20, /obj/item/reagent_containers/glass/bowl = 1 ) - result= /obj/item/food/soup/wish subcategory = CAT_SOUP /datum/crafting_recipe/food/hotchili name = "Hot chili" + result = /obj/item/food/soup/hotchili reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/meat/cutlet = 2, /obj/item/food/grown/chili = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/soup/hotchili subcategory = CAT_SOUP /datum/crafting_recipe/food/coldchili name = "Cold chili" + result = /obj/item/food/soup/coldchili reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/meat/cutlet = 2, /obj/item/food/grown/icepepper = 1, /obj/item/food/grown/tomato = 1 ) - result = /obj/item/food/soup/coldchili subcategory = CAT_SOUP /datum/crafting_recipe/food/tomatosoup name = "Tomato soup" + result = /obj/item/food/soup/tomato reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/tomato = 2 ) - result = /obj/item/food/soup/tomato subcategory = CAT_SOUP /datum/crafting_recipe/food/eyeballsoup name = "Eyeball soup" + result = /obj/item/food/soup/tomato/eyeball reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/tomato = 2, /obj/item/organ/eyes = 1 ) - result = /obj/item/food/soup/tomato/eyeball subcategory = CAT_SOUP - /datum/crafting_recipe/food/misosoup name = "Miso soup" + result = /obj/item/food/soup/miso reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/soydope = 2, /obj/item/food/tofu = 2 ) - result = /obj/item/food/soup/miso subcategory = CAT_SOUP /datum/crafting_recipe/food/bloodsoup name = "Blood soup" + result = /obj/item/food/soup/blood reqs = list( /datum/reagent/blood = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/tomato/blood = 2 ) - result = /obj/item/food/soup/blood subcategory = CAT_SOUP /datum/crafting_recipe/food/slimesoup name = "Slime soup" + result = /obj/item/food/soup/slime reqs = list( - /datum/reagent/water = 10, - /datum/reagent/toxin/slimejelly = 5, - /obj/item/reagent_containers/glass/bowl = 1 + /datum/reagent/water = 10, + /datum/reagent/toxin/slimejelly = 5, + /obj/item/reagent_containers/glass/bowl = 1 ) - result = /obj/item/food/soup/slime subcategory = CAT_SOUP /datum/crafting_recipe/food/clownstears name = "Clowns tears" + result = /obj/item/food/soup/clownstears reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/banana = 1, /obj/item/stack/sheet/mineral/bananium = 1 ) - result = /obj/item/food/soup/clownstears subcategory = CAT_SOUP /datum/crafting_recipe/food/mysterysoup name = "Mystery soup" + result = /obj/item/food/soup/mystery reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, @@ -165,33 +163,33 @@ /obj/item/food/boiledegg = 1, /obj/item/food/cheese/wedge = 1, ) - result = /obj/item/food/soup/mystery subcategory = CAT_SOUP /datum/crafting_recipe/food/mushroomsoup name = "Mushroom soup" + result = /obj/item/food/soup/mushroom reqs = list( /datum/reagent/consumable/milk = 5, /datum/reagent/water = 5, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/mushroom/chanterelle = 1 ) - result = /obj/item/food/soup/mushroom subcategory = CAT_SOUP /datum/crafting_recipe/food/beetsoup name = "Beet soup" + result = /obj/item/food/soup/beet reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/whitebeet = 1, /obj/item/food/grown/cabbage = 1, ) - result = /obj/item/food/soup/beet subcategory = CAT_SOUP /datum/crafting_recipe/food/stew name = "Stew" + result = /obj/item/food/soup/stew reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, @@ -202,53 +200,53 @@ /obj/item/food/grown/eggplant = 1, /obj/item/food/grown/mushroom = 1 ) - result = /obj/item/food/soup/stew subcategory = CAT_SOUP /datum/crafting_recipe/food/spacylibertyduff name = "Spacy liberty duff" + result = /obj/item/food/soup/spacylibertyduff reqs = list( /datum/reagent/consumable/ethanol/vodka = 5, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/mushroom/libertycap = 3 ) - result = /obj/item/food/soup/spacylibertyduff subcategory = CAT_SOUP /datum/crafting_recipe/food/amanitajelly name = "Amanita jelly" + result = /obj/item/food/soup/amanitajelly reqs = list( /datum/reagent/consumable/ethanol/vodka = 5, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/mushroom/amanita = 3 ) - result = /obj/item/food/soup/amanitajelly subcategory = CAT_SOUP /datum/crafting_recipe/food/sweetpotatosoup name = "Sweet potato soup" + result = /obj/item/food/soup/sweetpotato reqs = list( /datum/reagent/water = 10, /datum/reagent/consumable/sugar = 5, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/potato/sweet = 2 ) - result = /obj/item/food/soup/sweetpotato subcategory = CAT_SOUP /datum/crafting_recipe/food/redbeetsoup name = "Red beet soup" + result = /obj/item/food/soup/beet/red reqs = list( /datum/reagent/water = 10, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/redbeet = 1, /obj/item/food/grown/cabbage = 1 ) - result = /obj/item/food/soup/beet/red subcategory = CAT_SOUP /datum/crafting_recipe/food/bisque name = "Bisque" + result = /obj/item/food/soup/bisque reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /datum/reagent/water = 10, @@ -256,11 +254,11 @@ /obj/item/food/meat/crab = 1, /obj/item/food/boiledrice = 1 ) - result = /obj/item/food/soup/bisque subcategory = CAT_SOUP /datum/crafting_recipe/food/bungocurry name = "Bungo Curry" + result = /obj/item/food/soup/bungocurry reqs = list( /datum/reagent/water = 5, /datum/reagent/consumable/cream = 5, @@ -268,16 +266,15 @@ /obj/item/food/grown/chili = 1, /obj/item/food/grown/bungofruit = 1 ) - result = /obj/item/food/soup/bungocurry subcategory = CAT_SOUP /datum/crafting_recipe/food/electron name = "Electron Soup" + result = /obj/item/food/soup/electron reqs = list( /datum/reagent/water = 10, /datum/reagent/consumable/sodiumchloride = 5, /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/grown/mushroom/jupitercup = 1 ) - result = /obj/item/food/soup/electron subcategory = CAT_SOUP diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_spaghetti.dm similarity index 94% rename from code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm rename to code/datums/components/crafting/crafting_lists/foodstuffs/recipes_spaghetti.dm index 425892e365973..60f0c1f093b85 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm +++ b/code/datums/components/crafting/crafting_lists/foodstuffs/recipes_spaghetti.dm @@ -1,113 +1,111 @@ -// see code/module/crafting/table.dm - -////////////////////////////////////////////////SPAGHETTI//////////////////////////////////////////////// +/// Noodles Crafting /datum/crafting_recipe/food/tomatopasta name = "Tomato pasta" + result = /obj/item/food/spaghetti/pastatomato reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/grown/tomato = 2 ) - result = /obj/item/food/spaghetti/pastatomato subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/copypasta name = "Copypasta" + result = /obj/item/food/spaghetti/copypasta reqs = list( /obj/item/food/spaghetti/pastatomato = 2 ) - result = /obj/item/food/spaghetti/copypasta subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spaghettimeatball name = "Spaghetti meatball" + result = /obj/item/food/spaghetti/meatballspaghetti reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/meatball = 2 ) - result = /obj/item/food/spaghetti/meatballspaghetti subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spesslaw name = "Spesslaw" + result = /obj/item/food/spaghetti/spesslaw reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/meatball = 4 ) - result = /obj/item/food/spaghetti/spesslaw subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/beefnoodle name = "Beef noodle" + result = /obj/item/food/spaghetti/beefnoodle reqs = list( /obj/item/reagent_containers/glass/bowl = 1, /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/meat/cutlet = 2, /obj/item/food/grown/cabbage = 1 ) - result = /obj/item/food/spaghetti/beefnoodle subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/chowmein name = "Chowmein" + result = /obj/item/food/spaghetti/chowmein reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/meat/cutlet = 1, /obj/item/food/grown/cabbage = 2, /obj/item/food/grown/carrot = 1 ) - result = /obj/item/food/spaghetti/chowmein subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/butternoodles name = "Butter Noodles" + result = /obj/item/food/spaghetti/butternoodles reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/butter = 1 ) - result = /obj/item/food/spaghetti/butternoodles subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/kasespatzle name = "Käsespätzle" + result = /obj/item/food/spaghetti/kasespatzle reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /datum/reagent/consumable/eggyolk = 10, /obj/item/food/cheese/wedge = 1 ) - result = /obj/item/food/spaghetti/kasespatzle subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/spaghettinapolitan name = "Spaghetti Napolitan" + result = /obj/item/food/spaghetti/spaghettinapolitan reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, - /datum/reagent/consumable/ketchup = 10, + /datum/reagent/consumable/ketchup = 10, // >:( /obj/item/food/sausage = 1, /obj/item/food/grown/chili = 1 ) - result = /obj/item/food/spaghetti/spaghettinapolitan subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/lasagna name = "Lasagna" + result = /obj/item/food/spaghetti/lasagna reqs = list( /obj/item/food/spaghetti = 1, /obj/item/food/meatball = 1, /obj/item/food/grown/tomato = 1, /obj/item/food/cheese/wedge = 1 ) - result = /obj/item/food/spaghetti/lasagna subcategory = CAT_SPAGHETTI /datum/crafting_recipe/food/glassnoodles name = "Glass Noodles" + result = /obj/item/food/spaghetti/glassnoodles reqs = list( /obj/item/food/spaghetti/boiledspaghetti = 1, /obj/item/food/grown/carrot = 1, /obj/item/food/tofu = 1, /obj/item/stack/sheet/glass = 1 ) - result = /obj/item/food/spaghetti/glassnoodles subcategory = CAT_SPAGHETTI diff --git a/code/datums/components/crafting/crafting_lists/misc.dm b/code/datums/components/crafting/crafting_lists/misc.dm new file mode 100644 index 0000000000000..44c524db78190 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/misc.dm @@ -0,0 +1,427 @@ + +/// Misc stuff crafting + +/datum/crafting_recipe/spooky_camera + name = "Camera Obscura" + result = /obj/item/camera/spooky + time = 1.5 SECONDS + reqs = list( + /obj/item/camera = 1, + /datum/reagent/water/holywater = 10 + ) + parts = list(/obj/item/camera = 1) + category = CAT_MISC + +/datum/crafting_recipe/lizardhat + name = "Lizard Cloche Hat" + result = /obj/item/clothing/head/costume/lizard + time = 1 SECONDS + reqs = list(/obj/item/organ/tail/lizard = 1) + category = CAT_MISC + +/datum/crafting_recipe/lizardhat_alternate + name = "Lizard Cloche Hat (alternative variant)" + result = /obj/item/clothing/head/costume/lizard + time = 1 SECONDS + reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1) + category = CAT_MISC + +/datum/crafting_recipe/kittyears + name = "Kitty Ears" + result = /obj/item/clothing/head/costume/kitty/genuine + time = 1 SECONDS + reqs = list( + /obj/item/organ/tail/cat = 1, + /obj/item/organ/ears/cat = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/skateboard + name = "Skateboard" + result = /obj/item/melee/skateboard + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 5, + /obj/item/stack/rods = 10 + ) + category = CAT_MISC + +/datum/crafting_recipe/scooter + name = "Scooter" + result = /obj/vehicle/ridden/scooter + time = 6.5 SECONDS + tools = list(TOOL_SCREWDRIVER,) + reqs = list( + /obj/item/stack/sheet/iron = 5, + /obj/item/stack/rods = 12 + ) + category = CAT_MISC + +/datum/crafting_recipe/wheelchair + name = "Wheelchair" + result = /obj/vehicle/ridden/wheelchair + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list( + /obj/item/stack/sheet/iron = 4, + /obj/item/stack/rods = 6 + ) + category = CAT_MISC + +/datum/crafting_recipe/motorized_wheelchair + name = "Motorized Wheelchair" + result = /obj/vehicle/ridden/wheelchair/motorized + time = 20 SECONDS + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list( + /obj/item/stack/sheet/iron = 10, + /obj/item/stack/rods = 8, + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/capacitor = 1 + ) + parts = list( + /obj/item/stock_parts/manipulator = 2, + /obj/item/stock_parts/capacitor = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/mousetrap + name = "Mouse Trap" + result = /obj/item/assembly/mousetrap + time = 1 SECONDS + reqs = list( + /obj/item/stack/sheet/cardboard = 1, + /obj/item/stack/rods = 1 + ) + category = CAT_MISC + +/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 + +/datum/crafting_recipe/flashlight_eyes + name = "Flashlight Eyes" + result = /obj/item/organ/eyes/robotic/flashlight + time = 1 SECONDS + reqs = list( + /obj/item/flashlight = 2, + /obj/item/restraints/handcuffs/cable = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/paperframes + name = "Paper Frames" + result = /obj/item/stack/sheet/paperframes/five + time = 1 SECONDS + reqs = list( + /obj/item/stack/sheet/wood = 2, + /obj/item/paper = 10 + ) + category = CAT_MISC + +/datum/crafting_recipe/naturalpaper + name = "Hand-Pressed Paper Bundle" + result = /obj/item/paper_bin/bundlenatural + time = 3 SECONDS + reqs = list( + /datum/reagent/water = 50, + /obj/item/stack/sheet/wood = 1 + ) + tools = list(/obj/item/hatchet) + category = CAT_MISC + +/datum/crafting_recipe/toysword + name = "Toy Sword" + result = /obj/item/toy/sword + time = 1 SECONDS + reqs = list( + /obj/item/light/bulb = 1, + /obj/item/stack/cable_coil = 1, + /obj/item/stack/sheet/plastic = 4 + ) + category = CAT_MISC + +/datum/crafting_recipe/blackcarpet + name = "Black Carpet" + result = /obj/item/stack/tile/carpet/black/fifty + time = 0.5 SECONDS + reqs = list( + /obj/item/stack/tile/carpet = 50, + /obj/item/toy/crayon/black = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/extendohand + name = "Extendo-Hand" + result = /obj/item/extendohand + time = 1 SECONDS + reqs = list( + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/clothing/gloves/boxing = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/mothplush + name = "Moth Plushie" + result = /obj/item/toy/plush/moth + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/animalhide/mothroach = 1, + /obj/item/stack/sheet/cotton/cloth = 3 + ) + category = CAT_MISC + +/datum/crafting_recipe/gold_horn + name = "Golden Bike Horn" + result = /obj/item/bikehorn/golden + time = 5 SECONDS + reqs = list( + /obj/item/stack/sheet/mineral/bananium = 5, + /obj/item/bikehorn = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/flash_ducky + name = "Toy Rubber Duck Mine" + result = /obj/item/deployablemine/traitor/toy + time = 2 SECONDS + reqs = list( + /obj/item/bikehorn/rubberducky = 1, + /obj/item/assembly/flash/handheld = 1, + /obj/item/stack/cable_coil = 2, + /obj/item/assembly/prox_sensor + ) + blacklist = list(/obj/item/assembly/flash/handheld/strong) + category = CAT_MISC + +/datum/crafting_recipe/pressureplate + name = "Pressure Plate" + result = /obj/item/pressure_plate + time = 1 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/tile/iron = 1, + /obj/item/stack/cable_coil = 2, + /obj/item/assembly/igniter = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/rcl + name = "Makeshift Rapid Cable Layer" + result = /obj/item/rcl/ghetto + time = 4 SECONDS + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list(/obj/item/stack/sheet/iron = 15) + category = CAT_MISC + +/datum/crafting_recipe/aitater + name = "intelliTater" + result = /obj/item/aicard/aitater + time = 3 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list( + /obj/item/aicard = 1, + /obj/item/food/grown/potato = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_MISC + +/datum/crafting_recipe/aispook + name = "intelliLantern" + result = /obj/item/aicard/aispook + time = 3 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list( + /obj/item/aicard = 1, + /obj/item/food/grown/pumpkin = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_MISC + +/datum/crafting_recipe/ghettojetpack + name = "Improvised Jetpack" + result = /obj/item/tank/jetpack/improvised + time = 7.5 SECONDS //this thing is complex + tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/tank/internals/oxygen/red = 2,//red oxygen tank so it looks right + /obj/item/extinguisher = 1, + /obj/item/pipe = 3, + /obj/item/stack/cable_coil = 30 + ) + category = CAT_MISC + +/datum/crafting_recipe/multiduct + name = "Multi-layer duct" + result = /obj/machinery/duct/multilayered + time = 2.5 SECONDS + tools = list(TOOL_WELDER) + reqs = list(/obj/item/stack/ducts = 5) + category = CAT_MISC + +/datum/crafting_recipe/upgraded_gauze + name = "Improved Gauze" + result = /obj/item/stack/medical/gauze/adv/one + time = 1 SECONDS + reqs = list( + /obj/item/stack/medical/gauze = 1, + /datum/reagent/space_cleaner/sterilizine = 10 + ) + category = CAT_MISC + +/datum/crafting_recipe/bruise_pack + name = "Bruise Pack" + result = /obj/item/stack/medical/bruise_pack/one + time = 1 SECONDS + reqs = list( + /obj/item/stack/medical/gauze = 1, + /datum/reagent/medicine/styptic_powder = 20 + ) + category = CAT_MISC + +/datum/crafting_recipe/burn_pack + name = "Burn Ointment" + result = /obj/item/stack/medical/ointment/one + time = 1 SECONDS + reqs = list( + /obj/item/stack/medical/gauze = 1, + /datum/reagent/medicine/silver_sulfadiazine = 20 + ) + category = CAT_MISC + +/datum/crafting_recipe/poppy_pin + name = "Poppy Pin" + result = /obj/item/clothing/accessory/poppy_pin + time = 0.5 SECONDS + reqs = list( + /obj/item/stack/rods = 1, + /obj/item/food/grown/flower/poppy = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/poppy_pin_removal + name = "Poppy Pin Removal" + result = /obj/item/food/grown/flower/poppy + time = 0.5 SECONDS + reqs = list(/obj/item/clothing/accessory/poppy_pin = 1) + category = CAT_MISC + +/datum/crafting_recipe/paper_cup + name= "Paper Cup" + result = /obj/item/reagent_containers/food/drinks/sillycup + time = 1 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list(/obj/item/paper = 1) + category = CAT_MISC + +/datum/crafting_recipe/paperslip + name = "Paper Slip" + result = /obj/item/card/id/paper + time = 1 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list(/obj/item/paper = 5) + category = CAT_MISC + +/datum/crafting_recipe/basic_lasso + name= "Basic Lasso" + result = /obj/item/mob_lasso + time = 2 SECONDS + reqs = list(/obj/item/stack/sheet/leather = 5) + category = CAT_MISC + +/datum/crafting_recipe/foldable + name = "Foldable Chair" + result = /obj/item/chair/foldable + time = 4 SECONDS + tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/stack/sheet/plastic = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/chair_fancy + name = "Fancy Chair" + result = /obj/item/chair/fancy + time = 6 SECONDS + tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/chair = 1 + ) + category = CAT_MISC + +/// banners + +/datum/crafting_recipe/security_banner + name = "Securistan Banner" + result = /obj/item/banner/security/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/security/officer = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/medical_banner + name = "Meditopia Banner" + result = /obj/item/banner/medical/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/medical = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/science_banner + name = "Sciencia Banner" + result = /obj/item/banner/science/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/rnd/scientist = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/cargo_banner + name = "Cargonia Banner" + result = /obj/item/banner/cargo/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/cargo/tech = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/engineering_banner + name = "Engitopia Banner" + result = /obj/item/banner/engineering/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/engineering/engineer = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/command_banner + name = "Command Banner" + result = /obj/item/banner/command/mundane + time = 4 SECONDS + reqs = list( + /obj/item/stack/rods = 2, + /obj/item/clothing/under/rank/captain/parade = 1 + ) + category = CAT_MISC + +/datum/crafting_recipe/picket_sign + name = "Picket Sign" + result = /obj/item/picket_sign + time = 6 SECONDS + reqs = list( + /obj/item/stack/rods = 1, + /obj/item/stack/sheet/cardboard = 2 + ) + category = CAT_MISC diff --git a/code/datums/components/crafting/crafting_lists/primal.dm b/code/datums/components/crafting/crafting_lists/primal.dm new file mode 100644 index 0000000000000..5bbb930118f4d --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/primal.dm @@ -0,0 +1,298 @@ + +/// Primal stuff crafting + +/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 + +/datum/crafting_recipe/heavybonearmor + name = "Heavy Bone Armor" + result = /obj/item/clothing/suit/hooded/cloak/bone + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 3 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonetalisman + name = "Bone Talisman" + result = /obj/item/clothing/accessory/talisman + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonecodpiece + name = "Skull Codpiece" + result = /obj/item/clothing/accessory/skullcodpiece + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 1 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/bracers + name = "Bone Bracers" + result = /obj/item/clothing/gloves/bracer + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 2, + /obj/item/stack/sheet/sinew = 1 + ) + category = CAT_PRIMAL + +/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 + +/datum/crafting_recipe/goliathcloak + name = "Goliath Cloak" + result = /obj/item/clothing/suit/hooded/cloak/goliath + time = 5 SECONDS + 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 + +/datum/crafting_recipe/drakecloak + name = "Ash Drake Armour" + result = /obj/item/clothing/suit/hooded/cloak/drake + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 10, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/ashdrake = 5 + ) + always_available = FALSE + category = CAT_PRIMAL + +/datum/crafting_recipe/watcherbola + name = "Watcher Bola" + result = /obj/item/restraints/legcuffs/bola/watcher + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/animalhide/goliath_hide = 2, + /obj/item/restraints/handcuffs/cable/sinew = 1 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/goliathshield + name = "Goliath shield" + result = /obj/item/shield/riot/goliath + time = 6 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/animalhide/goliath_hide = 3 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/bonesword + name = "Bone Sword" + result = /obj/item/claymore/bone + time = 4 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 3, + /obj/item/stack/sheet/sinew = 2 + ) + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/hunterbelt + name = "Hunters Belt" + result = /obj/item/storage/belt/mining/primitive + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/goliath_hide = 2 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/quiver + name = "Quiver" + result = /obj/item/storage/belt/quiver + time = 8 SECONDS + reqs = list( + /obj/item/stack/sheet/leather = 3, + /obj/item/stack/sheet/sinew = 4 + ) + category = CAT_PRIMAL + +/datum/crafting_recipe/bone_bow + name = "Bone Bow" + result = /obj/item/gun/ballistic/bow/ashen + time = 20 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 8, + /obj/item/stack/sheet/sinew = 4 + ) + 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/wood = 2) + category = CAT_PRIMAL + +/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 + +/datum/crafting_recipe/bonespear + name = "Bone Spear" + result = /obj/item/spear/bonespear + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 4, + /obj/item/stack/sheet/sinew = 1 + ) + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/boneaxe + name = "Bone Axe" + result = /obj/item/fireaxe/boneaxe + time = 5 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 6, + /obj/item/stack/sheet/sinew = 3 + ) + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/bonfire + name = "Bonfire" + time = 6 SECONDS + reqs = list(/obj/item/grown/log = 5) + result = /obj/structure/bonfire + category = CAT_PRIMAL + +/datum/crafting_recipe/skeleton_key + name = "Skeleton Key" + time = 3 SECONDS + reqs = list(/obj/item/stack/sheet/bone = 5) + result = /obj/item/skeleton_key + always_available = FALSE + category = CAT_PRIMAL + +/datum/crafting_recipe/headpike + name = "Spike Head (Glass Spear)" + time = 6.5 SECONDS + reqs = list( + /obj/item/spear = 1, + /obj/item/bodypart/head = 1 + ) + parts = list( + /obj/item/bodypart/head = 1, + /obj/item/spear = 1 + ) + blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear, /obj/item/spear/bamboospear) + result = /obj/structure/headpike/glass + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/headpikebone + name = "Spike Head (Bone Spear)" + time = 6.5 SECONDS + reqs = list( + /obj/item/spear/bonespear = 1, + /obj/item/bodypart/head = 1 + ) + parts = list( + /obj/item/bodypart/head = 1, + /obj/item/spear/bonespear = 1 + ) + result = /obj/structure/headpike/bone + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/headpikebamboo + name = "Spike Head (Bamboo Spear)" + time = 6.5 SECONDS + reqs = list( + /obj/item/spear/bamboospear = 1, + /obj/item/bodypart/head = 1 + ) + parts = list( + /obj/item/bodypart/head = 1, + /obj/item/spear/bamboospear = 1 + ) + result = /obj/structure/headpike/bamboo + category = CAT_PRIMAL + dangerous_craft = TRUE + +/datum/crafting_recipe/primal_lasso + name= "Primal Lasso" + result = /obj/item/mob_lasso/primal + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/animalhide/goliath_hide = 3, + /obj/item/stack/sheet/sinew = 4 + ) + always_available = FALSE + category = CAT_PRIMAL + +/datum/crafting_recipe/dragon_lasso + name = "Ash Drake Lasso" + result = /obj/item/mob_lasso/drake + time = 2 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 10, + /obj/item/stack/sheet/sinew = 2, + /obj/item/stack/sheet/animalhide/ashdrake = 5 + ) + always_available = FALSE + category = CAT_PRIMAL + +/datum/crafting_recipe/fermenting_barrel + name = "Wooden Barrel" + result = /obj/structure/fermenting_barrel + time = 5 SECONDS + reqs = list(/obj/item/stack/sheet/wood = 30) + category = CAT_PRIMAL + +/datum/crafting_recipe/mushroom_bowl + name = "Mushroom Bowl" + result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl + time = 3 SECONDS + reqs = list(/obj/item/food/grown/ash_flora/shavings = 5) + category = CAT_PRIMAL + +/datum/crafting_recipe/charcoal_stylus + name = "Charcoal Stylus" + result = /obj/item/pen/charcoal + reqs = list( + /obj/item/stack/sheet/wood = 1, + /datum/reagent/ash = 30 + ) + time = 3 SECONDS + category = CAT_PRIMAL + +/datum/crafting_recipe/oar + name = "Goliath Bone Oar" + result = /obj/item/oar + time = 1.5 SECONDS + reqs = list(/obj/item/stack/sheet/bone = 2) + category = CAT_PRIMAL + +/datum/crafting_recipe/boat + name = "Goliath Hide Boat (lava boat)" + result = /obj/vehicle/ridden/lavaboat + time = 5 SECONDS + reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3) + category = CAT_PRIMAL diff --git a/code/datums/components/crafting/crafting_lists/robots.dm b/code/datums/components/crafting/crafting_lists/robots.dm new file mode 100644 index 0000000000000..11fc03c3490ab --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/robots.dm @@ -0,0 +1,116 @@ + +/// Robot Crafting + +/datum/crafting_recipe/ed209 + name = "ED209" + result = /mob/living/simple_animal/bot/ed209 + time = 6 SECONDS + tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) + reqs = list( + /obj/item/robot_suit = 1, + /obj/item/clothing/head/helmet = 1, + /obj/item/clothing/suit/armor/vest = 1, + /obj/item/bodypart/l_leg/robot = 1, + /obj/item/bodypart/r_leg/robot = 1, + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/cable_coil = 1, + /obj/item/gun/energy/disabler = 1, + /obj/item/stock_parts/cell = 1, + /obj/item/assembly/prox_sensor = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/secbot + name = "Secbot" + result = /mob/living/simple_animal/bot/secbot + time = 6 SECONDS + tools = list(TOOL_WELDER) + reqs = list( + /obj/item/assembly/signaler = 1, + /obj/item/clothing/head/helmet/sec = 1, + /obj/item/melee/baton = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/cleanbot + name = "Cleanbot" + result = /mob/living/simple_animal/bot/cleanbot + time = 4 SECONDS + reqs = list( + /obj/item/reagent_containers/glass/bucket = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/larry + name = "Larry" + result = /mob/living/simple_animal/bot/cleanbot/larry + reqs = list( + /obj/item/larryframe = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/floorbot + name = "Floorbot" + result = /mob/living/simple_animal/bot/floorbot + time = 4 SECONDS + reqs = list( + /obj/item/storage/toolbox = 1, + /obj/item/stack/tile/iron = 10, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/medbot + name = "Medbot" + result = /mob/living/simple_animal/bot/medbot + time = 4 SECONDS + reqs = list( + /obj/item/healthanalyzer = 1, + /obj/item/storage/firstaid = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bodypart/r_arm/robot = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/honkbot + name = "Honkbot" + result = /mob/living/simple_animal/bot/honkbot + time = 4 SECONDS + reqs = list( + /obj/item/storage/box/clown = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/bikehorn/ = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/Firebot + name = "Firebot" + result = /mob/living/simple_animal/bot/firebot + time = 4 SECONDS + reqs = list( + /obj/item/extinguisher = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/clothing/head/utility/hardhat/red = 1 + ) + category = CAT_ROBOT + +/datum/crafting_recipe/Atmosbot + name = "Atmosbot" + result = /mob/living/simple_animal/bot/atmosbot + time = 4 SECONDS + reqs = list( + /obj/item/analyzer = 1, + /obj/item/bodypart/r_arm/robot = 1, + /obj/item/assembly/prox_sensor = 1, + /obj/item/tank/internals = 1 + ) + category = CAT_ROBOT diff --git a/code/datums/components/crafting/crafting_lists/structures.dm b/code/datums/components/crafting/crafting_lists/structures.dm new file mode 100644 index 0000000000000..d9d38f67d0ab7 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/structures.dm @@ -0,0 +1,122 @@ + +/// Structures crafting, should always be one_per_turf = TRUE, but it don't warrant it's own sub category yet + +/datum/crafting_recipe/personal_locker + name = "Personal Locker" + result = /obj/structure/closet/secure_closet/personal/empty + time = 10 SECONDS + tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) + reqs = list( + /obj/item/stack/sheet/iron = 2, + /obj/item/electronics/airlock = 1, + /obj/item/stack/cable_coil = 2 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/shutters + name = "Shutters" + result = /obj/machinery/door/poddoor/shutters/preopen + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + reqs = list( + /obj/item/stack/sheet/plasteel = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/electronics/airlock = 1 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/glassshutters + name = "Windowed Shutters" + result = /obj/machinery/door/poddoor/shutters/window/preopen + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + reqs = list( + /obj/item/stack/sheet/plasteel = 5, + /obj/item/stack/sheet/rglass = 2, + /obj/item/stack/cable_coil = 5, + /obj/item/electronics/airlock = 1 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/radshutters + name = "Radiation Shutters" + result = /obj/machinery/door/poddoor/shutters/radiation/preopen + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + reqs = list( + /obj/item/stack/sheet/plasteel = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/electronics/airlock = 1, + /obj/item/stack/sheet/mineral/uranium = 2 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/blast_doors + name = "Blast Door" + result = /obj/machinery/door/poddoor/preopen + time = 15 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + reqs = list( + /obj/item/stack/sheet/plasteel = 15, + /obj/item/stack/cable_coil = 15, + /obj/item/electronics/airlock = 1 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/showercurtain + name = "Shower Curtains" + result = /obj/structure/curtain + time = 3 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/stack/sheet/cotton/cloth = 2, + /obj/item/stack/sheet/plastic = 2, + /obj/item/stack/rods = 1 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/aquarium + name = "Aquarium" + result = /obj/structure/aquarium + time = 7.5 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH) + reqs = list( + /obj/item/stack/sheet/iron = 15, + /obj/item/stack/sheet/glass = 10, + /obj/item/aquarium_kit = 1 + ) + category = CAT_STRUCTURE + one_per_turf = TRUE + +/datum/crafting_recipe/guillotine + name = "Guillotine" + result = /obj/structure/guillotine + time = 15 SECONDS // Building a functioning guillotine takes time + reqs = list( + /obj/item/stack/sheet/plasteel = 3, + /obj/item/stack/sheet/wood = 20, + /obj/item/stack/cable_coil = 10 + ) + tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) + category = CAT_STRUCTURE + dangerous_craft = TRUE + one_per_turf = TRUE + +/datum/crafting_recipe/mirror + name = "Wall Mirror Frame" + result = /obj/item/wallframe/mirror + time = 4 SECONDS + reqs = list( + /obj/item/stack/sheet/mineral/silver = 1, + /obj/item/stack/sheet/glass = 2 + ) + tools = list(TOOL_WRENCH) + category = CAT_STRUCTURE + one_per_turf = TRUE + diff --git a/code/datums/components/crafting/crafting_lists/tailoring/clothing.dm b/code/datums/components/crafting/crafting_lists/tailoring/clothing.dm new file mode 100644 index 0000000000000..92f5634ad0252 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/tailoring/clothing.dm @@ -0,0 +1,207 @@ + +/// clothing stuff crafting + +/datum/crafting_recipe/durathread_vest + name = "Durathread Vest" + result = /obj/item/clothing/suit/armor/vest/durathread + time = 5 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 5, + /obj/item/stack/sheet/leather = 4) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_helmet + name = "Durathread Helmet" + result = /obj/item/clothing/head/helmet/durathread + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4, + /obj/item/stack/sheet/leather = 5) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_jumpsuit + name = "Durathread Jumpsuit" + result = /obj/item/clothing/under/color/durathread + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_jumpskirt + name = "Durathread Jumpskirt" + result = /obj/item/clothing/under/color/jumpskirt/durathread + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_hoodie + name = "Durathread Hoodie" + result = /obj/item/clothing/suit/hooded/hoodie/durathread + time = 5 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 5) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_beret + name = "Durathread Beret" + result = /obj/item/clothing/head/beret/durathread + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 2) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_beanie + name = "Durathread Beanie" + result = /obj/item/clothing/head/beanie/durathread + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 2) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/durathread_bandana + name = "Durathread Bandana" + result = /obj/item/clothing/mask/bandana/durathread + time = 2 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 1) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/fannypack + name = "Fannypack" + result = /obj/item/storage/belt/fannypack + time = 2 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth = 2, + /obj/item/stack/sheet/leather = 1 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/voice_modulator + name = "Voice Modulator Mask" + result = /obj/item/clothing/mask/gas/old/modulator + time = 4 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL) + reqs = list( + /obj/item/clothing/mask/gas/old = 1, + /obj/item/assembly/voice = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/ghostsheet + name = "Ghost Sheet" + result = /obj/item/clothing/suit/costume/ghost_sheet + time = 0.5 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list(/obj/item/bedsheet = 1) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/foilhat + name = "Tinfoil Hat" + result = /obj/item/clothing/head/costume/foilhat + time = 3 SECONDS + tools = list(TOOL_CROWBAR, TOOL_WIRECUTTER) + reqs = list(/obj/item/stack/sheet/iron = 3) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/foilenvirohelm + name = "Ghetto Envirosuit Helmet" + result = /obj/item/clothing/head/costume/foilhat/plasmaman + time = 5 SECONDS + tools = list(TOOL_CROWBAR, TOOL_WIRECUTTER, TOOL_SCREWDRIVER) + reqs = list( + /obj/item/clothing/head/costume/foilhat = 1, + /obj/item/stack/package_wrap = 10, + /obj/item/stack/cable_coil = 15, + /obj/item/clothing/glasses/meson = 1, + /obj/item/flashlight = 1, + /obj/item/clothing/head/utility/hardhat = 1, + /obj/item/stack/sheet/glass = 1 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/rainbowbunchcrown + name = "Rainbow Flower Crown" + result = /obj/item/clothing/head/flowercrown/rainbowbunch + time = 2.5 SECONDS + reqs = list( + /obj/item/food/grown/flower/rainbow = 5, + /obj/item/stack/cable_coil = 3 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/sunflowercrown + name = "Sunflower Crown" + result = /obj/item/clothing/head/flowercrown/sunflower + time = 2.5 SECONDS + reqs = list( + /obj/item/grown/sunflower = 5, + /obj/item/stack/cable_coil = 3 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/poppycrown + name = "Poppy Crown" + result = /obj/item/clothing/head/flowercrown/poppy + time = 2.5 SECONDS + reqs = list( + /obj/item/food/grown/flower/poppy = 5, + /obj/item/stack/cable_coil = 3 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/lilycrown + name = "Lily Crown" + result = /obj/item/clothing/head/flowercrown/lily + time = 2.5 SECONDS + reqs = list( + /obj/item/food/grown/flower/lily = 3, + /obj/item/stack/cable_coil = 3 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/mummy + name = "Mummification Bandages (Mask)" + result = /obj/item/clothing/mask/mummy + time = 2 SECONDS + tools = list(/obj/item/nullrod/egyptian) + reqs = list(/obj/item/stack/sheet/cotton/cloth = 2) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/mummy/body + name = "Mummification Bandages (Body)" + result = /obj/item/clothing/under/costume/mummy + time = 4 SECONDS + reqs = list(/obj/item/stack/sheet/cotton/cloth = 5) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/chaplain_hood + name = "Follower Hoodie" + result = /obj/item/clothing/suit/hooded/chaplain_hoodie + time = 3 SECONDS + tools = list(/obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/storage/book/bible) + reqs = list(/obj/item/stack/sheet/cotton/cloth = 4) + category = CAT_TAILORING + subcategory = CAT_CLOTHING + +/datum/crafting_recipe/insulated_boxing_gloves + name = "Insulated Boxing Gloves" + result = /obj/item/clothing/gloves/boxing/yellow/insulated + time = 6 SECONDS + reqs = list( + /obj/item/clothing/gloves/boxing = 1, + /obj/item/clothing/gloves/color/yellow = 1 + ) + category = CAT_TAILORING + subcategory = CAT_CLOTHING diff --git a/code/datums/components/crafting/crafting_lists/tailoring/eyewear.dm b/code/datums/components/crafting/crafting_lists/tailoring/eyewear.dm new file mode 100644 index 0000000000000..596f23c275025 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/tailoring/eyewear.dm @@ -0,0 +1,267 @@ + +/// eyewear stuff crafting + +/datum/crafting_recipe/hudsunsec + name = "Security HUDsunglasses" + result = /obj/item/clothing/glasses/hud/security/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/sunglasses/advanced = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudsunsecremoval + name = "Security HUD removal" + result = /obj/item/clothing/glasses/sunglasses/advanced + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1) + blacklist = list(/obj/item/clothing/glasses/hud/security/sunglasses/degraded) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudsunmed + name = "Medical HUDsunglasses" + result = /obj/item/clothing/glasses/hud/health/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/sunglasses/advanced = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudsunmedremoval + name = "Medical HUD removal" + result = /obj/item/clothing/glasses/sunglasses/advanced + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1) + blacklist = list(/obj/item/clothing/glasses/hud/health/sunglasses/degraded) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudsundiag + name = "Diagnostic HUDsunglasses" + result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/sunglasses/advanced = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudsundiagremoval + name = "Diagnostic HUD removal" + result = /obj/item/clothing/glasses/sunglasses/advanced + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) + blacklist = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/beergoggles + name = "Beer Goggles" + result = /obj/item/clothing/glasses/sunglasses/advanced/reagent + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/sunglasses/advanced = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/beergogglesremoval + name = "Beer Goggles removal" + result = /obj/item/clothing/glasses/sunglasses/advanced + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/sunglasses/advanced/reagent = 1) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/sunhudscience + name = "Science Sunglasses" + result = /obj/item/clothing/glasses/science/sciencesun + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/sunglasses/advanced = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/sunhudscienceremoval + name = "Science Sunglasses removal" + result = /obj/item/clothing/glasses/sunglasses/advanced + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/science/sciencesun = 1) + blacklist = list(/obj/item/clothing/glasses/science/sciencesun/degraded) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsunsec + name = "Degraded Security HUDsunglasses" + result = /obj/item/clothing/glasses/hud/security/sunglasses/degraded + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsunsecremoval + name = "Degraded Security HUD removal" + result = /obj/item/clothing/glasses/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses/degraded = 1) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsunmed + name = "Degraded Medical HUDsunglasses" + result = /obj/item/clothing/glasses/hud/health/sunglasses/degraded + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsunmedremoval + name = "Degraded Medical HUD removal" + result = /obj/item/clothing/glasses/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses/degraded = 1) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsundiag + name = "Degraded Diagnostic HUDsunglasses" + result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/deghudsundiagremoval + name = "Degraded Diagnostic HUD removal" + result = /obj/item/clothing/glasses/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded = 1) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/degsunhudscience + name = "Degraded Science Sunglasses" + result = /obj/item/clothing/glasses/science/sciencesun/degraded + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/sunglasses = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/degsunhudscienceremoval + name = "Degraded Science Sunglasses removal" + result = /obj/item/clothing/glasses/sunglasses + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/science/sciencesun/degraded = 1) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudpresmed + name = "Prescription Medical HUDglasses" + result = /obj/item/clothing/glasses/hud/health/prescription + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/regular/ = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudpressec + name = "Prescription Security HUDglasses" + result = /obj/item/clothing/glasses/hud/security/prescription + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/regular/ = 1, + /obj/item/stack/cable_coil = 5) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudpressci + name = "Prescription Science Goggles" + result = /obj/item/clothing/glasses/science/prescription + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/regular/ = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudpresmeson + name = "Prescription Meson Scanner" + result = /obj/item/clothing/glasses/meson/prescription + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/meson = 1, + /obj/item/clothing/glasses/regular/ = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR + +/datum/crafting_recipe/hudpresdiag + name = "Prescription Diagnostic HUDsunglasses" + result = /obj/item/clothing/glasses/hud/diagnostic/prescription + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/clothing/glasses/hud/diagnostic = 1, + /obj/item/clothing/glasses/regular/ = 1, + /obj/item/stack/cable_coil = 5 + ) + category = CAT_TAILORING + subcategory = CAT_EYEWEAR diff --git a/code/datums/components/crafting/crafting_lists/weaponry/ammunitions.dm b/code/datums/components/crafting/crafting_lists/weaponry/ammunitions.dm new file mode 100644 index 0000000000000..dc02f82d918ef --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/weaponry/ammunitions.dm @@ -0,0 +1,268 @@ + +/// Ammunition Crafting + +/datum/crafting_recipe/meteorslug + name = "Meteorslug Shell" + result = /obj/item/ammo_casing/shotgun/meteorslug + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/rcd_ammo = 1, + /obj/item/stock_parts/manipulator = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/pulseslug + name = "Pulse Slug Shell" + result = /obj/item/ammo_casing/shotgun/pulseslug + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/capacitor/adv = 2, + /obj/item/stock_parts/micro_laser/ultra = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/dragonsbreath + name = "Dragonsbreath Shell" + result = /obj/item/ammo_casing/shotgun/dragonsbreath + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /datum/reagent/phosphorus = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/frag12 + name = "FRAG-12 Shell" + result = /obj/item/ammo_casing/shotgun/frag12 + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /datum/reagent/glycerol = 5, + /datum/reagent/toxin/acid = 5, + /datum/reagent/toxin/acid/fluacid = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/ionslug + name = "Ion Scatter Shell" + result = /obj/item/ammo_casing/shotgun/ion + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/micro_laser/ultra = 1, + /obj/item/stock_parts/subspace/crystal = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improvisedslug + name = "Improvised Shotgun Shell" + result = /obj/item/ammo_casing/shotgun/improvised + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/cable_coil = 1, + /datum/reagent/fuel = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improvisedglassslug + name = "Glasspack Shotgun Shell" + result = /obj/item/ammo_casing/shotgun/improvised/glasspack + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/stack/cable_coil = 1, + /datum/reagent/fuel = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/laserslug + name = "Scatter Laser Shell" + result = /obj/item/ammo_casing/shotgun/laserslug + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/ammo_casing/shotgun/techshell = 1, + /obj/item/stock_parts/capacitor/adv = 1, + /obj/item/stock_parts/micro_laser/high = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/a762improv + name = "Improvised 7.62 Cartridge" + result = /obj/item/ammo_casing/a762/improv + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/cable_coil = 1, + /datum/reagent/fuel = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/a762hotload + name = "Hot-Loaded 7.62 Cartridge" + result = /obj/item/ammo_casing/a762/improv/hotload + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/cable_coil = 1, + /datum/reagent/blackpowder = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improv9mm_pack + name = "Improvised 9mm Ammo Pack" + result = /obj/item/ammo_box/pouch/c9mm/improv + time = 1.5 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/grenade/chem_grenade = 2, + /obj/item/stack/rods = 3, + /obj/item/stack/cable_coil = 3, + /datum/reagent/fuel = 20, + /obj/item/paper = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improv10mm_pack + name = "Improvised 10mm Ammo Pack" + result = /obj/item/ammo_box/pouch/c10mm/improv + time = 1.5 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/grenade/chem_grenade = 2, + /obj/item/stack/sheet/iron = 2, + /obj/item/stack/cable_coil = 2, + /datum/reagent/fuel = 20, + /obj/item/paper = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improv38_pack + name = "Improvised .38 Ammo Pack" + result = /obj/item/ammo_box/pouch/c38/improv + time = 1.5 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/grenade/chem_grenade = 2, + /obj/item/stack/rods = 2, + /obj/item/stack/cable_coil = 2, + /datum/reagent/fuel = 20, + /obj/item/paper = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/improv357 + name = "Improvised .357 Cartridge" + result = /obj/item/ammo_casing/a357/improv + time = 0.5 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/cable_coil = 2, + /datum/reagent/blackpowder = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + dangerous_craft = TRUE + +/datum/crafting_recipe/pipesmg_mag + name = "Pipe Repeater Magazine" + result = /obj/item/ammo_box/magazine/pipem9mm + time = 5 SECONDS + tools = list(TOOL_WELDER, TOOL_WIRECUTTER) + reqs = list( + /obj/item/grenade/chem_grenade = 1, + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stack/cable_coil = 3, + /obj/item/stack/package_wrap = 3 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/arrow //1 metal sheet = 2 rods= 2 arrows + name = "Arrow" + result = /obj/item/ammo_casing/caseless/arrow/wood + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/wood = 1, + /obj/item/stack/sheet/silk = 1, + /obj/item/stack/rods = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bone_arrow + name = "Bone Arrow" + result = /obj/item/ammo_casing/caseless/arrow/bone + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/bone = 1, + /obj/item/stack/sheet/sinew = 1, + /obj/item/ammo_casing/caseless/arrow/ash = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/ashen_arrow + name = "Ashen arrow" + result = /obj/item/ammo_casing/caseless/arrow/ash + tools = list(TOOL_WELDER) + time = 3 SECONDS + reqs = list(/obj/item/ammo_casing/caseless/arrow/wood = 1) + category = CAT_WEAPONRY + subcategory = CAT_AMMO + +/datum/crafting_recipe/bronze_arrow + name = "Bronze arrow" + result = /obj/item/ammo_casing/caseless/arrow/bronze + time = 3 SECONDS + reqs = list( + /obj/item/stack/sheet/wood = 1, + /obj/item/stack/sheet/bronze = 1, + /obj/item/stack/sheet/silk = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_AMMO diff --git a/code/datums/components/crafting/crafting_lists/weaponry/weapons.dm b/code/datums/components/crafting/crafting_lists/weaponry/weapons.dm new file mode 100644 index 0000000000000..1fa94e35599c1 --- /dev/null +++ b/code/datums/components/crafting/crafting_lists/weaponry/weapons.dm @@ -0,0 +1,398 @@ + +/// Weapon Crafting + +/datum/crafting_recipe/IED + name = "IED" + result = /obj/item/grenade/iedcasing + time = 1.5 SECONDS + reqs = list( + /datum/reagent/fuel = 50, + /obj/item/stack/cable_coil = 1, + /obj/item/assembly/igniter = 1, + /obj/item/reagent_containers/food/drinks/soda_cans = 1 + ) + parts = list(/obj/item/reagent_containers/food/drinks/soda_cans = 1) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/lance + name = "Explosive Lance (Grenade)" + result = /obj/item/spear/explosive + time = 1.5 SECONDS + reqs = list( + /obj/item/spear = 1, + /obj/item/grenade = 1 + ) + parts = list( + /obj/item/spear = 1, + /obj/item/grenade = 1 + ) + blacklist = list(/obj/item/spear/bonespear) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/strobeshield + name = "Strobe Shield" + result = /obj/item/shield/riot/flash + time = 4 SECONDS + reqs = list( + /obj/item/wallframe/flasher = 1, + /obj/item/assembly/flash/handheld = 1, + /obj/item/shield/riot = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/molotov + name = "Molotov" + result = /obj/item/reagent_containers/food/drinks/bottle/molotov + time = 4 SECONDS + reqs = list( + /obj/item/reagent_containers/glass/rag = 1, + /obj/item/reagent_containers/food/drinks/bottle = 1 + ) + parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/stunprod + name = "Stunprod" + result = /obj/item/melee/baton/cattleprod + time = 4 SECONDS + reqs = list( + /obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/rods = 1, + /obj/item/assembly/igniter = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/teleprod + name = "Teleprod" + result = /obj/item/melee/baton/cattleprod/teleprod + time = 4 SECONDS + reqs = list( + /obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/rods = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/ore/bluespace_crystal = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/bola + name = "Bola" + result = /obj/item/restraints/legcuffs/bola + time = 2 SECONDS//15 faster than crafting them by hand! + reqs = list( + /obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/sheet/iron = 6 + ) + category= CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/gonbola + name = "Gonbola" + result = /obj/item/restraints/legcuffs/bola/gonbola + time = 4 SECONDS + reqs = list( + /obj/item/restraints/handcuffs/cable = 1, + /obj/item/stack/sheet/iron = 6, + /obj/item/stack/sheet/animalhide/gondola = 1 + ) + category= CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/tailclub + name = "Tail Club" + result = /obj/item/club/tailclub + time = 4 SECONDS + reqs = list( + /obj/item/organ/tail/lizard = 1, + /obj/item/stack/sheet/iron = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/club + name = "improvised maul" + result = /obj/item/club/ghettoclub + time = 4 SECONDS + reqs = list( + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/rods = 1, + /obj/item/restraints/handcuffs/cable = 2, + /obj/item/stack/sheet/cotton/cloth = 3 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/tailwhip + name = "Liz O' Nine Tails" + result = /obj/item/melee/chainofcommand/tailwhip + time = 4 SECONDS + reqs = list( + /obj/item/organ/tail/lizard = 1, + /obj/item/stack/cable_coil = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/catwhip + name = "Cat O' Nine Tails" + result = /obj/item/melee/chainofcommand/tailwhip/kitty + time = 4 SECONDS + reqs = list( + /obj/item/organ/tail/cat = 1, + /obj/item/stack/cable_coil = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + +/datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but arguably underused for what it is... + name = "Pneumatic Cannon" + result = /obj/item/pneumatic_cannon/ghetto + time = 5 SECONDS + tools = list(TOOL_WELDER, TOOL_WRENCH) + reqs = list( + /obj/item/stack/sheet/iron = 4, + /obj/item/stack/package_wrap = 8, + /obj/item/pipe = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/flamethrower + name = "Flamethrower" + result = /obj/item/flamethrower + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER) + reqs = list( + /obj/item/weldingtool = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/rods = 1 + ) + parts = list( + /obj/item/assembly/igniter = 1, + /obj/item/weldingtool = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/pipebow + name = "Pipe Bow" + result = /obj/item/gun/ballistic/bow/pipe + time = 12 SECONDS + reqs = list( + /obj/item/pipe = 5, + /obj/item/stack/sheet/plastic = 15, + /obj/item/weaponcrafting/silkstring = 4 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/woodenbow + name = "Wooden Bow" + result = /obj/item/gun/ballistic/bow + time = 12 SECONDS + reqs = list( + /obj/item/stack/sheet/wood = 8, + /obj/item/stack/sheet/iron = 2, + /obj/item/weaponcrafting/silkstring = 4 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + + +/datum/crafting_recipe/ishotgun + name = "Improvised Shotgun" + result = /obj/item/gun/ballistic/shotgun/doublebarrel/improvised + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) + reqs = list( + /obj/item/weaponcrafting/receiver = 1, + /obj/item/pipe = 1, + /obj/item/weaponcrafting/stock = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/package_wrap = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/piperifle + name = "Singleshot Pipe Rifle" + result = /obj/item/gun/ballistic/rifle/pipe + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) + reqs = list( + /obj/item/weaponcrafting/receiver = 1, + /obj/item/pipe = 1, + /obj/item/weaponcrafting/stock = 1, + /obj/item/assembly/igniter = 1, + /obj/item/stack/package_wrap = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/pipesmg + name = "Mag-Fed Pipe Repeater" + result = /obj/item/gun/ballistic/automatic/pipe_smg + time = 10 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) + reqs = list( + /obj/item/weaponcrafting/receiver = 1, + /obj/item/pipe = 2, + /obj/item/stack/rods = 2, + /obj/item/stack/sheet/wood = 2, + /obj/item/assembly/igniter = 1, + /obj/item/stack/package_wrap = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/chainsaw + name = "Chainsaw" + result = /obj/item/chainsaw + time = 5 SECONDS + tools = list(TOOL_WELDER) + reqs = list( + /obj/item/circular_saw = 1, + /obj/item/stack/cable_coil = 3, + /obj/item/stack/sheet/plasteel = 5 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/spear + name = "Spear" + result = /obj/item/spear + time = 4 SECONDS + reqs = list( + /obj/item/restraints/handcuffs/cable = 1, + /obj/item/shard = 1, + /obj/item/stack/rods = 1 + ) + parts = list(/obj/item/shard = 1) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/switchblade_kitchen + name = "Iron Switchblade" + result = /obj/item/switchblade/kitchen + time = 4 SECONDS + tools = list(TOOL_WELDER) + reqs = list( + /obj/item/stack/sheet/iron = 2, + /obj/item/weaponcrafting/receiver = 1, + /obj/item/knife = 1, + /obj/item/stack/cable_coil = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/switchblade_kitchenupgrade + name = "Plastitanium Switchblade" + result = /obj/item/switchblade/plastitanium + time = 2 SECONDS + tools = list(TOOL_WELDER) + reqs = list( + /obj/item/switchblade/kitchen = 1, + /obj/item/stack/sheet/mineral/plastitanium = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/switchblade_plastitanium + name = "Plastitanium Switchblade" + result = /obj/item/switchblade/plastitanium + time = 6.5 SECONDS + tools = list(TOOL_WELDER) + reqs = list( + /obj/item/weaponcrafting/stock = 1, + /obj/item/weaponcrafting/receiver = 1, + /obj/item/knife = 1, + /obj/item/stack/cable_coil = 2, + /obj/item/stack/sheet/mineral/plastitanium = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/chemical_payload + name = "Chemical Payload (C4)" + result = /obj/item/bombcore/chemical + time = 3 SECONDS + reqs = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/grenade/plastic/c4 = 1, + /obj/item/grenade/chem_grenade = 2 + ) + parts = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/grenade/chem_grenade = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +/datum/crafting_recipe/chemical_payload2 + name = "Chemical Payload (Gibtonite)" + result = /obj/item/bombcore/chemical + time = 5 SECONDS + reqs = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/gibtonite = 1, + /obj/item/grenade/chem_grenade = 2 + ) + parts = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/grenade/chem_grenade = 2 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE + +// Shank - Makeshift weapon that can embed on throw +/datum/crafting_recipe/shank + name = "Shank" + result = /obj/item/knife/shank + time = 2 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list( + /obj/item/shard = 1, + /obj/item/stack/cable_coil = 10 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + always_available = TRUE + dangerous_craft = TRUE + +/datum/crafting_recipe/sharpmop + name = "Sharpened Mop" + result = /obj/item/mop/sharp + time = 3 SECONDS + tools = list(TOOL_WIRECUTTER) + reqs = list( + /obj/item/mop = 1, + /obj/item/shard = 1 + ) + category = CAT_WEAPONRY + subcategory = CAT_WEAPON + dangerous_craft = TRUE diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm deleted file mode 100644 index 7f195a3d60152..0000000000000 --- a/code/datums/components/crafting/recipes.dm +++ /dev/null @@ -1,1319 +0,0 @@ - -/datum/crafting_recipe - var/name = "" //in-game display name - var/reqs[] = list() //type paths of items consumed associated with how many are needed - var/blacklist[] = list() //type paths of items explicitly not allowed as an ingredient - var/result //type path of item resulting from this craft - var/tools[] = list() //type paths of items needed but not consumed - var/time = 30 //time in deciseconds - var/parts[] = list() //type paths of items that will be placed in the result - var/chem_catalysts[] = list() //like tools but for reagents - var/category = CAT_NONE //where it shows up in the crafting UI - var/subcategory = CAT_NONE - var/always_available = TRUE //Set to FALSE if it needs to be learned first. - var/one_per_turf = FALSE ///Should only one object exist on the same turf? - var/dangerous_craft = FALSE /// Should admins be notified about this getting created by a non-antagonist? - -/datum/crafting_recipe/New() - if(!(result in reqs)) - blacklist += result - -/** - * Run custom pre-craft checks for this recipe - * - * user: the /mob that initiated the crafting - * collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path. - */ -/datum/crafting_recipe/proc/check_requirements(mob/user, list/collected_requirements) - return TRUE - -/datum/crafting_recipe/IED - name = "IED" - result = /obj/item/grenade/iedcasing - reqs = list(/datum/reagent/fuel = 50, - /obj/item/stack/cable_coil = 1, - /obj/item/assembly/igniter = 1, - /obj/item/reagent_containers/food/drinks/soda_cans = 1) - parts = list(/obj/item/reagent_containers/food/drinks/soda_cans = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/lance - name = "Explosive Lance (Grenade)" - result = /obj/item/spear/explosive - reqs = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - blacklist = list(/obj/item/spear/bonespear) - parts = list(/obj/item/spear = 1, - /obj/item/grenade = 1) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/strobeshield - name = "Strobe Shield" - result = /obj/item/shield/riot/flash - reqs = list(/obj/item/wallframe/flasher = 1, - /obj/item/assembly/flash/handheld = 1, - /obj/item/shield/riot = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/molotov - name = "Molotov" - result = /obj/item/reagent_containers/food/drinks/bottle/molotov - reqs = list(/obj/item/reagent_containers/glass/rag = 1, - /obj/item/reagent_containers/food/drinks/bottle = 1) - parts = list(/obj/item/reagent_containers/food/drinks/bottle = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/stunprod - name = "Stunprod" - result = /obj/item/melee/baton/cattleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/teleprod - name = "Teleprod" - result = /obj/item/melee/baton/cattleprod/teleprod - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/rods = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/ore/bluespace_crystal = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/bola - name = "Bola" - result = /obj/item/restraints/legcuffs/bola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/iron = 6) - time = 20//15 faster than crafting them by hand! - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/gonbola - name = "Gonbola" - result = /obj/item/restraints/legcuffs/bola/gonbola - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/stack/sheet/iron = 6, - /obj/item/stack/sheet/animalhide/gondola = 1) - time = 40 - category= CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/tailclub - name = "Tail Club" - result = /obj/item/club/tailclub - reqs = list(/obj/item/organ/tail/lizard = 1, - /obj/item/stack/sheet/iron = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/club - name = "improvised maul" - result = /obj/item/club/ghettoclub - reqs = list(/obj/item/stack/sheet/iron = 1, - /obj/item/stack/rods = 1, - /obj/item/restraints/handcuffs/cable = 2, - /obj/item/stack/sheet/cotton/cloth = 3) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/tailwhip - name = "Liz O' Nine Tails" - result = /obj/item/melee/chainofcommand/tailwhip - reqs = list(/obj/item/organ/tail/lizard = 1, - /obj/item/stack/cable_coil = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/catwhip - name = "Cat O' Nine Tails" - result = /obj/item/melee/chainofcommand/tailwhip/kitty - reqs = list(/obj/item/organ/tail/cat = 1, - /obj/item/stack/cable_coil = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/ed209 - name = "ED209" - result = /mob/living/simple_animal/bot/ed209 - reqs = list(/obj/item/robot_suit = 1, - /obj/item/clothing/head/helmet = 1, - /obj/item/clothing/suit/armor/vest = 1, - /obj/item/bodypart/l_leg/robot = 1, - /obj/item/bodypart/r_leg/robot = 1, - /obj/item/stack/sheet/iron = 1, - /obj/item/stack/cable_coil = 1, - /obj/item/gun/energy/disabler = 1, - /obj/item/stock_parts/cell = 1, - /obj/item/assembly/prox_sensor = 1) - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) - time = 60 - category = CAT_ROBOT - -/datum/crafting_recipe/secbot - name = "Secbot" - result = /mob/living/simple_animal/bot/secbot - reqs = list(/obj/item/assembly/signaler = 1, - /obj/item/clothing/head/helmet/sec = 1, - /obj/item/melee/baton = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - tools = list(TOOL_WELDER) - time = 60 - category = CAT_ROBOT - -/datum/crafting_recipe/cleanbot - name = "Cleanbot" - result = /mob/living/simple_animal/bot/cleanbot - reqs = list(/obj/item/reagent_containers/glass/bucket = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/cleanbot/larry - name = "Larry" - result = /mob/living/simple_animal/bot/cleanbot/larry - reqs = list(/obj/item/larryframe = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - - -/datum/crafting_recipe/floorbot - name = "Floorbot" - result = /mob/living/simple_animal/bot/floorbot - reqs = list(/obj/item/storage/toolbox = 1, - /obj/item/stack/tile/iron = 10, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/medbot - name = "Medbot" - result = /mob/living/simple_animal/bot/medbot - reqs = list(/obj/item/healthanalyzer = 1, - /obj/item/storage/firstaid = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bodypart/r_arm/robot = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/honkbot - name = "Honkbot" - result = /mob/living/simple_animal/bot/honkbot - reqs = list(/obj/item/storage/box/clown = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/bikehorn/ = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/Firebot - name = "Firebot" - result = /mob/living/simple_animal/bot/firebot - reqs = list(/obj/item/extinguisher = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/clothing/head/utility/hardhat/red = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/Atmosbot - name = "Atmosbot" - result = /mob/living/simple_animal/bot/atmosbot - reqs = list(/obj/item/analyzer = 1, - /obj/item/bodypart/r_arm/robot = 1, - /obj/item/assembly/prox_sensor = 1, - /obj/item/tank/internals = 1) - time = 40 - category = CAT_ROBOT - -/datum/crafting_recipe/improvised_pneumatic_cannon //Pretty easy to obtain but - name = "Pneumatic Cannon" - result = /obj/item/pneumatic_cannon/ghetto - tools = list(TOOL_WELDER, TOOL_WRENCH) - reqs = list(/obj/item/stack/sheet/iron = 4, - /obj/item/stack/package_wrap = 8, - /obj/item/pipe = 2) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/flamethrower - name = "Flamethrower" - result = /obj/item/flamethrower - reqs = list(/obj/item/weldingtool = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/assembly/igniter = 1, - /obj/item/weldingtool = 1) - tools = list(TOOL_SCREWDRIVER) - time = 10 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/pipebow - name = "Pipe Bow" - result = /obj/item/gun/ballistic/bow/pipe - reqs = list(/obj/item/pipe = 5, - /obj/item/stack/sheet/plastic = 15, - /obj/item/weaponcrafting/silkstring = 4) - time = 120 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/woodenbow - name = "Wooden Bow" - result = /obj/item/gun/ballistic/bow - reqs = list(/obj/item/stack/sheet/wood = 8, - /obj/item/stack/sheet/iron = 2, - /obj/item/weaponcrafting/silkstring = 4) - time = 120 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - -/datum/crafting_recipe/meteorslug - name = "Meteorslug Shell" - result = /obj/item/ammo_casing/shotgun/meteorslug - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/rcd_ammo = 1, - /obj/item/stock_parts/manipulator = 2) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/pulseslug - name = "Pulse Slug Shell" - result = /obj/item/ammo_casing/shotgun/pulseslug - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/capacitor/adv = 2, - /obj/item/stock_parts/micro_laser/ultra = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/dragonsbreath - name = "Dragonsbreath Shell" - result = /obj/item/ammo_casing/shotgun/dragonsbreath - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/frag12 - name = "FRAG-12 Shell" - result = /obj/item/ammo_casing/shotgun/frag12 - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /datum/reagent/glycerol = 5, - /datum/reagent/toxin/acid = 5, - /datum/reagent/toxin/acid/fluacid = 5) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/ionslug - name = "Ion Scatter Shell" - result = /obj/item/ammo_casing/shotgun/ion - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/micro_laser/ultra = 1, - /obj/item/stock_parts/subspace/crystal = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improvisedslug - name = "Improvised Shotgun Shell" - result = /obj/item/ammo_casing/shotgun/improvised - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stack/sheet/iron = 1, - /obj/item/stack/cable_coil = 1, - /datum/reagent/fuel = 10) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improvisedglassslug - name = "Glasspack Shotgun Shell" - result = /obj/item/ammo_casing/shotgun/improvised/glasspack - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stack/sheet/glass = 1, - /obj/item/stack/cable_coil = 1, - /datum/reagent/fuel = 10) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/laserslug - name = "Scatter Laser Shell" - result = /obj/item/ammo_casing/shotgun/laserslug - reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, - /obj/item/stock_parts/capacitor/adv = 1, - /obj/item/stock_parts/micro_laser/high = 1) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/a762improv - name = "Improvised 7.62 Cartridge" - result = /obj/item/ammo_casing/a762/improv - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stack/sheet/iron = 1, - /obj/item/stack/cable_coil = 1, - /datum/reagent/fuel = 10) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/a762hotload - name = "Hot-Loaded 7.62 Cartridge" - result = /obj/item/ammo_casing/a762/improv/hotload - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stack/sheet/iron = 1, - /obj/item/stack/cable_coil = 1, - /datum/reagent/blackpowder = 10) - tools = list(TOOL_SCREWDRIVER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improv9mm_pack - name = "Improvised 9mm Ammo Pack" - result = /obj/item/ammo_box/pouch/c9mm/improv - reqs = list(/obj/item/grenade/chem_grenade = 2, - /obj/item/stack/rods = 3, - /obj/item/stack/cable_coil = 3, - /datum/reagent/fuel = 20, - /obj/item/paper = 1) - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improv10mm_pack - name = "Improvised 10mm Ammo Pack" - result = /obj/item/ammo_box/pouch/c10mm/improv - reqs = list(/obj/item/grenade/chem_grenade = 2, - /obj/item/stack/sheet/iron = 2, - /obj/item/stack/cable_coil = 2, - /datum/reagent/fuel = 20, - /obj/item/paper = 1) - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improv38_pack - name = "Improvised .38 Ammo Pack" - result = /obj/item/ammo_box/pouch/c38/improv - reqs = list(/obj/item/grenade/chem_grenade = 2, - /obj/item/stack/rods = 2, - /obj/item/stack/cable_coil = 2, - /datum/reagent/fuel = 20, - /obj/item/paper = 1) - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - time = 15 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/improv357 - name = "Improvised .357 Cartridge" - result = /obj/item/ammo_casing/a357/improv - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stack/sheet/iron = 1, - /obj/item/stack/cable_coil = 2, - /datum/reagent/blackpowder = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - time = 5 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - dangerous_craft = TRUE - -/datum/crafting_recipe/pipesmg_mag - name = "Pipe Repeater Magazine" - result = /obj/item/ammo_box/magazine/pipem9mm - reqs = list(/obj/item/grenade/chem_grenade = 1, - /obj/item/stock_parts/matter_bin = 1, - /obj/item/stack/cable_coil = 3, - /obj/item/stack/package_wrap = 3) - tools = list(TOOL_WELDER, TOOL_WIRECUTTER) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/arrow - name = "Arrow" - result = /obj/item/ammo_casing/caseless/arrow/wood - time = 30 - reqs = list(/obj/item/stack/sheet/wood = 1, - /obj/item/stack/sheet/silk = 1, - /obj/item/stack/rods = 1) //1 metal sheet = 2 rods= 2 arrows - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/bone_arrow - name = "Bone Arrow" - result = /obj/item/ammo_casing/caseless/arrow/bone - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 1, - /obj/item/stack/sheet/sinew = 1, - /obj/item/ammo_casing/caseless/arrow/ash = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/ashen_arrow - name = "Ashen arrow" - result = /obj/item/ammo_casing/caseless/arrow/ash - tools = list(TOOL_WELDER) - time = 30 - reqs = list(/obj/item/ammo_casing/caseless/arrow/wood = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/bronze_arrow - name = "Bronze arrow" - result = /obj/item/ammo_casing/caseless/arrow/bronze - time = 30 - reqs = list(/obj/item/stack/sheet/wood = 1, - /obj/item/stack/sheet/bronze = 1, - /obj/item/stack/sheet/silk = 1) - category = CAT_WEAPONRY - subcategory = CAT_AMMO - -/datum/crafting_recipe/ishotgun - name = "Improvised Shotgun" - result = /obj/item/gun/ballistic/shotgun/doublebarrel/improvised - reqs = list(/obj/item/weaponcrafting/receiver = 1, - /obj/item/pipe = 1, - /obj/item/weaponcrafting/stock = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/package_wrap = 5) - tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) - time = 100 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/piperifle - name = "Singleshot Pipe Rifle" - result = /obj/item/gun/ballistic/rifle/pipe - reqs = list(/obj/item/weaponcrafting/receiver = 1, - /obj/item/pipe = 1, - /obj/item/weaponcrafting/stock = 1, - /obj/item/assembly/igniter = 1, - /obj/item/stack/package_wrap = 5) - tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) - time = 100 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/pipesmg - name = "Mag-Fed Pipe Repeater" - result = /obj/item/gun/ballistic/automatic/pipe_smg - reqs = list(/obj/item/weaponcrafting/receiver = 1, - /obj/item/pipe = 2, - /obj/item/stack/rods = 2, - /obj/item/stack/sheet/wood = 2, - /obj/item/assembly/igniter = 1, - /obj/item/stack/package_wrap = 5) - tools = list(TOOL_SCREWDRIVER, TOOL_WELDER) - time = 100 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/chainsaw - name = "Chainsaw" - result = /obj/item/chainsaw - reqs = list(/obj/item/circular_saw = 1, - /obj/item/stack/cable_coil = 3, - /obj/item/stack/sheet/plasteel = 5) - tools = list(TOOL_WELDER) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/spear - name = "Spear" - result = /obj/item/spear - reqs = list(/obj/item/restraints/handcuffs/cable = 1, - /obj/item/shard = 1, - /obj/item/stack/rods = 1) - parts = list(/obj/item/shard = 1) - time = 40 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/switchblade_kitchen - name = "Iron Switchblade" - result = /obj/item/switchblade/kitchen - reqs = list(/obj/item/stack/sheet/iron = 2, - /obj/item/weaponcrafting/receiver = 1, - /obj/item/knife = 1, - /obj/item/stack/cable_coil = 2) - tools = list(TOOL_WELDER) - time = 45 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/switchblade_kitchenupgrade - name = "Plastitanium Switchblade" - result = /obj/item/switchblade/plastitanium - reqs = list(/obj/item/switchblade/kitchen = 1, - /obj/item/stack/sheet/mineral/plastitanium = 2) - tools = list(TOOL_WELDER) - time = 20 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/switchblade_plastitanium - name = "Plastitanium Switchblade" - result = /obj/item/switchblade/plastitanium - reqs = list(/obj/item/weaponcrafting/stock = 1, - /obj/item/weaponcrafting/receiver = 1, - /obj/item/knife = 1, - /obj/item/stack/cable_coil = 2, - /obj/item/stack/sheet/mineral/plastitanium = 2) - tools = list(TOOL_WELDER) - time = 65 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/spooky_camera - name = "Camera Obscura" - result = /obj/item/camera/spooky - time = 15 - reqs = list(/obj/item/camera = 1, - /datum/reagent/water/holywater = 10) - parts = list(/obj/item/camera = 1) - category = CAT_MISC - -/datum/crafting_recipe/lizardhat - name = "Lizard Cloche Hat" - result = /obj/item/clothing/head/costume/lizard - time = 10 - reqs = list(/obj/item/organ/tail/lizard = 1) - category = CAT_MISC - -/datum/crafting_recipe/lizardhat_alternate - name = "Lizard Cloche Hat" - result = /obj/item/clothing/head/costume/lizard - time = 10 - reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1) - category = CAT_MISC - -/datum/crafting_recipe/kittyears - name = "Kitty Ears" - result = /obj/item/clothing/head/costume/kitty/genuine - time = 10 - reqs = list(/obj/item/organ/tail/cat = 1, - /obj/item/organ/ears/cat = 1) - category = CAT_MISC - -/datum/crafting_recipe/skateboard - name = "Skateboard" - result = /obj/item/melee/skateboard - time = 60 - reqs = list(/obj/item/stack/sheet/iron = 5, - /obj/item/stack/rods = 10) - category = CAT_MISC - -/datum/crafting_recipe/scooter - name = "Scooter" - result = /obj/vehicle/ridden/scooter - time = 65 - reqs = list(/obj/item/stack/sheet/iron = 5, - /obj/item/stack/rods = 12) - category = CAT_MISC - -/datum/crafting_recipe/wheelchair - name = "Wheelchair" - result = /obj/vehicle/ridden/wheelchair - reqs = list(/obj/item/stack/sheet/iron = 4, - /obj/item/stack/rods = 6) - time = 100 - category = CAT_MISC - -/datum/crafting_recipe/motorized_wheelchair - name = "Motorized Wheelchair" - result = /obj/vehicle/ridden/wheelchair/motorized - reqs = list(/obj/item/stack/sheet/iron = 10, - /obj/item/stack/rods = 8, - /obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/capacitor = 1) - parts = list(/obj/item/stock_parts/manipulator = 2, - /obj/item/stock_parts/capacitor = 1) - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) - time = 200 - category = CAT_MISC - -/datum/crafting_recipe/mousetrap - name = "Mouse Trap" - result = /obj/item/assembly/mousetrap - time = 10 - reqs = list(/obj/item/stack/sheet/cardboard = 1, - /obj/item/stack/rods = 1) - category = CAT_MISC - -/datum/crafting_recipe/papersack - name = "Paper Sack" - result = /obj/item/storage/box/papersack - time = 10 - reqs = list(/obj/item/paper = 5) - category = CAT_MISC - - -/datum/crafting_recipe/flashlight_eyes - name = "Flashlight Eyes" - result = /obj/item/organ/eyes/robotic/flashlight - time = 10 - reqs = list( - /obj/item/flashlight = 2, - /obj/item/restraints/handcuffs/cable = 1 - ) - category = CAT_MISC - -/datum/crafting_recipe/paperframes - name = "Paper Frames" - result = /obj/item/stack/sheet/paperframes/five - time = 10 - reqs = list(/obj/item/stack/sheet/wood = 2, /obj/item/paper = 10) - category = CAT_MISC - -/datum/crafting_recipe/naturalpaper - name = "Hand-Pressed Paper Bundle" - time = 30 - reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/wood = 1) - tools = list(/obj/item/hatchet) - result = /obj/item/paper_bin/bundlenatural - category = CAT_MISC - -/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 - -/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 - -/datum/crafting_recipe/extendohand - name = "Extendo-Hand" - reqs = list(/obj/item/bodypart/r_arm/robot = 1, /obj/item/clothing/gloves/boxing = 1) - result = /obj/item/extendohand - category = CAT_MISC - -/datum/crafting_recipe/mothplush - name = "Moth Plushie" - result = /obj/item/toy/plush/moth - reqs = list(/obj/item/stack/sheet/animalhide/mothroach = 1, - /obj/item/stack/sheet/cotton/cloth = 3) - category = CAT_MISC - -/datum/crafting_recipe/chemical_payload - name = "Chemical Payload (C4)" - result = /obj/item/bombcore/chemical - reqs = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/grenade/plastic/c4 = 1, - /obj/item/grenade/chem_grenade = 2 - ) - parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) - time = 30 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/chemical_payload2 - name = "Chemical Payload (Gibtonite)" - result = /obj/item/bombcore/chemical - reqs = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/gibtonite = 1, - /obj/item/grenade/chem_grenade = 2 - ) - parts = list(/obj/item/stock_parts/matter_bin = 1, /obj/item/grenade/chem_grenade = 2) - time = 50 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - dangerous_craft = TRUE - -/datum/crafting_recipe/bonearmor - name = "Bone Armor" - result = /obj/item/clothing/suit/armor/bone - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 6) - category = CAT_PRIMAL - -/datum/crafting_recipe/heavybonearmor - name = "Heavy Bone Armor" - result = /obj/item/clothing/suit/hooded/cloak/bone - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonetalisman - name = "Bone Talisman" - result = /obj/item/clothing/accessory/talisman - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonecodpiece - name = "Skull Codpiece" - result = /obj/item/clothing/accessory/skullcodpiece - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/bracers - name = "Bone Bracers" - result = /obj/item/clothing/gloves/bracer - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/skullhelm - name = "Skull Helmet" - result = /obj/item/clothing/head/helmet/skull - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathcloak - name = "Goliath Cloak" - result = /obj/item/clothing/suit/hooded/cloak/goliath - time = 50 - 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 - -/datum/crafting_recipe/drakecloak - name = "Ash Drake Armour" - result = /obj/item/clothing/suit/hooded/cloak/drake - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 10, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/ashdrake = 5) - always_available = FALSE - category = CAT_PRIMAL - -/datum/crafting_recipe/watcherbola - name = "Watcher Bola" - result = /obj/item/restraints/legcuffs/bola/watcher - time = 30 - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2, - /obj/item/restraints/handcuffs/cable/sinew = 1) - category = CAT_PRIMAL - -/datum/crafting_recipe/goliathshield - name = "Goliath shield" - result = /obj/item/shield/riot/goliath - time = 60 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/animalhide/goliath_hide = 3) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonesword - name = "Bone Sword" - result = /obj/item/claymore/bone - time = 40 - reqs = list(/obj/item/stack/sheet/bone = 3, - /obj/item/stack/sheet/sinew = 2) - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/hunterbelt - name = "Hunters Belt" - result = /obj/item/storage/belt/mining/primitive - time = 20 - reqs = list(/obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/goliath_hide = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/quiver - name = "Quiver" - result = /obj/item/storage/belt/quiver - time = 80 - reqs = list(/obj/item/stack/sheet/leather = 3, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/bone_bow - name = "Bone Bow" - result = /obj/item/gun/ballistic/bow/ashen - time = 200 - reqs = list(/obj/item/stack/sheet/bone = 8, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/firebrand - name = "Firebrand" - result = /obj/item/match/firebrand - time = 100 //Long construction time. Making fire is hard work. - reqs = list(/obj/item/stack/sheet/wood = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/gold_horn - name = "Golden Bike Horn" - result = /obj/item/bikehorn/golden - time = 20 - reqs = list(/obj/item/stack/sheet/mineral/bananium = 5, - /obj/item/bikehorn = 1) - category = CAT_MISC - -/datum/crafting_recipe/flash_ducky - name = "Toy Rubber Duck Mine" - result = /obj/item/deployablemine/traitor/toy - time = 20 - reqs = list(/obj/item/bikehorn/rubberducky = 1, - /obj/item/assembly/flash/handheld = 1, - /obj/item/stack/cable_coil = 2, - /obj/item/assembly/prox_sensor) - blacklist = list(/obj/item/assembly/flash/handheld/strong) - category = CAT_MISC - -/datum/crafting_recipe/bonedagger - name = "Bone Dagger" - result = /obj/item/knife/combat/bone - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 2) - category = CAT_PRIMAL - -/datum/crafting_recipe/bonespear - name = "Bone Spear" - result = /obj/item/spear/bonespear - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 4, - /obj/item/stack/sheet/sinew = 1) - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/boneaxe - name = "Bone Axe" - result = /obj/item/fireaxe/boneaxe - time = 50 - reqs = list(/obj/item/stack/sheet/bone = 6, - /obj/item/stack/sheet/sinew = 3) - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/bonfire - name = "Bonfire" - time = 60 - reqs = list(/obj/item/grown/log = 5) - result = /obj/structure/bonfire - category = CAT_PRIMAL - -/datum/crafting_recipe/skeleton_key - name = "Skeleton Key" - time = 30 - reqs = list(/obj/item/stack/sheet/bone = 5) - result = /obj/item/skeleton_key - always_available = FALSE - category = CAT_PRIMAL - -/datum/crafting_recipe/headpike - name = "Spike Head (Glass Spear)" - time = 65 - reqs = list(/obj/item/spear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear = 1) - blacklist = list(/obj/item/spear/explosive, /obj/item/spear/bonespear, /obj/item/spear/bamboospear) - result = /obj/structure/headpike/glass - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/headpikebone - name = "Spike Head (Bone Spear)" - time = 65 - reqs = list(/obj/item/spear/bonespear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear/bonespear = 1) - result = /obj/structure/headpike/bone - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/headpikebamboo - name = "Spike Head (Bamboo Spear)" - time = 65 - reqs = list(/obj/item/spear/bamboospear = 1, - /obj/item/bodypart/head = 1) - parts = list(/obj/item/bodypart/head = 1, - /obj/item/spear/bamboospear = 1) - result = /obj/structure/headpike/bamboo - category = CAT_PRIMAL - dangerous_craft = TRUE - -/datum/crafting_recipe/pressureplate - name = "Pressure Plate" - result = /obj/item/pressure_plate - time = 5 - reqs = list(/obj/item/stack/sheet/iron = 1, - /obj/item/stack/tile/iron = 1, - /obj/item/stack/cable_coil = 2, - /obj/item/assembly/igniter = 1) - category = CAT_MISC - - -/datum/crafting_recipe/rcl - name = "Makeshift Rapid Cable Layer" - result = /obj/item/rcl/ghetto - time = 40 - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) - reqs = list(/obj/item/stack/sheet/iron = 15) - category = CAT_MISC - -/datum/crafting_recipe/mummy - name = "Mummification Bandages (Mask)" - result = /obj/item/clothing/mask/mummy - time = 10 - tools = list(/obj/item/nullrod/egyptian) - reqs = list(/obj/item/stack/sheet/cotton/cloth = 2) - category = CAT_CLOTHING - -/datum/crafting_recipe/mummy/body - name = "Mummification Bandages (Body)" - result = /obj/item/clothing/under/costume/mummy - reqs = list(/obj/item/stack/sheet/cotton/cloth = 5) - - -/datum/crafting_recipe/chaplain_hood - name = "Follower Hoodie" - result = /obj/item/clothing/suit/hooded/chaplain_hoodie - time = 10 - tools = list(/obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/storage/book/bible) - reqs = list(/obj/item/stack/sheet/cotton/cloth = 4) - category = CAT_CLOTHING - -/datum/crafting_recipe/aitater - name = "intelliTater" - result = /obj/item/aicard/aitater - time = 30 - tools = list(TOOL_WIRECUTTER) - reqs = list(/obj/item/aicard = 1, - /obj/item/food/grown/potato = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_MISC - -/datum/crafting_recipe/aispook - name = "intelliLantern" - result = /obj/item/aicard/aispook - time = 30 - tools = list(TOOL_WIRECUTTER) - reqs = list(/obj/item/aicard = 1, - /obj/item/food/grown/pumpkin = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_MISC - -/datum/crafting_recipe/ghettojetpack - name = "Improvised Jetpack" - result = /obj/item/tank/jetpack/improvised - time = 30 - reqs = list(/obj/item/tank/internals/oxygen/red = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = 30)//red oxygen tank so it looks right - category = CAT_MISC - tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) - -/datum/crafting_recipe/multiduct - name = "Multi-layer duct" - result = /obj/machinery/duct/multilayered - time = 5 - reqs = list(/obj/item/stack/ducts = 5) - category = CAT_MISC - tools = list(TOOL_WELDER) - -/datum/crafting_recipe/upgraded_gauze - name = "Improved Gauze" - result = /obj/item/stack/medical/gauze/adv/one - time = 1 - reqs = list(/obj/item/stack/medical/gauze = 1, - /datum/reagent/space_cleaner/sterilizine = 10) - category = CAT_MISC - -/datum/crafting_recipe/bruise_pack - name = "Bruise Pack" - result = /obj/item/stack/medical/bruise_pack/one - time = 1 - reqs = list(/obj/item/stack/medical/gauze = 1, - /datum/reagent/medicine/styptic_powder = 20) - category = CAT_MISC - -/datum/crafting_recipe/burn_pack - name = "Burn Ointment" - result = /obj/item/stack/medical/ointment/one - time = 1 - reqs = list(/obj/item/stack/medical/gauze = 1, - /datum/reagent/medicine/silver_sulfadiazine = 20) - category = CAT_MISC - -// Shank - Makeshift weapon that can embed on throw -/datum/crafting_recipe/shank - name = "Shank" - reqs = list(/obj/item/shard = 1, - /obj/item/stack/cable_coil = 10) // 1 glass shard + 10 cable; needs a wirecutter to snip the cable. - result = /obj/item/knife/shank - tools = list(TOOL_WIRECUTTER) - time = 20 - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - always_available = TRUE - dangerous_craft = TRUE - -/datum/crafting_recipe/sharpmop - name = "Sharpened Mop" - result = /obj/item/mop/sharp - time = 30 - reqs = list(/obj/item/mop = 1, - /obj/item/shard = 1) - category = CAT_WEAPONRY - subcategory = CAT_WEAPON - tools = list(TOOL_WIRECUTTER) - dangerous_craft = TRUE - -/datum/crafting_recipe/poppy_pin - name = "Poppy Pin" - result = /obj/item/clothing/accessory/poppy_pin - time = 5 - reqs = list(/obj/item/stack/rods = 1, - /obj/item/food/grown/flower/poppy = 1) - category = CAT_MISC - -/datum/crafting_recipe/poppy_pin_removal - name = "Poppy Pin Removal" - result = /obj/item/food/grown/flower/poppy - time = 5 - reqs = list(/obj/item/clothing/accessory/poppy_pin = 1) - - category = CAT_MISC - -/datum/crafting_recipe/insulated_boxing_gloves - name = "Insulated Boxing Gloves" - result = /obj/item/clothing/gloves/boxing/yellow/insulated - time = 60 - reqs = list(/obj/item/clothing/gloves/boxing = 1, - /obj/item/clothing/gloves/color/yellow = 1) - - category = CAT_CLOTHING - -/datum/crafting_recipe/paper_cup - name= "Paper Cup" - result = /obj/item/reagent_containers/food/drinks/sillycup - time = 10 - reqs = list(/obj/item/paper = 1) - category = CAT_MISC - tools = list(TOOL_WIRECUTTER) - -/datum/crafting_recipe/paperslip - name = "Paper Slip" - result = /obj/item/card/id/paper - time = 1 SECONDS - reqs = list(/obj/item/paper = 5) - category = CAT_MISC - tools = list(TOOL_WIRECUTTER) - -/datum/crafting_recipe/basic_lasso - name= "Basic Lasso" - result = /obj/item/mob_lasso - time = 20 - reqs = list(/obj/item/stack/sheet/leather = 5) - category = CAT_MISC - -/datum/crafting_recipe/primal_lasso - name= "Primal Lasso" - result = /obj/item/mob_lasso/primal - always_available = FALSE - time = 20 - reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3, - /obj/item/stack/sheet/sinew = 4) - category = CAT_PRIMAL - -/datum/crafting_recipe/dragon_lasso - name = "Ash Drake Lasso" - result = /obj/item/mob_lasso/drake - always_available = FALSE - time = 20 - reqs = list(/obj/item/stack/sheet/bone = 10, - /obj/item/stack/sheet/sinew = 2, - /obj/item/stack/sheet/animalhide/ashdrake = 5) - category = CAT_PRIMAL - -/datum/crafting_recipe/foldable - name = "Foldable Chair" - result = /obj/item/chair/foldable - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/stack/sheet/plastic = 1 - ) - tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) - category = CAT_MISC - -/datum/crafting_recipe/chair_fancy - name = "Fancy Chair" - result = /obj/item/chair/fancy - time = 60 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/chair = 1 - ) - tools = list(TOOL_WRENCH, TOOL_WIRECUTTER) - category = CAT_MISC - -/datum/crafting_recipe/personal_locker - name = "Personal Locker" - result = /obj/structure/closet/secure_closet/personal/empty - time = 10 SECONDS - reqs = list(/obj/item/stack/sheet/iron = 2, - /obj/item/electronics/airlock = 1, - /obj/item/stack/cable_coil = 2 - ) - tools = list(TOOL_WIRECUTTER, TOOL_SCREWDRIVER) - category = CAT_STRUCTURE - -/datum/crafting_recipe/shutters - name = "Shutters" - reqs = list(/obj/item/stack/sheet/plasteel = 5, - /obj/item/stack/cable_coil = 5, - /obj/item/electronics/airlock = 1 - ) - result = /obj/machinery/door/poddoor/shutters/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) - time = 10 SECONDS - category = CAT_STRUCTURE - one_per_turf = TRUE - -/datum/crafting_recipe/glassshutters - name = "Windowed Shutters" - reqs = list(/obj/item/stack/sheet/plasteel = 5, - /obj/item/stack/sheet/rglass = 2, - /obj/item/stack/cable_coil = 5, - /obj/item/electronics/airlock = 1 - ) - result = /obj/machinery/door/poddoor/shutters/window/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) - time = 10 SECONDS - category = CAT_STRUCTURE - one_per_turf = TRUE - -/datum/crafting_recipe/radshutters - name = "Radiation Shutters" - reqs = list(/obj/item/stack/sheet/plasteel = 5, - /obj/item/stack/cable_coil = 5, - /obj/item/electronics/airlock = 1, - /obj/item/stack/sheet/mineral/uranium = 2 - ) - result = /obj/machinery/door/poddoor/shutters/radiation/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) - time = 10 SECONDS - category = CAT_STRUCTURE - one_per_turf = TRUE - - -/datum/crafting_recipe/blast_doors - name = "Blast Door" - reqs = list(/obj/item/stack/sheet/plasteel = 15, - /obj/item/stack/cable_coil = 15, - /obj/item/electronics/airlock = 1 - ) - result = /obj/machinery/door/poddoor/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) - time = 30 SECONDS - category = CAT_STRUCTURE - one_per_turf = TRUE - -/datum/crafting_recipe/showercurtain - name = "Shower Curtains" - reqs = list(/obj/item/stack/sheet/cotton/cloth = 2, /obj/item/stack/sheet/plastic = 2, /obj/item/stack/rods = 1) - result = /obj/structure/curtain - category = CAT_STRUCTURE - -/datum/crafting_recipe/aquarium - name = "Aquarium" - result = /obj/structure/aquarium - time = 10 SECONDS - reqs = list(/obj/item/stack/sheet/iron = 15, - /obj/item/stack/sheet/glass = 10, - /obj/item/aquarium_kit = 1 - ) - category = CAT_STRUCTURE - -/datum/crafting_recipe/guillotine - name = "Guillotine" - result = /obj/structure/guillotine - time = 150 // Building a functioning guillotine takes time - reqs = list(/obj/item/stack/sheet/plasteel = 3, - /obj/item/stack/sheet/wood = 20, - /obj/item/stack/cable_coil = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) - category = CAT_STRUCTURE - dangerous_craft = TRUE - -/datum/crafting_recipe/mirror - name = "Wall Mirror Frame" - result = /obj/item/wallframe/mirror - time = 4 SECONDS - reqs = list(/obj/item/stack/sheet/mineral/silver = 1, /obj/item/stack/sheet/glass = 2) - tools = list(TOOL_WRENCH) - category = CAT_STRUCTURE diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm deleted file mode 100644 index 692a89e9707a3..0000000000000 --- a/code/datums/components/crafting/tailoring.dm +++ /dev/null @@ -1,353 +0,0 @@ -/datum/crafting_recipe/durathread_vest - name = "Durathread Vest" - result = /obj/item/clothing/suit/armor/vest/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 5, - /obj/item/stack/sheet/leather = 4) - time = 50 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_helmet - name = "Durathread Helmet" - result = /obj/item/clothing/head/helmet/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4, - /obj/item/stack/sheet/leather = 5) - time = 40 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_jumpsuit - name = "Durathread Jumpsuit" - result = /obj/item/clothing/under/color/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4) - time = 40 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_jumpskirt - name = "Durathread Jumpskirt" - result = /obj/item/clothing/under/color/jumpskirt/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 4) - time = 40 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_hoodie - name = "Durathread Hoodie" - result = /obj/item/clothing/suit/hooded/hoodie/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 5) - time = 50 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_beret - name = "Durathread Beret" - result = /obj/item/clothing/head/beret/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 2) - time = 40 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_beanie - name = "Durathread Beanie" - result = /obj/item/clothing/head/beanie/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 2) - time = 40 - category = CAT_CLOTHING - -/datum/crafting_recipe/durathread_bandana - name = "Durathread Bandana" - result = /obj/item/clothing/mask/bandana/durathread - reqs = list(/obj/item/stack/sheet/cotton/cloth/durathread = 1) - time = 25 - category = CAT_CLOTHING - -/datum/crafting_recipe/fannypack - name = "Fannypack" - result = /obj/item/storage/belt/fannypack - reqs = list(/obj/item/stack/sheet/cotton/cloth = 2, - /obj/item/stack/sheet/leather = 1) - time = 20 - category = CAT_CLOTHING - -/datum/crafting_recipe/voice_modulator - name = "Voice Modulator Mask" - result = /obj/item/clothing/mask/gas/old/modulator - time = 45 - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL) - reqs = list(/obj/item/clothing/mask/gas/old = 1, - /obj/item/assembly/voice = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_CLOTHING - -/datum/crafting_recipe/hudsunsec - name = "Security HUDsunglasses" - result = /obj/item/clothing/glasses/hud/security/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security = 1, - /obj/item/clothing/glasses/sunglasses/advanced = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudsunsecremoval - name = "Security HUD removal" - result = /obj/item/clothing/glasses/sunglasses/advanced - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1) - blacklist = list(/obj/item/clothing/glasses/hud/security/sunglasses/degraded) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudsunmed - name = "Medical HUDsunglasses" - result = /obj/item/clothing/glasses/hud/health/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health = 1, - /obj/item/clothing/glasses/sunglasses/advanced = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudsunmedremoval - name = "Medical HUD removal" - result = /obj/item/clothing/glasses/sunglasses/advanced - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1) - blacklist = list(/obj/item/clothing/glasses/hud/health/sunglasses/degraded) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudsundiag - name = "Diagnostic HUDsunglasses" - result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, - /obj/item/clothing/glasses/sunglasses/advanced = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudsundiagremoval - name = "Diagnostic HUD removal" - result = /obj/item/clothing/glasses/sunglasses/advanced - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) - blacklist = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded) - category = CAT_EYEWEAR - -/datum/crafting_recipe/beergoggles - name = "Beer Goggles" - result = /obj/item/clothing/glasses/sunglasses/advanced/reagent - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science = 1, - /obj/item/clothing/glasses/sunglasses/advanced = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/beergogglesremoval - name = "Beer Goggles removal" - result = /obj/item/clothing/glasses/sunglasses/advanced - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/sunglasses/advanced/reagent = 1) - category = CAT_EYEWEAR - -/datum/crafting_recipe/sunhudscience - name = "Science Sunglasses" - result = /obj/item/clothing/glasses/science/sciencesun - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science = 1, - /obj/item/clothing/glasses/sunglasses/advanced = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/sunhudscienceremoval - name = "Science Sunglasses removal" - result = /obj/item/clothing/glasses/sunglasses/advanced - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science/sciencesun = 1) - blacklist = list(/obj/item/clothing/glasses/science/sciencesun/degraded) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsunsec - name = "Degraded Security HUDsunglasses" - result = /obj/item/clothing/glasses/hud/security/sunglasses/degraded - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security = 1, - /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsunsecremoval - name = "Degraded Security HUD removal" - result = /obj/item/clothing/glasses/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses/degraded = 1) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsunmed - name = "Degraded Medical HUDsunglasses" - result = /obj/item/clothing/glasses/hud/health/sunglasses/degraded - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health = 1, - /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsunmedremoval - name = "Degraded Medical HUD removal" - result = /obj/item/clothing/glasses/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses/degraded = 1) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsundiag - name = "Degraded Diagnostic HUDsunglasses" - result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, - /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/deghudsundiagremoval - name = "Degraded Diagnostic HUD removal" - result = /obj/item/clothing/glasses/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses/degraded = 1) - category = CAT_EYEWEAR - -/datum/crafting_recipe/degsunhudscience - name = "Degraded Science Sunglasses" - result = /obj/item/clothing/glasses/science/sciencesun/degraded - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science = 1, - /obj/item/clothing/glasses/sunglasses = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/degsunhudscienceremoval - name = "Degraded Science Sunglasses removal" - result = /obj/item/clothing/glasses/sunglasses - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science/sciencesun/degraded = 1) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudpresmed - name = "Prescription Medical HUDglasses" - result = /obj/item/clothing/glasses/hud/health/prescription - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/health = 1, - /obj/item/clothing/glasses/regular/ = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudpressec - name = "Prescription Security HUDglasses" - result = /obj/item/clothing/glasses/hud/security/prescription - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/security = 1, - /obj/item/clothing/glasses/regular/ = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudpressci - name = "Prescription Science Goggles" - result = /obj/item/clothing/glasses/science/prescription - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/science = 1, - /obj/item/clothing/glasses/regular/ = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudpresmeson - name = "Prescription Meson Scanner" - result = /obj/item/clothing/glasses/meson/prescription - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/meson = 1, - /obj/item/clothing/glasses/regular/ = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/hudpresdiag - name = "Prescription Diagnostic HUDsunglasses" - result = /obj/item/clothing/glasses/hud/diagnostic/prescription - time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) - reqs = list(/obj/item/clothing/glasses/hud/diagnostic = 1, - /obj/item/clothing/glasses/regular/ = 1, - /obj/item/stack/cable_coil = 5) - category = CAT_EYEWEAR - -/datum/crafting_recipe/ghostsheet - name = "Ghost Sheet" - result = /obj/item/clothing/suit/costume/ghost_sheet - time = 5 - tools = list(TOOL_WIRECUTTER) - reqs = list(/obj/item/bedsheet = 1) - category = CAT_CLOTHING - -/datum/crafting_recipe/foilhat - name = "Tinfoil Hat" - result = /obj/item/clothing/head/costume/foilhat - time = 5 - tools = list(TOOL_CROWBAR) - reqs = list(/obj/item/stack/sheet/iron = 3) - category = CAT_CLOTHING - -/datum/crafting_recipe/foilenvirohelm - name = "Ghetto Envirosuit Helmet" - result = /obj/item/clothing/head/costume/foilhat/plasmaman - time = 40 - tools = list(TOOL_CROWBAR, TOOL_WIRECUTTER, TOOL_SCREWDRIVER) - reqs = list(/obj/item/clothing/head/costume/foilhat = 1, - /obj/item/stack/package_wrap = 10, - /obj/item/stack/cable_coil = 15, - /obj/item/clothing/glasses/meson = 1, - /obj/item/flashlight = 1, - /obj/item/clothing/head/utility/hardhat = 1, - /obj/item/stack/sheet/glass = 1) - category = CAT_CLOTHING - -/datum/crafting_recipe/rainbowbunchcrown - name = "Rainbow Flower Crown" - result = /obj/item/clothing/head/flowercrown/rainbowbunch - time = 20 - reqs = list(/obj/item/food/grown/flower/rainbow = 5, - /obj/item/stack/cable_coil = 3) - category = CAT_CLOTHING - -/datum/crafting_recipe/sunflowercrown - name = "Sunflower Crown" - result = /obj/item/clothing/head/flowercrown/sunflower - time = 20 - reqs = list(/obj/item/grown/sunflower = 5, - /obj/item/stack/cable_coil = 3) - category = CAT_CLOTHING - -/datum/crafting_recipe/poppycrown - name = "Poppy Crown" - result = /obj/item/clothing/head/flowercrown/poppy - time = 20 - reqs = list(/obj/item/food/grown/flower/poppy = 5, - /obj/item/stack/cable_coil = 3) - category = CAT_CLOTHING - -/datum/crafting_recipe/lilycrown - name = "Lily Crown" - result = /obj/item/clothing/head/flowercrown/lily - time = 20 - reqs = list(/obj/item/food/grown/flower/lily = 3, - /obj/item/stack/cable_coil = 3) - category = CAT_CLOTHING diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 30a5b22125a64..f0f9182affd16 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -88,14 +88,6 @@ /obj/item/banner/security/mundane inspiration_available = FALSE -/datum/crafting_recipe/security_banner - name = "Securistan Banner" - result = /obj/item/banner/security/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/security/officer = 1) - category = CAT_MISC - /obj/item/banner/medical name = "meditopia banner" desc = "The banner of Meditopia, generous benefactors that cure wounds and shelter the weak." @@ -112,14 +104,6 @@ /obj/item/banner/medical/check_inspiration(mob/living/carbon/human/H) return H.stat //Meditopia is moved to help those in need -/datum/crafting_recipe/medical_banner - name = "Meditopia Banner" - result = /obj/item/banner/medical/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/medical = 1) - category = CAT_MISC - /obj/item/banner/medical/special_inspiration(mob/living/carbon/human/H) H.adjustToxLoss(-15, FALSE, TRUE) H.setOxyLoss(0) @@ -141,14 +125,6 @@ /obj/item/banner/science/check_inspiration(mob/living/carbon/human/H) return H.on_fire //Sciencia is pleased by dedication to the art of Toxins -/datum/crafting_recipe/science_banner - name = "Sciencia Banner" - result = /obj/item/banner/science/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/rnd/scientist = 1) - category = CAT_MISC - /obj/item/banner/cargo name = "cargonia banner" desc = "The banner of the eternal Cargonia, with the mystical power of conjuring any object into existence." @@ -162,14 +138,6 @@ /obj/item/banner/cargo/mundane inspiration_available = FALSE -/datum/crafting_recipe/cargo_banner - name = "Cargonia Banner" - result = /obj/item/banner/cargo/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/cargo/tech = 1) - category = CAT_MISC - /obj/item/banner/engineering name = "engitopia banner" desc = "The banner of Engitopia, wielders of limitless power." @@ -186,14 +154,6 @@ /obj/item/banner/engineering/special_inspiration(mob/living/carbon/human/H) H.radiation = 0 -/datum/crafting_recipe/engineering_banner - name = "Engitopia Banner" - result = /obj/item/banner/engineering/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/engineering/engineer = 1) - category = CAT_MISC - /obj/item/banner/command name = "command banner" desc = "The banner of Command, a staunch and ancient line of bueraucratic kings and queens." @@ -207,14 +167,6 @@ /obj/item/banner/command/check_inspiration(mob/living/carbon/human/H) return HAS_TRAIT(H, TRAIT_MINDSHIELD) //Command is stalwart but rewards their allies. -/datum/crafting_recipe/command_banner - name = "Command Banner" - result = /obj/item/banner/command/mundane - time = 40 - reqs = list(/obj/item/stack/rods = 2, - /obj/item/clothing/under/rank/captain/parade = 1) - category = CAT_MISC - /obj/item/banner/red name = "red banner" icon_state = "banner-red" diff --git a/code/game/objects/items/signs.dm b/code/game/objects/items/signs.dm index 99e9ac8c494ad..e6148861fd798 100644 --- a/code/game/objects/items/signs.dm +++ b/code/game/objects/items/signs.dm @@ -44,10 +44,3 @@ user.visible_message("[user] waves around blank sign.") user.changeNext_move(CLICK_CD_MELEE) -/datum/crafting_recipe/picket_sign - name = "Picket Sign" - result = /obj/item/picket_sign - reqs = list(/obj/item/stack/rods = 1, - /obj/item/stack/sheet/cardboard = 2) - time = 80 - category = CAT_MISC diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.dm b/code/modules/food_and_drinks/recipes/food_mixtures.dm index 840a710febe5a..2785ba189d134 100644 --- a/code/modules/food_and_drinks/recipes/food_mixtures.dm +++ b/code/modules/food_and_drinks/recipes/food_mixtures.dm @@ -1,10 +1,3 @@ -/datum/crafting_recipe/food - var/real_parts - category = CAT_FOOD - -/datum/crafting_recipe/food/New() - real_parts = parts.Copy() - parts |= reqs //////////////////////////////////////////FOOD MIXTURES//////////////////////////////////// diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index 8d2481f06b64f..4276be9bdae13 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -172,24 +172,6 @@ foodtypes = SUGAR | GRAIN tastes = list("easter") -/datum/crafting_recipe/food/hotcrossbun - name = "Hot-Cross Bun" - reqs = list( - /obj/item/food/bread/plain = 1, - /datum/reagent/consumable/sugar = 1 - ) - result = /obj/item/food/hotcrossbun - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/briochecake - name = "Brioche cake" - reqs = list( - /obj/item/food/cake/plain = 1, - /datum/reagent/consumable/sugar = 2 - ) - result = /obj/item/food/cake/brioche - subcategory = CAT_MISCFOOD - /obj/item/food/scotchegg name = "scotch egg" desc = "A boiled egg wrapped in a delicious, seasoned meatball." @@ -198,38 +180,8 @@ bite_consumption = 3 food_reagents = list(/datum/reagent/consumable/nutriment = 6, /datum/reagent/consumable/nutriment/vitamin = 2) -/datum/crafting_recipe/food/scotchegg - name = "Scotch egg" - reqs = list( - /datum/reagent/consumable/sodiumchloride = 1, - /datum/reagent/consumable/blackpepper = 1, - /obj/item/food/boiledegg = 1, - /obj/item/food/meatball = 1 - ) - result = /obj/item/food/scotchegg - subcategory = CAT_MISCFOOD - -/datum/crafting_recipe/food/mammi - name = "Mammi" - reqs = list( - /obj/item/food/bread/plain = 1, - /obj/item/food/chocolatebar = 1, - /datum/reagent/consumable/milk = 5 - ) - result = /obj/item/food/soup/mammi - subcategory = CAT_MISCFOOD - /obj/item/food/chocolatebunny name = "chocolate bunny" desc = "Contains less than 10% real rabbit!" icon_state = "chocolatebunny" food_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/consumable/cocoa = 2, /datum/reagent/consumable/nutriment/vitamin = 1) - -/datum/crafting_recipe/food/chocolatebunny - name = "Chocolate bunny" - reqs = list( - /datum/reagent/consumable/sugar = 2, - /obj/item/food/chocolatebar = 1 - ) - result = /obj/item/food/chocolatebunny - subcategory = CAT_MISCFOOD diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index bdea34bf9684f..74637a8416f06 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -71,9 +71,3 @@ else icon_state = "barrel" -/datum/crafting_recipe/fermenting_barrel - name = "Wooden Barrel" - result = /obj/structure/fermenting_barrel - reqs = list(/obj/item/stack/sheet/wood = 30) - time = 50 - category = CAT_PRIMAL diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index a470b84973a2b..1414d9a7abee0 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -292,13 +292,6 @@ //CRAFTING -/datum/crafting_recipe/mushroom_bowl - name = "Mushroom Bowl" - result = /obj/item/reagent_containers/glass/bowl/mushroom_bowl - reqs = list(/obj/item/food/grown/ash_flora/shavings = 5) - time = 30 - category = CAT_PRIMAL - /obj/item/reagent_containers/glass/bowl/mushroom_bowl name = "mushroom bowl" desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point." diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 19a87e57a7202..6d1b2b5d3e4fd 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -85,12 +85,7 @@ font = CHARCOAL_FONT custom_materials = null -/datum/crafting_recipe/charcoal_stylus - name = "Charcoal Stylus" - result = /obj/item/pen/charcoal - reqs = list(/obj/item/stack/sheet/wood = 1, /datum/reagent/ash = 30) - time = 30 - category = CAT_PRIMAL + /obj/item/pen/fountain/captain diff --git a/code/modules/vehicles/lavaboat.dm b/code/modules/vehicles/lavaboat.dm index 22d2167a28fbf..b087a2814972f 100644 --- a/code/modules/vehicles/lavaboat.dm +++ b/code/modules/vehicles/lavaboat.dm @@ -30,23 +30,8 @@ w_class = WEIGHT_CLASS_NORMAL resistance_flags = LAVA_PROOF | FIRE_PROOF -/datum/crafting_recipe/oar - name = "Goliath Bone Oar" - result = /obj/item/oar - reqs = list(/obj/item/stack/sheet/bone = 2) - time = 15 - category = CAT_PRIMAL - -/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 - //Dragon Boat - /obj/item/ship_in_a_bottle name = "ship in a bottle" desc = "A tiny ship inside a bottle."