From 9e07263fdf1feaa8cfaba0f12dccb6b43671e54b Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 18 Feb 2021 21:59:11 +0100 Subject: [PATCH] [MIRROR] Improves crafting code a tiny bit (#3477) * Improves crafting code a tiny bit (#56937) Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> * Improves crafting code a tiny bit * a Co-authored-by: Rohesie Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> Co-authored-by: Gandalf2k15 --- code/datums/components/crafting/crafting.dm | 71 ++++++++------- code/datums/components/crafting/recipes.dm | 88 ++++++++++--------- code/datums/components/crafting/tailoring.dm | 18 ++-- .../cargo/blackmarket/blackmarket_uplink.dm | 2 +- .../recipes/tablecraft/recipes_meat.dm | 2 +- .../code/game/objects/items/cross.dm | 2 +- .../datums/components/crafting/recipes.dm | 6 +- 7 files changed, 103 insertions(+), 86 deletions(-) diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm index bbcfa2f2592..c29f20dd4f4 100644 --- a/code/datums/components/crafting/crafting.dm +++ b/code/datums/components/crafting/crafting.dm @@ -138,37 +138,49 @@ .["other"][A.type] += A.volume .["other"][I.type] += 1 -/datum/component/personal_crafting/proc/check_tools(atom/a, datum/crafting_recipe/R, list/contents) - if(!R.tools.len) + +/// Returns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings. +/datum/component/personal_crafting/proc/check_tools(atom/source, datum/crafting_recipe/recipe, list/surroundings) + if(!length(recipe.tool_behaviors) && !length(recipe.tool_paths)) return TRUE - var/list/possible_tools = list() + var/list/available_tools = list() var/list/present_qualities = list() - present_qualities |= contents["tool_behaviour"] - for(var/obj/item/I in a.contents) - if(istype(I, /obj/item/storage)) - for(var/obj/item/SI in I.contents) - possible_tools += SI.type - if(SI.tool_behaviour) - present_qualities.Add(SI.tool_behaviour) - possible_tools += I.type + for(var/obj/item/contained_item in source.contents) + if(contained_item.GetComponent(/datum/component/storage)) + for(var/obj/item/subcontained_item in contained_item.contents) + available_tools[subcontained_item.type] = TRUE + if(subcontained_item.tool_behaviour) + present_qualities[subcontained_item.tool_behaviour] = TRUE + available_tools[contained_item.type] = TRUE + if(contained_item.tool_behaviour) + present_qualities[contained_item.tool_behaviour] = TRUE - if(I.tool_behaviour) - present_qualities.Add(I.tool_behaviour) + for(var/quality in surroundings["tool_behaviour"]) + present_qualities[quality] = TRUE - possible_tools |= contents["other"] + for(var/path in surroundings["other"]) + available_tools[path] = TRUE - main_loop: - for(var/A in R.tools) - if(A in present_qualities) + for(var/required_quality in recipe.tool_behaviors) + if(present_qualities[required_quality]) + continue + return FALSE + + for(var/required_path in recipe.tool_paths) + var/found_this_tool = FALSE + for(var/tool_path in available_tools) + if(!ispath(required_path, tool_path)) continue - else - for(var/I in possible_tools) - if(ispath(I, A)) - continue main_loop - return FALSE + found_this_tool = TRUE + break + if(found_this_tool) + continue + return FALSE + return TRUE + /datum/component/personal_crafting/proc/construct_item(atom/a, datum/crafting_recipe/R) var/list/contents = get_surroundings(a,R.blacklist) var/send_feedback = 1 @@ -430,7 +442,6 @@ data["name"] = R.name data["ref"] = "[REF(R)]" var/req_text = "" - var/tool_text = "" var/catalyst_text = "" for(var/a in R.reqs) @@ -449,14 +460,12 @@ catalyst_text = replacetext(catalyst_text,",","",-1) data["catalyst_text"] = catalyst_text - for(var/a in R.tools) - if(ispath(a, /obj/item)) - var/obj/item/b = a - tool_text += " [initial(b.name)]," - else - tool_text += " [a]," - tool_text = replacetext(tool_text,",","",-1) - data["tool_text"] = tool_text + var/list/tool_list = list() + for(var/required_quality in R.tool_behaviors) + tool_list += required_quality + for(var/obj/item/required_path as anything in R.tool_paths) + tool_list += initial(required_path.name) + data["tool_text"] = tool_list.Join(", ") return data diff --git a/code/datums/components/crafting/recipes.dm b/code/datums/components/crafting/recipes.dm index 7bc08466f3a..0e705e55b0c 100644 --- a/code/datums/components/crafting/recipes.dm +++ b/code/datums/components/crafting/recipes.dm @@ -4,7 +4,10 @@ var/list/reqs = list() //type paths of items consumed associated with how many are needed var/list/blacklist = list() //type paths of items explicitly not allowed as an ingredient var/result //type path of item resulting from this craft - var/list/tools = list() //type paths of items needed but not consumed + /// String defines of items needed but not consumed. Lazy list. + var/list/tool_behaviors + /// Type paths of items needed but not consumed. Lazy list. + var/list/tool_paths var/time = 30 //time in deciseconds var/list/parts = list() //type paths of items that will be placed in the result var/list/chem_catalysts = list() //like tools but for reagents @@ -17,6 +20,10 @@ /datum/crafting_recipe/New() if(!(result in reqs)) blacklist += result + if(tool_behaviors) + tool_behaviors = string_list(tool_behaviors) + if(tool_paths) + tool_paths = string_list(tool_paths) /** * Run custom pre-craft checks for this recipe @@ -144,7 +151,7 @@ /datum/crafting_recipe/reciever name = "Modular Rifle Reciever" - tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_SAW) + tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER, TOOL_SAW) result = /obj/item/weaponcrafting/receiver reqs = list(/obj/item/stack/sheet/iron = 5, /obj/item/stack/sticky_tape = 1, @@ -156,7 +163,7 @@ /datum/crafting_recipe/riflestock name = "Wooden Rifle Stock" - tools = list(/obj/item/hatchet) + tool_paths = list(/obj/item/hatchet) result = /obj/item/weaponcrafting/stock reqs = list(/obj/item/stack/sheet/mineral/wood = 8, /obj/item/stack/sticky_tape = 1) @@ -166,7 +173,7 @@ /datum/crafting_recipe/advancedegun name = "Advanced Energy Gun" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/e_gun/nuclear reqs = list(/obj/item/gun/energy/e_gun = 1, /obj/item/stack/cable_coil = 5, @@ -181,7 +188,7 @@ /datum/crafting_recipe/tempgun name = "Temperature Gun" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/temperature reqs = list(/obj/item/gun/energy/e_gun = 1, /obj/item/stack/cable_coil = 5, @@ -196,7 +203,7 @@ /datum/crafting_recipe/beam_rifle name = "Particle Acceleration Rifle" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/beam_rifle reqs = list(/obj/item/gun/energy/e_gun = 1, /obj/item/assembly/signaler/anomaly/flux = 1, @@ -213,7 +220,7 @@ /datum/crafting_recipe/ebow name = "Energy Crossbow" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/kinetic_accelerator/crossbow/large reqs = list(/obj/item/gun/energy/kinetic_accelerator = 1, /obj/item/stack/cable_coil = 5, @@ -229,7 +236,7 @@ /datum/crafting_recipe/xraylaser name = "X-ray Laser Gun" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/xray reqs = list(/obj/item/gun/energy/laser = 1, /obj/item/stack/cable_coil = 5, @@ -244,7 +251,7 @@ /datum/crafting_recipe/hellgun name = "Hellfire Laser Gun" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/laser/hellgun reqs = list(/obj/item/gun/energy/laser = 1, /obj/item/stack/cable_coil = 5, @@ -259,7 +266,7 @@ /datum/crafting_recipe/ioncarbine name = "Ion Carbine" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/ionrifle/carbine reqs = list(/obj/item/gun/energy/laser = 1, /obj/item/stack/cable_coil = 5, @@ -274,7 +281,7 @@ /datum/crafting_recipe/decloner name = "Biological Demolecularisor" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/decloner reqs = list(/obj/item/gun/energy/laser = 1, /obj/item/stack/cable_coil = 5, @@ -291,7 +298,7 @@ /datum/crafting_recipe/teslarevolver name = "Tesla Revolver" - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) result = /obj/item/gun/energy/tesla_revolver reqs = list(/obj/item/assembly/signaler/anomaly/flux = 1, /obj/item/stack/cable_coil = 5, @@ -312,7 +319,7 @@ /obj/item/stack/cable_coil = 1, /obj/item/gun/energy/disabler = 1, /obj/item/assembly/prox_sensor = 1) - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER) time = 60 category = CAT_ROBOT @@ -324,7 +331,7 @@ /obj/item/melee/baton = 1, /obj/item/assembly/prox_sensor = 1, /obj/item/bodypart/r_arm/robot = 1) - tools = list(TOOL_WELDER) + tool_behaviors = list(TOOL_WELDER) time = 60 category = CAT_ROBOT @@ -393,14 +400,14 @@ reqs = list(/obj/item/bot_assembly/hygienebot = 1, /obj/item/stack/ducts = 1, /obj/item/assembly/prox_sensor = 1) - tools = list(TOOL_WELDER) + tool_behaviors = list(TOOL_WELDER) 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) + tool_behaviors = list(TOOL_WELDER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/iron = 4, /obj/item/stack/package_wrap = 8, /obj/item/pipe = 2) @@ -416,7 +423,7 @@ /obj/item/stack/rods = 1) parts = list(/obj/item/assembly/igniter = 1, /obj/item/weldingtool = 1) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 10 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -427,7 +434,7 @@ reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /obj/item/rcd_ammo = 1, /obj/item/stock_parts/manipulator = 2) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -438,7 +445,7 @@ 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) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -447,7 +454,7 @@ 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) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -459,7 +466,7 @@ /datum/reagent/glycerol = 5, /datum/reagent/toxin/acid = 5, /datum/reagent/toxin/acid/fluacid = 5) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -470,7 +477,7 @@ 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) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -481,7 +488,7 @@ reqs = list(/obj/item/stack/sheet/iron = 2, /obj/item/stack/cable_coil = 1, /datum/reagent/fuel = 10) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 12 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -492,7 +499,7 @@ 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) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 5 category = CAT_WEAPONRY subcategory = CAT_AMMO @@ -504,7 +511,7 @@ /obj/item/pipe = 1, /obj/item/weaponcrafting/stock = 1, /obj/item/stack/sticky_tape = 1) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 50 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -518,7 +525,8 @@ /datum/reagent/consumable/grey_bull = 20, /obj/item/spear = 1, /obj/item/storage/toolbox= 1) - tools = list(TOOL_SCREWDRIVER, /obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas, /obj/item/melee/baton/cattleprod) + tool_behaviors = list(TOOL_SCREWDRIVER) + tool_paths = list(/obj/item/clothing/gloves/color/yellow, /obj/item/clothing/mask/gas, /obj/item/melee/baton/cattleprod) time = 300 //contemplate for a bit category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -529,7 +537,7 @@ reqs = list(/obj/item/circular_saw = 1, /obj/item/stack/cable_coil = 3, /obj/item/stack/sheet/plasteel = 5) - tools = list(TOOL_WELDER) + tool_behaviors = list(TOOL_WELDER) time = 50 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -575,7 +583,7 @@ reqs = list(/obj/item/clothing/gloves/color/black = 1, /obj/item/stack/cable_coil = 2, /obj/item/radio = 1) - tools = list(TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_WIRECUTTER) category = CAT_CLOTHING /datum/crafting_recipe/mixedbouquet @@ -647,7 +655,7 @@ /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) + tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) time = 200 category = CAT_MISC @@ -688,7 +696,7 @@ name = "Hand-Pressed Paper" time = 30 reqs = list(/datum/reagent/water = 50, /obj/item/stack/sheet/mineral/wood = 1) - tools = list(/obj/item/hatchet) + tool_paths = list(/obj/item/hatchet) result = /obj/item/paper_bin/bundlenatural category = CAT_MISC @@ -923,7 +931,7 @@ name = "Makeshift Rapid Pipe Cleaner Layer" result = /obj/item/rcl/ghetto time = 40 - tools = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) + tool_behaviors = list(TOOL_WELDER, TOOL_SCREWDRIVER, TOOL_WRENCH) reqs = list(/obj/item/stack/sheet/iron = 15) category = CAT_MISC @@ -931,7 +939,7 @@ name = "Mummification Bandages (Mask)" result = /obj/item/clothing/mask/mummy time = 10 - tools = list(/obj/item/nullrod/egyptian) + tool_paths = list(/obj/item/nullrod/egyptian) reqs = list(/obj/item/stack/sheet/cloth = 2) category = CAT_CLOTHING @@ -944,7 +952,7 @@ 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) + tool_paths = list(/obj/item/clothing/suit/hooded/chaplain_hoodie, /obj/item/storage/book/bible) reqs = list(/obj/item/stack/sheet/cloth = 4) category = CAT_CLOTHING @@ -955,14 +963,14 @@ reqs = list(/obj/item/stack/sheet/plasteel = 3, /obj/item/stack/sheet/mineral/wood = 20, /obj/item/stack/cable_coil = 10) - tools = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WRENCH, TOOL_WELDER) category = CAT_MISC /datum/crafting_recipe/aitater name = "intelliTater" result = /obj/item/aicard/aitater time = 30 - tools = list(TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_WIRECUTTER) reqs = list(/obj/item/aicard = 1, /obj/item/food/grown/potato = 1, /obj/item/stack/cable_coil = 5) @@ -980,7 +988,7 @@ name = "intelliLantern" result = /obj/item/aicard/aispook time = 30 - tools = list(TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_WIRECUTTER) reqs = list(/obj/item/aicard = 1, /obj/item/food/grown/pumpkin = 1, /obj/item/stack/cable_coil = 5) @@ -992,7 +1000,7 @@ time = 30 reqs = list(/obj/item/tank/internals/oxygen = 2, /obj/item/extinguisher = 1, /obj/item/pipe = 3, /obj/item/stack/cable_coil = MAXCOIL) category = CAT_MISC - tools = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_WRENCH, TOOL_WELDER, TOOL_WIRECUTTER) /datum/crafting_recipe/multiduct name = "Multi-layer duct" @@ -1000,7 +1008,7 @@ time = 5 reqs = list(/obj/item/stack/ducts = 5) category = CAT_MISC - tools = list(TOOL_WELDER) + tool_behaviors = list(TOOL_WELDER) /datum/crafting_recipe/rib name = "Collosal Rib" @@ -1137,7 +1145,7 @@ /obj/item/electronics/airlock = 1 ) result = /obj/machinery/door/poddoor/shutters/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) time = 15 SECONDS category = CAT_MISC @@ -1148,7 +1156,7 @@ /obj/item/electronics/airlock = 1 ) result = /obj/machinery/door/poddoor/preopen - tools = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_MULTITOOL, TOOL_WIRECUTTER, TOOL_WELDER) time = 30 SECONDS category = CAT_MISC diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index 633b630d674..00f59cde168 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -54,7 +54,7 @@ name = "Security HUDsunglasses" result = /obj/item/clothing/glasses/hud/security/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = 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) @@ -64,7 +64,7 @@ name = "Security HUD removal" result = /obj/item/clothing/glasses/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1) category = CAT_CLOTHING @@ -72,7 +72,7 @@ name = "Medical HUDsunglasses" result = /obj/item/clothing/glasses/hud/health/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = 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) @@ -82,7 +82,7 @@ name = "Medical HUD removal" result = /obj/item/clothing/glasses/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1) category = CAT_CLOTHING @@ -90,7 +90,7 @@ name = "Diagnostic HUDsunglasses" result = /obj/item/clothing/glasses/hud/diagnostic/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = 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) @@ -100,7 +100,7 @@ name = "Diagnostic HUD removal" result = /obj/item/clothing/glasses/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/hud/diagnostic/sunglasses = 1) category = CAT_CLOTHING @@ -108,7 +108,7 @@ name = "Science Glasses" result = /obj/item/clothing/glasses/sunglasses/chemical time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = 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) @@ -118,7 +118,7 @@ name = "Chemical Scanner removal" result = /obj/item/clothing/glasses/sunglasses time = 20 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) reqs = list(/obj/item/clothing/glasses/sunglasses/chemical = 1) category = CAT_CLOTHING @@ -126,7 +126,7 @@ name = "Ghost Sheet" result = /obj/item/clothing/suit/ghost_sheet time = 5 - tools = list(TOOL_WIRECUTTER) + tool_behaviors = list(TOOL_WIRECUTTER) reqs = list(/obj/item/bedsheet = 1) category = CAT_CLOTHING diff --git a/code/modules/cargo/blackmarket/blackmarket_uplink.dm b/code/modules/cargo/blackmarket/blackmarket_uplink.dm index dbf02989363..7733ea45121 100644 --- a/code/modules/cargo/blackmarket/blackmarket_uplink.dm +++ b/code/modules/cargo/blackmarket/blackmarket_uplink.dm @@ -153,7 +153,7 @@ name = "Black Market Uplink" result = /obj/item/blackmarket_uplink time = 30 - tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER, TOOL_MULTITOOL) + tool_behaviors = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER, TOOL_MULTITOOL) reqs = list( /obj/item/stock_parts/subspace/amplifier = 1, /obj/item/stack/cable_coil = 15, diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm index e30bf757085..22d997f24b1 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm @@ -131,7 +131,7 @@ /datum/reagent/consumable/ethanol/manly_dorf = 5, /obj/item/food/meat/steak/bear = 1, ) - tools = list(/obj/item/lighter) + tool_paths = list(/obj/item/lighter) result = /obj/item/food/bearsteak subcategory = CAT_MEAT diff --git a/modular_skyrat/modules/modular_items/code/game/objects/items/cross.dm b/modular_skyrat/modules/modular_items/code/game/objects/items/cross.dm index 0099936d7b5..4d11adab2e9 100644 --- a/modular_skyrat/modules/modular_items/code/game/objects/items/cross.dm +++ b/modular_skyrat/modules/modular_items/code/game/objects/items/cross.dm @@ -20,6 +20,6 @@ result = /obj/item/crucifix reqs = list(/obj/item/stack/sheet/mineral/gold = 1, /obj/item/stack/sheet/mineral/diamond = 1) - tools = list(/obj/item/chisel) + tool_behaviors = list(/obj/item/chisel) time = 20 category = CAT_MISC diff --git a/modular_skyrat/modules/modular_weapons/code/datums/components/crafting/recipes.dm b/modular_skyrat/modules/modular_weapons/code/datums/components/crafting/recipes.dm index dfdfbb2efbb..f353151d81e 100644 --- a/modular_skyrat/modules/modular_weapons/code/datums/components/crafting/recipes.dm +++ b/modular_skyrat/modules/modular_weapons/code/datums/components/crafting/recipes.dm @@ -9,7 +9,7 @@ /obj/item/stack/package_wrap = 5, /obj/item/stack/sheet/iron = 5, /obj/item/stack/sheet/plasteel = 1) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 100 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -23,7 +23,7 @@ /obj/item/stack/package_wrap = 5, /obj/item/stack/sheet/iron = 10, /obj/item/stack/sheet/mineral/wood = 5) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 100 category = CAT_WEAPONRY subcategory = CAT_WEAPON @@ -37,7 +37,7 @@ /obj/item/stack/package_wrap = 5, /obj/item/stack/sheet/iron = 5, /obj/item/stack/sheet/plasteel = 1) - tools = list(TOOL_SCREWDRIVER) + tool_behaviors = list(TOOL_SCREWDRIVER) time = 100 category = CAT_WEAPONRY subcategory = CAT_WEAPON