anchor.diff:  		obj_flags |= EMAGGED
   
   /obj/machinery/computer/bookmanagement/Topic(href, href_list)
  +	if(!COOLDOWN_FINISHED(src, library_console_topic_cooldown))
  +		return
  +	COOLDOWN_START(src, library_console_topic_cooldown, 1 SECONDS)
   	if(..())
   		usr << browse(null, "window=library")
   		onclose(usr, "library")
  
positive.code: 	var/mobname
  	var/getdate
  	var/duedate
  
  /*
   * Cachedbook datum
   */
  /datum/cachedbook // Datum used to cache the SQL DB books locally in order to achieve a performance gain.
  	var/id
  	var/title
  	var/author
  	var/category
  
  GLOBAL_LIST(cachedbooks) // List of our cached book datums
  
  
  /proc/load_library_db_to_cache()
  	if(GLOB.cachedbooks)
  		return
  	if(!SSdbcore.Connect())
  		return
  	GLOB.cachedbooks = list()
  	var/datum/db_query/query_library_cache = SSdbcore.NewQuery("SELECT id, author, title, category FROM [format_table_name("library")] WHERE isnull(deleted)")
  	if(!query_library_cache.Execute())
  		qdel(query_library_cache)
  		return
  	while(query_library_cache.NextRow())
  		var/datum/cachedbook/newbook = new()
  		newbook.id = query_library_cache.item[1]
  		newbook.author = query_library_cache.item[2]
  		newbook.title = query_library_cache.item[3]
  		newbook.category = query_library_cache.item[4]
  		GLOB.cachedbooks += newbook
  	qdel(query_library_cache)
  
  
  
  #define PRINTER_COOLDOWN 60
  
  
negative.code: 				break
  			qdel(query_library_print)
  	if(href_list["printbible"])
  		if(printer_cooldown < world.time)
  			var/obj/item/storage/book/bible/B = new /obj/item/storage/book/bible(src.loc)
  			if(GLOB.bible_icon_state && GLOB.bible_inhand_icon_state)
  				B.icon_state = GLOB.bible_icon_state
  				B.inhand_icon_state = GLOB.bible_inhand_icon_state
  				B.name = GLOB.bible_name
  				B.deity_name = GLOB.deity
  			printer_cooldown = world.time + PRINTER_COOLDOWN
  		else
  			say("Printer currently unavailable, please wait a moment.")
  	if(href_list["printposter"])
  		if(printer_cooldown < world.time)
  			new /obj/item/poster/random_official(src.loc)
  			printer_cooldown = world.time + PRINTER_COOLDOWN
  		else
  			say("Printer currently unavailable, please wait a moment.")
  	add_fingerprint(usr)
  