diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index a306d177176..ad2c9f8767e 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -733,6 +733,22 @@ /datum/stock_part/micro_laser = 1, /datum/stock_part/servo = 1,) +/obj/item/circuitboard/machine/bookbinder + name = "Book Binder" + greyscale_colors = CIRCUIT_COLOR_GENERIC + build_path = /obj/machinery/bookbinder + req_components = list( + /datum/stock_part/servo = 1, + ) + +/obj/item/circuitboard/machine/libraryscanner + name = "Book Scanner" + greyscale_colors = CIRCUIT_COLOR_GENERIC + build_path = /obj/machinery/libraryscanner + req_components = list( + /datum/stock_part/scanning_module = 1, + ) + //Medical /obj/item/circuitboard/machine/chem_dispenser diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index 2a4137da0c8..a65159a3f82 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -688,11 +688,22 @@ GLOBAL_VAR_INIT(library_table_modified, 0) icon = 'icons/obj/service/library.dmi' icon_state = "bigscanner" desc = "It's an industrial strength book scanner. Perfect!" + circuit = /obj/item/circuitboard/machine/libraryscanner density = TRUE var/obj/item/book/held_book ///Our scanned-in book var/datum/book_info/cache +/obj/machinery/libraryscanner/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(default_deconstruction_screwdriver(user, "bigscanner2", "bigscanner", tool)) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/libraryscanner/crowbar_act(mob/living/user, obj/item/tool) + . = ..() + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS + /obj/machinery/libraryscanner/Destroy() held_book = null cache = null @@ -760,6 +771,7 @@ GLOBAL_VAR_INIT(library_table_modified, 0) icon = 'icons/obj/service/library.dmi' icon_state = "binder" desc = "Only intended for binding paper products." + circuit = /obj/item/circuitboard/machine/bookbinder density = TRUE /// Are we currently binding a book? @@ -768,10 +780,15 @@ GLOBAL_VAR_INIT(library_table_modified, 0) /// Name of the author for the book, set by scanning your ID. var/scanned_name -/obj/machinery/bookbinder/wrench_act(mob/living/user, obj/item/tool) +/obj/machinery/bookbinder/screwdriver_act(mob/living/user, obj/item/tool) . = ..() - default_unfasten_wrench(user, tool) - return ITEM_INTERACT_SUCCESS + if(default_deconstruction_screwdriver(user, "binder2", "binder", tool)) + return ITEM_INTERACT_SUCCESS + +/obj/machinery/bookbinder/crowbar_act(mob/living/user, obj/item/tool) + . = ..() + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS /obj/machinery/bookbinder/attackby(obj/hitby, mob/user, params) if(istype(hitby, /obj/item/paper)) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index ef6c65d1831..8f857f77e82 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -1177,3 +1177,23 @@ RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING ) departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING + +/datum/design/board/bookbinder + name = "Book Binder" + desc = "The circuit board for a book binder" + id = "bookbinder" + build_path = /obj/item/circuitboard/machine/bookbinder + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SERVICE + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE + +/datum/design/board/libraryscanner + name = "Book Scanner" + desc = "The circuit board for a book scanner" + id = "libraryscanner" + build_path = /obj/item/circuitboard/machine/libraryscanner + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_SERVICE + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm index ff56afc115e..61c7e254554 100644 --- a/code/modules/research/techweb/nodes/service_nodes.dm +++ b/code/modules/research/techweb/nodes/service_nodes.dm @@ -82,6 +82,8 @@ "idcard", "c-reader", "libraryconsole", + "libraryscanner", + "bookbinder", "barcode_scanner", "vendor", "custom_vendor_refill", diff --git a/icons/obj/service/library.dmi b/icons/obj/service/library.dmi index 79a06dd4b8f..f9273a55e55 100644 Binary files a/icons/obj/service/library.dmi and b/icons/obj/service/library.dmi differ