anchor.diff:  			else if(istype(R, /datum/reagent/fermi))
   				fermi += generate_chemwiki_line(R, X, processCR)
   
  +			else if(istype(R, /datum/reagent/drug))
  +				drug += generate_chemwiki_line(R, X, processCR)
  +
   			else
   				remainder += generate_chemwiki_line(R, X, processCR)
   
   			tally++
   			if((tally%50)==0)
  -				to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)] done.")
  +				to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)*2] done.")
   
   		processCR = FALSE
   
   		to_chat(usr, "finished chems")
  -		log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n")
  +		log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
   
  -	prefix = "|Name | Reagents | Reaction vars | Description ||\n|---|---|---|----------|\n"
  +	prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
  +	var/CRparse = ""
   	to_chat(usr, "starting reactions")
   	for(var/reagent in GLOB.chemical_reactions_list)
   		for(var/datum/chemical_reaction/CR in GLOB.chemical_reactions_list[reagent])
  -			generate_chemreactwiki_line(CR)
  +			//message_admins("trad: [CR], [CR.results], [CR.results.len], [LAZYLEN(CR.results)]")
   
  +			CRparse += generate_chemreactwiki_line(CR)
  +
  +	log_sql("------------BEGINNING OF REACTIONS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# CHEMICAL REACTIONS\n\n[prefix][CRparse]\n")
   	to_chat(usr, "finished reactions")
   
  +
  +
  +//Generate the big list of reagent based reactions.
   /proc/generate_chemwiki_line(datum/reagent/R, X, processCR)
   	//name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
   
  
positive.code: 		if(CR.FermiChem)
  			switch(CR.ThermicConstant)
  				if(-INFINITY to -9.9)
  					outstring += "Extremely endothermic | "
  				if(-9.9 to -4.9)
  					outstring += "Very endothermic | "
  				if(-4.9 to -0.1)
  					outstring += "Endothermic | "
  				if(-0.1 to 0.1)
  					outstring += "Neutral | "
  				if(0.1 to 4.9)
  					outstring += "Exothermic | "
  				if(4.9 to 9.9)
  					outstring += "Very exothermic | "
  				if(9.9 to INFINITY)
  					outstring += "Extremely exothermic | "
  		else
  			outstring += " | "
  	else
  		outstring += " | "
  
  	//Description, OD, Addict, Meta
  	outstring += "[R.description] | Metabolism_rate:[R.metabolization_rate] [(R.overdose_threshold?"[Overdose:R.overdose_threshold]":"")] [(R.addiction_threshold?"[Addiction:R.addiction_threshold]":"No addiction")] "
  
  	if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
  		R3 = GLOB.chemical_reagents_list[R.ImpureChem]
  		outstring += "Impure chem:[R3.name]"
  
  	if(R.InverseChem != "fermiTox" || !R.InverseChem)
  		R3 = GLOB.chemical_reagents_list[R.InverseChem]
  		outstring += "Inverse chem:[R3.name] "
  
  	if(CR)
  		if(CR.FermiChem)
  			outstring += "Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
  
  
  	outstring += "|\n"
  	//message_admins("[outstring]")
  	return outstring
  
  //|Name | Reagents | Reaction vars | Description | Chem properties
  /proc/generate_chemreactwiki_line(datum/chemical_reaction/CR)
  	if(!LAZYLEN(CR.results)) //Handled prior
  		return
  	var/outstring = "|CR.name | <ul>"
  
  	//reagents
  	for(var/R2 in CR.required_reagents)
  		R3 = GLOB.chemical_reagents_list[R2]
  		outstring += "<li>[R3.name]</li>"
  	if(CR.required_catalysts)
  		for(var/R2 in CR.required_reagents)
  			R3 = GLOB.chemical_reagents_list[R2]
  			outstring += "<li>[R3.name]</li>"
  	outstring += "</ul> | "
  
  	outstring += "| fill in manually | "
  
  	//Reaction vars
  	if(CR.FermiChem)
  		outstring += "[(CR.FermiChem?"Min react temp:[CR.OptimalTempMin]":"[(CR.required_temp?"Min_react_temp:[CR.required_temp]":"")]")] [(CR.FermiChem?"Explosion_temp:[CR.ExplodeTemp]":"")] [(CR.FermiChem?"pH_range:[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"")] Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
  	if(CR.is_cold_recipe)
  		outstring += "Cold: Yes"
  	if(CR.required_container)
  		outstring += "Required container:[CR.required_container]"
  	if(CR.mob_react)
  		outstring += "Can react in mob: Yes"
  
negative.code: 		var/muta = ""
  		var/fermi = ""
  		var/remainder = ""
  		var/drug = ""
  		for(var/X in GLOB.chemical_reagents_list)
  			R = GLOB.chemical_reagents_list[X]
  			if(istype(R, /datum/reagent/medicine))
  