From 4e5238573e8b320f32f6799446a0956b0c5d96a0 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Sun, 23 Sep 2018 18:55:02 -0700
Subject: [PATCH] Nursery stuff

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

diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw
index a2dd7dc0faf..7329f043eb6 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 ($PC.dick != 0 && $activeSlave.eggType == "human")>>
+		<<if canImpreg($activeSlave, $PC)>>
 		| <<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>>$himselfLisp<</if>><<else>><<if _primarySlaveLisp>>_himself2Lisp<<else>>_himself2<</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 "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>>$HimselfLisp<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
+<<widget "Himself">><<if ndef $args[0]>><<if _secondarySlaveLisp>>_HimselfLisp<<else>>$Himself<</if>><<else>><<if _primarySlaveLisp>>_Himself2Lisp<<else>>_Himself2<</if>><</if>><</widget>>
 
 /%
  Call as <<EventFetish>>
@@ -757,131 +757,7 @@ This experience
  $args[2]: Bonus multiplier. (Optional)
  %/
 <<widget "FSChange">>
-<<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>>
-
+	<<= FSChange($args[0], $args[1], $args[2])>>
 <</widget>>
 
 /%
@@ -890,9 +766,7 @@ 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]! */
@@ -948,13 +822,13 @@ This experience
 <<if $club > 0>><<run ValidateFacilityDecoration("clubDecoration")>><</if>>
 <<if $dairy > 0>><<run ValidateFacilityDecoration("dairyDecoration")>><</if>>
 <<if $spa > 0>><<run ValidateFacilityDecoration("spaDecoration")>><</if>>
+<<if $nursery > 0>><<run ValidateFacilityDecoration("nurseryDecoration")>><</if>>
 <<if $clinic > 0>><<run ValidateFacilityDecoration("clinicDecoration")>><</if>>
 <<if $schoolroom > 0>><<run ValidateFacilityDecoration("schoolroomDecoration")>><</if>>
 <<if $cellblock > 0>><<run ValidateFacilityDecoration("cellblockDecoration")>><</if>>
 <<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