diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3b9326fcdb3f42a10095c153bd6490a31dfde781..eca844ae51d43ecb0cce3686251bc8e3f7354bf3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ## Unreleased
 
+* RA simple mode
+* RA can now report which rule made a change
+* New Game++ (Start in new arcology at same week.)
+* Elohiem's webGL art update 9
+* webGL animations
+* added event peFoodplay
+* fixes
+
 ## 0.10.7.1-4.0.0-alpha.17 - 2022-06-09
 
 * PC endWeek effects added
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index 7ed17b54ab1c8d93f7d154deef639d0de56d59af..702c3e39567c20137feec47fc6509f4b7e43307d 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -1087,6 +1087,7 @@ App.Data.resetOnNGPlus = {
 	cloningSystem: 0,
 	/** @type {FC.Bool} */
 	geneticFlawLibrary: 0,
+	consumerDrugs: 0,
 
 	projectN: App.Data.projectN,
 	bodyPuristRiot: 0,
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 735a0af0a32a30c336e58734ce0f217beef086c7..d254e43bd408dae14f835665e4eac6e893c1f8f1 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -1362,11 +1362,9 @@ App.Update.globalVariables = function(node) {
 	}
 
 	// Cosmetic Surgery Suite
-	if (!(typeof V.pSurgery === 'object' && V.pSurgery !== null)) {
-		V.pSurgery = {};
-	}
-	V.pSurgery.state = V.pSurgery.state || 1;
-	V.pSurgery.cooldown = V.pSurgery.cooldown || V.playerSurgery || 0;
+	V.pSurgery = V.pSurgery || {};
+	V.pSurgery.state = V.pSurgery.state || 0;
+	V.pSurgery.cooldown = V.playerSurgery || V.pSurgery.cooldown || 0;
 	V.pSurgery.nursePreg = V.pSurgery.nursePreg || 0;
 	V.pSurgery.disloyal = V.pSurgery.disloyal || 0;
 	V.pSurgery.cost = V.pSurgery.cost || 0;
@@ -2193,14 +2191,12 @@ App.Update.oldVersions = function(node) {
 		newPC.counter.slavesKnockedUp = V.PC.slavesKnockedUp;
 		newPC.counter.storedCum = V.PC.storedCum;
 		newPC.sexualEnergy = V.PC.sexualEnergy;
-		newPC.staminaPills = V.PC.staminaPills;
 		newPC.preg = V.PC.preg;
 		newPC.pregType = V.PC.pregType;
 		newPC.pregWeek = V.PC.pregWeek;
 		newPC.pregKnown = V.PC.pregKnown;
 		newPC.fertKnown = V.PC.fertKnown;
 		newPC.fertPeak = V.PC.fertPeak;
-		newPC.fertDrugs = V.PC.fertDrugs;
 		newPC.forcedFertDrugs = V.PC.forcedFertDrugs;
 		newPC.belly = V.PC.belly;
 		newPC.bellyPreg = V.PC.bellyPreg;
diff --git a/src/endWeek/economics/personalNotes.js b/src/endWeek/economics/personalNotes.js
index dc9f14c73c4e5bdb0a4b1032edda83445f186b80..14cfb95440b4314dc767d3b2cdce4cc87d9e5884 100644
--- a/src/endWeek/economics/personalNotes.js
+++ b/src/endWeek/economics/personalNotes.js
@@ -57,9 +57,13 @@ App.EndWeek.personalNotes = function() {
 	if (V.useTabs === 1) {
 		App.UI.DOM.appendNewElement("h2", el, `Drugs`);
 	}
-	// r.push(App.EndWeek.Player.drugs());
-
+	r.push(App.EndWeek.Player.drugs());
 
+	// Here or at the start?
+	if (V.useTabs === 1) {
+		App.UI.DOM.appendNewElement("h2", el, `Health`);
+	}
+	//r.push(App.EndWeek.Player.health());
 
 	App.Events.addParagraph(el, r);
 	return el;
diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js
index c89e7c90f63cc67feac142aab4152544489d876a..76bdbc1517a81d4ef97ff27b076cd6db3f64da36 100644
--- a/src/endWeek/endWeek.js
+++ b/src/endWeek/endWeek.js
@@ -237,14 +237,14 @@ globalThis.endWeek = (function() {
 		} else if (V.PC.preg > 0) {
 			V.PC.sexualEnergy -= 1;
 		} else {
-			if (V.PC.fertDrugs === 1) {
+			if (V.PC.drugs === "fertility supplements") {
 				V.PC.sexualEnergy++;
 			}
 			if (V.PC.forcedFertDrugs > 0) {
 				V.PC.sexualEnergy += 2;
 			}
 		}
-		if (V.PC.staminaPills > 0) {
+		if (V.PC.drugs === "stamina enhancers") {
 			V.PC.sexualEnergy += 2;
 		}
 		if (V.PC.preg > 0) {
@@ -257,7 +257,6 @@ globalThis.endWeek = (function() {
 			} else if (V.PC.belly > 500) {
 				V.PC.belly *= 0.75;
 			}
-			V.PC.fertDrugs = 0;
 		} else if (V.PC.belly > 0) {
 			if (V.PC.belly < 100) {
 				V.PC.belly = 0;
diff --git a/src/endWeek/player/prDiet.js b/src/endWeek/player/prDiet.js
index 6e5df1df5a95dc9babade6840400ba5943ac8c21..0c48594c9050a3ac2524abd5d714bfd4eaeedc6c 100644
--- a/src/endWeek/player/prDiet.js
+++ b/src/endWeek/player/prDiet.js
@@ -84,6 +84,20 @@ App.EndWeek.Player.diet = function(PC = V.PC) {
 					PC.balls += 1;
 				}
 				break;
+			case "medicinal":
+				r.push(`You stick to an unusual diet full of exotic foods and drinks known for <span class="health inc">fortifying health, healing ailments, and cleansing the body.</span>`);
+				if (canTaste(PC)) {
+					r.push(`It is surprisingly pleasant, if a bit on the expensive side.`);
+				} else {
+					r.push(`It is rather expensive, so you wish you could actually taste it.`);
+				}
+				if (PC.health.condition <= 90) {
+					improveCondition(PC, 2);
+				}
+				if (PC.chem > 1) {
+					PC.chem--;
+				}
+				break;
 		}
 	}
 
diff --git a/src/endWeek/player/prLongTermEffects.js b/src/endWeek/player/prLongTermEffects.js
index 3584f0d0eb0954fd0c422536c42696679d71f2b4..332b8ae113553d15c00f0cdd3b9ab90e1033eb6e 100644
--- a/src/endWeek/player/prLongTermEffects.js
+++ b/src/endWeek/player/prLongTermEffects.js
@@ -267,7 +267,7 @@ App.EndWeek.Player.longTermEffects = function(PC = V.PC) {
 	}
 
 	function hormoneBalance() {
-		const selfManufactured = false; // Once a means to buy the recipes is added, this will become a ternary.
+		const selfManufactured = V.consumerDrugs;
 		const hormonePower = selfManufactured ? V.hormoneUpgradePower : 1; // Prescribed ones are better to match their base price.
 		if (PC.diet === "XX") {
 			PC.hormoneBalance += 4;
@@ -561,6 +561,7 @@ App.EndWeek.Player.longTermEffects = function(PC = V.PC) {
 			if (PC.pubertyXX === 0) {
 				if (PC.physicalAge >= PC.pubertyAgeXX) {
 					PC.pubertyXX = 1;
+					// in the future, improve this to hide puberty up until period?
 					r.push(`After several days of unrelenting pain in your stomach, you have your first period.`);
 					if (PC.genes === "XX") {
 						r.push(`<span class="puberty">You're a woman now.</span>`);
@@ -928,6 +929,9 @@ App.EndWeek.Player.longTermEffects = function(PC = V.PC) {
 			if (PC.inflationType === "aphrodisiac") {
 				deathSeed -= (100 * PC.inflation);
 			}
+			if (PC.diet === "medicinal") {
+				deathSeed += 200;
+			}
 			if (random(1, 1000) > (600 + deathSeed)) {
 				planDeath(PC, "lowHealth");
 			}
diff --git a/src/endWeek/player/prLongTermPhysicalEffects.js b/src/endWeek/player/prLongTermPhysicalEffects.js
index 2692c449a2aec41f6f5963407cb33df486983cc1..3d7dd83b48438057f08a18d6d279db87615821f6 100644
--- a/src/endWeek/player/prLongTermPhysicalEffects.js
+++ b/src/endWeek/player/prLongTermPhysicalEffects.js
@@ -33,7 +33,9 @@ App.EndWeek.Player.longTermPhysicalEffects = function(PC = V.PC) {
 	boobsEffects(); // Moved up from middle of the mobility and oversized asset set of text.
 	bellyEffects(); // Moved up from middle of the mobility and oversized asset set of text.
 	// player mobility function goes here.
-	healthBlips();
+	if (PC.diet !== "medicinal") {
+		healthBlips();
+	}
 
 	return r.join(" ");
 
@@ -391,19 +393,23 @@ App.EndWeek.Player.longTermPhysicalEffects = function(PC = V.PC) {
 			if (PC.physicalAge >= 45) {
 				if (PC.physicalAge >= 70) {
 					if (PC.health.condition >= -90) {
-						if (PC.diet !== "healthy" || !canEatFood(PC) || PC.chem > 0) {
-							if (PC.physicalAge - 30 > random(1, 100)) {
-								r.push(`Your advanced age comes hand in hand with increased health complications. <span class="health dec">This was not a good week for you.</span>`);
-								healthDamage(PC, 10);
+						if (PC.diet !== "medicinal") {
+							if (PC.diet !== "healthy" || !canEatFood(PC) || PC.chem > 0) {
+								if (PC.physicalAge - 30 > random(1, 100)) {
+									r.push(`Your advanced age comes hand in hand with increased health complications. <span class="health dec">This was not a good week for you.</span>`);
+									healthDamage(PC, 10);
+								}
 							}
 						}
 					}
 				} else {
 					if (PC.health.condition > 20) {
-						if (PC.diet !== "healthy" || !canEatFood(PC) || PC.chem > 0) {
-							if (PC.physicalAge - 30 > random(1, 100)) {
-								r.push(`This was a rough week for you. It seems your <span class="health dec">age</span> is catching up to you.`);
-								healthDamage(PC, 10);
+						if (PC.diet !== "medicinal") {
+							if (PC.diet !== "healthy" || !canEatFood(PC) || PC.chem > 0) {
+								if (PC.physicalAge - 30 > random(1, 100)) {
+									r.push(`This was a rough week for you. It seems your <span class="health dec">age</span> is catching up to you.`);
+									healthDamage(PC, 10);
+								}
 							}
 						}
 					}
diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js
index 6e4884ccf4ffd2691b9c33ad6b73850b4b11fef8..ea2c4785bd3f20a743ccd750b10431bd39aaa529 100644
--- a/src/events/intro/introSummary.js
+++ b/src/events/intro/introSummary.js
@@ -184,6 +184,7 @@ App.Intro.summary = function() {
 							case "medicine":
 								V.PC.skill.medicine = 100;
 								V.PC.muscles = 0;
+								V.consumerDrugs = 1;
 								break;
 							case "medical assistant":
 								V.PC.intelligenceImplant = 15;
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index 47d851ed85dfa371232c53b927ddde6569c665d6..945903e92babb78dac47f807dec7ec5567c6cbf5 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -880,6 +880,8 @@ globalThis.calculateCosts = (function() {
 			costs += 75;
 		} else if (V.PC.diet === 'exotic') {
 			costs += 200;
+		} else if (V.PC.diet === 'medicinal') {
+			costs += 250;
 		} else if (V.PC.diet === 'weaning') {
 			costs += 500;
 		}
@@ -892,14 +894,9 @@ globalThis.calculateCosts = (function() {
 
 		if (V.PC.preg === -1) {
 			costs += 25;
-		} else if (V.PC.fertDrugs === 1) {
-			costs += 50;
 		} else if (V.PC.preg >= 16) {
 			costs += 100;
 		}
-		if (V.PC.staminaPills === 1) {
-			costs += 50;
-		}
 		return costs;
 	}
 
diff --git a/src/player/electiveSurgery.js b/src/player/electiveSurgery.js
index 07d9f734feb0edb03414843ba5f3bab598b6ca37..4aaaf4f2f8f16eea95d35bce44c6c822cde0af24 100644
--- a/src/player/electiveSurgery.js
+++ b/src/player/electiveSurgery.js
@@ -84,7 +84,7 @@ App.UI.electiveSurgery = function() {
 	if (V.pSurgery.nursePreg > 0) {
 		nurse.preg = V.pSurgery.nursePreg;
 		nurse.pregType = 1;
-		setBellySize(nurse);
+		SetBellySize(nurse);
 	}
 
 	if (V.pSurgery.state > 1) {
diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js
index a62186dcdf3c14b92e965b1d826d98e05477b88f..98dc06ca5fca580d5580cd9558710d475d6ee3b4 100644
--- a/src/player/js/PlayerState.js
+++ b/src/player/js/PlayerState.js
@@ -1957,18 +1957,10 @@ App.Entity.PlayerState = class PlayerState {
 		 * 0: stable; 1: gaining; -1: losing */
 		this.weightDirection = 0;
 		// exclusive minor player variables (probably) here
-		/** are you on fertility supplements
-		 *
-		 * 0: no; 1: yes */
-		this.fertDrugs = 0;
 		/** have you been drugged with fertility drugs
 		 *
 		 * 0: no; 1+: how many weeks they will remain in your system */
 		this.forcedFertDrugs = 0;
-		/** Are you taking pills to fuck more slaves each week?
-		 *
-		 * 0: no; 1: yes */
-		this.staminaPills = 0;
 		/** Player's coefficient of inbreeding */
 		this.inbreedingCoeff = 0;
 		/** Controls if femPC lost virginity before or after taking over */
diff --git a/src/player/managePersonalAffairs.js b/src/player/managePersonalAffairs.js
index 12ae09d1ca03adb53cdb1ec0da3e06eea02d06ea..3f8ade6c828069c8cc8a325a17f5fc20a6e9c568 100644
--- a/src/player/managePersonalAffairs.js
+++ b/src/player/managePersonalAffairs.js
@@ -868,6 +868,8 @@ App.UI.managePersonalAffairs = function() {
 			text.push(`You are eating energy rich food and spending ${PC.muscles > 0 ? "extra " : ""}time in the gym.`);
 		} else if (PC.diet === "exotic") {
 			text.push(`You are eating exotic foods to boost your energy in bed.`);
+		} else if (PC.diet === "medicinal") {
+			text.push(`You are eating medicinal foods to ${PC.health.condition < 90 ? "better" : "solidify"} your health.`);
 		} else if (PC.diet === "corrective") {
 			text.push(`The automated feeder is controlling your portions in order to correct your weight.`);
 		} else if (PC.diet === "cum production") {
@@ -1069,6 +1071,16 @@ App.UI.managePersonalAffairs = function() {
 					App.UI.DOM.replace(dietDiv, diet);
 				}));
 			}
+			if (PC.diet === "medicinal") {
+				links.push(App.UI.DOM.disabledLink(`Medicinal`, [
+					`${onDiet}`,
+				]));
+			} else {
+				links.push(App.UI.DOM.link(`Medicinal`, () => {
+					PC.diet = "medicinal";
+					App.UI.DOM.replace(dietDiv, diet);
+				}));
+			}
 		}
 
 		text.push(App.UI.DOM.generateLinksStrip(links));
@@ -1079,23 +1091,521 @@ App.UI.managePersonalAffairs = function() {
 	}
 
 	function drugs() {
-		const staminaDrugsDiv = document.createElement("div");
+		const hormonesDiv = document.createElement("div");
+		const playerDrugsDiv = document.createElement("div");
 		const contraceptivesDiv = document.createElement("div");
 		const fertilityDrugsDiv = document.createElement("div");
 
 		App.UI.DOM.appendNewElement("h2", drugsDiv, `Drugs`);
 
-		drugsDiv.append(staminaDrugs());
+		if (PC.hormones !== 0 && V.consumerDrugs !== 0) {
+			drugsDiv.append(hormones());
+		}
+		drugsDiv.append(playerDrugs());
 
 		if (PC.vagina !== -1) {
 			drugsDiv.append(
 				contraceptives(),
-				fertilityDrugs(),
+				//fertilityDrugs(),
 			);
 		}
 
 		return drugsDiv;
 
+		function hormones() {
+			const linkDiv = App.UI.DOM.makeElement("div", null, ['indent']);
+
+			App.UI.DOM.appendNewElement("h3", hormonesDiv, `Hormones`);
+			if (PC.hormones !== 0) {
+				hormonesDiv.append(`You are currently taking ${PC.hormones === 1 ? "female" : "male"} hormones.`);
+				if (V.consumerDrugs !== 0) {
+					linkDiv.append(App.UI.DOM.link(`Stop filling your prescription`, () => {
+						V.PC.hormones = 0;
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+					App.UI.DOM.appendNewElement("div", linkDiv, `You will need to visit your doctor to start a new prescription.`, ["indent", "note"]);
+				} else {
+					linkDiv.append(App.UI.DOM.link(`Stop taking them`, () => {
+						V.PC.hormones = 0;
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+			} else {
+				hormonesDiv.append(`You are not taking any hormones.`);
+				links.push(App.UI.DOM.link(`Male hormones`, () => {
+					V.PC.hormones = -1;
+					App.UI.DOM.replace(drugsDiv, drugs);
+				}));
+				links.push(App.UI.DOM.link(`Female hormones`, () => {
+					V.PC.hormones = 1;
+					App.UI.DOM.replace(drugsDiv, drugs);
+				}));
+			}
+
+			hormonesDiv.append(linkDiv);
+
+			return hormonesDiv;
+		}
+
+		function playerDrugs() {
+			const consumerDrugsDiv = document.createElement("div");
+			const slaveDrugsDiv = document.createElement("div");
+
+			if (PC.drugs !== "no drugs") {
+				playerDrugsDiv.append(`You are currently using ${PC.drugs}.`);
+				playerDrugsDiv.append(App.UI.DOM.link(`Stop taking them`, () => {
+					V.PC.drugs = "no drugs";
+					App.UI.DOM.replace(drugsDiv, drugs);
+				}));
+				if (["breast enhancers", "butt enhancers", "lip enhancers", "penis enlargers", "testicle enlargers", "fertility supplements"].includes(PC.drugs)) {
+					App.UI.DOM.appendNewElement("div", linkDiv, `You will need to visit your doctor to start a new prescription.`, ["indent", "note"]);
+				}
+			} else {
+				playerDrugsDiv.append(`You are not using any pharmaceutical drugs.`);
+			}
+
+			App.UI.DOM.appendNewElement("h3", playerDrugsDiv, `Consumer-grade`);
+			
+			playerDrugsDiv.append(consumerDrugs());
+			App.UI.DOM.appendNewElement("h3", playerDrugsDiv, `Slave-grade`);
+			playerDrugsDiv.append(slaveDrugs());
+
+			return playerDrugsDiv;
+			
+			function consumerDrugs() {
+				const text = [];
+				const links = [];
+
+				if (PC.drugs !== "stamina enhancers") {
+					links.push(App.UI.DOM.link(`Stamina enhancers`, () => {
+						PC.drugs = "stamina enhancers";
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+				if (PC.drugs !== "appetite suppressors") {
+					links.push(App.UI.DOM.link(`Appetite suppressors`, () => {
+						PC.drugs = "appetite suppressors";
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+
+				text.push(App.UI.DOM.generateLinksStrip(links));
+
+				App.Events.addNode(consumerDrugsDiv, text);
+
+				return consumerDrugsDiv;
+			}
+
+			function slaveDrugs() {
+				const text = [];
+				const links = [];
+				const arcology = V.arcologies[0];
+
+				if (arcology.FSSlaveProfessionalismResearch === 1) {
+					if (PC.drugs !== "psychostimulants") {
+						if (canImproveIntelligence(slave)) {
+							links.push(App.UI.DOM.link(`Psychostimulants`, () => {
+								PC.drugs = "psychostimulants";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Psychostimulants`, [
+								`Cannot improve intelligence further this way`,
+							]));
+						}
+					}
+				}
+
+				if (arcology.FSAssetExpansionistResearch === 1) {
+					if (PC.drugs !== "hyper breast injections") {
+						if (PC.boobs < 50000) {
+							links.push(App.UI.DOM.link(`Hyper breast injections`, () => {
+								PC.drugs = "hyper breast injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Hyper breast injections`, [
+								`Breasts are too big for the drugs to work`,
+							]));
+						}
+					}
+				}
+				if (PC.drugs !== "breast injections" && PC.drugs !== "intensive breast injections") {
+					if (PC.boobs < 50000) {
+						if (PC.drugs !== "breast injections") {
+							links.push(App.UI.DOM.link(`Breast injections`, () => {
+								PC.drugs = "breast injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+						if (PC.drugs !== "intensive breast injections") {
+							links.push(App.UI.DOM.link(`Intensive breast injections`, () => {
+								PC.drugs = "intensive breast injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					} else {
+						links.push(App.UI.DOM.disabledLink(`Breast injections`, [
+							`Breasts are too big for the drugs to work`,
+						]));
+					}
+				}
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "breast redistributors") {
+						if ((PC.boobs - PC.boobsImplant - PC.boobsMilk) > 100) {
+							links.push(App.UI.DOM.link(`Breast redistributors`, () => {
+								PC.drugs = "breast redistributors";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Breast redistributors`, [
+								`Already flat enough`,
+							]));
+						}
+					}
+				}
+
+				if (V.dispensary) {
+					if (PC.drugs !== "nipple enhancers") {
+						if (["inverted", "partially inverted", "cute", "tiny", "puffy", "flat"].includes(PC.nipples)) {
+							links.push(App.UI.DOM.link(`Nipple enhancers`, () => {
+								PC.drugs = "nipple enhancers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else if (PC.nipples === "huge") {
+							links.push(App.UI.DOM.disabledLink(`Nipple enhancers`, [
+								`Nipples cannot get any larger`,
+							]));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Nipple enhancers`, [
+								`Will not affect your nipples`,
+							]));
+						}
+					}
+				}
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "nipple atrophiers") {
+						if (PC.nipples === "huge" || PC.nipples === "puffy" || PC.nipples === "cute") {
+							links.push(App.UI.DOM.link(`Nipple atrophiers`, () => {
+								PC.drugs = "nipple atrophiers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Nipple atrophiers`, [
+								`Will not affect your nipples`,
+							]));
+						}
+					}
+				}
+
+				if (arcology.FSAssetExpansionistResearch === 1) {
+					if (PC.drugs !== "hyper butt injections") {
+						if (PC.butt < 20) {
+							links.push(App.UI.DOM.link(`Hyper butt injections`, () => {
+								PC.drugs = "hyper butt injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Hyper butt injections`, [
+								`Ass cannot grow larger`,
+							]));
+						}
+					}
+				}
+				if (PC.drugs !== "butt injections" && PC.drugs !== "intensive butt injections") {
+					if (PC.butt < 9) {
+						if (PC.drugs !== "butt injections") {
+							links.push(App.UI.DOM.link(`Butt injections`, () => {
+								PC.drugs = "butt injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+						if (PC.drugs !== "intensive butt injections") {
+							links.push(App.UI.DOM.link(`Intensive butt injections`, () => {
+								PC.drugs = "intensive butt injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					} else {
+						links.push(App.UI.DOM.disabledLink(`Butt injections`, [
+							`Ass is too big for the drugs to work`,
+						]));
+					}
+				}
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "butt redistributors") {
+						if (PC.butt - PC.buttImplant > 0) {
+							links.push(App.UI.DOM.link(`Butt redistributors`, () => {
+								PC.drugs = "butt redistributors";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Butt redistributors`, [
+								`No ass left to lose`,
+							]));
+						}
+					}
+				}
+
+				if (V.dispensary) {
+					if (PC.drugs !== "lip injections") {
+						if (PC.lips <= 95 || (PC.lips <= 85 && V.seeExtreme !== 1)) {
+							links.push(App.UI.DOM.link(`lip injections`, () => {
+								PC.drugs = "lip injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`lip injections`, [
+								`Lips cannot grow larger`,
+							]));
+						}
+					}
+				}
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "lip atrophiers") {
+						if (PC.lips - PC.lipsImplant > 0) {
+							links.push(App.UI.DOM.link(`Lip atrophiers`, () => {
+								PC.drugs = "lip atrophiers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Lip atrophiers`, [
+								`No lip left to give`,
+							]));
+						}
+					}
+				}
+
+				if (arcology.FSAssetExpansionistResearch === 1) {
+					if (PC.drugs !== "hyper penis enhancement") {
+						if (PC.dick > 0) {
+							if (PC.dick < 31) {
+								links.push(App.UI.DOM.link(`Hyper penis enhancement`, () => {
+									PC.drugs = "hyper penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							} else {
+								links.push(App.UI.DOM.disabledLink(`Hyper penis enhancement`, [
+									`Dick cannot grow larger`,
+								]));
+							}
+						} else {
+							if (PC.clit < 5) {
+								links.push(App.UI.DOM.link(`Hyper clitoris enhancement`, () => {
+									PC.drugs = "hyper penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							} else {
+								links.push(App.UI.DOM.disabledLink(`Hyper clitoris enhancement`, [
+									`Clit cannot grow larger`,
+								]));
+							}
+						}
+					}
+				}
+				if (PC.drugs !== "penis enhancement" && PC.drugs !== "intensive penis enhancement") {
+					if (PC.dick > 0) {
+						if (PC.dick < 10) {
+							if (PC.drugs !== "penis enhancement") {
+								links.push(App.UI.DOM.link(`Penis enhancement`, () => {
+									PC.drugs = "penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							}
+							if (PC.drugs !== "intensive penis enhancement") {
+								links.push(App.UI.DOM.link(`Intensive penis enhancement`, () => {
+									PC.drugs = "intensive penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							}
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Penis enhancement`, [
+								`Dick is too big for the drugs to work`,
+							]));
+						}
+					} else {
+						if (PC.clit < 5) {
+							if (PC.drugs !== "penis enhancement") {
+								links.push(App.UI.DOM.link(`Clitoris enhancement`, () => {
+									PC.drugs = "penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							}
+							if (PC.drugs !== "intensive penis enhancement") {
+								links.push(App.UI.DOM.link(`Intensive clitoris enhancement`, () => {
+									PC.drugs = "intensive penis enhancement";
+									App.UI.DOM.replace(drugsDiv, drugs);
+								}));
+							}
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Penis enhancement`, [
+								`Clit cannot grow larger`,
+							]));
+						}
+					}
+				}
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "penis atrophiers") {
+						if (PC.dick > 1) {
+							links.push(App.UI.DOM.link(`Penile atrophiers`, () => {
+								PC.drugs = "penis atrophiers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Penile atrophiers`, [
+								`Dick cannot possibly get smaller`,
+							]));
+						}
+					}
+					if (PC.drugs !== "clitoris atrophiers") {
+						if (PC.clit > 0) {
+							links.push(App.UI.DOM.link(`Clitoral atrophiers`, () => {
+								PC.drugs = "clitoris atrophiers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Clitoral atrophiers`, [
+								`Clit cannot possibly get smaller`,
+							]));
+						}
+					}
+				}
+				if (PC.drugs !== "priapism agents") {
+					if (PC.dick.isBetween(0, 11) && !canAchieveErection(PC)) {
+						links.push(App.UI.DOM.link(`Priapism agents`, () => {
+							PC.drugs = "priapism agents";
+							App.UI.DOM.replace(drugsDiv, drugs);
+						}));
+					}
+				}
+
+				if (PC.balls > 0) {
+					if (arcology.FSAssetExpansionistResearch === 1) {
+						if (PC.drugs !== "hyper testicle enhancement") {
+							links.push(App.UI.DOM.link(`Hyper testicle enhancement`, () => {
+								PC.drugs = "hyper testicle enhancement";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					}
+					if (PC.drugs !== "testicle enhancement" && PC.drugs !== "intensive testicle enhancement") {
+						links.push(App.UI.DOM.link(`Testicle enhancement`, () => {
+							PC.drugs = "testicle enhancement";
+							App.UI.DOM.replace(drugsDiv, drugs);
+						}));
+						links.push(App.UI.DOM.link(`Intensive testicle enhancement`, () => {
+							PC.drugs = "intensive testicle enhancement";
+							App.UI.DOM.replace(drugsDiv, drugs);
+						}));
+					}
+				}
+
+				if (PC.drugs !== "fertility drugs") {
+					links.push(App.UI.DOM.link(`Fertility drugs`, () => {
+						PC.drugs = "fertility drugs";
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+				if (PC.drugs !== "super fertility drugs") {
+					if (V.seeHyperPreg === 1 && V.superFertilityDrugs === 1) {
+						links.push(App.UI.DOM.link(`Super fertility drugs`, () => {
+							PC.drugs = "super fertility drugs";
+							App.UI.DOM.replace(drugsDiv, drugs);
+						}));
+					}
+				}
+
+				if (V.precociousPuberty === 1 && V.pubertyHormones === 1) {
+					if (PC.balls > 0 && PC.pubertyXY === 0) {
+						if (PC.drugs !== "male hormone injections") {
+							links.push(App.UI.DOM.link(`XY injections`, () => {
+								PC.drugs = "male hormone injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					}
+					if ((PC.ovaries === 1 || PC.mpreg === 1) && PC.pubertyXX === 0) {
+						if (PC.drugs !== "female hormone injections") {
+							links.push(App.UI.DOM.link(`XX injections`, () => {
+								PC.drugs = "female hormone injections";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					}
+				}
+				if (PC.drugs !== "hormone blockers") {
+					links.push(App.UI.DOM.link(`Hormone blockers`, () => {
+						PC.drugs = "hormone blockers";
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+				if (PC.drugs !== "hormone enhancers") {
+					links.push(App.UI.DOM.link(`Hormone enhancers`, () => {
+						PC.drugs = "hormone enhancers";
+						App.UI.DOM.replace(drugsDiv, drugs);
+					}));
+				}
+
+				if (arcology.FSSlimnessEnthusiastResearch === 1) {
+					if (PC.drugs !== "labia atrophiers") {
+						if (PC.labia > 0) {
+							links.push(App.UI.DOM.link(`Labia atrophiers`, () => {
+								PC.drugs = "labia atrophiers";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						}
+					}
+				}
+				if (V.growthStim === 1) {
+					if (PC.drugs !== "growth stimulants") {
+						if (canImproveHeight(PC)) {
+							links.push(App.UI.DOM.link(`Growth stimulants`, () => {
+								PC.drugs = "growth stimulants";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Growth stimulants`, [
+								`Your body just cannot grow any more`,
+							]));
+						}
+					}
+				}
+				links.push(App.UI.DOM.link(`Steroids`, () => {
+					PC.drugs = "steroids";
+					App.UI.DOM.replace(drugsDiv, drugs);
+				}));
+				if (PC.boobs > 250 && PC.boobShape !== "saggy" && V.purchasedSagBGone === 1) {
+					if (PC.drugs !== "sag-B-gone") {
+						links.push(App.UI.DOM.link(`Sag-B-Gone breast lifting cream`, () => {
+							PC.drugs = "sag-B-gone";
+							App.UI.DOM.replace(drugsDiv, drugs);
+						}));
+					}
+				}
+				if (arcology.FSYouthPreferentialistResearch === 1) {
+					if (PC.drugs !== "anti-aging cream") {
+						if (PC.visualAge > 18) {
+							links.push(App.UI.DOM.link(`Anti-aging cream`, () => {
+								PC.drugs = "anti-aging cream";
+								App.UI.DOM.replace(drugsDiv, drugs);
+							}));
+						} else {
+							links.push(App.UI.DOM.disabledLink(`Anti-aging cream`, [
+								`Cream alone can only get you so far`,
+							]));
+						}
+					}
+				}
+
+				text.push(App.UI.DOM.generateLinksStrip(links));
+
+				App.Events.addNode(slaveDrugsDiv, text);
+
+				return slaveDrugsDiv;
+			}
+		}
+
+		/*
 		function staminaDrugs() {
 			const linkDiv = App.UI.DOM.makeElement("div", null, ['indent']);
 
@@ -1119,6 +1629,7 @@ App.UI.managePersonalAffairs = function() {
 
 			return staminaDrugsDiv;
 		}
+		*/
 
 		function contraceptives() {
 			const text = [];
@@ -1180,6 +1691,7 @@ App.UI.managePersonalAffairs = function() {
 			return contraceptivesDiv;
 		}
 
+		/*
 		function fertilityDrugs() {
 			const text = [];
 			const links = [];
@@ -1239,6 +1751,7 @@ App.UI.managePersonalAffairs = function() {
 
 			return fertilityDrugsDiv;
 		}
+		*/
 	}
 
 	function lactation() {