anchor.diff:  
   	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.")
  +		user.visible_message("[user] opens a book titled \"[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)
  +		user << "<span class='notice'>This book is completely blank!</span>"
  +
  +
  +/obj/item/weapon/book/attackby(obj/item/I, mob/user)
   	if(carved)
   		if(!store)
  -			if(W.w_class < 3)
  +			if(I.w_class < 3)
   				user.drop_item()
  -				W.loc = src
  -				store = W
  -				user << "<span class='notice'>You put [W] in [title].</span>"
  +				I.loc = src
  +				store = I
  +				user << "<span class='notice'>You put [I] in [title].</span>"
   				return
   			else
  -				user << "<span class='notice'>[W] won't fit in [title].</span>"
  +				user << "<span class='notice'>[I] 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(istype(I, /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."
  +			user << "<span class='notice'>These pages don't seem to take the ink well. Looks like you can't modify it.</span>"
   			return
   		var/choice = input("What would you like to change?") in list("Title", "Contents", "Author", "Cancel")
   		switch(choice)
  
positive.code: 		new /obj/item/weapon/book/manual/robotics_cyborgs(src)
  		update_icon()
  
  /obj/structure/bookcase/manuals/research_and_development
  	name = "R&D Manuals bookcase"
  
  	New()
  		..()
  
negative.code: 					usr << "The title is invalid."
  					return
  				else
  					name = newtitle
  					title = newtitle
  			if("Contents")
  				var/content = strip_html(input(usr, "Write your book's contents (HTML NOT allowed):"),8192) as message|null
  				if(!content)
  					usr << "The content is invalid."
  					return
  				else
  					dat += content
  			if("Author")
  				var/newauthor = stripped_input(usr, "Write the author's name:")
  				if(!newauthor)
  					usr << "The name is invalid."
  					return
  				else
  					author = newauthor
  			else
  				return
  
  	else if(istype(I, /obj/item/weapon/barcodescanner))
  		var/obj/item/weapon/barcodescanner/scanner = I
  		if(!scanner.computer)
  			user << "[I]'s screen flashes: 'No associated computer found!'"
  		else
  			switch(scanner.mode)
  				if(0)
  					scanner.book = src
  					user << "[I]'s screen flashes: 'Book stored in buffer.'"
  				if(1)
  					scanner.book = src
  					scanner.computer.buffer_book = name
  					user << "[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'"
  				if(2)
  					scanner.book = src
  					for(var/datum/borrowbook/b in scanner.computer.checkouts)
  						if(b.bookname == name)
  							scanner.computer.checkouts.Remove(b)
  							user << "[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'"
  							return
  					user << "[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'"
  				if(3)
  					scanner.book = src
  					for(var/obj/item/weapon/book in scanner.computer.inventory)
  						if(book == src)
  							user << "[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'"
  							return
  					scanner.computer.inventory.Add(src)
  					user << "[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'"
  
  	else if(istype(I, /obj/item/weapon/kitchenknife) || istype(I, /obj/item/weapon/wirecutters))
  		if(carved)
  			return
  		user << "<span class='notice'>You begin to carve out [title].</span>"
  		if(do_after(user, 30))
  			user << "<span class='notice'>You carve out the pages from [title]! You didn't want to read it anyway.</span>"
  