diff --git a/baystation12.dme b/baystation12.dme index f9963d9a78b7e..5e3e99faaf4cb 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -239,6 +239,7 @@ #include "code\datums\craft\recipes\furniture.dm" #include "code\datums\craft\recipes\machinery.dm" #include "code\datums\craft\recipes\misc.dm" +#include "code\datums\craft\recipes\salvage.dm" #include "code\datums\craft\recipes\tools.dm" #include "code\datums\craft\recipes\weapon.dm" #include "code\datums\extensions\_defines.dm" diff --git a/code/datums/craft/menu.dm b/code/datums/craft/menu.dm index 700f8a62f6aa1..6174076d4af54 100644 --- a/code/datums/craft/menu.dm +++ b/code/datums/craft/menu.dm @@ -56,6 +56,7 @@ "icon" = getAtomCacheFilename(CR.result), "ref" = "\ref[CR]", "desc" = CR.get_description(), + "steps" = CR.get_step_descriptions() ) var/list/temp = data["cur_item"] world << "[temp["icon"]]" diff --git a/code/datums/craft/recipe.dm b/code/datums/craft/recipe.dm index f2ed130ed6f91..648273dc5a950 100644 --- a/code/datums/craft/recipe.dm +++ b/code/datums/craft/recipe.dm @@ -20,6 +20,7 @@ var/category = "Misc" var/icon_state = "device" var/result + var/desc = null //If set, overrides the automatically retrieved description var/list/steps var/list/passive_steps @@ -56,12 +57,17 @@ /datum/craft_recipe/proc/get_description() . = list() - var/atom/A = result - .+="[initial(A.desc)]
" - for(var/item in steps) - var/datum/craft_step/CS = item - . += CS.desc - return jointext(., "
") + if (desc) + .+=desc + else + var/atom/A = result + .+="[initial(A.desc)]" + +/datum/craft_recipe/proc/get_step_descriptions() + var/list/data = list() + for(var/datum/craft_step/CS in steps) + data += list(list("icon" = getAtomCacheFilename(CS.icon_type), "desc" = CS.desc)) + return data /datum/craft_recipe/proc/can_build(mob/living/user, var/turf/T) diff --git a/code/datums/craft/recipes/salvage.dm b/code/datums/craft/recipes/salvage.dm new file mode 100644 index 0000000000000..15fe05f8480ee --- /dev/null +++ b/code/datums/craft/recipes/salvage.dm @@ -0,0 +1,22 @@ +/datum/craft_recipe/salvage + category = "Salvage" + time = 150 + icon_state = "gun" + +/datum/craft_recipe/salvage/salvage_sawblade + name = "Salvage sawblade" + desc = "Disassemble a circular saw to get a sawblade which can be used for other purposes." + result = /obj/item/ammo_casing/sawblade + steps = list( + list(CRAFT_OBJECT, /obj/item/weapon/tool/saw/circular), + list(CRAFT_TOOL, QUALITY_SCREW_DRIVING, 10, "time" = 150), + ) + +/datum/craft_recipe/salvage/salvage_sawblade_adv + name = "Salvage diamond sawblade" + desc = "Disassemble an advanced circular saw to get a diamond sawblade which can be used for other purposes." + result = /obj/item/ammo_casing/sawblade/diamond + steps = list( + list(CRAFT_OBJECT, /obj/item/weapon/tool/saw/advanced_circular), + list(CRAFT_TOOL, QUALITY_SCREW_DRIVING, 10, "time" = 300), + ) \ No newline at end of file diff --git a/code/datums/craft/recipes/weapon.dm b/code/datums/craft/recipes/weapon.dm index ee240220c59fd..3532324167863 100644 --- a/code/datums/craft/recipes/weapon.dm +++ b/code/datums/craft/recipes/weapon.dm @@ -107,11 +107,14 @@ /datum/craft_recipe/weapon/ripper name = "RC-DS Remote Control Disc Ripper" result = /obj/item/weapon/gun/projectile/ripper - passive_steps = list(CRAFT_PASSIVE, QUALITY_WORKBENCH, 1, 0) + passive_steps = list( + list(CRAFT_PASSIVE, QUALITY_WORKBENCH, 1, 0) + ) time = 100 steps = list( list(CRAFT_OBJECT, /obj/item/weapon/tool/wrench), list(CRAFT_OBJECT, /obj/item/weapon/stock_parts/matter_bin), list(CRAFT_STACK, /obj/item/stack/cable_coil, 5), list(CRAFT_STACK, /obj/item/stack/power_node, 1) - ) \ No newline at end of file + ) + diff --git a/code/datums/craft/step.dm b/code/datums/craft/step.dm index 42904e9a69c83..0e8188a0c98e7 100644 --- a/code/datums/craft/step.dm +++ b/code/datums/craft/step.dm @@ -145,6 +145,7 @@ if (centrepoint) items.Add(range(centrepoint, apply_range)) + world << "Searchlist: [english_list(items)]" return items //Override in child classes diff --git a/code/datums/craft/step_types.dm b/code/datums/craft/step_types.dm index 39b8e80a507ed..09594569b3a01 100644 --- a/code/datums/craft/step_types.dm +++ b/code/datums/craft/step_types.dm @@ -367,9 +367,10 @@ return TRUE -/datum/craft_step/tool/find_item(mob/living/user, var/atom/craft = null) +/datum/craft_step/passive/find_item(mob/living/user, var/atom/craft = null) var/list/items = get_search_list(user, craft) for (var/obj/I in items) + world << "[I] [I.type] Workbench:[I.get_tool_quality(required_quality)]/[required_level]" if (I.get_tool_quality(required_quality) >= required_level) return I diff --git a/nano/css/shared.css b/nano/css/shared.css index f41002ccacb8b..087f40ae5df92 100644 --- a/nano/css/shared.css +++ b/nano/css/shared.css @@ -282,7 +282,7 @@ div.notice { width: 100%; float: left; color: #e9c183; - font-size: 18px; + font-size: 20px; margin: 0; padding: 12px 0 6px 0; clear: both; diff --git a/nano/templates/craft.tmpl b/nano/templates/craft.tmpl index 28380cb43511c..1661e0b5cf2ac 100644 --- a/nano/templates/craft.tmpl +++ b/nano/templates/craft.tmpl @@ -19,8 +19,15 @@
{{if data.cur_item}} -
{{:data.cur_item.name}}
- {{:data.cur_item.desc}} +
{{:data.cur_item.name}}

+
+ {{:data.cur_item.desc}}
+
+
+
+ {{for data.cur_item.steps}} +
{{:value.desc}}
+ {{/for}}
{{:helper.link("Build", null, {'build' : data.cur_item.ref})}} {{if data.is_admin}}