anchor.diff:  
   	Click()
   		if(src in usr)
  -			if(!usr:knownPotions && !master)
  +
  +			if((!usr:knownPotions && !master) || !worldData.potions)
   				usr << errormsg("Your book is empty, go brew potions!")
   				return
  +
  +			display(usr)
  +		else
  +			..()
  +
  +	Topic(href, href_list[])
  +		if(href_list["action"] == "All")
  +			display(usr)
  +		else
  +			display(usr, href_list["action"])
  +		..()
  +
  +	proc
  +		display(mob/Player/i_Player, sort)
  +
   			var/const/HEADER = {"<html><head><title>Potion Book</title><style>
   body
   {
  
positive.code: 				if(ing & 512)  ingredients += "rat tail, "
  				if(ing & 1024) ingredients += "powdered rat tail, "
  				if(ing & 2048) ingredients += "rat tail extract, "
  
  				html += "<tr class=[c % 2 == 0 ? "white" : "black"]><td>[c]</td><td>[potion]</td><td>[copytext(ingredients, 1, lentext(ingredients) - 1)].</td></tr>"
  
  			usr << browse(HEADER + html + "</table></body></html>", "window=potions")
  		else
  			..()
  
  
negative.code: 	background-color:#DFDFDF;
  	border: solid 1px #E5E5E5;
  }
  </style></head><body><table align="center" class="colored"><tr><td colspan="4"><center>"}
  
  			var/sortText = sort ? "<a href='?src=\ref[src];action=All'>All</a>" : "All"
  			var/list/types = list("Health", "Mana", "Explosion", "Taming", "Pets", "Luck", "Defense", "Damage")
  			for(var/t in types)
  				sortText += t == sort ? " | [t]" : " | <a href='?src=\ref[src];action=[t]'>[t]</a>"
  
  			var/html = {"</center></td></tr><tr><td><b># &nbsp &nbsp &nbsp </b></td><td><b>Name</b></td><td><b>Ingredients</b></td></tr>"}
  			var/c = 0
  
  			var/list/kp
  