anchor.diff:  	opacity = 1
   	var/state = 0
   
  +
   /obj/structure/bookcase/initialize()
   	state = 2
   	icon_state = "book-0"
  
positive.code: 
  	if(dat)
  		user << browse("<TT><I>Penned by [author].</I></TT> <BR>" + "[dat]", "window=book")
  		user.visible_message("[user] opens a book titled \"[src.title]\" and begins reading intently.")
  		onclose(user, "book")
  	else
  		user << "This book is completely blank!"
  
  /obj/item/weapon/book/attackby(obj/item/weapon/W as obj, mob/user as mob)
  	if(carved)
  		if(!store)
  			if(W.w_class < 3)
  				user.drop_item()
  				W.loc = src
  				store = W
  				user << "<span class='notice'>You put [W] in [title].</span>"
  				return
  			else
  				user << "<span class='notice'>[W] won't fit in [title].</span>"
  				return
  		else
  			user << "<span class='notice'>There's already something in [title]!</span>"
  			return
  	if(istype(W, /obj/item/weapon/pen))
  		if(is_blind(user))
  			return
  		if(unique)
  			user << "These pages don't seem to take the ink well. Looks like you can't modify it."
  			return
  		var/choice = input("What would you like to change?") in list("Title", "Contents", "Author", "Cancel")
  		switch(choice)
  
negative.code: 	throw_range = 5
  	w_class = 1.0
  	flags = FPRINT | TABLEPASS
  	var/obj/machinery/librarycomp/computer	//Associated computer - Modes 1 to 3 use this
  	var/obj/item/weapon/book/book			//Currently scanned book
  	var/mode = 0							//0 - Scan only, 1 - Scan and Set Buffer, 2 - Scan and Attempt to Check In, 3 - Scan and Attempt to Add to Inventory
  
  	attack_self(mob/user)
  		mode += 1
  		if(mode > 3)
  			mode = 0
  