diff --git a/devNotes/encyclopedia.js b/devNotes/encyclopedia.js
index 54a069b05e66f7fbbf6f49a806629911db18f6b0..a170a469847cb6a8ca277bf4ea09feebabaaad00 100644
--- a/devNotes/encyclopedia.js
+++ b/devNotes/encyclopedia.js
@@ -846,46 +846,6 @@ App.Encyclopedia.UI = function() {
 				r.push("Variety bonuses, if any, will be called out in the facility report at the end of the week.", link("Advertising"), "that the facility specializes in any of these areas will supersede variety bonuses for the related qualities. Staffing a facility to appeal to all tastes can be more challenging than building a homogeneous stable and advertising it, but is both powerful and free.");
 				r.toParagraph();
 				break;
-			// TERRAIN TYPES
-			case "Terrain Types":
-				r.push(highlight("Future room for lore text", ["note"]));
-
-				r.push("Choose a more particular entry below:");
-				r.toNode("p");
-				break;
-			case "Urban Terrain":
-				r.push(highlight("Urban"), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:");
-				r.toNode("div");
-				indentLine([highlight("Low", ["yellow"]), "minimum slave value and initial", highlight("bear market", ["yellow"]), "for slaves."]);
-				indentLine([highlight("High", ["green"]), "ease of commerce with the old world."]);
-				indentLine([highlight("High", ["green"]), "access to refugees and other desperate people."]);
-				indentLine([highlight("Low", ["red"]), "cultural independence."]);
-				break;
-			case "Rural Terrain":
-				r.push(highlight("Rural"), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:");
-				r.toNode("div");
-				indentLine([highlight("High", ["yellow"]), "minimum slave value and initial", highlight("bull market", ["yellow"]), "for slaves."]);
-				indentLine(["Moderate ease of commerce with the old world."]);
-				indentLine(["Moderate access to refugees and other desperate people."]);
-				indentLine(["Moderate cultural independence."]);
-				break;
-			case "Marine Terrain":
-				r.push(highlight("Marine"), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:");
-				r.toNode("div");
-				indentLine([highlight("Moderate minimum slave value and initially balanced market for slaves.")]);
-				indentLine([highlight("Moderate ease of commerce with the old world.")]);
-				indentLine([highlight("Low", ["red"]), "access to refugees and other desperate people."]);
-				indentLine([highlight("High", ["green"]), "cultural independence."]);
-				break;
-			case "Oceanic Terrain":
-				r.push(highlight("Oceanic"), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:");
-				r.toNode("div");
-				indentLine([highlight("High", ["yellow"]), "minimum slave value and initial", highlight("bull market", ["yellow"]), "for slaves."]);
-				indentLine(["Moderate ease of commerce with the old world."]);
-				indentLine([highlight("Very low", ["red"]), "access to refugees and other desperate people."]);
-				indentLine([highlight("Very high", ["green"]), "cultural independence."]);
-				indentLine(["Ensures access to slaves from all over the world and will not associate the arcology with a continent."]);
-				break;
 			// LORE: THE FREE CITIES TODAY
 			case "Lore":
 				r.push(highlight("Future room for lore text", ["note"]));
@@ -1991,6 +1951,7 @@ App.Encyclopedia.UI = function() {
 			case "Pregnancy Generator":
 				r.push("The", highlight("Pregnancy Generator"), "is a small implant inserted into a slave's womb where it anchors itself and begins pumping the slave full of drugs and hormones with the intent to trick the slave's body into believing it both is and isn't pregnant. The slave's body will begin constantly releasing ovum that, once fertilized, will embed themselves into the uterine lining and begin growing. This will continue for as long as the implant is in place, regardless of how large the slave grows with children. Once the first set of infants is born, the implanted slave will give birth nearly a dozen times per week as her body continuously produces new offspring. Will likely lead to the slave's early death as her body will be consumed to feed her unending brood. Researched through the implant manufactory.");
 				r.toNode("div");
+				App.Events.addNode(t, ["Extreme content must be enabled."], "div", ["yellow"]);
 				break;
 			case "Childbirth and C-Secs":
 				r.push("Eventually a pregnant slave will need to give birth. Cesarean sections are an option should a slave's health not permit a safe natural birth, or should a slaveowner want to keep her from being stretched out by her newborn child. A healthy, well rested slave, with wide hips and some knowledge will generally find childbirth easy. Though poor health, tiredness, narrow hips, anorexia, tight vaginas, excessively young motherhood, and lack of experience can complicate things, potentially leading to the loss of both child and mother.");
@@ -2283,7 +2244,7 @@ App.Encyclopedia.UI = function() {
 
 				r.push(highlight("The Colonel", ["strong"]));
 				r.addToLast(":");
-				r.push("The special force's colonel can take the lead. Her performance will be above average and mercenary (in addition to hers obviously) units will be more confident, knowing they're being lead by someone with experience. Her tactics have a higher chance of success along with better offense and defense.");
+				r.push("The Special Force's colonel can take the lead. Her performance will be above average and mercenary (in addition to hers obviously) units will be more confident, knowing they're being lead by someone with experience. Her tactics have a higher chance of success along with better offense and defense.");
 				r.toNode("div");
 				break;
 			case "Credits":
diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw
index 62253ea20353259cee293caee168e51a921026d5..e4b20ec6a82e01ef6efc2e5eac1fdc07fcf27e0b 100644
--- a/src/gui/Encyclopedia/encyclopedia.tw
+++ b/src/gui/Encyclopedia/encyclopedia.tw
@@ -568,53 +568,6 @@ FACILITY BONUSES
 
 	<br><br>Variety bonuses, if any, will be called out in the facility report at the end of the week. <<= App.Encyclopedia.Dialog.linkSC("Advertising", "Advertising")>> that the facility specializes in any of these areas will supersede variety bonuses for the related qualities. Staffing a facility to appeal to all tastes can be more challenging than building a homogeneous stable and advertising it, but is both powerful and free.
 
-/**********
-TERRAIN TYPES
-**********/
-<<case "Terrain Types">>
-	//Future room for lore text//
-
-	<br><br>Choose a more particular entry below:
-	<br>
-
-<<case "Urban Terrain">>
-	''Urban'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;Low@@ minimum slave value and initial @@.yellow;bear market@@ for slaves.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ ease of commerce with the old world.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ access to refugees and other desperate people.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Low@@ cultural independence.
-
-
-<<case "Rural Terrain">>
-	''Rural'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;High@@ minimum slave value and initial @@.yellow;bull market@@ for slaves.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate ease of commerce with the old world.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate access to refugees and other desperate people.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate cultural independence.
-
-<<case "Ravine Terrain">>
-	''Ravine'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;High@@ minimum slave value and initial @@.yellow;bull market@@ for slaves.
-	<<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Low@@ ease of commerce with the old world.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Very low@@ access to refugees and other desperate people.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ cultural independence.
-
-<<case "Marine Terrain">>
-	''Marine'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate minimum slave value and initially balanced market for slaves.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate ease of commerce with the old world.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Low@@ access to refugees and other desperate people.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;High@@ cultural independence.
-
-
-<<case "Oceanic Terrain">>
-	''Oceanic'' terrain is one of the possible settings for the Free City in which the arcology is located. It provides:
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.yellow;High@@ minimum slave value and initial @@.yellow;bull market@@ for slaves.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Moderate ease of commerce with the old world.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.red;Very low@@ access to refugees and other desperate people.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;@@.green;Very high@@ cultural independence.
-	<br>&nbsp;&nbsp;&nbsp;&nbsp;Ensures access to slaves from all over the world and will not associate the arcology with a continent.
-
 /**********
 LORE: THE FREE CITIES TODAY
 **********/
@@ -1695,15 +1648,6 @@ MODS
 
 	<br><br>Enterprising breeders trying to breed specific traits should be mindful of the inbreeding coefficients of their stock: the higher the coefficient, the higher the chance that children will be slow or deformed.
 
-<<case "Drug Grades and You">>
-	There exist a trio of important differences between consumer-grade drugs made for citizens and slave-grade drugs reserved for chattel:
-
-	<br><strong>Health</strong>: Consumer drugs generally lack the side-effects associated with long term slave-grade drug use. It is also far more difficult to accidentally ruin your body with their use.
-	
-	<br><strong>Strength</strong>: Overall, consumer drugs are weaker by comparison as a trade off for the improved health benefits. This does not mean they are necessarily worse, however; they are slower, but more consistent and able to confer their benefits past the point that slave-grade injections would cease to be reasonable.
-	
-	<br><strong>Price</strong>: With most production focused on cheap slave-grade drugs, consumer drugs run at a premium and usually require a physician to prescribe them.
-
 <<default>>
 	Error: bad title.
 <</switch>>
diff --git a/src/gui/Encyclopedia/encyclopediaBeingInCharge.js b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
index 091847ce13606e00fc198badf89776dcebff09d1..66cf06fb89bcc14984b7b4dfc56dd759df49484e 100644
--- a/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
+++ b/src/gui/Encyclopedia/encyclopediaBeingInCharge.js
@@ -269,15 +269,25 @@ App.Encyclopedia.addArticle("PC Skills", function() {
 	return f;
 }, "beingInCharge");
 
+App.Encyclopedia.addArticle("Drug grades and you", function() {
+	const f = new DocumentFragment();
+	App.Events.addNode(f, ["There exist a trio of important differences between consumer-grade drugs made for citizens and slave-grade drugs reserved for chattel:"], "div");
+	App.Events.addNode(f, [`${App.UI.DOM.makeElement("span", "Health", ["strong"])}: Consumer drugs generally lack the side-effects associated with long term slave-grade drug use. It is also far more difficult to accidentally ruin your body with their use.`], "div");
+	App.Events.addNode(f, [`${App.UI.DOM.makeElement("span", "Strength", ["strong"])}: Overall, consumer drugs are weaker by comparison as a trade off for the improved health benefits. This does not mean they are necessarily worse, however; they are slower, but more consistent and able to confer their benefits past the point that slave-grade injections would cease to be reasonable.`], "div");
+	App.Events.addNode(f, [`${App.UI.DOM.makeElement("span", "Price", ["strong"])}: With most production focused on cheap slave-grade drugs, consumer drugs run at a premium and usually require a physician to prescribe them.`], "div");
+	return f;
+}, "beingInCharge");
+
 App.Encyclopedia.addCategory("beingInCharge", function() {
 	const links = [];
-	links.push(App.Encyclopedia.Dialog.linkDOM("Arcologies and Reputation", "Arcologies and Reputation"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("Random Events", "Random Events"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("Costs Summary", "Costs Summary"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("Rules Assistant", "Rules Assistant"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("RA Condition Editor", "RA Condition Editor"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("The Corporation", "The Corporation"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("Sexual Energy", "Sexual Energy"));
-	links.push(App.Encyclopedia.Dialog.linkDOM("PC Skills", "PC Skills"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Arcologies and Reputation"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Random Events"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Costs Summary"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Rules Assistant"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("RA Condition Editor"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("The Corporation"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Sexual Energy"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("PC Skills"));
+	links.push(App.Encyclopedia.Dialog.linkDOM("Drug grades and you"));
 	return App.UI.DOM.generateLinksStrip(links);
 });
diff --git a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
index bdd5912f0e4d5345ba1058993bb3f4920aff11e7..8db038e2585d1392aaa289d088c79f51d878106a 100644
--- a/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
+++ b/src/gui/Encyclopedia/encyclopediaRelatedLinks.tw
@@ -187,16 +187,6 @@ ARCOLOGY FACILITIES
 	<<= App.Encyclopedia.Dialog.linkSC("Advertising", "Advertising")>>
 	| <<= App.Encyclopedia.Dialog.linkSC("Variety", "Variety")>>
 
-/**********
-TERRAIN TYPES
-**********/
-<<case "Terrain Types" "Urban Terrain" "Rural Terrain" "Ravine Terrain" "Marine Terrain" "Oceanic Terrain">>
-	<<= App.Encyclopedia.Dialog.linkSC("Urban", "Urban Terrain")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Rural", "Rural Terrain")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Ravine", "Ravine Terrain")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Marine", "Marine Terrain")>>
-	| <<= App.Encyclopedia.Dialog.linkSC("Oceanic", "Oceanic Terrain")>>
-
 /**********
 LORE: THE FREE CITIES TODAY
 **********/
diff --git a/src/gui/Encyclopedia/encyclopediaTerrain.js b/src/gui/Encyclopedia/encyclopediaTerrain.js
new file mode 100644
index 0000000000000000000000000000000000000000..8e00670606cf5277a94fe840917ba736e48ff19e
--- /dev/null
+++ b/src/gui/Encyclopedia/encyclopediaTerrain.js
@@ -0,0 +1,70 @@
+App.Encyclopedia.addArticle("Terrain Types", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Future room for lore text", ["note"])], "div");
+ App.Events.addNode(f, ["Choose a more particular entry below:"], "div");
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addArticle("Urban Terrain", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Urban", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bear market", ["yellow"]), "for slaves."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "ease of commerce with the old world."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "access to refugees and other desperate people."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "cultural independence."], "div", ["indent"]);
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addArticle("Rural Terrain", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Rural", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+ App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
+ App.Events.addNode(f, ["Moderate access to refugees and other desperate people."], "div", ["indent"]);
+ App.Events.addNode(f, ["Moderate cultural independence."], "div", ["indent"]);
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addArticle("Ravine Terrain", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Ravine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "ease of commerce with the old world."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addArticle("Marine Terrain", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Marine", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate minimum slave value and initially balanced market for slaves.")], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Moderate ease of commerce with the old world.")], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["green"]), "cultural independence."], "div", ["indent"]);
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addArticle("Oceanic Terrain", function() {
+ const f = new DocumentFragment();
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Oceanic", ["bold"]), "terrain is one of the possible settings for the Free City in which the arcology is located. It provides:"], "div");
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "High", ["yellow"]), "minimum slave value and initial", App.UI.DOM.makeElement("span", "bull market", ["yellow"]), "for slaves."], "div", ["indent"]);
+ App.Events.addNode(f, ["Moderate ease of commerce with the old world."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very low", ["red"]), "access to refugees and other desperate people."], "div", ["indent"]);
+ App.Events.addNode(f, [App.UI.DOM.makeElement("span", "Very high", ["green"]), "cultural independence."], "div", ["indent"]);
+ App.Events.addNode(f, ["Ensures access to slaves from all over the world and will not associate the arcology with a continent."], "div", ["indent"]);
+ return f;
+}, "Terrain");
+
+App.Encyclopedia.addCategory("Terrain", function() {
+ const f = new DocumentFragment();
+ const r = [];
+ r.push(App.Encyclopedia.Dialog.linkDOM("Types", "Terrain Types"));
+ r.push(App.Encyclopedia.Dialog.linkDOM("Urban", "Urban Terrain"));
+ r.push(App.Encyclopedia.Dialog.linkDOM("Rural", "Rural Terrain"));
+ r.push(App.Encyclopedia.Dialog.linkDOM("Ravine", "Ravine Terrain"));
+ r.push(App.Encyclopedia.Dialog.linkDOM("Marine", "Marine Terrain"));
+ r.push(App.Encyclopedia.Dialog.linkDOM("Oceanic", "Oceanic Terrain"));
+ App.Events.addNode(f, ["Terrain:", App.UI.DOM.generateLinksStrip(r)], "div");
+ return f;
+});