diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index bdd2a718d0..80f66d9681 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -526,17 +526,34 @@ datum/borrowbook // Datum used to keep track of who has borrowed what when and f density = 1 /obj/machinery/bookbinder/attackby(var/obj/O as obj, var/mob/user as mob) - if(istype(O, /obj/item/weapon/paper)) - user.drop_item() - O.loc = src - user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].") - src.visible_message("[src] begins to hum as it warms up its printing drums.") - sleep(rand(200,400)) - src.visible_message("[src] whirs as it prints and binds a new book.") - var/obj/item/weapon/book/b = new(src.loc) - b.dat = O:info - b.name = "Print Job #" + "[rand(100, 999)]" - b.icon_state = "book[rand(1,7)]" - qdel(O) + if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/paper_bundle)) + if(istype(O, /obj/item/weapon/paper)) + user.drop_item() + O.loc = src + user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].") + src.visible_message("[src] begins to hum as it warms up its printing drums.") + sleep(rand(200,400)) + src.visible_message("[src] whirs as it prints and binds a new book.") + var/obj/item/weapon/book/b = new(src.loc) + b.dat = O:info + b.name = "Print Job #" + "[rand(100, 999)]" + b.icon_state = "book[rand(1,7)]" + qdel(O) + else + user.drop_item() + O.loc = src + user.visible_message("[user] loads some paper into [src].", "You load some paper into [src].") + src.visible_message("[src] begins to hum as it warms up its printing drums.") + sleep(rand(300,500)) + src.visible_message("[src] whirs as it prints and binds a new book.") + var/obj/item/weapon/book/bundle/b = new(src.loc) + b.pages = O:pages + for(var/obj/item/weapon/paper/P in O.contents) + P.forceMove(b) + for(var/obj/item/weapon/photo/P in O.contents) + P.forceMove(b) + b.name = "Print Job #" + "[rand(100, 999)]" + b.icon_state = "book[rand(1,7)]" + qdel(O) else ..()