[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 <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
This commit is contained in:
SkyratBot
2021-02-18 20:59:11 +00:00
committed by GitHub
co-authored by Mothblocks Rohesie Gandalf2k15
parent bcb0aed2a1
commit 9e07263fdf
7 changed files with 103 additions and 86 deletions
+40 -31
View File
@@ -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
+48 -40
View File
@@ -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
+9 -9
View File
@@ -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