mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
[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:
co-authored by
Mothblocks
Rohesie
Gandalf2k15
parent
bcb0aed2a1
commit
9e07263fdf
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user