diff --git a/src/004-base/arcologyBuilding.js b/src/004-base/arcologyBuilding.js
index 9e33f19ae7f51c11ad9e5ce3f2fd61e0c259b51b..1d399872ecd6458c15d3498fe256564107261df7 100644
--- a/src/004-base/arcologyBuilding.js
+++ b/src/004-base/arcologyBuilding.js
@@ -81,7 +81,7 @@ App.Arcology.Cell.BaseCell = class extends App.Entity.Serializable {
 		scene.classList.add("scene-intro");
 		scene.append(this._setting());
 		if (this.canBeSold()) {
-			scene.append(ownership(this));
+			scene.append(' ', ownership(this));
 		}
 		fragment.append(scene);
 
diff --git a/src/events/eventUtils.js b/src/events/eventUtils.js
index f4b719318fe69a0a594ff1a46cbdd8939acb58c9..cbc83be5fb51a3c6dc802004e62b55b6f71a3185 100644
--- a/src/events/eventUtils.js
+++ b/src/events/eventUtils.js
@@ -5,7 +5,7 @@ App.Events.drawEventArt = (function() {
 	 * @param {Node} node - DOM node to attach art to
 	 * @param {App.Entity.SlaveState|App.Entity.SlaveState[]} slaves - one or several slaves to draw art for
 	 * @param {string|string[]} [clothesMode] - if the slaves' clothing should be overridden, what should they be wearing?
-	 * @param {Array} [extraClothes] - if other parts of the slaves' clothing should be overridden, what should they be wearing?  For slave.vaginalAccessory, use [{"vaginalAccessory": "dildo"}]
+	 * @param {object|object[]} [extraClothes] - if other parts of the slaves' clothing should be overridden, what should they be wearing?  For slave.vaginalAccessory, use [{"vaginalAccessory": "dildo"}]
 	 */
 	function draw(node, slaves, clothesMode, extraClothes) {
 		// do nothing if the player doesn't want images
@@ -20,36 +20,33 @@ App.Events.drawEventArt = (function() {
 
 		// if we were asked to change the slave's clothing, do it now
 		let originalClothes = [];
-		let originalExtraClothes = [];
-		if (clothesMode) {
-			// if clothesMode is just a single string, apply the same clothes to all the slaves
+		if (clothesMode || extraClothes) {
+			// if clothesMode is just a single string (or null/undefined), apply the same clothes to all the slaves
 			if (!Array.isArray(clothesMode)) {
 				clothesMode = new Array(slaves.length).fill(clothesMode);
-				slaves.forEach(() => {
-					extraClothes.push(extraClothes[0]);
-				});
+			}
+			extraClothes = extraClothes || {}; // must be defined
+			if (!Array.isArray(extraClothes)) {
+				extraClothes = new Array(slaves.length).fill(extraClothes);
 			}
 
-			// if clothesMode is not the right length now, throw.  it's all or nothing.
-			if (clothesMode.length !== slaves.length) {
+			// if the arrays are not the right length now, throw.  it's all or nothing.
+			if (clothesMode.length !== slaves.length || extraClothes.length !== slaves.length) {
 				throw "Incorrect number of outfits specified for slaves in event art";
 			}
 
 			// clothes have been specified - copy the slaves and change their clothing (a bit slow, but means we don't need housekeeping to change them back)
 			slaves.forEach((s, i) => {
-				originalClothes[i] = s.clothes;
 				// if there are "themes" of clothes that multiple events want to use ("swimwear", "athletic", "casual", etc), they can be added as special cases here instead of duplicating the logic in every event
 				if (validSingleOutfits.includes(clothesMode[i])) {
-					s.clothes = clothesMode[i];
+					extraClothes[i].clothes = clothesMode[i];
 				} else if (!clothesMode[i]) {
 					// no change of outfit, leave them dressed as they were
 				} else {
 					// unrecognized outfit - leave them dressed as they were, but error
 					console.error(`Unrecognized clothes mode for event art: ${clothesMode[i]}`);
 				}
-				if (extraClothes[i]) {
-					originalExtraClothes.push(equipExtraClothing(s, extraClothes[i]));
-				}
+				originalClothes[i] = equipClothing(s, extraClothes[i]);
 			});
 		}
 
@@ -81,19 +78,20 @@ App.Events.drawEventArt = (function() {
 		// change clothing back, if necessary
 		if (originalClothes.length > 0) {
 			slaves.forEach((s, i) => {
-				s.clothes = originalClothes[i];
-				if (originalExtraClothes && originalExtraClothes[i]) {
-					s.assign(originalExtraClothes[i]);
-				}
+				Object.assign(s, originalClothes[i]);
 			});
 		}
 	}
 
 	return draw;
 
-	function equipExtraClothing(s, newClothes) {
+	/**
+	 * @param {App.Entity.SlaveState} s - one or several slaves to draw art for
+	 * @param {object} newClothes
+	 */
+	function equipClothing(s, newClothes) {
 		let oldClothes = {};
-		if (typeof extraClothes === "object") {
+		if (typeof newClothes === "object") {
 			for (const extra in newClothes) {
 				oldClothes[extra] = s[extra];
 				s[extra] = newClothes[extra];
diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js
index a4e7be72cf7704ffae9a533656f4d437e401f3ca..3fb401eab73c76d5ca49d220801b51052ba950ef 100644
--- a/src/interaction/slaveInteract.js
+++ b/src/interaction/slaveInteract.js
@@ -1465,10 +1465,15 @@ App.UI.SlaveInteract.fertility = function(slave) {
 				fertility.textContent = "postpartum";
 			} else if (slave.preg === 0) {
 				fertility.textContent = "fertile";
-			} else if (slave.preg < 4) {
+			} else if (slave.preg < 4 && (slave.broodmother === 0 || slave.broodmotherOnHold === 1)) {
 				fertility.textContent = "may be pregnant";
+			} else if (slave.preg < 2) {
+				fertility.textContent = "1 week pregnant";
 			} else {
 				fertility.textContent = `${Math.trunc(slave.preg * 1000) / 1000} weeks pregnant`; // * and / needed to avoid seeing something like 20.1000000008 in some cases.
+				if (slave.broodmother > 0) {
+					fertility.textContent += " broodmother";
+				}
 			}
 			fertility.textContent += ". ";
 			fertilityblock.appendChild(fertility);
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 34e4eda562a87888275b6eca01bd0b4ecc5b6d50..9c07ebfdeda557f3c78123bd360830774027fe4c 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -1907,6 +1907,24 @@ globalThis.retirementReady = function(slave) {
 	return false;
 };
 
+/** marks some weeks of time passage for a slave, counting birthdays and invoking aging if game settings require it
+ * @param {App.Entity.SlaveState} slave
+ * @param {number} [weeks=1]
+ */
+globalThis.ageSlaveWeeks = function(slave, weeks=1) {
+	if (V.seeAge !== 0) { // birthdays enabled
+		for (let i = 0; i < weeks; ++i) {
+			slave.birthWeek++;
+			if (slave.birthWeek >= 52) {
+				slave.birthWeek = 0;
+				if (V.seeAge === 1) { // actual aging enabled
+					ageSlave(slave);
+				}
+			}
+		}
+	}
+};
+
 /** advances the age of a slave by one year, incurring all aging side effects
  * @param {App.Entity.SlaveState} slave
  * @param {boolean} [forceDevelopment=false]
diff --git a/src/npc/databases/dSlavesDatabase.js b/src/npc/databases/dSlavesDatabase.js
index 732af84367a3ffb5ca42920a8c752062e5430ff7..4fdc9a9cde1fc55fc4593645b2c88f3a674400d3 100644
--- a/src/npc/databases/dSlavesDatabase.js
+++ b/src/npc/databases/dSlavesDatabase.js
@@ -96,7 +96,7 @@ App.Data.HeroSlaves.D = [
 	/* changed fetish from humiliation to submission, per original slave description, double checked other stats*/
 	/* Added origin -BoneyM*/
 	{
-		ID: 900003,
+		ID: 900004,
 		slaveName: "Reine",
 		origin: "$He is a former mercenary that ended up on a losing side in the byzantine Free City power games.",
 		actualAge: 28,
@@ -904,7 +904,7 @@ App.Data.HeroSlaves.D = [
 	},
 	/* Changed eye color, added odd, tweaked vaginalSkill, added origin -BoneyM*/
 	{
-		ID: 900027,
+		ID: 900026,
 		slaveName: "Joan",
 		birthName: "Joan",
 		actualAge: 42,
diff --git a/src/npc/descriptions/descriptionWidgets.js b/src/npc/descriptions/descriptionWidgets.js
index fb2d4a310b6ef56166ec7838e8ffa192a1b4f84b..0b0a67fd0dd013f9cded7abdc6b894b0b0e0abc1 100644
--- a/src/npc/descriptions/descriptionWidgets.js
+++ b/src/npc/descriptions/descriptionWidgets.js
@@ -1453,7 +1453,9 @@ App.Desc.geneticQuirkAssessment = function(slave) {
 			r.push(`${He} is a carrier of a genetic condition resulting in increased fertility.`);
 		}
 		if (slave.geneticQuirks.superfetation === 2) {
-			if (isFertile(slave)) {
+			if (slave.broodmother !== 0) {
+				r.push(`${He} posses a rare genetic flaw that causes pregnancy to not block ovulation; not that it matters with ${his} broodmother implant superseding it.`);
+			} else if (isFertile(slave)) {
 				r.push(`${He} posses a rare genetic flaw that causes pregnancy to not block ovulation. ${He} is fully capable of getting pregnant while already pregnant.`);
 			} else {
 				r.push(`${He} posses a rare genetic flaw that causes pregnancy to not block ovulation; not that it matters when ${he} can't get pregnant.`);
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index 9e54f2bd257b45802db39095bcdb8fef8827e357..24ab62403191e767c821aadebb293aa8494e06a8 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -360,7 +360,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 <</if>>
 
 <<if $seeDicks > 0>>
-	<<if$SF.Toggle && $SF.Active >= 1>>
+	<<if $SF.Toggle && $SF.Active >= 1>>
 		<br><<link "Dispatch $SF.Lower on a night time raid to acquire both the prince and princess.">>
 			<<replace "#result">>
 				Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the prince and princess aboard, clad in chains and bound face to face in a forced embrace, and make a direct course towards your waiting penthouse.
@@ -726,7 +726,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 	<<if $cash >= 2500000>>
 	<br><<link "Send an unheard amount of credits and goods to retrieve the entire court.">>
 		<<replace "#result">>
-			You take a tablet and transmit a communication request to the new arcology owner with your intent. Once his shock wears off, he readily accepts with little need for negotiation. Soon, a flight of VTOLs land in the new arcology laden with goods. When they take off again they have the 
+			You take a tablet and transmit a communication request to the new arcology owner with your intent. Once his shock wears off, he readily accepts with little need for negotiation. Soon, a flight of VTOLs land in the new arcology laden with goods. When they take off again they have the
 			<<if $seeDicks > 0>>
 				prince and princess, clad in chains and bound face to face in a forced embrace, the Queen, who is resigned to _his3 fate,
 			<<else>>
@@ -748,7 +748,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			<</if>>
 			The slightest trembling of $his balled up fists, the minute tremors that mar $his immaculate posture, $his inability to meet your eyes with $his own — all signs that $he is still a scared $girl despite all $his royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to $him in $his new life in the penthouse, it does stand in stark contrast to $his more common slave peers.
 			<<if $seeDicks > 0>>
-				However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand, 
+				However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand,
 			<<else>>
 				The Queen
 			<</if>>
@@ -826,7 +826,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><<link "Dispatch $SF.Lower on a night time raid to take everything of value.">>
 			<<replace "#result">>
 				<<set _loot = random(10,300)*100>>
-				Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the 
+				Seizing a tablet, you quickly send a message to The Colonel. After dark, a flight of VTOLs land in the new arcology laden with troops. When they take off again they have the
 				<<if $seeDicks > 0>>
 					prince and princess, clad in chains and bound face to face in a forced embrace, the Queen, who is resigned to _his3 fate,
 				<<else>>
@@ -848,7 +848,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 				<</if>>
 				The slightest trembling of $his balled up fists, the minute tremors that mar $his immaculate posture, $his inability to meet your eyes with $his own — all signs that $he is still a scared $girl despite all $his royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to $him in $his new life in the penthouse, it does stand in stark contrast to $his more common slave peers.
 				<<if $seeDicks > 0>>
-					However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand, 
+					However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand,
 				<<else>>
 					The Queen
 				<</if>>
diff --git a/src/uncategorized/fsDevelopments.tw b/src/uncategorized/fsDevelopments.tw
index 956986b88f1e8a25b1839e71e7d141636c65f0e9..e5b0d7399b3cd1db4646bc22917488ed97f51fb2 100644
--- a/src/uncategorized/fsDevelopments.tw
+++ b/src/uncategorized/fsDevelopments.tw
@@ -734,7 +734,7 @@
 		$arcologies[0].name agrees strongly that all slaves should be bimbos.
 		<<set $independenceDay = 1>>
 	<<elseif $arcologies[0].FSIntellectualDependency >= $FSLockinLevel*0.3>>
-		$arcologies[0].name is sympathetic to the idea that slaves shold be dumb and horny.
+		$arcologies[0].name is sympathetic to the idea that slaves should be dumb and horny.
 	<<else>>
 		$arcologies[0].name is unconvinced that all slaves should be morons.
 	<</if>>
diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw
index b7b06b145db46d9afaa5ebda0f128b3b23bd0612..f8f47d1f01d3a3383bb874dcf7f4b28499633603 100644
--- a/src/uncategorized/newSlaveIntro.tw
+++ b/src/uncategorized/newSlaveIntro.tw
@@ -1972,7 +1972,7 @@ The legalities completed, <span class='slave-name'><<= SlaveFullName($activeSlav
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			<<link "Show $him what a real erection looks like">>
 				<<replace "#introResult">>
-					$His arousal is obvious with the hard-on $he is sporting, but $he still has much to learn about size. You pop your own dick out and draw close to $activeSlave.slaveName, grabbing and pulling $him close enough for your erections to touch. Both sets of eyes lock onto the crossed swords, or more appropriatly, your sword and $his dagger. You give the confused $girl plenty of time to internalize what a real dick looks like as you @@.hotpink;thoroughly emasculate@@ $him.
+					$His arousal is obvious with the hard-on $he is sporting, but $he still has much to learn about size. You pop your own dick out and draw close to $activeSlave.slaveName, grabbing and pulling $him close enough for your erections to touch. Both sets of eyes lock onto the crossed swords, or more appropriately, your sword and $his dagger. You give the confused $girl plenty of time to internalize what a real dick looks like as you @@.hotpink;thoroughly emasculate@@ $him.
 				<</replace>>
 				<<set $activeSlave.devotion += 5>>
 				<span id="introResult2">
@@ -1987,7 +1987,7 @@ The legalities completed, <span class='slave-name'><<= SlaveFullName($activeSlav
 								<<if $activeSlave.skill.oral >= 100>>
 									and practically sucking the life out of you; it stands to reason that $he may have known exactly what $he was doing this whole time.
 								<<elseif $activeSlave.skill.oral > 60>>
-									and giving you a rather surprsing blowjob; $he's well on $his way already, it seems.
+									and giving you a rather surprising blowjob; $he's well on $his way already, it seems.
 								<<elseif $activeSlave.skill.oral > 30>>
 									and giving you a forgettable blowjob; $he'll learn how to properly suck dick under your ownership.
 								<<else>>
diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw
index c0b9df4b7a38ddfa6240a8ede43f4014d7668a26..52b080ce98944d9ba398a2d0852689a58410d8b8 100644
--- a/src/uncategorized/nextWeek.tw
+++ b/src/uncategorized/nextWeek.tw
@@ -112,13 +112,7 @@
 	<<if def $slaves[_i].curBabies>>
 		<<run delete $slaves[_i].curBabies>>
 	<</if>>
-	<<if $seeAge != 0>>
-		<<set $slaves[_i].birthWeek++>>
-		<<if $slaves[_i].birthWeek >= 52>>
-			<<set $slaves[_i].birthWeek = 0>>
-			<<run ageSlave($slaves[_i])>>
-		<</if>>
-	<</if>>
+	<<run ageSlaveWeeks($slaves[_i])>>
 	<<if $slaves[_i].indenture > 0>>
 		<<set $slaves[_i].indenture -= 1>>
 	<</if>>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index 91c108978c94b6f4b1a250b7bf72abf70ef9ea9b..1b4a812c7d0b2a03415056ce8ff1313050ac859b 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -21,16 +21,7 @@
 			<<set $traitor.hLength += _weeks>>
 		<</if>>
 	<</if>>
-	<<if $seeAge != 0>>
-		<<for _weeks > 0>>
-			<<set $traitor.birthWeek++>>
-			<<if $traitor.birthWeek >= 52>>
-				<<set $traitor.birthWeek = 0>>
-				<<run ageSlave($traitor)>>
-			<</if>>
-			<<set _weeks-->>
-		<</for>>
-	<</if>>
+	<<run ageSlaveWeeks($traitor, _weeks)>>
 <</if>>
 <<set _doubleAgent = ["agent", "trapper"].includes($traitorType) ? 1 : 0>>
 
diff --git a/src/uncategorized/pCoupBetrayal.tw b/src/uncategorized/pCoupBetrayal.tw
index 9d7efefcfcb226e3acc043c0cc982dd856270c3b..4b388663b06e1c4762eec16285d530e433f06ec1 100644
--- a/src/uncategorized/pCoupBetrayal.tw
+++ b/src/uncategorized/pCoupBetrayal.tw
@@ -20,16 +20,7 @@
 		<<set $traitor.hLength += _weeks>>
 	<</if>>
 <</if>>
-<<if $seeAge != 0>>
-	<<for _weeks > 0>>
-		<<set $traitor.birthWeek++>>
-		<<if $traitor.birthWeek >= 52>>
-			<<set $traitor.birthWeek = 0>>
-			<<run ageSlave($traitor)>>
-		<</if>>
-		<<set _weeks-->>
-	<</for>>
-<</if>>
+<<run ageSlaveWeeks($traitor, _weeks)>>
 
 You are awakened in the middle of the night by a jolt that shakes the entire arcology, accompanied by a distant boom. It is followed by the wail of the arcology's alarm systems, and then finally by a faint crackle that grows to a constant chatter of gunfire. You rush to the video feeds to see what is going on. The Daughters of Liberty have not only succeeded in locking down your arcology with them outside of it, but have effectively cornered themselves against it. A PMC group has their retreat cut off and is steadily bleeding their numbers. It is a rather short, if not spectacular, battle.
 
diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw
index 0082854ac98e79b5046b75be5babb63a23724f23..d23f4cedb13381dee7af7152fd834ebe05d9d8dd 100644
--- a/src/uncategorized/pRivalryActions.tw
+++ b/src/uncategorized/pRivalryActions.tw
@@ -2616,7 +2616,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty
 			<<case "submissive">>
 				<<set _hostageAction.push("begging $his master-slave to permit $him to service _hisU dick.")>>
 			<<case "cumslut">>
-				<<set _hostageAction.push("happily sucking a dick aand swallowing every last drop of cum.")>>
+				<<set _hostageAction.push("happily sucking a dick and swallowing every last drop of cum.")>>
 			<<case "humiliation">>
 				<<set _hostageAction.push("walking alongside $his master in a figure-revealing pair of tight pants and a tube top. The pair of vibrators on $his nipples and the huge dildo in $his cunt are obvious through the taut material.")>>
 			<<case "buttslut">>
diff --git a/src/uncategorized/pTraitorMessage.tw b/src/uncategorized/pTraitorMessage.tw
index e3bbedb530dcf3e7b0fcc3a2292171f438945483..2bf1f42e6129852967ac666f1cc6d7bd642f4426 100644
--- a/src/uncategorized/pTraitorMessage.tw
+++ b/src/uncategorized/pTraitorMessage.tw
@@ -44,16 +44,7 @@
 		<<set $traitor.hLength += _weeks>>
 	<</if>>
 <</if>>
-<<if $seeAge != 0>>
-	<<for _weeks > 0>>
-		<<set $traitor.birthWeek++>>
-		<<if $traitor.birthWeek >= 52>>
-			<<set $traitor.birthWeek = 0>>
-			<<run ageSlave($traitor)>>
-		<</if>>
-		<<set _weeks-->>
-	<</for>>
-<</if>>
+<<run ageSlaveWeeks($traitor, _weeks)>>
 
 The month after freeing $traitor.slaveName, you receive another message from the Daughters of Liberty. This one contains a video. It shows $traitor.slaveName sitting quietly at a table<<if _wasPreg != _isPreg>>, no longer clearly pregnant<</if>>, wearing comfortable clothes and eating a nice meal.
 <<if $traitorType == "agent">>
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index f974b0fdf0484b2d1108a08c585801115e3c54c4..b852cc6d38012d8d04fa5513b73f1229b84ae4c5 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -46,16 +46,7 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 		<<set $activeSlave.hLength += _weeks>>
 	<</if>>
 <</if>>
-<<if $seeAge != 0>>
-	<<for _weeks > 0>>
-		<<set $activeSlave.birthWeek++>>
-		<<if $activeSlave.birthWeek >= 52>>
-			<<set $activeSlave.birthWeek = 0>>
-			<<run ageSlave($activeSlave)>>
-		<</if>>
-		<<set _weeks-->>
-	<</for>>
-<</if>>
+<<run ageSlaveWeeks($activeSlave, _weeks)>>
 
 <<switch _buyer>>
 <<case "buttbreaker">>
diff --git a/src/uncategorized/reBusyMasterSuite.tw b/src/uncategorized/reBusyMasterSuite.tw
index 5da0fa2794025b098cb686cead62cc7e7b1e9116..6d3a70940bc0d2fbde3b54c45bc672deab284b17 100644
--- a/src/uncategorized/reBusyMasterSuite.tw
+++ b/src/uncategorized/reBusyMasterSuite.tw
@@ -87,7 +87,7 @@
 		/* middle slaves */
 		r += `${slave.slaveName}'s ${hole()} ` + "is" /* FUCK SUGARCUBE */ + ` filled by ${penetrator()}, `;
 		if (nextSlave.belly >= 150000) {
-			r += `whose middle is so obscenely distented that ${slave.slaveName} is struggling to support it.`;
+			r += `whose middle is so obscenely distended that ${slave.slaveName} is struggling to support it.`;
 		} else if (nextSlave.belly >= 10000 || nextSlave.weight >= 160) {
 			r += `whose middle is resting on ${slave.slaveName}'s ${slave.skin} back.`;
 		} else if (nextSlave.boobs > 10000) {
diff --git a/src/uncategorized/saDiet.tw b/src/uncategorized/saDiet.tw
index 85ea372213acf60eeb0e3e2fa40e72f11b30a713..cb3412be07d4a3be4387af25431f46716d977615 100644
--- a/src/uncategorized/saDiet.tw
+++ b/src/uncategorized/saDiet.tw
@@ -1016,42 +1016,58 @@
 		<</if>>
 	<</if>>
 <<case "fertility">> /* + ovum and small boosts to energy and attrXY */
-	<<if !isFertile($slaves[$i]) || ($slaves[$i].preg < 0) || ($slaves[$i].preg > 0 && ($slaves[$i].geneticQuirks.superfetation != 2 || $geneticMappingUpgrade < 1))>>
-		<<if $slaves[$i].pregKnown == 0 && $slaves[$i].preg > 0>>
+	<<if !isFertile($slaves[$i]) || ($slaves[$i].preg != 0)>>
+		<<if ($slaves[$i].geneticQuirks.superfetation == 2 && $geneticMappingUpgrade >= 1)>>
+			<<set _superFetKnown = 1>>
+		<<elseif $slaves[$i].pregKnown == 0 && $slaves[$i].preg > 0>>
 			The diet is not properly working; tests reveal the reason is a @@.lime;new pregnancy.@@
 			<<set $slaves[$i].pregKnown = 1>>
+			@@.yellow;$His fertility diet has been ended.@@
+			<<set $slaves[$i].diet = "healthy">>
 		<<else>>
 			$He is no longer able to get pregnant, for one reason or another.
+			@@.yellow;$His fertility diet has been ended.@@
+			<<set $slaves[$i].diet = "healthy">>
 		<</if>>
-		@@.yellow;$His fertility diet has been ended.@@
-		<<set $slaves[$i].diet = "healthy">>
 	<</if>>
-	<<if $slaves[$i].fetish == "mindbroken">>
-		$He doesn't really notice that @@.lime;$his body is being prepared to carry multiples.@@
-		<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
-			$He begins craving @@.green;sex for the sole purpose of reproduction,@@ even if $he doesn't comprehend it.
-			<<set $slaves[$i].energy++>>
-		<</if>>
-	<<elseif $slaves[$i].sexualFlaw == "breeder">>
-		$His diet is @@.lime;prepping $him to carry multiple fetuses,@@ and $he feels it. $He @@.hotpink;eagerly awaits to swell with children.@@
-		<<set $slaves[$i].devotion += 2>>
-		<<if $slaves[$i].attrXY < 70>>
-			$He certainly notices @@.green;how much more attractive men are.@@
-			<<set $slaves[$i].attrXY += 2>>
-		<</if>>
-		<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
-			$He begins craving @@.green;penetrative sex and hot loads left inside $him@@ as well.
-			<<set $slaves[$i].energy++>>
-		<</if>>
-	<<else>>
-		$He doesn't really notice that @@.lime;$his body is being prepared to carry multiples,@@ other than the slight tingle in $his lower belly.
-		<<if $slaves[$i].attrXY < 70>>
-			$He certainly notices @@.green;how much more attractive men are,@@ however.
-			<<set $slaves[$i].attrXY += 2>>
-		<</if>>
-		<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
-			$He begins craving @@.green;penetrative sex and hot loads left inside $him@@ as well.
-			<<set $slaves[$i].energy++>>
+	<<if $slaves[$i].diet == "fertility">>
+		<<if $slaves[$i].fetish == "mindbroken">>
+			$He doesn't really notice that @@.lime;$his body is being prepared to <<if _superFetKnown>>develop additional pregnancies<<else>>carry multiples<</if>>@@ by $his diet.
+			<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
+				$He begins craving @@.green;sex for the sole purpose of reproduction,@@ even if $he doesn't comprehend it.
+				<<set $slaves[$i].energy++>>
+			<</if>>
+		<<elseif $slaves[$i].sexualFlaw == "breeder">>
+			$His diet is @@.lime;prepping $him to <<if _superFetKnown>>develop additional pregnancies<<else>>carry multiple fetuses<</if>>,@@ and $he feels it. $He
+			<<if $slaves[$i].bellyPreg >= 1000>>
+				@@.hotpink;eagerly awaits to find just how pregnant $he can become.@@
+			<<else>>
+				@@.hotpink;eagerly awaits to swell with children.@@
+			<</if>>
+			<<set $slaves[$i].devotion += 2>>
+			<<if $slaves[$i].attrXY < 70>>
+				$He certainly notices @@.green;how much more attractive men are.@@
+				<<set $slaves[$i].attrXY += 2>>
+			<</if>>
+			<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
+				$He begins craving @@.green;penetrative sex and hot loads left inside $him@@ as well.
+				<<set $slaves[$i].energy++>>
+			<</if>>
+		<<else>>
+			$He doesn't really notice that @@.lime;$his body is being prepared to <<if _superFetKnown>>develop additional pregnancies<<else>>carry multiples<</if>>@@ by $his diet, other than the slight
+			<<if $slaves[$i].bellyPreg >= 1000>>
+				tingling in $his swollen belly.
+			<<else>>
+				tingle in $his lower belly.
+			<</if>>
+			<<if $slaves[$i].attrXY < 70>>
+				$He certainly notices @@.green;how much more attractive men are,@@ however.
+				<<set $slaves[$i].attrXY += 2>>
+			<</if>>
+			<<if $slaves[$i].energy < 45 && $slaves[$i].energy > 20>>
+				$He begins craving @@.green;penetrative sex and hot loads left inside $him@@ as well.
+				<<set $slaves[$i].energy++>>
+			<</if>>
 		<</if>>
 	<</if>>
 <</switch>>
diff --git a/src/uncategorized/saRules.tw b/src/uncategorized/saRules.tw
index c25a6bcd9d15332842cf680a356cf671466046e6..1d6a6043108eb8890b53e1dd6e8c6054229b089b 100644
--- a/src/uncategorized/saRules.tw
+++ b/src/uncategorized/saRules.tw
@@ -1120,7 +1120,7 @@
 			<</if>>
 
 			<<if $slaves[$i].rules.lactation == "induce">>
-				Citizens are encouraged to work $his breats and nipples in an effort to induce lactation; whoever gets $him to start dribbling milk wins a week of drinks on the house.
+				Citizens are encouraged to work $his breasts and nipples in an effort to induce lactation; whoever gets $him to start dribbling milk wins a week of drinks on the house.
 				<<set $slaves[$i].induceLactation += 4>>
 				<<= induceLactation($slaves[$i])>>
 				<<if $slaves[$i].lactation == 1>><<set $slaves[$i].rules.lactation = "maintain">><</if>>