Adds boards for the book binder and scanner (#83863)

## About The Pull Request
Adds boards for the book binder and scanner. The scanner requires one
scanning module while the binder requires one servo to make. Research
for the board was added to the computer tech research node as that's
where the other book related research was. Boards are available to print
at the service techfab.

![libraryboards](https://github.com/tgstation/tgstation/assets/126099705/ce6f4174-9939-4020-a7d4-c0c6593479f3)

## Why It's Good For The Game
Being able to (re)make the library is good. Irreparable machine is bad.
Writing down your work and being unable to scan it into the archive is
not good. Also allows the machine to be moved if needed.
This commit is contained in:
Goat
2024-06-24 16:53:11 -05:00
committed by GitHub
parent bf7cea7c9d
commit a0060f8820
5 changed files with 58 additions and 3 deletions
+20 -3
View File
@@ -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))