From d2c718de9d481d1a7d5775c01c2fd1a31aa6215a Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Wed, 10 May 2017 03:43:19 -0400
Subject: [PATCH] Massive beauty overhaul in regards to assets.

---
 devNotes/beauty-test        |  81 ++++++-------
 src/utility/assayWidgets.tw | 228 ++++++++++++++++++++++++------------
 2 files changed, 189 insertions(+), 120 deletions(-)

diff --git a/devNotes/beauty-test b/devNotes/beauty-test
index 04479ab52d9..32921eee55e 100644
--- a/devNotes/beauty-test
+++ b/devNotes/beauty-test
@@ -197,8 +197,6 @@
 	<<set $beauty += (15+($args[0].butt/4))>> /*20*/
 <</if>>
 
-
-/* WIP Content! */
 /* Cock + Balls */
 
 <<if ($arcologies[0].FSAssetExpansionist > 20) && $arcologies[0].FSGenderFundamentalist == "unset">>
@@ -254,12 +252,6 @@
 	<</if>>
 <</if>>
 
-<<if $arcologies[0].FSRestart != "unset">> /* Eugenics does not like slaves having working balls */
-	<<if $args[0].balls > 0 && $args[0].ballType == "human">>
-		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSRestart/100))>>
-	<</if>>
-<</if>>
-
 /* bonus for dick focused genderrads */
 <<if $arcologies[0].FSGenderRadicalistLawFuta != 0>>
 	<<if ($arcologies[0].FSGenderRadicalistLawFuta == 1)>>
@@ -283,7 +275,6 @@
 			<<set $beauty += $args[0].dick>>
 			<<if $args[0].balls > 0 && $args[0].balls <= 10>>
 				<<set $beauty += $args[0].balls>> /*10*/
-			<</if>>
 			<<elseif $args[0].balls > 120>>
 				<<set $beauty += 14>>
 			<<elseif $args[0].balls > 100>>
@@ -316,9 +307,6 @@
 	<</if>>
 <</if>>
 
-
-/* boobs content */
-
 <<if ($arcologies[0].FSTransformationFetishist > 20 && $arcologies[0].FSSlimnessEnthusiast == "unset") || ($arcologies[0].FSAssetExpansionist > 20)>>
 	<<if $args[0].boobs <= 500>>
 	<<set $beauty += (0.02*($args[0].boobs-250))>>
@@ -465,39 +453,6 @@
 	<</if>>
 <</if>>
 
-<<if ($arcologies[0].FSGenderRadicalist > 20 && $arcologies[0].FSGenderRadicalistLawFuta != 3) || ($arcologies[0].FSSlimnessEnthusiast > 20)>>
-	<<if $args[0].hips < 0>>
-	<<set $beauty += Math.abs($args[0].hips)>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<if $args[0].preg > 5 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
-	<<set $beauty = ($beauty*0.7)>>
-	<</if>>
-<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<if $args[0].shoulders > $args[0].hips>>
-	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
-		<<set $beauty -= ($args[0].shoulders-$args[0].hips)*(1+($arcologies[0].FSGenderFundamentalist/200))>>
-	<</if>>
-	<</if>>
-<<else>>
-	<<if $args[0].shoulders > $args[0].hips>>
-	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
-		<<set $beauty -= $args[0].shoulders-$args[0].hips>>
-	<</if>>
-	<</if>>
-	<<if $args[0].preg > 10 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
-		<<set $beauty = ($beauty*0.8)>>
-	<</if>>
-<</if>>
-
-<<if $arcologies[0].FSPhysicalIdealist != "unset">>
-<<if $args[0].muscles > 30>>
-	<<set $beauty += ($args[0].muscles*($arcologies[0].FSPhysicalIdealist/40))>>
-<</if>>
-<</if>>
-
 <<if $args[0].boobs > 250>>
 <<if $args[0].boobShape == "perky">>
 	<<set $beauty += 1>>
@@ -547,6 +502,42 @@
 	<</if>>
 <</if>>
 
+<<if ($arcologies[0].FSGenderRadicalist > 20 && $arcologies[0].FSGenderRadicalistLawFuta != 3) || ($arcologies[0].FSSlimnessEnthusiast > 20)>>
+	<<if $args[0].hips < 0>>
+	<<set $beauty += Math.abs($args[0].hips)>>
+	<</if>>
+<</if>>
+<<if $arcologies[0].FSRestart != "unset">> /* Eugenics does not like slaves having working balls */
+	<<if $args[0].balls > 0 && $args[0].ballType == "human">>
+		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSRestart/100))>>
+	<</if>>
+<</if>>
+<<if $arcologies[0].FSGenderRadicalist != "unset">>
+	<<if $args[0].preg > 5 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
+	<<set $beauty = ($beauty*0.7)>>
+	<</if>>
+<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
+	<<if $args[0].shoulders > $args[0].hips>>
+	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
+		<<set $beauty -= ($args[0].shoulders-$args[0].hips)*(1+($arcologies[0].FSGenderFundamentalist/200))>>
+	<</if>>
+	<</if>>
+<<else>>
+	<<if $args[0].shoulders > $args[0].hips>>
+	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
+		<<set $beauty -= $args[0].shoulders-$args[0].hips>>
+	<</if>>
+	<</if>>
+	<<if $args[0].preg > 10 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
+		<<set $beauty = ($beauty*0.8)>>
+	<</if>>
+<</if>>
+
+<<if $arcologies[0].FSPhysicalIdealist != "unset">>
+<<if $args[0].muscles > 30>>
+	<<set $beauty += ($args[0].muscles*($arcologies[0].FSPhysicalIdealist/40))>>
+<</if>>
+<</if>>
 <<if $args[0].vagina == 10>>
 	<<set $beauty -= 10>>
 <</if>>
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index d32ab013260..3eff1c27f3c 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -23,7 +23,7 @@
 
 <<if $args[0].fuckdoll == 0>> /* NOT A FUCKDOLL */
 
-<<set $beauty += 150 - ($args[0].visualAge*3) + (5*$args[0].ageImplant) + (Math.min($args[0].health,100)/5) - ($args[0].waist/20) - ($args[0].muscles/30) +($args[0].lips/10) + ($args[0].face/5) +(1.5*$args[0].butt) + ($args[0].clit) + (($args[0].height-160)/10) + ($args[0].voice) + (3*$args[0].intelligence) + ($args[0].entertainSkill/10) + ($args[0].whoreSkill/10) + (2*$args[0].hips)>>
+<<set $beauty += 150 - ($args[0].visualAge*3) + (5*$args[0].ageImplant) + (Math.min($args[0].health,100)/5) - ($args[0].waist/20) - ($args[0].muscles/30) +($args[0].lips/10) + ($args[0].face/5) + ($args[0].clit) + (($args[0].height-160)/10) + ($args[0].voice) + (3*$args[0].intelligence) + ($args[0].entertainSkill/10) + ($args[0].whoreSkill/10) + (2*$args[0].hips)>>
 
 <<if $arcologies[0].FSDegradationist != "unset">>
 	<<set $beauty -= ($arcologies[0].FSDegradationist/10)*$args[0].intelligence>>
@@ -41,17 +41,6 @@
 	<<set $beauty -= 1>>
 <</if>>
 
-<<if $arcologies[0].FSAssetExpansionist != "unset" && $arcologies[0].FSGenderFundamentalist == "unset">>
-	<<if $args[0].dick > 6>>
-		<<set $beauty += Math.trunc($args[0].dick)>>
-	<</if>>
-	<<if $args[0].balls > 10>>
-		<<set $beauty += Math.trunc($args[0].balls/4)>>
-	<</if>>
-<<else>>
-<<set $beauty -= (2*$args[0].dick) + ($args[0].balls)>>
-<</if>>
-
 <<if $args[0].faceShape == "masculine">>
 	<<if ($arcologies[0].FSGenderRadicalist != "unset")>>
 	<<set $beauty -= (2-($arcologies[0].FSGenderRadicalist/25))*($args[0].face/30)>>
@@ -200,22 +189,128 @@
 	
 <<else>> /* FUCKDOLL */
 
-<<set $beauty += 100 + ($args[0].waist/20) - ($args[0].muscles/30) +($args[0].lips/10) + ($args[0].face/10) +(1.5*$args[0].butt) + ($args[0].clit) + (($args[0].height-160)/10) + (2*$args[0].hips)>>
+<<set $beauty += 100 + ($args[0].waist/20) - ($args[0].muscles/30) +($args[0].lips/10) + ($args[0].face/10) + ($args[0].clit) + (($args[0].height-160)/10) + (2*$args[0].hips)>>
+
+<</if>> /* CLOSES FUCKDOLL CHECK */
+
+<<if $args[0].butt <= 10>>
+	<<set $beauty += (1.5*$args[0].butt)>> /*15*/
+<<else>>
+	<<set $beauty += (15+($args[0].butt/4))>> /*20*/
+<</if>>
+
+/* Cock + Balls */
 
-<<if $arcologies[0].FSAssetExpansionist != "unset" && $arcologies[0].FSGenderFundamentalist == "unset">>
-	<<if $args[0].dick > 6>>
-		<<set $beauty += Math.trunc($args[0].dick)>>
+<<if ($arcologies[0].FSAssetExpansionist > 20) && $arcologies[0].FSGenderFundamentalist == "unset">>
+	<<if $args[0].dick >= 20>>
+		<<set $beauty += 17+($args[0].dick*($arcologies[0].FSAssetExpansionist/500))>> /*23*/
+	<<elseif $args[0].dick >= 10>>
+		<<set $beauty += 10+($args[0].dick*($arcologies[0].FSAssetExpansionist/300))>> /*16.3*/
+	<<elseif $args[0].dick > 6>>
+		<<set $beauty += $args[0].dick*(1+($arcologies[0].FSAssetExpansionist/100))>> /*10*/
 	<</if>>
-	<<if $args[0].balls > 10>>
-		<<set $beauty += Math.trunc($args[0].balls/4)>>
+	<<if $args[0].balls > 100>>
+		<<set $beauty += 41+($args[0].balls*($arcologies[0].FSAssetExpansionist/500))>> /*66*/
+	<<elseif $args[0].balls > 80>>
+		<<set $beauty += 16+($args[0].balls*($arcologies[0].FSAssetExpansionist/400))>> /*41*/
+	<<elseif $args[0].balls > 60>>
+		<<set $beauty += 6+($args[0].balls*($arcologies[0].FSAssetExpansionist/800))>> /*16*/
+	<<elseif $args[0].balls > 10>>
+		<<set $beauty += $args[0].balls*(($arcologies[0].FSAssetExpansionist/1000))>> /*6*/
+	<</if>>
+<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
+	<<if $args[0].dick > 0>>
+		<<set $beauty += 3-$args[0].dick>>
+	<</if>>
+	<<if $args[0].scrotum > 0>>
+		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSGenderFundamentalist/200))>>
+		<<if $args[0].pubertyXY == 0>>
+			<<set $beauty += 5>>
+		<</if>>
+	<</if>>
+<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
+	<<if $args[0].dick > 20>>
+		<<set $beauty += 20+($args[0].dick*($arcologies[0].FSGenderRadicalist/400))>> /*27.5*/
+	<<elseif $args[0].dick >= 10>>
+		<<set $beauty += 10+($args[0].dick*($arcologies[0].FSGenderRadicalist/200))>> /*20*/
+	<<elseif $args[0].dick > 0>>
+		<<set $beauty += $args[0].dick*(1+($arcologies[0].FSGenderRadicalist/100))>> /*10*/
+	<</if>>
+	<<if $args[0].scrotum > 0>>
+		<<if $args[0].balls > 100>>
+			<<set $beauty += 40+($args[0].balls*($arcologies[0].FSGenderRadicalist/2000))>> /*46.25*/
+		<<elseif $args[0].balls > 60>>
+			<<set $beauty += 30+($args[0].balls*($arcologies[0].FSGenderRadicalist/1000))>> /*40*/
+		<<elseif $args[0].balls > 10>>
+			<<set $beauty += 15+($args[0].balls*($arcologies[0].FSGenderRadicalist/400))>> /*30*/
+		<<else>>
+			<<set $beauty += $args[0].balls*(1+($arcologies[0].FSGenderRadicalist/200))>> /*15*/
+		<</if>>
 	<</if>>
 <<else>>
-<<set $beauty -= (2*$args[0].dick) + ($args[0].balls)>>
+	<<set $beauty -= 2*$args[0].dick>>
+	<<if $args[0].scrotum > 0>>
+		<<set $beauty -= $args[0].balls>>
+	<</if>>
 <</if>>
 
-<</if>> /* CLOSES FUCKDOLL CHECK */
+/* bonus for dick focused genderrads */
+<<if $arcologies[0].FSGenderRadicalistLawFuta != 0>>
+	<<if ($arcologies[0].FSGenderRadicalistLawFuta == 1)>>
+		<<if $args[0].dick > 0>>
+			<<if $args[0].vagina > -1>>
+				<<if $args[0].dick > 0 && $args[0].dick <= 10>>
+					<<set $beauty += $args[0].dick>> /*10*/
+				<</if>>
+				<<if $args[0].dick > 20>>
+					<<set $beauty += 2>>
+				<<elseif $args[0].dick > 10>>
+					<<set $beauty += 4>>
+				<</if>>
+			<</if>>
+		<</if>>
+	<<elseif ($arcologies[0].FSGenderRadicalistLawFuta == 2)>> /* erection! */
+		<<if $args[0].dick > 0>>
+		<<if $args[0].balls > 0>>
+		<<if $args[0].scrotum > 0>>
+		<<if canAchieveErection($args[0])>>
+			<<set $beauty += $args[0].dick>>
+			<<if $args[0].balls > 0 && $args[0].balls <= 10>>
+				<<set $beauty += $args[0].balls>> /*10*/
+			<</if>>
+			<<if $args[0].balls > 120>>
+				<<set $beauty += 14>>
+			<<elseif $args[0].balls > 100>>
+				<<set $beauty += 12>>
+			<<elseif $args[0].balls > 80>>
+				<<set $beauty += 10>>
+			<<elseif $args[0].balls > 60>>
+				<<set $beauty += 8>>
+			<<elseif $args[0].balls > 40>>
+				<<set $beauty += 6>>
+			<<elseif $args[0].balls > 20>>
+				<<set $beauty += 4>>
+			<<elseif $args[0].balls > 10>>
+				<<set $beauty += 2>>
+			<</if>>
+		<</if>>
+		<</if>>
+		<</if>>
+		<</if>>
+	<<elseif ($arcologies[0].FSGenderRadicalistLawFuta == 3)>>
+		<<if $args[0].butt >= 5>>
+			<<set $beauty += ($args[0].butt-5)>>
+		<</if>>
+		<<if $args[0].hips >= 1>>
+			<<set $beauty += 4*($args[0].hips-1)>>
+		<</if>>
+		<<if $args[0].analSkill > 60 && $args[0].anus >= 2>>
+			<<set $beauty += 2*($args[0].anus-2)>>
+		<</if>>
+	<</if>>
+<</if>>
 
-<<if ($arcologies[0].FSTransformationFetishist > 20) || ($arcologies[0].FSAssetExpansionist > 20)>>
+<<if ($arcologies[0].FSTransformationFetishist > 20 && $arcologies[0].FSSlimnessEnthusiast == "unset") || ($arcologies[0].FSAssetExpansionist > 20)>>
 	<<if $args[0].boobs <= 500>>
 	<<set $beauty += (0.02*($args[0].boobs-250))>>
 	<<elseif $args[0].boobs <= 1500>>
@@ -229,18 +324,20 @@
 	<<set $beauty += (2*($args[0].butt-1))>>
 	<<elseif $args[0].butt <= 4>>
 	<<set $beauty += 2+(1.5*($args[0].butt-2))>>
-	<<else>>
+	<<elseif $args[0].butt <= 10>>
 	<<set $beauty += 5+(1*($args[0].butt-4))>>
+	<<else>>
+	<<set $beauty += 7+(.5*($args[0].butt-5))>>
 	<</if>>
 <<elseif ($arcologies[0].FSSlimnessEnthusiast > 20)>>
 	<<if $args[0].boobs <= 500>>
-	<<set $beauty += (0.05*($args[0].boobs))>>
+	<<set $beauty += (0.05*($args[0].boobs))>> /*25*/
 	<<elseif $args[0].boobs <= 1000>>
-	<<set $beauty += 25+(0.01*($args[0].boobs-500))>>
+	<<set $beauty += 10>>
 	<<elseif $args[0].boobs <= 3000>>
-	<<set $beauty += 30>>
+	<<set $beauty += 5>>
 	<<else>>
-	<<set $beauty += 30-(0.005*($args[0].boobs-3000))>>
+	<<set $beauty += 5-(0.005*($args[0].boobs-3000))>>
 	<</if>>
 	<<if $args[0].butt <= 3>>
 	<<set $beauty += (3*($args[0].butt-1))>>
@@ -269,6 +366,31 @@
 	<<set $beauty += 9>>
 	<</if>>
 <</if>>
+<<if $arcologies[0].FSTransformationFetishist > 20>>
+	<<if ($arcologies[0].FSSlimnessEnthusiast > 20)>>
+		<<if $args[0].boobs >= 400>>
+			<<if $args[0].boobsImplant/$args[0].boobs < .5>>
+				<<set $beauty -= ((0.05*($args[0].boobs))+10)>>
+			<</if>>
+		<</if>>
+		<<if $args[0].butt >= 3>>
+			<<if $args[0].buttImplant/$args[0].butt < .5>>
+				<<set $beauty -= ((2*($args[0].butt-1))+10)>>
+			<</if>>
+		<</if>>
+	<<else>>
+		<<if $args[0].butt >= 6>>
+			<<if $args[0].buttImplant/$args[0].butt < .75>>
+				<<set $beauty -= ((1.5*$args[0].butt)+6)>> /* will get nasty at huge sizes */
+			<</if>>
+		<</if>>
+		<<if $args[0].boobs >= 600>>
+			<<if $args[0].boobsImplant/$args[0].boobs < .75>>
+				<<set $beauty -= 30+(0.005*($args[0].boobs))>> /* will get nasty at huge sizes */
+			<</if>>
+		<</if>>
+	<</if>>
+<</if>>
 
 <<if ($arcologies[0].FSTransformationFetishist > 20)>>
 	<<if $args[0].hips >= 3>>
@@ -383,33 +505,21 @@
 	<</if>>
 <</if>>
 
-<<if ($arcologies[0].FSGenderRadicalist > 20) || ($arcologies[0].FSSlimnessEnthusiast > 20)>>
+<<if ($arcologies[0].FSGenderRadicalist > 20 && $arcologies[0].FSGenderRadicalistLawFuta != 3) || ($arcologies[0].FSSlimnessEnthusiast > 20)>>
 	<<if $args[0].hips < 0>>
 	<<set $beauty += Math.abs($args[0].hips)>>
 	<</if>>
 <</if>>
-<<if $arcologies[0].FSRestart != "unset">>
-	<<if $args[0].balls > 0>>
-	<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSRestart/100))>>
+<<if $arcologies[0].FSRestart != "unset">> /* Eugenics does not like slaves having working balls */
+	<<if $args[0].balls > 0 && $args[0].ballType == "human">>
+		<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSRestart/100))>>
 	<</if>>
 <</if>>
 <<if $arcologies[0].FSGenderRadicalist != "unset">>
-	<<if $args[0].dick > 0>>
-	<<set $beauty += $args[0].dick*(1+($arcologies[0].FSGenderRadicalist/100))>>
-	<</if>>
-	<<if $args[0].scrotum > 0>>
-	<<set $beauty += $args[0].balls*(1+($arcologies[0].FSGenderRadicalist/200))>>
-	<</if>>
 	<<if $args[0].preg > 5 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
 	<<set $beauty = ($beauty*0.7)>>
 	<</if>>
 <<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	<<if $args[0].scrotum > 0>>
-	<<set $beauty -= $args[0].balls*(1+($arcologies[0].FSGenderFundamentalist/200))>>
-	<<if $args[0].pubertyXY == 0>>
-	<<set $beauty += 5>>
-	<</if>>
-	<</if>>
 	<<if $args[0].shoulders > $args[0].hips>>
 	<<if $args[0].boobs <= 2000*($args[0].shoulders-$args[0].hips)>>
 		<<set $beauty -= ($args[0].shoulders-$args[0].hips)*(1+($arcologies[0].FSGenderFundamentalist/200))>>
@@ -421,12 +531,6 @@
 		<<set $beauty -= $args[0].shoulders-$args[0].hips>>
 	<</if>>
 	<</if>>
-	<<if $args[0].dick > 4>>
-		<<set $beauty += $args[0].dick - 4>>
-	<</if>>
-	<<if $args[0].scrotum > 4>>
-		<<set $beauty += $args[0].balls - 4>>
-	<</if>>
 	<<if $args[0].preg > 10 && $arcologies[0].FSRepopulationFocus == "unset" && $arcologies[0].FSRestart == "unset">>
 		<<set $beauty = ($beauty*0.8)>>
 	<</if>>
@@ -437,32 +541,6 @@
 	<<set $beauty += ($args[0].muscles*($arcologies[0].FSPhysicalIdealist/40))>>
 <</if>>
 <</if>>
-<<if $arcologies[0].FSGenderRadicalistLawFuta != 0>>
-<<if $arcologies[0].FSGenderRadicalistLawFuta == 1>>
-	<<if $args[0].dick > 0>>
-	<<if $args[0].vagina > -1>>
-		<<set $beauty += 2*$args[0].dick>>
-	<</if>>
-	<</if>>
-<<elseif $arcologies[0].FSGenderRadicalistLawFuta == 2>>
-	<<if $args[0].dick > 0>>
-	<<if $args[0].balls > 0>>
-		<<set $beauty += $args[0].dick+$args[0].balls>>
-	<</if>>
-	<</if>>
-<<else>>
-	<<if $args[0].butt >= 5>>
-	<<if $args[0].anus >= 2>>
-	<<if $args[0].hips >= 1>>
-	<<if $args[0].analSkill > 60>>
-		<<set $beauty += ($args[0].butt-5) + 2*($args[0].anus-2) + 4*($args[0].hips-1)>>
-	<</if>>
-	<</if>>
-	<</if>>
-	<</if>>
-<</if>>
-<</if>>
-
 <<if $args[0].vagina == 10>>
 	<<set $beauty -= 10>>
 <</if>>
@@ -636,7 +714,7 @@
 			<<set _slimPass = 0>>
 		<</if>>
 		<<if _slimPass == 1>>
-			<<set $beauty += ($arcologies[0].FSSlimnessEnthusiast/20)>>
+			<<set $beauty += 40+($arcologies[0].FSSlimnessEnthusiast/20)>>
 		<<else>>
 			<<set $beauty -= ($arcologies[0].FSSlimnessEnthusiast/20)>>
 		<</if>>
-- 
GitLab