From efa31bfb2912fde3a923e1a6eb67f4dbcbcf9627 Mon Sep 17 00:00:00 2001
From: klorpa <30924131+klorpa@users.noreply.github.com>
Date: Sun, 19 May 2019 21:15:51 -0500
Subject: [PATCH] FinderPush

---
 src/endWeek/saChoosesOwnClothes.js          | 32 +++++++++++
 src/endWeek/saServeThePublic.js             |  2 +-
 src/endWeek/saWhore.js                      |  2 +-
 src/endWeek/saWorkTheFarm.js                |  2 +-
 src/facilities/nursery/nurseryWorkaround.tw | 60 ++++++++++-----------
 src/js/vignettes.js                         | 31 ++++++++++-
 src/uncategorized/clubReport.tw             | 18 +++----
 src/uncategorized/seExpiration.tw           |  2 +-
 8 files changed, 105 insertions(+), 44 deletions(-)

diff --git a/src/endWeek/saChoosesOwnClothes.js b/src/endWeek/saChoosesOwnClothes.js
index 980f38f9dac..173a6fa47ce 100644
--- a/src/endWeek/saChoosesOwnClothes.js
+++ b/src/endWeek/saChoosesOwnClothes.js
@@ -565,6 +565,7 @@ window.saChoosesOwnClothes = (function() {
 					wardrobeFS.push({text: `and wears chains, to degrade ${himself} as required by your societal goals.`, clothes: "chains"});
 					wardrobeFS.push({text: `and binds ${himself} with a set of uncomfortable straps.`, clothes: "uncomfortable straps"});
 					wardrobeFS.push({text: `and binds ${himself} with a set of uncomfortable ropes.`, clothes: "shibari ropes"});
+					wardrobeFS.push({text: `and wears no clothes at all, since your society doesn't feel ${he} deserves any.`, clothes: "no clothing"});
 				}
 				if (V.arcologies[0].FSMaturityPreferentialist > 0) {
 					if (slave.visualAge >= 30) {
@@ -665,6 +666,27 @@ window.saChoosesOwnClothes = (function() {
 						if (isItemAccessible("a kimono")) {
 							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a kimono"});
 						}
+						if (isItemAccessible("a hanbok")) {
+							wardrobeAssignment.push({text: `and wears one of the beautiful folk costumes of the asian race.`, clothes: "a hanbok"});
+						}
+					}
+				}
+				
+				if (V.arcologies[0].FSSubjugationist > 0) {
+					if (V.arcologies[0].FSSubjugationistRace === "black") {
+						if (isItemAccessible("a klan robe")) {
+							wardrobeFS.push({text: `and wears a costume associated with anti-black societies of the past.`, clothes: "a klan robe"});
+						}
+						if (isItemAccessible("a slutty klan robe")) {
+							wardrobeFS.push({text: `and wears a costume associated with anti-black societies of the past.`, clothes: "a slutty klan robe"});
+						}
+					} else if (V.arcologies[0].FSSubjugationistRace === "semitic") {
+						if (isItemAccessible("a schutzstaffel uniform")) {
+							wardrobeFS.push({text: `and wears a costume associated with anti-semitic societies of the past.`, clothes: "a schutzstaffel uniform"});
+						}
+						if (isItemAccessible("a slutty schutzstaffel uniform")) {
+							wardrobeFS.push({text: `and wears a costume associated with anti-semitic societies of the past.`, clothes: "a slutty schutzstaffel uniform"});
+						}
 					}
 				}
 
@@ -734,6 +756,9 @@ window.saChoosesOwnClothes = (function() {
 					}
 				} else if (slave.behavioralFlaw === "devout") {
 					wardrobeTastes.push({text: `and wears something more appropriate for a monastery than a whorehouse.`, clothes: "a penitent nuns habit"});
+					if (isItemAccessible("a burqa")) {
+						wardrobeTastes.push({text: `and chooses an incredibly restricting piece of religious garb.`, clothes: "a burqa"});
+					}
 				}
 
 				if (slave.behavioralQuirk === "sinful") {
@@ -744,6 +769,9 @@ window.saChoosesOwnClothes = (function() {
 
 				if (slave.sexualFlaw === "shamefast") {
 					wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a hijab and abaya"});
+					if (isItemAccessible("a burqa")) {
+						wardrobeTastes.push({text: `and chooses an outfit that covers ${him} up as much as possible.`, clothes: "a burqa"});
+					}
 				} else if (slave.sexualFlaw === "breeder") {
 					if (isItemAccessible("attractive lingerie for a pregnant woman")) {
 						wardrobeTastes.push({text: `and wears lingerie designed to accommodate pregnancies, hoping that others get the hint.`, clothes: "attractive lingerie for a pregnant woman"});
@@ -927,6 +955,10 @@ window.saChoosesOwnClothes = (function() {
 					if (isItemAccessible("a kimono")) {
 						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a kimono"});
 					}
+				} else if (slave.nationality === "Mongolian") {
+					if (isItemAccessible("a biyelgee costume")) {
+						wardrobeTastes.push({text: `and chooses an outfit that makes ${him} feel oddly nostalgic.`, clothes: "a biyelgee costume"});
+					}
 				}
 			}
 			/* Separated in three categories in case you want to, say, increase the probability of choosing _wardrobeAssignment to look more professional*/
diff --git a/src/endWeek/saServeThePublic.js b/src/endWeek/saServeThePublic.js
index 51482125667..2c54aa55d6c 100644
--- a/src/endWeek/saServeThePublic.js
+++ b/src/endWeek/saServeThePublic.js
@@ -34,7 +34,7 @@ window.saServeThePublic = (function saServeThePublic() {
 
 		gatherStatistics(slave);
 		if (slave.assignment === "serve in the club") {
-			// By being at the end, every slave after the first will get a bonus. By moving it up, the first can enjoy it too. slaveJobValues() checks Edo Rivalist, so here we are.
+			// By being at the end, every slave after the first will get a bonus. By moving it up, the first can enjoy it too. slaveJobValues() checks Edo Revivalist, so here we are.
 			applyFSDecoration(slave);
 		}
 		addRep(slave);
diff --git a/src/endWeek/saWhore.js b/src/endWeek/saWhore.js
index 4e1c1f70eaf..2cc8bfc1ab9 100644
--- a/src/endWeek/saWhore.js
+++ b/src/endWeek/saWhore.js
@@ -42,7 +42,7 @@ window.saWhore = (function saWhore() {
 		gatherStatistics(slave);
 		updateNonSlaveVariables(slave); // must be run before applyFSDecoration() or you will face NaNs
 		if (slave.assignment === "work in the brothel" || slave.assignment === "be the Madam") {
-			// By being at the end, every slave after the first will get a bonus. By moving it up, the first can enjoy it too. slaveJobValues() checks Edo Rivalist, so here we are.
+			// By being at the end, every slave after the first will get a bonus. By moving it up, the first can enjoy it too. slaveJobValues() checks Edo Revivalist, so here we are.
 			applyFSDecoration(slave);
 		}
 		addCash(slave);
diff --git a/src/endWeek/saWorkTheFarm.js b/src/endWeek/saWorkTheFarm.js
index ecf0c783761..f62056a106b 100644
--- a/src/endWeek/saWorkTheFarm.js
+++ b/src/endWeek/saWorkTheFarm.js
@@ -407,7 +407,7 @@ window.saWorkTheFarm = function saWorkTheFarm(slave) {
 			// TODO: write this
 		} else if (slave.fetish === "masochist") {
 			// TODO: write this
-		} // TODO: incoroporate quirks
+		} // TODO: incorporate quirks
 	}
 
 	// Close Shows
diff --git a/src/facilities/nursery/nurseryWorkaround.tw b/src/facilities/nursery/nurseryWorkaround.tw
index 2a06020421d..29edee3c273 100644
--- a/src/facilities/nursery/nurseryWorkaround.tw
+++ b/src/facilities/nursery/nurseryWorkaround.tw
@@ -13,15 +13,15 @@
 		<<set _tempDad = getSlave($activeSlave.father)>>
 	<</if>>
 	<br>Choose a name for $him. <<textbox "$activeSlave.slaveName" $activeSlave.slaveName>>
-		<<link "Commit name.">>
+	<<link "Commit name.">>
 		<<set $activeSlave.birthName = $activeSlave.slaveName>>
 		<<replace "#naming">>
-		You instruct $assistantName to register the new $girl as "<<print $activeSlave.slaveName>>" in the slave registry.
+			You instruct $assistantName to register the new $girl as "<<print $activeSlave.slaveName>>" in the slave registry.
 		<</replace>>
 		<<replace "#newName">>
 			''__@@.pink;$activeSlave.slaveName@@__''
 		<</replace>>
-		<</link>>
+	<</link>>
 	<br><<link "Have your PA assign $him a random name">>
 		<<replace "#naming">>
 			<<NewChildName $activeSlave>>
@@ -34,23 +34,23 @@
 	<<if $arcologies[0].FSPastoralist != "unset">>
 		<<if $activeSlave.lactation > 0>>
 			<br><<link "Have your PA assign $him a random cow name">>
-			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.cowSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
-			<</replace>>
-			<<replace "#newName">>
-				''__@@.pink;$activeSlave.slaveName@@__''
-			<</replace>>
+				<<replace "#naming">>
+					<<set $activeSlave.slaveName = setup.cowSlaveNames.random()>>
+					<<set $activeSlave.birthName = $activeSlave.slaveName>>
+					$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<</replace>>
+				<<replace "#newName">>
+					''__@@.pink;$activeSlave.slaveName@@__''
+				<</replace>>
 			<</link>>
 		<</if>>
 	<</if>>
 	<<if $arcologies[0].FSChattelReligionist != "unset">>
 		<br><<link "Have your PA assign $him a random devotional name">>
 			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.chattelReligionistSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<set $activeSlave.slaveName = setup.chattelReligionistSlaveNames.random()>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -60,9 +60,9 @@
 	<<if $arcologies[0].FSRomanRevivalist != "unset">>
 		<br><<link "Have your PA assign $him a random Roman name">>
 			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.romanSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<set $activeSlave.slaveName = setup.romanSlaveNames.random()>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -71,9 +71,9 @@
 	<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
 		<br><<link "Have your PA assign $him a random Aztec name">>
 			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.aztecSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<set $activeSlave.slaveName = setup.aztecSlaveNames.random()>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -82,9 +82,9 @@
 	<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
 		<br><<link "Have your PA assign $him a random ancient Egyptian name">>
 			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.ancientEgyptianSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<set $activeSlave.slaveName = setup.ancientEgyptianSlaveNames.random()>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -93,9 +93,9 @@
 	<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
 		<br><<link "Have your PA assign $him a random feudal Japanese name">>
 			<<replace "#naming">>
-			<<set $activeSlave.slaveName = setup.edoSlaveNames.random()>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<set $activeSlave.slaveName = setup.edoSlaveNames.random()>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -105,9 +105,9 @@
 	<<if $arcologies[0].FSDegradationist != "unset">>
 		<br><<link "Have your PA assign $him a degrading name">>
 			<<replace "#naming">>
-			<<run DegradingName($activeSlave)>>
-			<<set $activeSlave.birthName = $activeSlave.slaveName>>
-			$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
+				<<run DegradingName($activeSlave)>>
+				<<set $activeSlave.birthName = $activeSlave.slaveName>>
+				$assistantName registers the new $girl as "<<print $activeSlave.slaveName>>" in your registry.
 			<</replace>>
 			<<replace "#newName">>
 				''__@@.pink;$activeSlave.slaveName@@__''
@@ -174,7 +174,7 @@
 		<</if>>
 	<</if>>
 	<<if $activeSlave.father > 0 && $activeSlave.father != $activeSlave.mother>>
-	<<setLocalPronouns _tempDad 2>>
+		<<setLocalPronouns _tempDad 2>>
 		<<if _tempDad.ID == $Concubine.ID>>
 			<br><<link "Permit your Concubine to name _his2 daughter">>
 				<<replace "#naming">>
diff --git a/src/js/vignettes.js b/src/js/vignettes.js
index 734f7747dc6..f318530319e 100644
--- a/src/js/vignettes.js
+++ b/src/js/vignettes.js
@@ -3501,6 +3501,18 @@ window.GetVignette = function GetVignette(slave) {
 				effect: 1,
 			});
 		}
+		if (!canSee(slave)) {
+			vignettes.push({
+				text: `without the power of sight, ${he} routinely failed to spot dirt and grime that other slaves would have noticed,`,
+				type: "rep",
+				effect: -1,
+			});
+			vignettes.push({
+				text: `${he} routinely kept cleaning well after other slaves would have stopped, simply because ${he} couldn't see how much work had been done already,`,
+				type: "rep",
+				effect: 1,
+			});
+		}
 		vignettes.push({
 			text: `${he} was ordered to clean the many erotically shaped statues around the arcology. ${He} put on a good show, waxing the many tits, asses, and cocks with gusto,`,
 			type: "rep",
@@ -3574,6 +3586,23 @@ window.GetVignette = function GetVignette(slave) {
 				effect: -1,
 			});
 		}
+		if (canHear(slave)) {
+			vignettes.push({
+				text: `${he} was disturbed by the sounds from all the machinery around ${him},`,
+				type: "devotion",
+				effect: -1,
+			});
+		}
+		vignettes.push({
+			text: `${his} milking machine broke down and had to be repaired,`,
+			type: "cash",
+			effect: -1,
+		});
+		vignettes.push({
+			text: `${he} stumbled across a (waterlogged and unsanitary) wad of money,`,
+			type: "cash",
+			effect: 1,
+		});
 		vignettes.push({
 			text: `very little of interest happened because the life of a dairy cow is often really boring,`,
 			type: "rep",
@@ -3734,7 +3763,7 @@ window.GetVignette = function GetVignette(slave) {
 		if (slave.relationship === -2) {
 			if (slave.speechRules === "permissive") {
 				vignettes.push({
-					text: `${he} spent most of ${his} time fan${boy}ing obsessively about you to everyone ${he} can,`,
+					text: `${he} spent most of ${his} time fan${boy}ing obsessively about you to everyone ${he} could,`,
 					type: "rep",
 					effect: 1,
 				});
diff --git a/src/uncategorized/clubReport.tw b/src/uncategorized/clubReport.tw
index c8d1addf179..c7be6ad48fd 100644
--- a/src/uncategorized/clubReport.tw
+++ b/src/uncategorized/clubReport.tw
@@ -527,9 +527,9 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsXX == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_XX > 0) && (_XY > 0) && (Math.abs(_XX-_XY) <= (_DL/3))>>
-				<<set $clubBonuses++>>
-				<<run repX(_DL*random(5,10), "club")>>
-				The club offers a @@.green;mix@@ of sluts that can appeal to varied tastes in genitalia.
+					<<set $clubBonuses++>>
+					<<run repX(_DL*random(5,10), "club")>>
+					The club offers a @@.green;mix@@ of sluts that can appeal to varied tastes in genitalia.
 				<</if>>
 			<</if>>
 			Most customers don't have preferences for either girls with dicks or girls with pussies.
@@ -603,9 +603,9 @@
 			<<if ($clubAdsSpending == 0) || ($clubAdsOld == 0)>>
 				<<set _possibleBonuses++>>
 				<<if (_young > 0) && (_old > 0) && (Math.abs(_young-_old) <= (_DL/3))>>
-				<<set $clubBonuses++>>
-				<<run repX(_DL*random(5,10), "club")>>
-				There are girls @@.green;both@@ young and mature in $clubName.
+					<<set $clubBonuses++>>
+					<<run repX(_DL*random(5,10), "club")>>
+					There are girls @@.green;both@@ young and mature in $clubName.
 				<</if>>
 			<</if>>
 		<</if>>
@@ -673,9 +673,9 @@
 				<<if ($clubAdsSpending == 0) || ($clubAdsPreg == 0)>>
 					<<set _possibleBonuses++>>
 					<<if (_pregYes > 0) && (_pregNo > 0) && (Math.abs(_pregYes-_pregNo) <= (_DL/3))>>
-					<<set $clubBonuses++>>
-					<<run repX(_DL*random(5,10), "club")>>
-					There is a @@.green;wide@@ selection of slaves with a variety of middles working the club.
+						<<set $clubBonuses++>>
+						<<run repX(_DL*random(5,10), "club")>>
+						There is a @@.green;wide@@ selection of slaves with a variety of middles working the club.
 					<</if>>
 				<</if>>
 			<</if>>
diff --git a/src/uncategorized/seExpiration.tw b/src/uncategorized/seExpiration.tw
index 7c19049177e..d0e80f1c663 100644
--- a/src/uncategorized/seExpiration.tw
+++ b/src/uncategorized/seExpiration.tw
@@ -75,7 +75,7 @@ $activeSlave.slaveName's indentured servitude is ending this week, meaning that
 	<<if !canTalk($activeSlave)>>
 		$He does $his best to communicate an earnest desire to stay, and repeats over and over that $he loves you. $He begins to indicate a willingness to accept true, unlimited slavery, if that's what it takes to stay.
 	<<else>>
-		"Plea<<s>>e <<Master>>, don't <<s>>end me away," $he sobs. "I love you! I'll d-do anything — I'll be your <<s>>lave! Plea<<s>>e, en<<s>>lave me. I l-love you...," $he moans, trailing off into convulsive blubbering.
+		"Plea<<s>>e <<Master>>, don't <<s>>end me away," $he sobs. "I love you! I'll d-do anything — I'll be your <<s>>lave! Plea<<s>>e, en<<s>>lave me. I l-love you..." $he moans, trailing off into convulsive blubbering.
 	<</if>>
 	<br><br>
 
-- 
GitLab