From 0655aa7f7c69cc0b397cd2163a7f19d11248552b Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 22 May 2020 16:51:32 -0400
Subject: [PATCH] some fetish discovery stuff

---
 src/endWeek/saServeYourOtherSlaves.js | 277 ++++++++++++++++++++------
 1 file changed, 217 insertions(+), 60 deletions(-)

diff --git a/src/endWeek/saServeYourOtherSlaves.js b/src/endWeek/saServeYourOtherSlaves.js
index 550aacd54d3..09078bc5653 100644
--- a/src/endWeek/saServeYourOtherSlaves.js
+++ b/src/endWeek/saServeYourOtherSlaves.js
@@ -24,6 +24,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 	let domSlave;
 	let domName;
 	let domRace;
+	let domFetishKnown;
 
 	let subName;
 	let subRace;
@@ -87,6 +88,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				jobType = "sub";
 				domSlave = V.slaves[dom];
 				domName = domSlave.slaveName;
+				domFetishKnown = domSlave.fetishKnown;
 			} else {
 				jobType = "cumdump";
 				slave.subTarget = 0;
@@ -331,14 +333,32 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			}
 		}
 
-		if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "buttslut") {
+		if (domSlave.fetishStrength > 60 && domSlave.fetish === "buttslut") {
 			if (canPenetrate(slave) && canDoAnal(domSlave) && (domSlave.anus !== 0)) {
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves anal, ${subName} finds ${himself} forced to use ${his} stiff prick to please ${domName}'s insatiable ass. ${He} spends the week trying to avoid ${domName}, because ${domName} won't stop forcing ${him} to get ${his} ${subRace} dick hard so ${domName} can ride ${his2} ${domRace} butt up and down on it. <span class="hotpink">${domName} enjoys having ${his2} own personal cock for the week,</span> even if it does have to be persuaded.`);
-				} else if ((slave.devotion <= 50)) {
-					r.push(`Since ${domName} loves anal, ${subName} finds ${himself} constantly asked to use ${his} stiff prick to please ${domName}'s insatiable ass. ${He} spends the week desperately trying to keep ${himself} hard, because ${domName} constantly expects ${his} ${subRace} dick to be erect so ${domName} can ride ${his2} ${domRace} butt up and down on it. <span class="hotpink">${domName} enjoys having ${his2} own personal cock for the week.</span>`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself} forced to use ${his} stiff prick to please ${domName}'s insatiable ass. ${He} spends the week trying to avoid ${domName}, because ${domName} won't stop forcing ${him} to get ${his} ${subRace} dick hard so ${domName} can ride ${his2} ${domRace} butt up and down on it. <span class="hotpink">${domName} enjoys having ${his2} own personal cock for the week,</span> even if it does have to be persuaded.`);
+				} else if (slave.devotion <= 50) {
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself} constantly asked to use ${his} stiff prick to please ${domName}'s insatiable ass. ${He} spends the week desperately trying to keep ${himself} hard, because ${domName} constantly expects ${his} ${subRace} dick to be erect so ${domName} can ride ${his2} ${domRace} butt up and down on it. <span class="hotpink">${domName} enjoys having ${his2} own personal cock for the week.</span>`);
 				} else {
-					r.push(`${domName} loves anal and ${subName} has a stiff prick. The two of them have good fun together.`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal and ${subName} has a stiff prick,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal</span> and ${subName} has a stiff prick, so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`the two of them have good fun together.`);
 					if (hasAnyLegs(domSlave)) {
 						r.push(`${domName} pulls ${his2} anal ${girl}toy into bathrooms and corners constantly`);
 					} else {
@@ -363,11 +383,29 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 			} else if (canDoAnal(domSlave)) {
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves anal, ${subName} finds ${himself} forced to give analingus on command. ${He} spends the week trying to avoid servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth, but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to service ${his2} butt.</span>`);
-				} else if ((slave.devotion <= 50)) {
-					r.push(`Since ${domName} loves anal, ${subName} finds ${himself} giving analingus on command. ${He} spends the week servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth. <span class="hotpink">${domName} enjoys having ${his2} ass pleasured whenever ${he2} wants it.</span>`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself} forced to give analingus on command. ${He} spends the week trying to avoid servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth, but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to service ${his2} butt.</span>`);
+				} else if (slave.devotion <= 50) {
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself} giving analingus on command. ${He} spends the week servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth. <span class="hotpink">${domName} enjoys having ${his2} ass pleasured whenever ${he2} wants it.</span>`);
 				} else {
-					r.push(`Since ${domName} loves anal play, ${subName} lavishes attention on ${his2} butt. ${He} spends the week servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth. <span class="hotpink">${domName} enjoys having an enthusiastic anal playmate.</span>`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves anal play,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes anal play,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} lavishes attention on ${his2} butt. ${He} spends the week servicing ${domName}'s insatiable ${domRace} ass with ${his} ${subRace} mouth. <span class="hotpink">${domName} enjoys having an enthusiastic anal playmate.</span>`);
 				}
 				oralUse = jsRandom(9, 12);
 				domSlave.counter.anal += oralUse;
@@ -376,7 +414,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				V.oralTotal += oralUse;
 			} else {
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves ${his2} rear, ${subName} finds ${himself} forced to`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves ${his2} rear,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes ${his2} rear touched,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself} forced to`);
 					if (!hasAnyArms(slave)) {
 						r.push(`massage`);
 					} else {
@@ -390,7 +434,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 					r.push(`but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to service ${his2} butt.</span>`);
 				} else if (slave.devotion <= 50) {
-					r.push(`Since ${domName} loves ${his} rear, ${subName} finds ${himself}`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves ${his2} rear,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes ${his2} rear touched,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} finds ${himself}`);
 					if (!hasAnyArms(slave)) {
 						r.push(`massaging`);
 					} else {
@@ -404,7 +454,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 					r.push(`<span class="hotpink">${domName} enjoys having ${his2} ass pleasured whenever ${he2} wants it.</span>`);
 				} else {
-					r.push(`Since ${domName} loves ${his2} rear played with, ${subName} lavishes attention on ${his2} butt. ${He} spends the week fondling ${domName}'s ${domRace} ass with ${his} ${subRace}`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves ${his2} rear played with,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes ${his2} rear played with,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`${subName} lavishes attention on ${his2} butt. ${He} spends the week fondling ${domName}'s ${domRace} ass with ${his} ${subRace}`);
 					if (!hasAnyArms(slave)) {
 						r.push(`face.`);
 					} else {
@@ -413,8 +469,14 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					r.push(`<span class="hotpink">${domName} enjoys having a playmate so fond of ${his2} booty.</span>`);
 				}
 			}
-		} else if (slave.devotion >= -20 && domSlave === "submissive" && domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60) {
-			r.push(`${domName} loves to submit, and tells ${subName} to fuck ${him2}; when ${subName} asks how, ${domName} tells ${him} to take charge.`);
+		} else if (slave.devotion >= -20 && domSlave === "submissive" && domSlave.fetishStrength > 60) {
+			if (domFetishKnown) {
+				r.push(`${domName} loves to submit, and tells`);
+			} else {
+				r.push(`${domName}, it turns out, <span class="lightcoral">really likes submission,</span> so ${he2} tells`);
+				domSlave.fetishKnown = 1;
+			}
+			r.push(`${subName} to fuck ${him2}; when ${subName} asks how, ${domName} tells ${him} to take charge.`);
 			if (canPenetrate(slave)) {
 				penetrativeUse = jsRandom(9, 12);
 				if (isAmputee(slave)) {
@@ -540,8 +602,14 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 			}
 			slave.devotion += 1;
-		} else if (slave.devotion >= -20 && domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "dom" && canWalk(domSlave)) {
-			r.push(`${domName} loves to dominate, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName} ambushes ${him} in the dormitory, tackles ${him} from behind, and`);
+		} else if (slave.devotion >= -20 && domSlave.fetishStrength > 60 && domSlave.fetish === "dom" && canWalk(domSlave)) {
+			if (domFetishKnown) {
+				r.push(`${domName} loves to dominate,`);
+			} else {
+				r.push(`${domName}, it turns out, <span class="lightcoral">really likes domination,</span>`);
+				domSlave.fetishKnown = 1;
+			}
+			r.push(`and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName} ambushes ${him} in the dormitory, tackles ${him} from behind, and`);
 			if (isAmputee(slave)) {
 				r.push(`bursts out`);
 				if (canTalk(domSlave)) {
@@ -566,13 +634,19 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			r.push(`edging ${him} right up to the point of orgasm and making ${him} beg. It's a long but <span class="hotpink">obedience-building</span> week for ${subName}, and ${domName} certainly <span class="hotpink">enjoys ${his2} toy.</span>`);
 			slave.devotion += 1;
 			if (slave.need && slave.fetishKnown) {
-				if (slave.fetish === "submissive" || slave.fetish === "masochist") {
-					r.push(`${subName} needs this kind of treatment to be truly sexually satisfied; this week, ${his} desire for abuse is sated.`);
+				if (slave.fetish === "submissive") {
+					r.push(`${subName} needs this kind of treatment to be truly sexually satisfied; this week, ${his} desire to be controlled is sated.`);
 					slave.need = 0;
 				}
 			}
-		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "sadist" && canWalk(domSlave)) {
-			r.push(`${domName} loves to inflict pain, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName} ambushes ${him} in the dormitory, tackles ${him} from behind, and hogties ${him} with sheets.`);
+		} else if (domSlave.fetishStrength > 60 && domSlave.fetish === "sadist" && canWalk(domSlave)) {
+			if (domFetishKnown) {
+				r.push(`${domName} loves to inflict pain,`);
+			} else {
+				r.push(`${domName}, it turns out, <span class="lightcoral">really likes inflicting pain,</span>`);
+				domSlave.fetishKnown = 1;
+			}
+			r.push(`and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName} ambushes ${him} in the dormitory, tackles ${him} from behind, and hogties ${him} with sheets.`);
 			if (canTalk(domSlave)) {
 				r.push(`${domName} bends close to the immobilized ${subName}'s ear and whispers to ${him} that ${he} might as well scream.`);
 			} else {
@@ -582,30 +656,77 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			slave.devotion += 1;
 			healthDamage(slave, 3);
 			if (slave.need && slave.fetishKnown) {
-				if (slave.fetish === "submissive" || slave.fetish === "masochist") {
+				if (slave.fetish === "masochist") {
 					r.push(`${subName} needs this kind of treatment to be truly sexually satisfied; this week, ${his} desire for abuse is sated.`);
 					slave.need = 0;
 				}
 			}
-		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "boobs") {
+		} else if (domSlave.fetishStrength > 60 && domSlave.fetish === "masochist" && hasAnyLimbs(slave)) {
+			if (domFetishKnown) {
+				r.push(`${domName} loves pain,`);
+			} else {
+				r.push(`${domName}, it turns out, <span class="lightcoral">really likes pain,</span>`);
+				domSlave.fetishKnown = 1;
+			}
+			r.push(`and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+			if (canHold(domSlave)) {
+				r.push(`hands ${him}`);
+			} else if (canTalk(domSlave)) {
+				r.push(`orders ${him} to pick up`);
+			} else {
+				r.push(`gestures at`);
+			}
+			if (domFetishKnown) {
+				r.push(`${his2} favorite`);
+			} else {
+				r.push(`a`);
+			}
+			r.push(`crop and implores ${subName} to punish ${him2}; ${domName} has been bad and ${subName} needs to teach ${him2} a lesson. ${subName} spends a long and <span class="trust inc">empowering</span> week learning new ways to <span class="red">inflict pain</span> on someone, not that the <span class="hotpink">thoroughly bruised ${domName} will complain.</span>`);
+			slave.trust += 1;
+			healthDamage(domSlave, 3);
+			if (slave.need && slave.fetishKnown) {
+				if (slave.fetish === "sadist") {
+					r.push(`${subName} needs this kind of play to be truly sexually satisfied; this week, ${his} desire to abuse is sated.`);
+					slave.need = 0;
+				}
+			}
+		} else if (domSlave.fetishStrength > 60 && domSlave.fetish === "boobs") {
 			if (domSlave.nipples === "fuckable" && canPenetrate(slave)) {
-				r.push(`Since ${domName} loves to have ${his2} nipples fucked, ${subName} spends the week getting to use ${his} dick for a change. ${subName}'s ${subRace} body thrusting into ${domName}'s supple ${domRace} breasts is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName}.</span>`);
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves to have ${his2} nipples fucked,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes having ${his2} nipples fucked,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`${subName} spends the week getting to use ${his} dick for a change. ${subName}'s ${subRace} body thrusting into ${domName}'s supple ${domRace} breasts is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName}.</span>`);
 				penetrativeUse = jsRandom(9, 12);
 				domSlave.counter.mammary += penetrativeUse;
 				V.mammaryTotal += penetrativeUse;
 				slave.counter.penetrative += penetrativeUse;
 				V.penetrativeTotal += penetrativeUse;
 			} else if (domSlave.lactation > 0) {
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves giving milk,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes giving milk,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves giving milk, ${subName} finds ${himself} forced to nurse. ${He} spends the week trying to avoid guzzling down milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} ${subRace} mouth, but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to drink from ${him2}.</span>`);
+					r.push(`${subName} finds ${himself} forced to nurse. ${He} spends the week trying to avoid guzzling down milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} ${subRace} mouth, but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to drink from ${him2}.</span>`);
 				} else if (slave.devotion <= 50) {
-					r.push(`Since ${domName} loves giving milk, ${subName} finds ${himself} constantly nursing. ${He} spends the week obediently taking milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} ${subRace} mouth, to ${domName}'s motherly satisfaction. <span class="hotpink">${domName} enjoys having ${subName} to drink from ${him2} whenever ${he2} feels overfull.</span>`);
+					r.push(`${subName} finds ${himself} constantly nursing. ${He} spends the week obediently taking milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} ${subRace} mouth, to ${domName}'s motherly satisfaction. <span class="hotpink">${domName} enjoys having ${subName} to drink from ${him2} whenever ${he2} feels overfull.</span>`);
 				} else {
-					r.push(`Since ${domName} loves giving milk, ${subName} constantly nurses from ${him2}. ${He} spends the week happily taking milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} hungry ${subRace} mouth, to ${domName}'s motherly delight. <span class="hotpink">${domName} loves having ${subName} to feed and fill.</span>`);
+					r.push(`${subName} constantly nurses from ${him2}. ${He} spends the week happily taking milk from ${domName}'s ${nippleColor(domSlave)} ${domRace} nipples with ${his} hungry ${subRace} mouth, to ${domName}'s motherly delight. <span class="hotpink">${domName} loves having ${subName} to feed and fill.</span>`);
 				}
 			} else {
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves having ${his2} breasts attended to,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes having ${his2} breasts touched,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
 				if (slave.devotion < -20) {
-					r.push(`Since ${domName} loves having ${his2} breasts attended to, ${subName} finds ${himself} forced to`);
+					r.push(`${subName} finds ${himself} forced to`);
 					if (!hasAnyArms(slave)) {
 						r.push(`nuzzle and suck.`);
 					} else {
@@ -619,7 +740,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 					r.push(`but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to see to ${his2} tits.</span>`);
 				} else if (slave.devotion <= 50) {
-					r.push(`Since ${domName} loves having ${his2} breasts attended to, ${subName} finds ${himself}`);
+					r.push(`${subName} finds ${himself}`);
 					if (!hasAnyArms(slave)) {
 						r.push(`nuzzling and sucking.`);
 					} else {
@@ -633,7 +754,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 					r.push(`to ${domName}'s languorous pleasure. <span class="hotpink">${domName} enjoys having ${subName} to see to ${his2} tits.</span>`);
 				} else {
-					r.push(`Since ${domName} loves having ${his2} breasts attended to, ${subName} pampers ${his2} breasts shamelessly. ${He} spends the week devotedly massaging ${domName}'s ${domRace} breasts with ${his} ${subRace}`);
+					r.push(`${subName} pampers ${his2} breasts shamelessly. ${He} spends the week devotedly massaging ${domName}'s ${domRace} breasts with ${his} ${subRace}`);
 					if (!hasAnyArms(slave)) {
 						r.push(`face,`);
 					} else {
@@ -662,9 +783,15 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			oralUse = jsRandom(9, 12);
 			domSlave.counter.mammary += oralUse;
 			V.mammaryTotal += oralUse;
-		} else if (slave.balls !== 0 && ((slave.chastityPenis === 0 && slave.dick > 0) || (slave.chastityVagina === 0)) && domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "cumslut") {
+		} else if (slave.balls !== 0 && ((slave.chastityPenis === 0 && slave.dick > 0) || (slave.chastityVagina === 0)) && domSlave.fetishStrength > 60 && domSlave.fetish === "cumslut") {
 			if (canAchieveErection(slave)) {
-				r.push(`Since ${domName} loves cum, and ${subName} has a dick, ${domName} has ${his2} own private semen dispenser. ${domName} sometimes gets tired of having to work hard for cum, so ${he2} spends the week`);
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves cum, and ${subName} has a dick,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes cum,</span> and ${subName} has a dick, so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`${domName} has ${his2} own private semen dispenser. ${domName} sometimes gets tired of having to work hard for cum, so ${he2} spends the week`);
 				if (hasAnyArms(domSlave)) {
 					r.push(`stimulating poor ${subName}'s`);
 				} else {
@@ -677,8 +804,20 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 				r.push(`to force ${him} to climax so ${domName} can wrap ${his2} ${domRace} lips around ${subName}'s ${subRace} dickhead to suck down ${his2} cum. <span class="hotpink">${domName} enjoys having a servile dick on demand.</span>`);
 			} else if (slave.dick > 0 && !canAchieveErection(slave)) {
-				r.push(`Since ${domName} loves cum, and ${subName} has a dick, ${domName} has ${his2} own private semen dispenser, even if it's rather limp. ${domName} sometimes gets tired of having to work hard for cum, so ${he2} spends the week making ${subName} painstakingly bring ${his} flaccid dick almost to orgasm before ${domName} wraps ${his2} ${domRace} lips around ${subName}'s ${subRace} soft dickhead to suck down the cum. <span class="hotpink">${domName} enjoys having a servile dick on demand.</span>`);
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves cum, and ${subName} has a dick,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes cum,</span> and ${subName} has a dick, so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`${domName} has ${his2} own private semen dispenser, even if it's rather limp. ${domName} sometimes gets tired of having to work hard for cum, so ${he2} spends the week making ${subName} painstakingly bring ${his} flaccid dick almost to orgasm before ${domName} wraps ${his2} ${domRace} lips around ${subName}'s ${subRace} soft dickhead to suck down the cum. <span class="hotpink">${domName} enjoys having a servile dick on demand.</span>`);
 			} else {
+				if (domFetishKnown) {
+					r.push(`Since ${domName} loves cum, and ${subName} has balls,`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes cum,</span> and ${subName} has balls, so`);
+					domSlave.fetishKnown = 1;
+				}
 				r.push(`Since ${domName} loves cum, and ${subName} has balls, ${domName} has ${his2} own private semen dispenser. ${domName} sometimes gets tired of having to work hard for cum, so ${he2} spends the week`);
 				if (hasAnyArms(domSlave)) {
 					r.push(`stimulating poor ${subName}'s`);
@@ -701,8 +840,14 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 			penetrativeUse = jsRandom(9, 12);
 			domSlave.counter.oral += penetrativeUse;
 			V.oralTotal += penetrativeUse;
-		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "humiliation" && hasAnyLegs(slave)) {
-			r.push(`${domName} loves being degraded, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+		} else if (domSlave.fetishStrength > 60 && domSlave.fetish === "humiliation" && hasAnyLegs(slave)) {
+			if (domFetishKnown) {
+				r.push(`Since ${domName} loves being degraded, and`);
+			} else {
+				r.push(`${domName}, it turns out, <span class="lightcoral">really likes being degraded,</span> so`);
+				domSlave.fetishKnown = 1;
+			}
+			r.push(`the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
 			if (canWalk(domSlave)) {
 				r.push(`escorts ${him} to the cafeteria for lunch`);
 			} else {
@@ -831,27 +976,15 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				V.oralTotal += fuckCount;
 			}
 			r.push(`The lewdness eminating from beneath the table is not lost on the other diners, <span class="hotpink">much to ${domName}'s enjoyment.</span>`);
-		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "masochist" && hasAnyLimbs(slave)) {
-			r.push(`${domName} loves pain, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
-			if (canHold(domSlave)) {
-				r.push(`hands ${him}`);
-			} else if (canTalk(domSlave)) {
-				r.push(`orders ${him} to pick up`);
-			} else {
-				r.push(`gestures at`);
-			}
-			r.push(`${his2} favorite crop and implores ${subName} to punish ${him2}; ${domName} has been bad and ${subName} needs to teach ${him2} a lesson. ${subName} spends a long and <span class="trust inc">empowering</span> week learning new ways to <span class="red">inflict pain</span> on someone, not that the <span class="hotpink">thoroughly bruised ${domName} will complain.</span>`);
-			slave.trust += 1;
-			healthDamage(domSlave, 3);
-			if (slave.need && slave.fetishKnown) {
-				if (slave.fetish === "submissive" || slave.fetish === "masochist") {
-					r.push(`${subName} needs this kind of treatment to be truly sexually satisfied; this week, ${his} desire for abuse is sated.`);
-					slave.need = 0;
-				}
-			}
-		} else if (domSlave.fetishKnown === 1 && domSlave.fetishStrength > 60 && domSlave.fetish === "pregnancy") {
+		} else if (domSlave.fetishStrength > 60 && domSlave.fetish === "pregnancy") {
 			if (canImpreg(slave, domSlave)) {
-				r.push(`${domName} loves pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (domFetishKnown) {
+					r.push(`${domName} loves pregnancy, and`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes pregnancy,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
 				if (hasAnyArms(domSlave)) {
 					r.push(`pushes ${him} down,`);
 				} else if (hasBothLegs(slave)) {
@@ -875,8 +1008,14 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 				}
 			} else if (domslave.pregKnown === 1 || slave.belly > 10000 || slave.bellyPreg >= 1500) {
 				if (domSlave.pregKnown === 1) {
+					if (domFetishKnown) {
+						r.push(`Since ${domName} is pregnant,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes ${his2} pregnancy,</span> so`);
+						domSlave.fetishKnown = 1;
+					}
 					if (slave.devotion < -20) {
-						r.push(`Since ${domName} is pregnant, ${subName} finds ${himself} forced to`);
+						r.push(`${subName} finds ${himself} forced to`);
 						if (!hasAnyArms(slave)) {
 							r.push(`nuzzle and lick`);
 						} else {
@@ -890,7 +1029,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						}
 						r.push(`but ${domName} insists. <span class="hotpink">${domName} enjoys being able to force ${subName} to attend to ${his2} gravidity.</span>`);
 					} else if (slave.devotion <= 50) {
-						r.push(`Since ${domName} is pregnant, ${subName} finds ${himself}`);
+						r.push(`${subName} finds ${himself}`);
 						if (!hasAnyArms(slave)) {
 							r.push(`nuzzling and licking`);
 						} else {
@@ -904,7 +1043,7 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						}
 						r.push(`to ${domName}'s languorous pleasure. <span class="hotpink">${domName} enjoys having ${subName} to attend to ${his2} gravidity.</span>`);
 					} else {
-						r.push(`Since ${domName} is pregnant, ${subName} pampers ${his2} ${bellyAdjective(domSlave)} middle shamelessly. ${He} spends the week devotedly massaging ${domName}'s ${domRace} middle with ${his} ${subRace}`);
+						r.push(`${subName} pampers ${his2} ${bellyAdjective(domSlave)} middle shamelessly. ${He} spends the week devotedly massaging ${domName}'s ${domRace} middle with ${his} ${subRace}`);
 						if (!hasAnyArms(slave)) {
 							r.push(`face,`);
 						} else {
@@ -925,7 +1064,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 						r.push(`as ${he} goes to sleep, which sometimes results in less sleep for both as the fondling continues long into the night. <span class="hotpink">${domName} enjoys having ${subName} to attend to ${his2} gravidity.</span>`);
 					}
 				} else {
-					r.push(`Since ${domName} loves pregnant ${girl}s, and ${subName} just so happens to be a pregnant ${girl}, ${domName} spends the week fucking ${him}.`);
+					if (domFetishKnown) {
+						r.push(`Since ${domName} loves pregnant ${girl}s,`);
+					} else {
+						r.push(`${domName}, it turns out, <span class="lightcoral">really likes pregnant ${girl}s,</span>`);
+						domSlave.fetishKnown = 1;
+					}
+					r.push(`and ${subName} just so happens to be a pregnant ${girl}, so ${domName} spends the week fucking ${him}.`);
 					if (slave.devotion < -20) {
 						r.push(`${domName}'s ${domRace} body atop ${subName}'s swollen ${subRace} form is a frequent sight as ${domName} takes ${his2} pleasure. <span class="hotpink">${domName} enjoys being able to use ${subName} and ${his} ${bellyAdjective(slave)} belly.</span>`);
 					} else if (slave.devotion <= 50) {
@@ -945,7 +1090,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					}
 				}
 			} else if (canImpreg(domSlave, slave)) {
-				r.push(`${domName} loves pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (domFetishKnown) {
+					r.push(`${domName} loves pregnancy, and`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes pregnancy,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
 				if (hasAnyLimbs(domSlave)) {
 					r.push(`pushes ${him} down`);
 				} else {
@@ -970,7 +1121,13 @@ App.SlaveAssignment.serveYourOtherSlaves = (function() {
 					V.vaginalTotal += fuckCount;
 				}
 			} else {
-				r.push(`${domName} adores pregnancy, and the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
+				if (domFetishKnown) {
+					r.push(`${domName} adores pregnancy, and`);
+				} else {
+					r.push(`${domName}, it turns out, <span class="lightcoral">really likes pregnancy,</span> so`);
+					domSlave.fetishKnown = 1;
+				}
+				r.push(`the first indication ${subName} gets of what ${he}'s in for this week is when ${domName}`);
 				if (canWalk(domSlave)) {
 					if (domName.mpreg > 0 || domName.ovaries > 0) {
 						r.push(`pushes a full-term belly into ${subName}'s back and`);
-- 
GitLab