diff --git a/src/art/artJS.js b/src/art/artJS.js
index f7209eff602e206d5c7728af9c929b80626ec27c..1b72428986f3c37a62929f8fa3f5a32396fc373e 100644
--- a/src/art/artJS.js
+++ b/src/art/artJS.js
@@ -542,7 +542,7 @@ App.Art.aiArtElement = function(slave, imageSize, isEventImage = null) {
 			const imageElement = container.querySelector('.ai-art-image');
 			if (imageElement && imageElement.getAttribute('src')) {
 				const lightbox = App.UI.DOM.appendNewElement('div', document.body, null, ['lightbox', 'ui-front']);
-				// make a seperate background element so that the user can click on the image without lightbox closing
+				// make a separate background element so that the user can click on the image without lightbox closing
 				const lightboxBackground = App.UI.DOM.appendNewElement('div', lightbox, null, ['lightbox-background']);
 				lightboxBackground.addEventListener('click', (ev) => {
 					if (ev.target === lightboxBackground) {
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 02c4d17fd83d9e52292c03b4ce39c8129b5a3d13..14789ecd6dfbc828c979ce139c3e2f86cba1958e 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -1930,7 +1930,7 @@ App.Update.humanRecords = (node) => {
 	// normal slaves
 	V.slaves.forEach((slave) => V.slaves[V.slaveIndices[slave.ID]] = App.Update.human(slave, "detached", node));
 
-	// detatched slaves
+	// detached slaves
 	V.hostage = (V.hostage) ? App.Update.human(V.hostage, "detached", node) : V.hostage;
 	V.boomerangSlave = (V.boomerangSlave) ? App.Update.human(V.boomerangSlave, "detached", node) : V.boomerangSlave;
 	V.traitor = (V.traitor) ? App.Update.human(V.traitor, "detached", node) : V.traitor;
diff --git a/src/endWeek/saChoosesOwnJob.js b/src/endWeek/saChoosesOwnJob.js
index 40ea9dd63cc89e492196807cbc4e729c78f36883..2f2a5e4120185556e947b627cd9d733381b1410e 100644
--- a/src/endWeek/saChoosesOwnJob.js
+++ b/src/endWeek/saChoosesOwnJob.js
@@ -267,7 +267,7 @@ App.SlaveAssignment.choosesOwnJob = function saChoosesOwnJob(slave) {
 			)
 		) {
 			const flavor = [`is in need of fresh air,`, `wants to see the great outdoors,`];
-			if (slave.fetish === Fetish.BESTIALITY) { // TODO:@franklygeorge edit assignJob(slave, Job.FARMYARD) so that the slave is dissappointed if there isn't any animals to fuck
+			if (slave.fetish === Fetish.BESTIALITY) { // TODO:@franklygeorge edit assignJob(slave, Job.FARMYARD) so that the slave is disappointed if there isn't any animals to fuck
 				flavor.push(`wants to play with the animals,`);
 			}
 			choice.push(flavor.pluck());
diff --git a/src/events/RE/reReputedDaughter.js b/src/events/RE/reReputedDaughter.js
index e3907a110b9dc7ae7f1e2ad87cf1ec0ba47ec3f8..e4faa0f59b3eb197fc82097c2e6d8e8b059bab92 100644
--- a/src/events/RE/reReputedDaughter.js
+++ b/src/events/RE/reReputedDaughter.js
@@ -1,6 +1,8 @@
 App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEvent {
 	eventPrerequisites() {
-		return []; // always valid if sufficient actors can be cast successfully
+		return [
+			() => !onBedRest(V.PC),
+		];
 	}
 
 	actorPrerequisites() {
@@ -10,7 +12,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				(s) => s.dick > 3,
 				(s) => s.actualAge > V.fertilityAge, // the slave is older than the addict daughter
 				(s) => s.visualAge > V.minimumSlaveAge,
-				(s) => s.prestige > 0 || s.porn.prestige > 0 || slaveCost(s) > 20000, // the slave must be worth a minimum 
+				(s) => s.prestige > 0 || s.porn.prestige > 0 || slaveCost(s) > 20000 || beauty(s) > 150, // the slave must be worth a minimum or be very attractive
 				(s) => isFullyPotent(s) ? V.week - s.weekAcquired > 12 : V.week - s.weekAcquired > 8, // if the slave is potent must have been able to impregnate the daughter to the point of showing
 				canWalk,
 				canPenetrate,
@@ -42,7 +44,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		rDaughter.energy = 100;
 		rDaughter.addict = 12;
 		rDaughter.canRecruit = 0;
-		const attitude = jsRandom(0, 20)
+		const attitude = random(0, 20);
 		rDaughter.devotion = -40 - attitude;
 		rDaughter.trust = 60 - attitude;
 		rDaughter.fetish = Fetish.PREGNANCY;
@@ -53,7 +55,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		rDaughter.career = V.AgePenalty === 0 ? either("a student council president", "a student council president", "a girl scout", "a scholar") : "from an upper class family";
 		rDaughter.clothes = either("a cheerleader outfit", "a schoolgirl outfit");
 		rDaughter.intelligenceImplant = Math.min(12 + newAge, 30);
-		rDaughter.intelligence = jsRandom(30, 95 - rDaughter.intelligenceImplant); // intelligence + education = smart or very smart
+		rDaughter.intelligence = random(30, 95 - rDaughter.intelligenceImplant); // intelligence + education = smart or very smart
 		rDaughter.prestige = 2;
 		rDaughter.prestigeDesc = `$He was a member of an illustrious well-off household.`;
 		rDaughter.origin = `$He was the ${daughterD} of a prestigious family, until $his ${fatherF} disinherited $him and sold $him into slavery due to $his addiction to drugs and sex.`;
@@ -63,7 +65,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		rDaughter.skill.oral = Math.max(rDaughter.skill.oral, 15);
 		rDaughter.skill.whoring = 0;
 		rDaughter.skill.entertainment = Math.max(rDaughter.skill.entertainment, 40);
-		const genetics = jsRandom(0, 12);
+		const genetics = random(0, 12);
 		if (genetics === 0) {
 			rDaughter.geneticQuirks.fertility = 2;
 		} else if (genetics === 1 && V.seeHyperPreg) {
@@ -77,19 +79,19 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			rDaughter.albinismOverride = makeAlbinismOverride(rDaughter.race);
 			applyGeneticColor(rDaughter);
 		}
-		const sDrugs = jsRandom(0, 10);
+		const sDrugs = random(0, 10);
 		if (sDrugs < 3) {
-			rDaughter.hormoneBalance = Math.min(rDaughter.hormoneBalance + jsRandom(400, 600), 1000); // took femenine hormones
+			rDaughter.hormoneBalance = Math.min(rDaughter.hormoneBalance + random(400, 600), 1000); // took femenine hormones
 		} else if (sDrugs < 5) {
-			rDaughter.lips = Math.min(rDaughter.lips + jsRandom(40, 70), 100); // took lips growth
+			rDaughter.lips = Math.min(rDaughter.lips + random(40, 70), 100); // took lips growth
 		} else if (sDrugs < 7) {
-			rDaughter.boobs = Math.min(rDaughter.boobs + jsRandom(500, 900), 1200); // took boobs growth
+			rDaughter.boobs = Math.min(rDaughter.boobs + random(500, 900), 1200); // took boobs growth
 		} else if (sDrugs === 7) {
 			rDaughter.clit = either(3, 4, 5); // took clit enhancer
 			rDaughter.foreskin = either(rDaughter.foreskin, rDaughter.clit, rDaughter.clit - 1, Math.min(rDaughter.clit + 1, 5));
-			rDaughter.skill.penetrative = rDaughter.skill.penetrative + jsRandom(30, 50);
+			rDaughter.skill.penetrative = rDaughter.skill.penetrative + random(30, 50);
 		} else if (sDrugs === 8) {
-			rDaughter.butt = Math.min(rDaughter.butt + jsRandom(2, 4), 7); // took butt growth
+			rDaughter.butt = Math.min(rDaughter.butt + random(2, 4), 7); // took butt growth
 		} else if (sDrugs === 9) {
 			rDaughter.drugs = V.superFertilityDrugs ? Drug.SUPERFERTILITY : Drug.FERTILITY; // took fertility drugs
 		} else if (sDrugs === 10) {
@@ -103,17 +105,21 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		setHealth(rDaughter);
 		const preggers = rDaughter.preg > 0;
 		const mindbroken = slave.fetish === Fetish.MINDBROKEN;
-		const rumored = V.policies.sexualOpenness === 0 && getRumors("penetrative") > 2;
+		const rumored = V.policies.sexualOpenness === 0 && getRumors("penetrative") > 2 && penetrativeSocialUse() < 40;
 		App.Events.drawEventArt(node, [slave, rDaughter]);
 
 		let r = [];
 
-		r.push(`You have a meeting with several prominent ${VIPs} of your arcology to tell them about the progress and improvements you have made lately. Your reputation will rise if you give them the impression that you value their opinions. The last attendee to arrive is the leader of one of the most influential families, who shows up with ${hisD} ${rDaughter.actualAge}-year-old ${daughterD} and one of your slaves,`, contextualIntro(PC, slave, true, true), ".");
-		r.push(`The ${womanF} openly expresses ${hisF} anger towards your slave, blaming ${him} for corrupting and ruining ${hisF} ${daughterD}. ${HeF} alleges that the ${girlD} ${preggers ? `is carrying ${slave.slaveName}'s child and that ${heD}` : ""} has spent a significant sum of money on${V.policies.sexualOpenness === 0 ? ` aberrant` : ""} sex, aphrodisiacs and other drugs meant for slaves. ${HeF} tells the other guests that ${heF} no longer regards ${himD} as ${hisF} ${daughterD} and that ${heD} is not entitled to ${hisF} inheritance. Furthermore, even though ${heF} would prefer to never see ${himD} again, ${heD} will serve as a slave in ${hisF} household going forward as payment for all the money ${heD} has spent.`);
+		r.push(`You have a meeting with several prominent ${VIPs} of your arcology detailing the progress and improvements you have made lately; lending them an ear to voice their opinions helps garner their favor, even if it's just for show. The last attendee to arrive is the leader of an influential local family accompanied, oddly enough, by ${hisD} ${rDaughter.actualAge}-year-old ${daughterD} and your slave,`, contextualIntro(PC, slave, true, true), ".");
+		r.push(`The ${womanF} openly expresses ${hisF} anger towards your slave, blaming ${him} for corrupting and ruining ${hisF} ${daughterD}. ${HeF} alleges that the ${girlD}`);
+		if (preggers) {
+			r.push(`is carrying ${slave.slaveName}'s child and that ${heD}`);
+		}
+		r.push(`has spent a significant sum of money on${V.policies.sexualOpenness === 0 ? ` aberrant` : ""} sex, aphrodisiacs and other drugs meant for slaves. Before your other guests, ${feF} declares that ${heF} no longer regards ${himD} as ${hisF} ${daughterD} and that ${heD} has been banished from the family registry. Furthermore, even though ${heF} would prefer to never see ${himD} again, ${heD} will be serving as a slave in ${hisF} household going forward as repayment.`);
 		App.Events.addParagraph(node, r);
 		r = [];
 		r.push(`You observe the ${kid}, who appears to be simultaneously nervous and excited. ${HisD} blatant dependence on aphrodisiacs is unmistakable. Considering ${hisD} privileged upbringing and reputable background, it is reasonable to assume that ${heD} has the capacity to excel as a sexual slave, rather than merely serving as a domestic servant.`);
-		r.push(`Turning to face you, the ${fatherF} demands that you make up for the harm your slave has caused to ${himF} and ${hisF} family. While doing so, ${heF} leers at ${slave.slaveName} with a lascivious expression${rumored ? `, which conjures up rumors about the peculiar sexual preferences that have been circulating about ${himF}` : ""}.`);
+		r.push(`Turning to face you, the ${fatherF} demands that you make up for the harm your slave has caused to ${himF} and ${hisF} family. While doing so, ${heF} leers at ${slave.slaveName} with a lascivious expression${rumored ? `, which conjures up rumors about the peculiar sexual preferences that have been circulating about ${himD}` : ""}.`);
 		App.Events.addParagraph(node, r);
 		r = [];
 
@@ -121,19 +127,22 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		const value = 30000 + Math.clamp((Math.round(((slaveCost(rDaughter) - 35000) * .9) / 500) * 500), 0, 30000); // from 30,000 to 60,000
 		const canBuy = !V.slaves.some(s => s.origin.includes("disinherited $him and sold $him into slavery") && V.week - s.weekAcquired < 6) && V.seeDicks !== 100; // we don't want a legion of reputed daughters
 		const choices = [];
-		choices.push(V.cash > compensation ?
-			new App.Events.Result(`Offer ${himF} ${cashFormat(compensation)} as financial compensation.`, money) :
-			new App.Events.Result(null, null, `You lack the funds needed to adequately recompense ${himF}.`));
+		choices.push(V.cash > compensation
+			? new App.Events.Result(`Offer ${himF} ${cashFormat(compensation)} as financial compensation.`, money)
+			: new App.Events.Result(null, null, `You lack the funds needed to adequately recompense ${himF}.`));
 		choices.push(new App.Events.Result(`Offer to give ${himF} ${slave.slaveName} as compensation.`, giveSlave));
 		if (canBuy) {
-			choices.push(V.cash > value ?
-				new App.Events.Result(`Offer ${himF} ${cashFormat(value)} ${V.debugMode ? `(of ${slaveCost(rDaughter)})` : ""} to purchase ${hisF} ${daughterD}.`, buyDaughter) :
-				new App.Events.Result(null, null, `You lack the necessary funds to buy the ${daughterD}'s debt.`));
+			choices.push(V.cash > value
+				? new App.Events.Result(`Offer ${himF} ${cashFormat(value)} ${V.debugMode ? `(of ${slaveCost(rDaughter)})` : ""} to purchase ${hisF} ${daughterD}.`, buyDaughter)
+				: new App.Events.Result(null, null, `You lack the necessary funds to buy the ${daughterD}'s debt.`));
 			choices.push(new App.Events.Result(`Offer ${himF} ${slave.slaveName} in return for ${hisF} ${daughterD}.`, trade));
 		}
-		choices.push(new App.Events.Result(`You're not responsible for ${hisF} ${daughterD}'s actions.`, evade));		
-		choices.push(new App.Events.Result(`Blame ${himF} for ${hisF} ${daughterD}'s inadequate education.`, blame));		
-		choices.push(new App.Events.Result(`Punish your slave.`, punish));		
+		choices.push(new App.Events.Result(`You're not responsible for ${hisF} ${daughterD}'s actions.`, evade));
+		choices.push(new App.Events.Result(`Blame ${himF} for ${hisF} ${daughterD}'s inadequate education.`, blame));
+		if (canPenetrate(PC) && isFullyPotent(PC) && canBreed(slave, PC) && preggers) {
+			choices.push(new App.Events.Result(`It's actually yours.`, oops));
+		}
+		choices.push(new App.Events.Result(`Punish your slave.`, punish));
 		App.Events.addResponses(node, choices);
 
 		return;
@@ -141,7 +150,8 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function money() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`You don't want to take the risk of angering one of the most influential ${VIPs} in your arcology, so you offer to provide free access to medical and pharmacological resources to treat ${hisF} ${daughterD}, in addition to a generous financial compensation. ${HeF} accepts the offer, seemingly content, and instructs the ${kid} to wait outside. <span class="reputation inc">Word spreads quickly that you are a conscientious ${properMaster()}</span> and are committed to rectifying any damage caused by your slaves.`);
+			r.push(`You don't want to take the risk of angering one of the most influential ${VIPs} in your arcology, so you offer to provide priority access to the medical and pharmacological resources needed to treat ${hisF} ${daughterD}, in addition to some generous financial compensation. ${HeF} accepts the offer, seemingly content, and instructs the ${kid} to wait outside. <span class="reputation inc">Word spreads quickly that you are a conscientious ${properMaster()}</span> and are committed to rectifying any damage caused by your slaves.`);
+			// FUTURE: lower authority. Allowing your slaves to do such things is a no no. Likewise in the other routes.
 			repX(900, "event");
 			App.Events.addParagraph(frag, r);
 			r = [];
@@ -149,7 +159,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			r = r.concat(slavesReaction("unpunished"));
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			cashX(forceNeg(compensation), "event", slave);
 			App.Events.addParagraph(frag, r);
 			return frag;
@@ -158,22 +168,22 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function giveSlave() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you offer ${himF} the option to keep ${slave.slaveName} and unrestricted use of the medical and pharmaceutical resources you have on hand for treating ${hisF} ${daughterD}. Satisfied, ${heF} nods and tells the ${kid} and ${hisF} new slave to wait outside. Your former slave`);
+			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you offer to transfer ownership of ${slave.slaveName} to ${himF}, as well as priority access to the medical and pharmaceutical resources needed to treat ${hisF} ${daughterD}. Satisfied, ${heF} nods and tells the ${kid} and ${hisF} new slave to wait outside. Your former slave`);
 			if (mindbroken) {
 				r.push(`seems to understand, with ${his} limited mind, that you are no longer ${his} master and`);
 			} else {
 				r.push(slave.devotion > 50 ? `sorrowfully` : slave.devotion > -50 ? `reluctantly` : `contemptuously`);
 			}
-			r.push(`obeys the order given to ${him}. <span class="reputation inc">Word gets out that you are a conscientious ${properMaster()}</span> and that you bear liability for any harm that your slaves may inflict.`);
+			r.push(`obeys your final order. <span class="reputation inc">Word gets out that you are a conscientious ${properMaster()}</span> and that you bear liability for any harm that your slaves may inflict.`);
 			repX(1000, "event");
 			App.Events.addParagraph(frag, r);
 			r = [];
 			r = r.concat(slavesReaction("given"));
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			if (rumored) {
-				r.push(`After a few days, when rumors circulate that the citizen who sold ${hisF} ${daughterD} into slavery spends the day with ${slave.slaveName}'s dick buried in ${hisF} asshole, people start to <span class="change positive">turn their attention away from you.</span>`);
+				r.push(`Rumor quickly spreads that the citizen who sold ${hisF} ${daughterD} into slavery enjoys spending the day with ${slave.slaveName}'s turgid dick buried in ${hisF} asshole, <span class="change positive">drawing attention away from your own predilections.</span>`);
 				softenRumors.penetrative(5);
 				App.Events.addParagraph(frag, r);
 			}
@@ -185,39 +195,39 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function buyDaughter() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you make a nice offer to buy ${hisF} ${daughterD} and cancel ${hisD} debt. Satisfied, ${heF} signs the documents transferring ownership of the ${child} to you. <span class="reputation inc">Word gets out that you are a giving and conscientious ${properMaster()}</span> who accepts accountability for whatever harm your slaves may inflict.`);
+			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you make a generous offer to buy ${hisF} ${daughterD} and eliminate ${hisD} debt. Satisfied, ${heF} signs the documents transferring ownership of the ${child} to you. <span class="reputation inc">Word gets out that you are a giving and conscientious ${properMaster()}</span> who accepts accountability for whatever harm their slaves may inflict.`);
 			repX(500, "event");
 			cashX(forceNeg(value), "slaveTransfer", rDaughter);
-			newSlave(rDaughter); //skip new slave intro
+			newSlave(rDaughter); // skip new slave intro
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`You give your new slave and ${slave.slaveName} instructions to wait outside the room until the meeting is over.`);
-			if (!mindbroken) {
-				r.push(`<span class="trust inc">${slave.slaveName} feels confident because you haven't punished ${him}</span>,`);
+			r.push(`You give your new slave and ${slave.slaveName} the order to wait outside the room until the meeting is over.`);
+			if (!mindbroken && slave.devotion <= 50) {
+				r.push(`${slave.slaveName} feels like that ${he} <span class="trust inc">got away with something ${he} shouldn't have</span>`);
 				if (slave.rules.relationship === "restrictive" || slave.relationship !== 0) {
 					if (slave.rules.release.slaves === 0) {
-						r.push(`but <span class="devotion dec">${he}'s angry that ${he} can't just keep fucking the ${kid}</span> because of the rules.`);
-						slave.devotion -= 3;
-						slave.trust += 5;
+						r.push(`and is <span class="devotion dec">annoyed</span> that your rules mean ${he} can't keep fucking the {kid}.`);
+						slave.devotion -= 5;
+						slave.trust += 3;
 					} else {
-						r.push(`and <span class="devotion inc">${he}'s grateful that ${he} can now freely access ${his} little fucktoy${V.universalRulesConsent === 0 ? `, even when ${heD} doesn't feel like it` : ""}.</span>`);
-						slave.devotion += 5;
-						slave.trust += 10;
+						r.push(`and is <span class="devotion inc">thrilled</span> that ${he} can now freely access ${his} little fucktoy${V.universalRulesConsent === 0 ? `, even when ${heD} doesn't feel like it` : ""}.`);
+						slave.devotion += 3;
+						slave.trust += 5;
 					}
 				} else {
 					slave.relationship = slave.rules.relationship === "just friends" ? App.Utils.sexAllowed(slave, rDaughter) ? 3 : 2 : 4;
 					slave.relationshipTarget = rDaughter.ID;
 					rDaughter.relationship = slave.relationship;
 					rDaughter.relationshipTarget = slave.ID;
-					r.push(`and it is evident from the glance ${he} exchanges with the ${child} that their relationship goes beyond just sex.`);
+					r.push(`and you can tell from the glances the two are exchanging that their relationship goes beyond just sex.`);
 					if (App.Utils.sexAllowed(slave, rDaughter)) {
-						r.push(`<span class="devotion inc">${He}'s grateful that ${he} can now freely access ${his} little fucktoy.</span>`);
-						slave.devotion += 10;
-						slave.trust +=20;
+						r.push(`${He}'s <span class="devotion inc">grateful</span> that ${he} can now freely access ${his} little fucktoy.`);
+						slave.devotion += 5;
+						slave.trust += 5;
 					} else {
-						r.push(`Anyway, <span class="devotion dec">${he}'s angry that ${he} can't fuck the ${kid}</span> anymore because of the rules.`);
-						slave.devotion -= 15;
-						slave.trust += 10;
+						r.push(`But that's just too bad for ${him}, since <span class="devotion dec">${he} can't fuck the ${kid} anymore</span> because of your rules.`);
+						slave.devotion -= 10;
+						slave.trust += 5;
 					}
 				}
 			}
@@ -228,19 +238,19 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function trade() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you offer to exchange ${slave.slaveName} for the ${daughterD} ${heF} never wants to see again. ${HeF} rushes to sign the contracts with you by which you trade slaves after accepting, clearly satisfied. <span class="reputation inc">Word gets out that you are a just and liable ${properMaster()},</span> and that you accept accountability for any harm your slaves may inflict.`);
+			r.push(`Since you don't want to risk upsetting one of the most influential ${VIPs} in your arcology, you offer to exchange ${slave.slaveName} for ${his} ${daughterD}; ${he} never has to see ${himD} again and ${heF} gets to do as ${heD} sees fit to the slave that caused all these problems. ${HeF} rushes to sign the contract with you, clearly excited by the outcome. <span class="reputation inc">Word gets out that you are a just and liable ${properMaster()}</span> who accepts accountability for whatever harm their slaves may inflict.`);
 			repX(500, "event");
-			newSlave(rDaughter); //skip new slave intro
+			newSlave(rDaughter); // skip new slave intro
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`You give your new slave instructions to wait outside the room until the meeting is over.`);
+			r.push(`You order your new slave to wait outside the room until the meeting is over.`);
 			r = r.concat(slavesReaction("given"));
 			App.Events.addParagraph(frag, r);
 			r = [];
 			if (rumored) {
 				App.Events.addParagraph(frag, r);
 				r = [];
-				r.push(`After a few days, when rumors circulate that the citizen who sold ${hisF} ${daughterD} into slavery spends the day with ${slave.slaveName}'s dick buried in ${hisF} asshole, people start to <span class="change positive">turn their attention away from you.</span>`);
+				r.push(`Rumor quickly spreads that the citizen who sold ${hisF} ${daughterD} into slavery enjoys spending the day with ${slave.slaveName}'s turgid dick buried in ${hisF} asshole, <span class="change positive">drawing attention away from your own predilections.</span>`);
 				softenRumors.penetrative(5);
 				App.Events.addParagraph(frag, r);
 			}
@@ -251,16 +261,16 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function evade() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`You respond angrily to the ${VIP}, telling ${himF} that your slave is simply supposed to fulfill ${his} duty of sexually pleasing the people, and judging from the ${child}'s lustful face${preggers ? ` and ${hisD} tummy` : ""}, it looks like ${he} did a great job at it. You give the ${VIP} a lecture about how ${hisF} ${daughterD}'s actions are entirely ${hisF} responsibility and neither yours nor your slave's. Nevertheless, you tell ${himF} that since ${heF} is who ${heF} is, you will grant ${himF} access to the pharmaceutical and medical resources available to treat ${hisF} ${daughterD} at a discounted rate, should ${heF} so desire.`);
+			r.push(`You respond angrily to the ${VIP}, informing ${himF} that ${slave.slaveName}'s job is to sexually please your citizens, and judging from the ${child}'s lustful face${preggers ? ` and  swollen tummy` : ""}, ${he} succeeded at it. You explain to the ${VIP} that ${hisF} ${daughterD}'s actions are entirely ${hisD} responsibility, not ${hisF}, not yours, and especially not your slave's. Nevertheless, you tell ${himF} that since ${heF} is who ${heF} is, you will grant ${himF} priority access to the pharmaceutical and medical resources needed to treat ${hisF} ${daughterD} at a discounted rate, should ${heF} so desire.`);
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`You dispatch ${slave.slaveName} back to ${his} duties.`)
+			r.push(`You dispatch ${slave.slaveName} back to ${his} duties.`);
 			r = r.concat(slavesReaction("unpunished"));
 			App.Events.addParagraph(frag, r);
 			r = [];
-			r.push(`Tension rises in the meeting. <span class="reputation dec">Word gets out that you are an unjust ${properMaster()}</span> who does not own up to the issues that your slaves may cause.`);
+			r.push(`Tensions only rise during the meeting; no doubt <span class="reputation dec">rumors will be spread that are a conniving ${properMaster()}</span> who does not own up to the issues their slaves may cause.`);
 			repX(-700, "event");
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag, r);
 			return frag;
 		}
@@ -268,23 +278,44 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function blame() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`You retort angrily at the ${VIP}, telling ${himF} that ${hisF} failure to properly teach ${hisF} ${daughterD} impulse control is the real problem, not anything your slave has done. You emphatically state that neither your slave nor yourself bear any responsibility for what has happened. Not giving ${himF} the opportunity to reply, you instruct ${slave.slaveName} to resume ${his} duties and then proceed to address the other attendees, initiating the meeting.`);
+			r.push(`You retort angrily at the ${VIP}, telling ${himF} that ${hisF} failure to properly teach ${hisF} ${daughterD} impulse control is the real problem, not anything your slave has done. You lecture ${himF} that ${hisF} ${daughterD}'s actions are entirely ${hisF} responsibility, not yours and especially not your slave's. Not giving ${himF} the opportunity to reply, you instruct ${slave.slaveName} to return to ${his} duties and then proceed to address the other attendees, initiating the meeting.`);
 			App.Events.addParagraph(frag, r);
 			r = [];
 			r = r.concat(slavesReaction("unpunished"));
 			App.Events.addParagraph(frag, r);
 			r = [];
-			if (jsRandom(0, V.rep) < 3000) {
-				r.push(`Tension rises in the meeting. <span class="reputation dec">Word gets out that you are a despotic ${properMaster()}</span> and inconsiderate of the matters of the ${VIPs}.`);
+			if (random(0, V.rep) < 3000) {
+				r.push(`Tensions rise during the session; no doubt <span class="reputation dec">rumors will be spread that you are a despotic ${properMaster()}</span> and inconsiderate of the matters of the ${VIPs}.`);
 				repX(-700, "event");
-			} else if (jsRandom(0, V.rep) < 5000) {
-				r.push(`The meeting goes by uncomfortably. <span class="reputation dec">Word gets out that you behave in an unpleasant and abrupt manner</span> with the ${VIPs}.`);
+			} else if (random(0, V.rep) < 5000) {
+				r.push(`The session goes by uncomfortably; you have suspicions that <span class="reputation dec">word will get out that you behaved in an unpleasant and abrupt manner</span> with the ${VIPs}.`);
 				repX(-300, "event");
 			} else {
-				r.push(`Throughout the meeting, no one says anything. <span class="reputation inc">Word gets out that you're a hard-to-break, strict arcology owner with character.</span>`);
+				r.push(`Throughout the session, no one says anything. <span class="reputation inc">Word gets out that you're a hard-to-break, strict arcology owner with character.</span>`);
 				repX(700, "event");
 			}
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
+			App.Events.addParagraph(frag, r);
+			return frag;
+		}
+
+		function oops() {
+			let frag = new DocumentFragment();
+			let r = [];
+			r.push(`You explain to the ${VIP} that ${slave.slaveName} has no way of accessing the drugs ${hisF} ${daughterD} has become hooked on, before sheepishly letting it slip that the baby is probably yours. ${HeD} has been working as a Free Whore, likely in exchange for ${hisD} vices, and you've been making frequent use of ${himD} while touring the streets. Nevertheless, you let ${himF} know that you will grant ${himF} priority access to the pharmaceutical and medical resources needed to treat ${hisF} ${daughterD} for free, if ${heF} should desire.`);
+			App.Events.addParagraph(frag, r);
+			r = [];
+			r.push(`You dispatch ${slave.slaveName} back to ${his} duties.`);
+			if (!mindbroken && slave.devotion <= 50) {
+				r.push(`Given that ${slave.slaveName} effectively <span class="trust inc">got away with being naughty,</span> ${he} seems oddly <span class="devotion dec">miffed</span> over the revelation.`);
+				slave.devotion -= 5;
+				slave.trust += 5;
+			}
+			App.Events.addParagraph(frag, r);
+			r = [];
+			r.push(`Several jokes are made at your expense during the session; you get the feeling <span class="reputation dec">fathers will be trying to keep their ${daughterD}s away from you,</span> lest you accidentally knock them up.`);
+			repX(-300, "event");
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag, r);
 			return frag;
 		}
@@ -292,29 +323,29 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function punish() {
 			let frag = new DocumentFragment();
 			let r = [];
-			r.push(`Despite your doubts, you choose to punish your slave because you don't want to offend one of your arcology's most influential ${VIPs}.`);
+			r.push(`Despite your doubts, it's better to punish your slave than risk offending one of your arcology's most influential ${VIPs}.`);
 			App.Events.addParagraph(frag, r);
-			
+
 			const choices = [];
-			choices.push(new App.Events.Result(`Sentence ${him} to two weeks ${V.cellblock ? `at ` + V.cellblockName : `of confinement`}.`, confine));
-			choices.push(new App.Events.Result(`Sentence ${him} to two weeks at ${V.arcade > 0 && (slave.indenture < 0 || slave.indentureRestrictions === 0) ? V.arcadeName : `the gloryhole`}.`, sentence));
+			choices.push(new App.Events.Result(`Sentence ${him} to two weeks ${V.cellblock ? `in ${V.cellblockName}` : `of confinement`}.`, confine));
+			choices.push(new App.Events.Result(`Sentence ${him} to two weeks in ${V.arcade > 0 && (slave.indenture < 0 || slave.indentureRestrictions === 0) ? V.arcadeName : `a gloryhole`}.`, sentence));
 			if (slave.indenture > 0 && slave.indentureRestrictions !== 0) {
-				choices.push(new App.Events.Result(null, null, `${His} indenture prevents body modifications for such a minor offense.`));
-				choices.push(new App.Events.Result(`Put ${him} on chastity.`, chastity));
+				choices.push(new App.Events.Result(null, null, `${His} indenture limits how far ${he} may be punished for such a minor offense.`));
 			} else if (V.cash < V.surgeryCost) {
-				choices.push(new App.Events.Result(null, null, `You lack the funds needed to alter ${his} body.`));
-				choices.push(new App.Events.Result(`Put ${him} on chastity.`, chastity));
+				choices.push(new App.Events.Result(null, null, `You lack the funds needed to mutilate ${him}.`));
 			} else {
 				if (V.seeExtreme) {
 					choices.push(new App.Events.Result(`Remove ${his} penis.`, penis));
 					choices.push(new App.Events.Result(`Remove ${his} genitalia.`, genitalia));
-				}
-				if (slave.vagina < 0) {
-					choices.push(new App.Events.Result(`Turn ${his} penis from the outside in.`, vagina));
-				} else if (!V.seeExtreme) {
-					choices.push(new App.Events.Result(`Put ${him} on chastity.`, chastity));
+					if (slave.scrotum > 0) {
+						choices.push(new App.Events.Result(`Geld ${him}`, geld));
+					}
+					if (slave.vagina < 0) {
+						choices.push(new App.Events.Result(`Turn ${his} penis from the outside in.`, vagina));
+					}
 				}
 			}
+			choices.push(new App.Events.Result(`Lock ${him} in chastity.`, chastity));
 			choices.push(new App.Events.Result(`Let the ${VIP} punish ${him}.`, VIPPunish));
 			App.Events.addResponses(frag, choices);
 			return frag;
@@ -324,19 +355,19 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			let frag2 = new DocumentFragment();
 			let r = [];
 			if (mindbroken) {
-				r.push(`The broken mind of ${slave.slaveName} accepts ${his} fate without expressing any emotion, remaining confined will probably have no effect on ${him}.`);
+				r.push(`The broken mind of ${slave.slaveName} accepts ${his} fate without any emotion; remaining confined will probably have no effect on ${him}.`);
 			} else {
-				r.push(`${slave.slaveName} cries and begs when you tell ${him} what ${his} punishment is, but you don't give in.`);
-				r.push(`For the next two weeks, ${slave.slaveName} will spend ${his} time isolated in ${V.cellblock ? V.cellblockName : `a room`}, reflecting on what ${he} is supposed to have done wrong.`);
-				slave.devotion -= V.cellblock ? 20 : 10;
-				slave.trust -= 10;
+				r.push(`${slave.slaveName} cries and begs when you tell ${him} what ${his} punishment will be, but you don't give in.`);
+				r.push(`For the next two weeks, ${slave.slaveName} will spend ${his} time isolated in ${V.cellblock ? V.cellblockName : `a room`}, reflecting on what ${he} supposedly did wrong.`);
+				slave.devotion -= V.cellblock ? 10 : 5;
+				slave.trust -= 5;
 			}
 			assignJob(slave, V.cellblock ? Job.CELLBLOCK : Job.CONFINEMENT);
 			slave.sentence = 3;
 			r = r.concat(slavesReaction("punished"));
 			App.Events.addParagraph(frag2, r);
 			r = [];
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag2, r);
 			return frag2;
 		}
@@ -346,7 +377,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			let r = [];
 			const arcade = V.arcade > 0 && (slave.indenture < 0 || slave.indentureRestrictions === 0);
 			if (mindbroken) {
-				r.push(`The broken mind of ${slave.slaveName} accepts ${his} fate without expressing any emotion, just as ${he} would accept any other task given to ${him}.`);
+				r.push(`The broken mind of ${slave.slaveName} accepts ${his} fate without any emotion, just as ${he} would accept any other task given to ${him}.`);
 			} else {
 				r.push(`${slave.slaveName} ${canTalk(slave) ? "screams and " : ""}begs when ${he} realizes what ${his} punishment is, but you are obdurate.`);
 				if (arcade) {
@@ -382,27 +413,27 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 					}
 					r.push(`For the next two weeks, ${he} will be locked within a dark box with nothing to do but let cock after cock come in through the holes, eager to use ${his} ${toSentence(holes)}.`);
 				}
-				slave.devotion -= arcade ? 30 : 20;
-				slave.trust -= 20;
+				slave.devotion -= arcade ? 15 : 10;
+				slave.trust -= 10;
 			}
 			assignJob(slave, arcade ? Job.ARCADE : Job.GLORYHOLE);
 			slave.sentence = 3;
 			r = r.concat(slavesReaction("punished"));
 			App.Events.addParagraph(frag2, r);
 			r = [];
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag2, r);
 			return frag2;
 		}
 
 		function VIPPunish() {
 			let frag2 = new DocumentFragment();
-			let r = [`You point to a room next to the one you are in and offer the offended ${fatherF} the freedom to punish your slave however ${heF} wants. ${HeF} enters the room with ${slave.slaveName} and closes the door behind them. However, the sounds heard do not suggest that someone is being spanked or punished in any way. After a while, the ${VIP} returns to the meeting and sits down, at which point a wet fart is heard and the unmistakable smell of semen fills the room. The other attendees stare at ${himF}; some with surprise, others with disgust and most with amusement. One of them bursts out laughing, and the laughter is contagious, causing everyone to join in. The ${womanF}, red with shame, quickly flees the room, leaving ${hisF} ${daughterD} behind.`];
+			let r = [`You offer the offended ${fatherF} the freedom to punish ${slave.slaveName} however ${heF} wants, directing ${himF} to an adjacent room for privacy. However, the sounds emanating from the room suggest a more sexual punishment over the expected corporal one. After a while, the ${VIP} returns to the meeting and sits down, at which point a wet fart is heard and the unmistakable smell of semen fills the room. The other attendees stare at ${himF}; some with surprise, others with disgust and most with amusement. One of them bursts out laughing, and it is contagious, causing everyone to join in. The ${womanF}, red with shame, quickly flees the room, leaving ${hisF} ${daughterD} behind.`];
 			if (rumored) {
 				r.push(`The populace will now have something new to talk about, <span class="change positive">instead of focusing on your unconventional sexual preferences.</span>`);
 				softenRumors.penetrative(10);
 			}
-			r.push(`Your guests discuss what to do with the ${kid}.`);
+			r.push(`You and your remaining guests are left to discuss what to do with the ${kid}.`);
 			App.Events.addParagraph(frag2, r);
 			const choices = [];
 			choices.push(new App.Events.Result(`Let them take care of ${himD}.`, giveDaughter));
@@ -410,6 +441,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			if (canBuy) {
 				choices.push(new App.Events.Result(`Send ${slave.slaveName} to ${hisD} ${fatherF} instead of ${himD}.`, tradeBis));
 			}
+			choices.push(new App.Events.Result(`Keep the ${girlD} for yourself.`, keepDaughter));
 			App.Events.addResponses(frag2, choices);
 			return frag2;
 		}
@@ -417,14 +449,14 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function chastity() {
 			let frag2 = new DocumentFragment();
 			let r = [];
-			r.push(`You put a cage with a lock that only you can open on ${his} dick. Till you make up your mind, ${he} won't be allowed to penetrate anyone.`);
+			r.push(`You lock ${his} dick in a chastity cage and tuck away the key; ${he} won't be fucking anyone until you change your mind.`);
 			if (!mindbroken) {
-				r.push(`Even though ${slave.slaveName} enjoys penetrating, ${he} feels that this is not truly a punishment.`);
+				r.push(`Even though ${slave.slaveName} enjoys a good fuck, ${he} feels that this is not truly a punishment.`);
 			}
 			r = r.concat(slavesReaction("unpunished"));
 			App.Events.addParagraph(frag2, r);
 			r = [];
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			slave.chastityPenis = 1;
 			App.Events.refreshEventArt([slave, rDaughter]);
 			App.Events.addParagraph(frag2, r);
@@ -434,12 +466,12 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function penis() {
 			let frag2 = new DocumentFragment();
 			let r = [];
-			r.push(`You send ${him} to the remote surgery after determining that the proper punishment is to amputate the body part ${he} uses for penetration.`);
+			r.push(`You arrange for ${him} to be sent the remote surgery after determining that the best way to nip this problem in the bud is to snip off ${his} dick.`);
 			let procedure = new App.Medicine.Surgery.Procedures.ChopPenis(slave);
 			const result = App.Medicine.Surgery.apply(procedure, false);
 			if (result === null) {
 				r.push(`${slave.slaveName} <span class="health dec">dies from complications of surgery.</span>`);
-				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`);
+				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
 				r = r.concat(slavesReaction("exitus"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
@@ -447,16 +479,14 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			} else {
 				const [diff, reaction] = result;
 				if (FutureSocieties.isActive("FSPaternalist") && V.arcologies[0].FSPaternalist > 60) {
-					r.push(`The ${VIPs} believe the punishment is too severe, which horrifies them.`);
-					repX(-200,"event");
+					r.push(`The ${VIPs} are <span class="rep dec">horrified</span> by such a severe punishment being handed out so trivially.`);
+					repX(-200, "event");
 				} else if (FutureSocieties.isActive("FSDegradationist") && V.arcologies[0].FSDegradationist > 60) {
-					r.push(`The ${VIPs} seem pleased with the punishment you inflict on ${him}.`);
+					r.push(`The ${VIPs} seem <span class="rep dec">pleased</span> with the punishment being so severe.`);
 					repX(200, "event");
-				} else {
-					r.push(`The ${VIPs} are not impressed with you punishing a troublesome slave.`);
 				}
-				r.push(`A grimace of displease appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`)
-				r = r.concat(slavesReaction("mutiliated"));
+				r.push(`A grimace of displeasure appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
+				r = r.concat(slavesReaction("mutilated"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
 				App.Events.addParagraph(frag2, [App.Medicine.Surgery.makeSlaveReaction(procedure.originalSlave, diff, reaction)]);
@@ -464,7 +494,35 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				App.Utils.Diff.applyDiff(procedure.originalSlave, diff);
 				App.Events.refreshEventArt([slave, rDaughter]);
 			}
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
+			App.Events.addParagraph(frag2, r);
+			return frag2;
+		}
+
+		function geld() {
+			let frag2 = new DocumentFragment();
+			let r = [];
+			r.push(`You arrange for ${him} to be sent the remote surgery after determining that the best way to nip this problem in the bud is to cut off ${his} balls.`);
+			slave.balls = 0;
+			slave.ballType = "human";
+			slave.scrotum = 0;
+			slave.vasectomy = 0;
+			if ([Drug.GROWTESTICLE, Drug.HYPERTESTICLE, Drug.ATROPHYTESTICLE].includes(slave.drugs)) {
+				slave.drugs = Drug.NONE;
+			}
+			if (FutureSocieties.isActive("FSPaternalist") && V.arcologies[0].FSPaternalist > 60) {
+				r.push(`The ${VIPs} are <span class="rep dec">horrified</span> by such a severe punishment being handed out so trivially.`);
+				repX(-200, "event");
+			} else if (FutureSocieties.isActive("FSDegradationist") && V.arcologies[0].FSDegradationist > 60) {
+				r.push(`The ${VIPs} seem <span class="rep dec">pleased</span> with the punishment being so severe.`);
+				repX(200, "event");
+			}
+			r.push(`A grimace of displeasure appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
+			r = r.concat(slavesReaction("mutilated"));
+			App.Events.addParagraph(frag2, r);
+			r = [];
+			App.Events.refreshEventArt([slave, rDaughter]);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag2, r);
 			return frag2;
 		}
@@ -472,7 +530,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function genitalia() {
 			let frag2 = new DocumentFragment();
 			let r = [];
-			r.push(`You send ${him} to the remote surgery after determining that the proper punishment is to remove all ${his} genitalia.`);
+			r.push(`You arrange for ${him} to be sent the remote surgery after determining that the best way to deal with this is to just strip ${him} of ${his} genitals.`);
 			let procedure = new App.Medicine.Surgery.Procedures.ChopPenis(slave); // the most important part removed, since there is no surgery for convert to null
 			if (slave.vagina >= 0) {
 				surgeryAmp(slave, "vagina"); // make sure vagina, ovaries and related attributes are set to 0 and the health damage is applied
@@ -487,7 +545,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			const result = App.Medicine.Surgery.apply(procedure, false);
 			if (result === null) {
 				r.push(`${slave.slaveName} <span class="health dec">dies from complications of surgery.</span>`);
-				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`);
+				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
 				r = r.concat(slavesReaction("exitus"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
@@ -495,16 +553,14 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			} else {
 				const [diff, reaction] = result;
 				if (FutureSocieties.isActive("FSPaternalist") && V.arcologies[0].FSPaternalist > 60) {
-					r.push(`The ${VIPs} believe the punishment is too severe, which horrifies them.`);
-					repX(-300, "event");
+					r.push(`The ${VIPs} are <span class="rep dec">horrified</span> by such a severe punishment being handed out so trivially.`);
+					repX(-200, "event");
 				} else if (FutureSocieties.isActive("FSDegradationist") && V.arcologies[0].FSDegradationist > 60) {
-					r.push(`The ${VIPs} seem pleased with the punishment you inflict on ${him}.`);
-					repX(300, "event");
-				} else {
-					r.push(`The ${VIPs} are not impressed with you punishing a troublesome slave.`);
+					r.push(`The ${VIPs} seem <span class="rep dec">pleased</span> with the punishment being so severe.`);
+					repX(200, "event");
 				}
-				r.push(`A grimace of displease appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`)
-				r = r.concat(slavesReaction("mutiliated"));
+				r.push(`A grimace of displeasure appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
+				r = r.concat(slavesReaction("mutilated"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
 				App.Events.addParagraph(frag2, [App.Medicine.Surgery.makeSlaveReaction(procedure.originalSlave, diff, reaction)]);
@@ -512,7 +568,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				App.Utils.Diff.applyDiff(procedure.originalSlave, diff);
 				App.Events.refreshEventArt([slave, rDaughter]);
 			}
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag2, r);
 			return frag2;
 		}
@@ -520,7 +576,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function vagina() {
 			let frag2 = new DocumentFragment();
 			let r = [];
-			r.push(`You send ${him} to the remote surgery after determining that the proper punishment is to turn ${his} penis into a vagina.`);
+			r.push(`You arrange for ${him} to be sent the remote surgery after determining that the proper punishment is to replace ${his} penis with a vagina.`);
 			let procedure = new App.Medicine.Surgery.Procedures.MaleToFemale(slave);
 			const keepBalls = slave.balls;
 			const keepSperm = slave.ballType;
@@ -531,7 +587,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			const result = App.Medicine.Surgery.apply(procedure, false);
 			if (result === null) {
 				r.push(`[${slave.slaveName} <span class="health dec">dies from complications of surgery.</span>`);
-				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`);
+				r.push(`This denouement caught the ${VIPs} off guard. A melancholic grimace appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
 				r = r.concat(slavesReaction("exitus"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
@@ -545,16 +601,14 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				diff.vasectomy = keepVasectomy;
 				diff.drugs = keepDrugs;
 				if (FutureSocieties.isActive("FSPaternalist") && V.arcologies[0].FSPaternalist > 60) {
-					r.push(`The ${VIPs} believe the punishment is too severe, which horrifies them.`);
+					r.push(`The ${VIPs} are <span class="rep dec">horrified</span> by such a severe punishment being handed out so trivially.`);
 					repX(-200, "event");
 				} else if (FutureSocieties.isActive("FSDegradationist") && V.arcologies[0].FSDegradationist > 60) {
-					r.push(`The ${VIPs} seem pleased with the punishment you inflict on ${him}.`);
+					r.push(`The ${VIPs} seem <span class="rep dec">pleased</span> with the punishment being so severe.`);
 					repX(200, "event");
-				} else {
-					r.push(`The ${VIPs} are not impressed with you punishing a troublesome slave.`);
 				}
-				r.push(`A grimace of displease appears on the ${girlD}'s face. The same goes for ${hisD} ${fatherF}'s.`)
-				r = r.concat(slavesReaction("mutiliated"));
+				r.push(`A grimace of displeasure appears on the ${girlD}'s face. Unexpectedly, the same goes for ${hisD} ${fatherF}'s.`);
+				r = r.concat(slavesReaction("mutilated"));
 				App.Events.addParagraph(frag2, r);
 				r = [];
 				App.Events.addParagraph(frag2, [App.Medicine.Surgery.makeSlaveReaction(procedure.originalSlave, diff, reaction)]);
@@ -562,14 +616,14 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				App.Utils.Diff.applyDiff(procedure.originalSlave, diff);
 				App.Events.refreshEventArt([slave, rDaughter]);
 			}
-			r.push(`When the meeting comes to a close, you are shocked to see how one of the other guests gets the ${girlD} as a slave by purchasing ${hisD} debt for an absurdly low sum.`);
+			r.push(`When the meeting comes to a close, you are shocked to see one of the other guests purchase the ${girlD}'s debt for an absurdly low sum.`);
 			App.Events.addParagraph(frag2, r);
 			return frag2;
 		}
 
 		function giveDaughter() {
 			let frag2 = new DocumentFragment();
-			let r = [`You end the meeting by telling the ${VIPs} that you have other matters to take care of. They promise to take the ${kid} to ${hisD} ${fatherF}'s house, and they go. From their lewd gestures and filthy comments, you are sure that the journey will be entertaining and long.`];
+			let r = [`You end the meeting by informing the ${VIPs} that you have other matters to take care of. They assure you that they'll take the ${kid} back to ${hisD} ${fatherF}'s house. From their lewd gestures and filthy comments as they make their way out, you are certain that the journey will be <span class="rep inc">an entertaining one.</span>`];
 			repX(100, "event");
 			App.Events.addParagraph(frag2, r);
 			return frag2;
@@ -577,7 +631,7 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 
 		function returnDaughter() {
 			let frag2 = new DocumentFragment();
-			let r = [`You end the meeting by telling the ${VIPs} that you have other matters to take care of, and that you will return the ${daughterD} to ${hisD} ${fatherF}.  <span class="reputation dec">They seem disappointed.</span> You order ${V.BodyguardID !== 0 ? "your bodyguard" : "one of your most trusted slaves"} to escort the ${child}, making sure ${heD} doesn't get into trouble. For a long time you don't hear from the ${VIP} again.`];
+			let r = [`You end the meeting by informing the ${VIPs} that you have other matters to take care of, and that you will see the return of the ${daughterD} to ${hisD} ${fatherF} later that day. You order ${V.BodyguardID !== 0 ? "your bodyguard" : "one of your most trusted slaves"} to escort the ${child}, making sure ${heD} doesn't get into any more trouble involving you. The ${VIPs} <span class="reputation dec">seem disappointed</span> by your decision, but you are not having any more problems involving this ${girlD} thrown at you; if they want to be lecherous, there are plenty of public sluts that would be glad to service them.`];
 			repX(-200, "event");
 			App.Events.addParagraph(frag2, r);
 			return frag2;
@@ -586,9 +640,9 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 		function tradeBis() {
 			let frag2 = new DocumentFragment();
 			let r = [];
-			r.push(`You end the meeting by telling the ${VIPs} that you have other matters to attend and that you will take care of the abandoned ${daughterD}. <span class="reputation dec">They seem upset.</span> You send ${slave.slaveName}, with the transfer of ${his} contract, and you keep the ${child}. The ${fatherF} sends you the contract for your new slave, electronically. For a long time you don't hear from the ${VIP} again.`);
+			r.push(`You end the meeting by informing the ${VIPs} that you have other matters to take care of, and that you will take care of the abandoned ${daughterD} personally. There is a clear air of <span class="reputation dec">jealousy</span> about them. You send ${slave.slaveName}, along with ${his} slave contract, while you keep the ${child}. The ${fatherF} hastily sends you the contract, seemingly eager to officially get ${his} hands on ${slave.slaveName}.`);
 			repX(-400, "event");
-			newSlave(rDaughter); //skip new slave intro
+			newSlave(rDaughter); // skip new slave intro
 			App.Events.addParagraph(frag2, r);
 			r = [];
 			r = r.concat(slavesReaction("given"));
@@ -598,7 +652,17 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 			return frag2;
 		}
 
-		/** @param {"unpunished" | "given" | "punished" | "mutiliated" | "exitus"} action */
+		function keepDaughter() {
+			let frag2 = new DocumentFragment();
+			let r = [];
+			r.push(`You end the meeting by informing the ${VIPs} that you have other matters to take care of, and that you will take care of the abandoned ${daughterD} personally. There is a clear air of <span class="reputation dec">jealousy</span> about them. You barely have time to start your inspection of your new toy before ${hisD} ${fatherF} transfers ${hisD} ownership to you. ${HeF} <span class="reputation dec>probably expects something in return, but should have thought of that before presenting you with this gift.</span>`);
+			repX(-800, "event");
+			newSlave(rDaughter); // skip new slave intro
+			App.Events.addParagraph(frag2, r);
+			return frag2;
+		}
+
+		/** @param {"unpunished" | "given" | "punished" | "mutilated" | "exitus"} action */
 		function slavesReaction(action) {
 			let r = [];
 			if (action === "unpunished") {
@@ -607,29 +671,28 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				} else {
 					r.push(`${He} feared that you would punish ${him} in some cruel manner,`);
 					if (slave.devotion <= -20) {
-						if (slave.trust > 50) {
-							r.push(`and since you haven't, ${he} believes that <span class="trust inc">you value</span> and maybe <span class="devotion dec">fear ${him}.</span>`);
-							slave.devotion -= 2;
+						if (slave.trust > 20) {
+							r.push(`and since you haven't, ${he} begins to wonder what ${he} <span class="trust inc">could possibly get away with.</span>`);
 							slave.trust += 2;
 						} else {
-							r.push(`and since <span class="devotion dec">${he} doesn't trust you,</span> <span class="trust dec">${he}'s worried that you have some kind of punishment in store for ${him}.</span>`);
-							slave.devotion--;
+							r.push(`working ${himself} up into a <span class="trust dec">paranoid state.</span> ${He} <span class="devotion dec">hates</span> knowing that you may change you mind at any point.`);
+							slave.devotion -=2;
 							slave.trust -= 2;
 						}
 					} else if (slave.devotion <= 20) {
-						r.push(`but because you haven't, <span class="trust inc">${he} feels more confident in ${himself}</span> since ${he} believes you value ${him} in some way.`);
+						r.push(`but because you haven't, <span class="trust inc">perhaps you find ${him} valuable?</span>`);
 						slave.trust += 5;
 					} else if (slave.devotion > 95) {
-						r.push(`but you haven't, so <span class="trust inc">${he} is confident you will stand up for ${him}</span> when ${he} is unfairly accused.`);
+						r.push(`but you haven't, <span class="trust inc">reassuring ${him}</span> that you will stand up for ${him} if ${he} is unfairly accused.`);
 						slave.trust += 5;
 					} else if (slave.trust <= 50) {
 						r.push(`and although you haven't, <span class="trust dec">${he} fears the consequences</span> that another accusation from one of ${his} ${[Job.WHORE, Job.CLUB].includes(slave.assignment) ? "clients" : "users"} could have.`);
 						slave.trust -= 3;
 					} else {
-						r.push(`and ${he} is relieved that you didn't.`);
+						r.push(`but ${he} is relieved that you didn't.`);
 					}
 				}
-				r.push(`When they learn what has happened, your other slaves are <span class="devotion inc">glad that you protect them</span> from false accusations, although the more rebellious ones feel <span class="defiant inc">they can take advantage of your benevolence.</span>`);
+				r.push(`When they learn what has happened, your other slaves are <span class="devotion inc">glad that you'd protect them</span> from false accusations, although the more rebellious ones feel <span class="defiant inc">they can take advantage of your benevolence.</span>`);
 				V.slaves.forEach(s => {
 					if (s.devotion < -20 && s.trust > 50) {
 						s.devotion--;
@@ -640,10 +703,10 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 				});
 				return r;
 			} else if (action === "given" || action === "punished") {
-				r.push(`After hearing what has happened, <span class="trust dec">your other slaves are afraid</span> that any accusation against them, no matter how fabricated, could have unpredicted consequences. Those who are not loyal to you believe that <span class="devotion dec">you are a poor ${properMaster()}.</span>`);
+				r.push(`After learning of what happened to ${slave.slaveName}, <span class="trust dec">your other slaves are afraid</span> that any accusation against them, no matter how fabricated, could have unpredictable consequences. Those not devoted to you begin to have <span class="devotion dec">serious doubts</span> about their futures.`);
 				V.slaves.forEach(s => {
 					s.trust -= 5;
-					if (s.devotion <=51) {
+					if (s.devotion <= 50) {
 						s.devotion -= 5;
 					}
 				});
@@ -679,17 +742,17 @@ App.Events.REReputedDaughter = class REReputedDaughter extends App.Events.BaseEv
 					const rival = getSlave(slave.rivalryTarget);
 					const {he2, his2} = getPronouns(rival).appendSuffix('2');
 					if (rival.fetish !== Fetish.MINDBROKEN) {
-						r.push(`${rival.slaveName} is <span class="devotion inc">pleased</span> that ${he2} won't have to see ${his2} ${rivalryTerm(rival)} any more, and <span class="trust inc">feels that ${his2} life will now be easier.</span>`);
-						rival.devotion += rival.rivalry * 5;
-						rival.trust += rival.rivalry * 3;
+						r.push(`${rival.slaveName} is <span class="devotion inc">pleased</span> that ${he2} won't have to deal with ${his2} ${rivalryTerm(rival)} any more, and <span class="trust inc">hopes</span> this means ${his} life will now be easier.`);
+						rival.devotion += rival.rivalry;
+						rival.trust += rival.rivalry;
 					}
 				}
 				return r;
-			} else if (action === "mutiliated" || action === "exitus") {
+			} else if (action === "mutilated" || action === "exitus") {
 				const exitus = action === "exitus";
-				r.push(`After hearing what has happened, <span class="trust dec">your other slaves are terrified</span> because it seems that any accusation against them, no matter how fabricated, ${exitus ? `could even lead to their death` : `could have serious consequences`}. Those who are not loyal to you believe that <span class="devotion dec">you are a obnoxious ${properMaster()}.</span>`);
+				r.push(`After learning of what happened to ${slave.slaveName}, <span class="trust dec">${her} peers are terrified</span> that any accusation against them, no matter how fabricated, ${exitus ? `could lead to their death` : `could have serious consequences`}. Those not devoted to you begin to believe that <span class="devotion dec">you'll be their demise.</span>`);
 				if (mindbroken) {
-					r.push(`Their opinion of you is further tarnished by the fact that ${slave.slaveName} ${exitus ? "was" : "is"} mindbroken and incapable of doing anything wrong on purpose.`);
+					r.push(`This opinion of you is further tarnished by the fact that ${slave.slaveName} ${exitus ? "was" : "is"} mindbroken and incapable of doing anything wrong on purpose.`);
 				}
 				V.slaves.forEach(s => {
 					s.trust -= (8 + (exitus ? 2 : 0) + (mindbroken ? 1 : 0));
diff --git a/src/events/nonRandom/pregnancyNotice.js b/src/events/nonRandom/pregnancyNotice.js
index 21f1a39cfee0002b1c90f6f40f8fcd47ef617ae0..b0edbfa4230b0b3bb90a590a260f4c74006edc52 100644
--- a/src/events/nonRandom/pregnancyNotice.js
+++ b/src/events/nonRandom/pregnancyNotice.js
@@ -215,7 +215,7 @@ App.Events.PregnancyNotice.options = (mother, inPregnancyNotice = false, existin
 	});
 	let option = options.addOption("", "open", state);
 	if (inPregnancyNotice === true) {
-		option.addComment("These options are also avaliable in each slave's Rules tab.");
+		option.addComment("These options are also available in each slave's Rules tab.");
 	}
 	if (state.open === true) {
 		option.addValue(`Close ${text}`, false)
diff --git a/src/js/utilsSlave.js b/src/js/utilsSlave.js
index 20e3db2e3f9a3c71071a1144dcf513505cb86a42..077b2bcd3f605edad64f40aaef1f5c4be4c610ee 100644
--- a/src/js/utilsSlave.js
+++ b/src/js/utilsSlave.js
@@ -3335,7 +3335,7 @@ globalThis.getHuman = function(ID) {
 
 /**
  * @param {number} slaveID
- * @param {boolean} [textOnly=true] if true then we will only return the humans name, otherwise we will return an FC.HumanState object when avaliable
+ * @param {boolean} [textOnly=true] if true then we will only return the humans name, otherwise we will return an FC.HumanState object when available
  * @returns {FC.HumanState | string}
  */
 globalThis.getParent = (slaveID, textOnly = true) => {
diff --git a/src/npc/interaction/FFuckdollOral.js b/src/npc/interaction/FFuckdollOral.js
index 80c007aae8130dece1e7bd3d8c31e0b09b2184ca..a881a76eb6498647382ef92c080285273501ae71 100644
--- a/src/npc/interaction/FFuckdollOral.js
+++ b/src/npc/interaction/FFuckdollOral.js
@@ -53,7 +53,7 @@ App.Interact.fFuckdollOral = function(slave) {
 	if (slave.fuckdoll <= 20) {
 		r.push(`${He}'s not fully used to being surprised with face rape, so ${he} struggles, and ${his} difficulty breathing`);
 		if (V.PC.dick !== 0) {
-			r.push(`makes ${his} ${canPenetrateThroat(V.PC) ? `throat spasm around` : `tounge spasm against`} your dickhead.`);
+			r.push(`makes ${his} ${canPenetrateThroat(V.PC) ? `throat spasm around` : `tongue spasm against`} your dickhead.`);
 		} else {
 			r.push(`feels lovely on your cunt.`);
 		}