diff --git a/code/modules/integrated_electronics/core/printer.dm b/code/modules/integrated_electronics/core/printer.dm
index bc9e859b525..9f54f21be7e 100644
--- a/code/modules/integrated_electronics/core/printer.dm
+++ b/code/modules/integrated_electronics/core/printer.dm
@@ -116,6 +116,10 @@
if(!build_type || !ispath(build_type))
return 1
+ if (!can_print(build_type))
+ to_chat(usr, "[src] buzzes angrily at you!")
+ return 1
+
var/cost = 1
var/is_asm = FALSE
if(ispath(build_type, /obj/item/device/electronic_assembly))
@@ -125,8 +129,6 @@
else if(ispath(build_type, /obj/item/integrated_circuit))
var/obj/item/integrated_circuit/IC = build_type
cost = initial(IC.w_class)
- else
- return
if(metal - cost < 0)
to_chat(usr, "You need [cost] metal to build that!.")
@@ -139,6 +141,15 @@
interact(usr)
+/obj/item/device/integrated_circuit_printer/proc/can_print(build_type)
+ var/list/current_list = SSelectronics.printer_recipe_list[current_category]
+
+ for (var/obj/O in current_list)
+ if (O.type == build_type)
+ return TRUE
+
+ return FALSE
+
// FUKKEN UPGRADE DISKS
/obj/item/weapon/disk/integrated_circuit/upgrade
name = "integrated circuit printer upgrade disk"
diff --git a/html/changelogs/skull132-fixes_printer.yml b/html/changelogs/skull132-fixes_printer.yml
new file mode 100644
index 00000000000..0d2f719b0ba
--- /dev/null
+++ b/html/changelogs/skull132-fixes_printer.yml
@@ -0,0 +1,5 @@
+author: Skull132
+delete-after: True
+
+changes:
+ - bugfix: "Fixes the integrted circuits printer not being able to print specific components. Sorry it took so long, gents."