diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 653d3bb374..facb9e4402 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -27,6 +27,8 @@
var/datum/wires/autolathe/wires = null
+ var/filtertext
+
/obj/machinery/autolathe/New()
..()
wires = new(src)
@@ -72,11 +74,14 @@
material_bottom += "
[stored_material[material]]/[storage_capacity[material]] | "
dat += "[material_top.Join()][material_bottom.Join()]
"
+ dat += "Filter: [filtertext ? filtertext : "None Set"]
"
dat += "Printable Designs
"
for(var/datum/category_item/autolathe/R in current_category.items)
if(R.hidden && !hacked)
continue
+ if(filtertext && findtext(R.name, filtertext) == 0)
+ continue
var/can_make = 1
var/list/material_string = list()
var/list/multiplier_string = list()
@@ -108,12 +113,14 @@
multiplier_string += "\[x[i]\]"
multiplier_string += "\[x[max_sheets]\]"
- dat += "| [R.hidden ? "*" : ""][can_make ? "" : ""][R.name][can_make ? "" : ""][R.hidden ? "*" : ""][multiplier_string.Join()] | [material_string.Join()] |
"
+ dat += "| [R.hidden ? "*" : ""][can_make ? "" : ""][R.name][can_make ? "" : ""][R.hidden ? "*" : ""][multiplier_string.Join()] | [material_string.Join()] |
"
dat += "
"
- user << browse(dat.Join(), "window=autolathe")
- onclose(user, "autolathe")
+ dat = jointext(dat, null)
+ var/datum/browser/popup = new(user, "autolathe", "Autolathe Production Menu", 550, 700)
+ popup.set_content(dat)
+ popup.open()
/obj/machinery/autolathe/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(busy)
@@ -229,6 +236,16 @@
to_chat(usr, "The autolathe is busy. Please wait for completion of previous operation.")
return
+ else if(href_list["setfilter"])
+ var/filterstring = input(usr, "Input a filter string, or blank to not filter:", "Design Filter", filtertext) as null|text
+ if(!Adjacent(usr))
+ return
+ if(isnull(filterstring)) //Clicked Cancel
+ return
+ if(filterstring == "") //Cleared value
+ filtertext = null
+ filtertext = sanitize(filterstring, 25)
+
if(href_list["change_category"])
var/choice = input("Which category do you wish to display?") as null|anything in machine_recipes.categories