From f1b087dcb6d380966e5db6fe5a27ba96e172ae9f Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Sat, 22 Sep 2018 18:52:11 -0700
Subject: [PATCH] Nursery changes (maybe, not sure if I've actually changed
 anything)

---
 src/utility/miscWidgets.tw | 137 +++++++++++++++++++++++++++++++++++--
 1 file changed, 132 insertions(+), 5 deletions(-)

diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index fe4f3ab5ac7..a2dd7dc0faf 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/miscWidgets.tw
@@ -24,7 +24,7 @@
 <<widget "SlaveInteractImpreg">>
 <<replace #impreg>>
 	<<if (canGetPregnant($activeSlave)) && ($activeSlave.fuckdoll == 0) && $seePreg != 0>>
-		<<if canImpreg($activeSlave, $PC)>>
+		<<if ($PC.dick != 0 && $activeSlave.eggType == "human")>>
 		| <<link "Impregnate her yourself">><<replace "#miniscene">><<include "FPCImpreg">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><<SlaveInteractImpreg>><<SlaveInteractFertility>><</link>>
 		<</if>>
 		<<if canImpreg($activeSlave, $activeSlave)>>
@@ -677,11 +677,11 @@
 <<widget "he">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_heLisp<<else>>$he<</if>><<else>><<if _primarySlaveLisp>>_he2Lisp<<else>>_he2<</if>><</if>><</widget>>
 <<widget "his">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_hisLisp<<else>>$his<</if>><<else>><<if _primarySlaveLisp>>_his2Lisp<<else>>_his2<</if>><</if>><</widget>>
 <<widget "hers">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_hersLisp<<else>>$hers<</if>><<else>><<if _primarySlaveLisp>>_hers2Lisp<<else>>_hers2<</if>><</if>><</widget>>
-<<widget "himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_himselfLisp<<else>>$himself<</if>><<else>><<if _primarySlaveLisp>>_himself2Lisp<<else>>_himself2<</if>><</if>><</widget>>
+<<widget "himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_himselfLisp<<else>>$himselfLisp<</if>><<else>><<if _primarySlaveLisp>>_himself2Lisp<<else>>_himself2<</if>><</if>><</widget>>
 <<widget "He">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HeLisp<<else>>$He<</if>><<else>><<if _primarySlaveLisp>>_He2Lisp<<else>>_He2<</if>><</if>><</widget>>
 <<widget "His">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HisLisp<<else>>$His<</if>><<else>><<if _primarySlaveLisp>>_His2Lisp<<else>>_His2<</if>><</if>><</widget>>
 <<widget "Hers">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HersLisp<<else>>$Hers<</if>><<else>><<if _primarySlaveLisp>>_Hers2Lisp<<else>>_Hers2<</if>><</if>><</widget>>
-<<widget "Himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HimselfLisp<<else>>$Himself<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
+<<widget "Himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HimselfLisp<<else>>$HimselfLisp<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
 
 /%
  Call as <<EventFetish>>
@@ -757,7 +757,131 @@ This experience
  $args[2]: Bonus multiplier. (Optional)
  %/
 <<widget "FSChange">>
-	<<= FSChange($args[0], $args[1], $args[2])>>
+<<switch $args[0]>>
+<<case "Supremacist">>
+	<<if Number.isFinite($arcologies[0].FSSupremacist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSupremacist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSSupremacist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Subjugationist">>
+	<<if Number.isFinite($arcologies[0].FSSubjugationist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSubjugationist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSSubjugationist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "GenderRadicalist">>
+	<<if Number.isFinite($arcologies[0].FSGenderRadicalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderRadicalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSGenderRadicalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "GenderFundamentalist">>
+	<<if Number.isFinite($arcologies[0].FSGenderFundamentalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSGenderFundamentalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSGenderFundamentalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Paternalist">>
+	<<if Number.isFinite($arcologies[0].FSPaternalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPaternalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSPaternalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Degradationist">>
+	<<if Number.isFinite($arcologies[0].FSDegradationist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSDegradationist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSDegradationist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "AssetExpansionist">>
+	<<if Number.isFinite($arcologies[0].FSAssetExpansionist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAssetExpansionist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSAssetExpansionist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "SlimnessEnthusiast">>
+	<<if Number.isFinite($arcologies[0].FSSlimnessEnthusiast)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSSlimnessEnthusiast/$FSLockinLevel)>>
+		<<set $arcologies[0].FSSlimnessEnthusiast += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "TransformationFetishist">>
+	<<if Number.isFinite($arcologies[0].FSTransformationFetishist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSTransformationFetishist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSTransformationFetishist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "BodyPurist">>
+	<<if Number.isFinite($arcologies[0].FSBodyPurist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSBodyPurist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSBodyPurist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "MaturityPreferentialist">>
+	<<if Number.isFinite($arcologies[0].FSMaturityPreferentialist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSMaturityPreferentialist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSMaturityPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "YouthPreferentialist">>
+	<<if Number.isFinite($arcologies[0].FSYouthPreferentialist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSYouthPreferentialist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSYouthPreferentialist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Pastoralist">>
+	<<if Number.isFinite($arcologies[0].FSPastoralist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPastoralist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSPastoralist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "PhysicalIdealist">>
+	<<if Number.isFinite($arcologies[0].FSPhysicalIdealist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSPhysicalIdealist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSPhysicalIdealist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "ChattelReligionist">>
+	<<if Number.isFinite($arcologies[0].FSChattelReligionist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChattelReligionist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSChattelReligionist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "RomanRevivalist">>
+	<<if Number.isFinite($arcologies[0].FSRomanRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRomanRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSRomanRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "AztecRevivalist">>
+	<<if Number.isFinite($activeArcology.FSAztecRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSAztecRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSAztecRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "EgyptianRevivalist">>
+	<<if Number.isFinite($arcologies[0].FSEgyptianRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSEgyptianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "EdoRevivalist">>
+	<<if Number.isFinite($arcologies[0].FSEdoRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSEdoRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSEdoRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "ArabianRevivalist">>
+	<<if Number.isFinite($arcologies[0].FSArabianRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSArabianRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSArabianRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "ChineseRevivalist">>
+	<<if Number.isFinite($arcologies[0].FSChineseRevivalist)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSChineseRevivalist/$FSLockinLevel)>>
+		<<set $arcologies[0].FSChineseRevivalist += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Repopulationist">>
+	<<if Number.isFinite($arcologies[0].FSRepopulationFocus)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRepopulationFocus/$FSLockinLevel)>>
+		<<set $arcologies[0].FSRepopulationFocus += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Eugenics">>
+	<<if Number.isFinite($arcologies[0].FSRestart)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSRestart/$FSLockinLevel)>>
+		<<set $arcologies[0].FSRestart += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<case "Hedonism">>
+	<<if Number.isFinite($arcologies[0].FSHedonisticDecadence)>>
+		<<set $rep += $args[1]*$FSSingleSlaveRep*($arcologies[0].FSHedonisticDecadence/$FSLockinLevel)>>
+		<<set $arcologies[0].FSHedonisticDecadence += 0.05*$args[1]*$FSSingleSlaveRep*($args[2] || 1)>>
+	<</if>>
+<<default>>
+	@@.red;ERROR: bad FS reference $args[0]@@
+<</switch>>
+
 <</widget>>
 
 /%
@@ -766,7 +890,9 @@ This experience
  $args[1]: Magnitude.
 %/
 <<widget "FSChangePorn">>
-	<<= FSChange($args[0], $args[1], $pornFameBonus)>>
+
+<<FSChange $args[0] $args[1] $pornFameBonus>>
+
 <</widget>>
 
 /* Called as <<FSChangeDecoration "FSName" "clothesBoughtFSClothes">>, will generate description of current decoration level and a link to increase it if applicable, quotes are needed to pass FSName as reference - DO NOT INCLUDE IT AS PROPERTY OF $arcologies[0]! */
@@ -828,6 +954,7 @@ This experience
 <<if $servantsQuarters > 0>><<run ValidateFacilityDecoration("servantsQuartersDecoration")>><</if>>
 <<if $arcade > 0>><<run ValidateFacilityDecoration("arcadeDecoration")>><</if>>
 <<if $masterSuite > 0>><<run ValidateFacilityDecoration("masterSuiteDecoration")>><</if>>
+<<if $nursery > 0>><<run ValidateFacilityDecoration("nurseryDecoration")>><</if>>
 
 <</widget>>
 
-- 
GitLab