diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 8d24c875db..72226c542e 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -68,10 +68,7 @@
if (istype(E, /datum/stack_recipe_list))
var/datum/stack_recipe_list/srl = E
- if (src.get_amount() >= srl.req_amount)
- t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s)"
- else
- t1 += "[srl.title] ([srl.req_amount] [src.singular_name]\s)
"
+ t1 += "[srl.title]"
if (istype(E, /datum/stack_recipe))
var/datum/stack_recipe/R = E
@@ -360,8 +357,6 @@
/datum/stack_recipe_list
var/title = "ERROR"
var/list/recipes = null
- var/req_amount = 1
- New(title, recipes, req_amount = 1)
+ New(title, recipes)
src.title = title
src.recipes = recipes
- src.req_amount = req_amount
diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm
index 67e60fc4c4..a5a0608f06 100644
--- a/code/modules/materials/material_recipes.dm
+++ b/code/modules/materials/material_recipes.dm
@@ -28,7 +28,7 @@
recipes += new/datum/stack_recipe_list("office chairs",list( \
new/datum/stack_recipe("dark office chair", /obj/structure/bed/chair/office/dark, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("light office chair", /obj/structure/bed/chair/office/light, 5, one_per_turf = 1, on_floor = 1) \
- ), 5)
+ ))
recipes += new/datum/stack_recipe_list("comfy chairs", list( \
new/datum/stack_recipe("beige comfy chair", /obj/structure/bed/chair/comfy/beige, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("black comfy chair", /obj/structure/bed/chair/comfy/black, 2, one_per_turf = 1, on_floor = 1), \
@@ -39,7 +39,7 @@
new/datum/stack_recipe("blue comfy chair", /obj/structure/bed/chair/comfy/blue, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("purple comfy chair", /obj/structure/bed/chair/comfy/purp, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("green comfy chair", /obj/structure/bed/chair/comfy/green, 2, one_per_turf = 1, on_floor = 1), \
- ), 2)
+ ))
recipes += new/datum/stack_recipe("table frame", /obj/structure/table, 1, time = 10, one_per_turf = 1, on_floor = 1)
recipes += new/datum/stack_recipe("rack", /obj/structure/table/rack, 1, time = 5, one_per_turf = 1, on_floor = 1)
@@ -69,7 +69,7 @@
new/datum/stack_recipe("high security airlock assembly", /obj/structure/door_assembly/door_assembly_highsecurity, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("emergency shutter", /obj/structure/firedoor_assembly, 4, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("multi-tile airlock assembly", /obj/structure/door_assembly/multi_tile, 4, time = 50, one_per_turf = 1, on_floor = 1), \
- ), 4)
+ ))
recipes += new/datum/stack_recipe("grenade casing", /obj/item/weapon/grenade/chem_grenade)
recipes += new/datum/stack_recipe("light fixture frame", /obj/item/frame/light, 2)
@@ -86,7 +86,7 @@
/material/sandstone/generate_recipes()
..()
- recipes += new/datum/stack_recipe("pile of dirt", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1)
+ recipes += new/datum/stack_recipe("planting bed", /obj/machinery/portable_atmospherics/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1)
/material/plastic/generate_recipes()
..()
@@ -122,4 +122,4 @@
new/datum/stack_recipe("red folder", /obj/item/weapon/folder/red), \
new/datum/stack_recipe("white folder", /obj/item/weapon/folder/white), \
new/datum/stack_recipe("yellow folder", /obj/item/weapon/folder/yellow), \
- ), 3)
\ No newline at end of file
+ ))
diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm
index dd839dbbb2..46ce8ea445 100644
--- a/code/modules/materials/materials.dm
+++ b/code/modules/materials/materials.dm
@@ -361,7 +361,7 @@ var/list/name_to_material
weight = 15
door_icon_base = "stone"
destruction_desc = "shatters"
- window_options = list("One Direction", "Full Window")
+ window_options = list("One Direction" = 1, "Full Window" = 4)
created_window = /obj/structure/window/basic
wire_product = /obj/item/stack/light_w
rod_product = /obj/item/stack/material/glass/reinforced
@@ -419,9 +419,8 @@ var/list/name_to_material
return 1
var/build_path = /obj/structure/windoor_assembly
- var/sheets_needed = 4
+ var/sheets_needed = window_options[choice]
if(choice == "Windoor")
- sheets_needed = 5
build_dir = user.dir
else
build_path = created_window
@@ -452,7 +451,7 @@ var/list/name_to_material
weight = 30
stack_origin_tech = "materials=2"
composite_material = list(DEFAULT_WALL_MATERIAL = 1875,"glass" = 3750)
- window_options = list("One Direction", "Full Window", "Windoor")
+ window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 5)
created_window = /obj/structure/window/reinforced
wire_product = null
rod_product = null
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index 84611ecb95..0ec65be420 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -14,6 +14,7 @@
/obj/item/weapon/firealarm_electronics,
/obj/item/weapon/airalarm_electronics,
/obj/item/weapon/airlock_electronics,
+ /obj/item/weapon/tracker_electronics,
/obj/item/weapon/module/power_control,
/obj/item/weapon/stock_parts,
/obj/item/frame,
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 3197c6023c..daf7b3768e 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -59,8 +59,13 @@
var/mob/dead/observer/spook = locate() in range(src,5)
if(spook)
var/turf/T = spook.loc
- var/obj/O = pick(T.contents)
- visible_emote("suddenly stops and stares at something unseen[istype(O) ? " near [O]":""].")
+ var/list/visible = list()
+ for(var/obj/O in T.contents)
+ if(!O.invisibility && O.name)
+ visible += O
+ if(visible.len)
+ var/atom/A = pick(visible)
+ visible_emote("suddenly stops and stares at something unseen[istype(A) ? " near [A]":""].")
/mob/living/simple_animal/cat/proc/handle_movement_target()
//if our target is neither inside a turf or inside a human(???), stop