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: 	popup.open()
  
  /obj/machinery/computer/libraryconsole/Topic(href, href_list)
  	. = ..()
  	if(.)
  		usr << browse(null, "window=publiclibrary")
  
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)
  